Browse Source

Merge remote-tracking branch 'remotes/origin/dev_resi_export' into develop

release
jianjun 3 years ago
parent
commit
bba26ecfd6
  1. 20
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java
  2. 3
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml
  3. 2
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml
  4. 24
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java
  5. 1
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml
  6. 21
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AttentionDetailFormDTO.java
  7. 27
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcVaccineFormDTO.java
  8. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccinationListResultDTO.java
  9. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java
  10. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  11. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java
  12. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java
  13. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java
  14. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java
  15. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java
  16. 42
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java
  17. 21
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java
  18. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java
  19. 16
      epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml

20
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java

@ -1,9 +1,11 @@
package com.epmet.commons.tools.dto.result; package com.epmet.commons.tools.dto.result;
import lombok.Data; import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @Description * @Description
@ -21,4 +23,22 @@ public class OptionResultDTO implements Serializable {
private List<OptionResultDTO> children; private List<OptionResultDTO> children;
private Boolean usableFlag; private Boolean usableFlag;
private String type; private String type;
/**
* desc:递归获取当前节点的 所有子节点
*
* @param option
* @param resultMap
*/
public void getCurrenNodeAllChild(OptionResultDTO option, Map<String, OptionResultDTO> resultMap) {
resultMap.put(option.getValue(), option);
if (CollectionUtils.isNotEmpty(option.getChildren())) {
return;
}
option.getChildren().forEach(o -> {
resultMap.put(o.getValue(), o);
getCurrenNodeAllChild(o, resultMap);
});
}
} }

3
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

@ -120,7 +120,8 @@
</if> </if>
AND a.DEL_FLAG = '0' AND a.DEL_FLAG = '0'
</where> </where>
order by a.CREATED_TIME, a.BUILDING_NAME ORDER BY CAST(b.NEIGHBOR_HOOD_NAME AS SIGNED),CONVERT(b.NEIGHBOR_HOOD_NAME using gbk),
CAST(a.BUILDING_NAME AS SIGNED),CONVERT(a.BUILDING_NAME USING gbk)
</select> </select>
<select id="searchAllBuilding" resultType="com.epmet.excel.IcBuildingExcel"> <select id="searchAllBuilding" resultType="com.epmet.excel.IcBuildingExcel">
select select

2
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml

@ -143,7 +143,7 @@
AND a.DEL_FLAG = '0' AND a.DEL_FLAG = '0'
</where> </where>
ORDER BY a.CREATED_TIME ORDER BY CAST(a.NEIGHBOR_HOOD_NAME AS SIGNED),CONVERT(a.NEIGHBOR_HOOD_NAME using gbk)
</select> </select>
<select id="searchAllNeighborhood" resultType="com.epmet.excel.IcNeighborHoodExcel"> <select id="searchAllNeighborhood" resultType="com.epmet.excel.IcNeighborHoodExcel">
select select

24
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java

@ -3,6 +3,7 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
@ -11,6 +12,7 @@ import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.IcExportItemListFormDTO; import com.epmet.commons.tools.dto.form.IcExportItemListFormDTO;
import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO; import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
@ -119,6 +121,12 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
if (formDTO.getIsSaveTemp()) { if (formDTO.getIsSaveTemp()) {
List<IcExportTemplateDTO> templist = baseDao.selectByAgencyId(agencyInfo.getId()); List<IcExportTemplateDTO> templist = baseDao.selectByAgencyId(agencyInfo.getId());
if (!CollectionUtils.isEmpty(templist)) { if (!CollectionUtils.isEmpty(templist)) {
//增加校验 同组织内模板名不能重复
templist.forEach(t -> {
if (formDTO.getName().equals(t.getName())) {
throw new EpmetException(9999, "当前组织下已存在相同名称的模板!", "当前组织下已存在相同名称的模板!");
}
});
sort = templist.get(NumConstant.ZERO).getSort() + NumConstant.ONE; sort = templist.get(NumConstant.ZERO).getSort() + NumConstant.ONE;
} }
tempId = UUID.randomUUID().toString().replace("-", ""); tempId = UUID.randomUUID().toString().replace("-", "");
@ -128,8 +136,6 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
tempEntity.setPids(StringUtils.isEmpty(agencyInfo.getPids()) ? agencyInfo.getId() : agencyInfo.getPids() + ":" + agencyInfo.getId()); tempEntity.setPids(StringUtils.isEmpty(agencyInfo.getPids()) ? agencyInfo.getId() : agencyInfo.getPids() + ":" + agencyInfo.getId());
tempEntity.setFormCode(formDTO.getFormCode()); tempEntity.setFormCode(formDTO.getFormCode());
tempEntity.setName(formDTO.getName()); tempEntity.setName(formDTO.getName());
/*tempEntity.setType();
tempEntity.setUrl();*/
tempEntity.setSort(sort); tempEntity.setSort(sort);
} }
@ -155,7 +161,7 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
//1.遍历一级表单项 //1.遍历一级表单项
for (IcExportItemListFormDTO dto : dataList) { for (IcExportItemListFormDTO dto : dataList) {
IcExportTemplateConfigEntity itemEntity = ConvertUtils.sourceToTarget(dto, IcExportTemplateConfigEntity.class); IcExportTemplateConfigEntity itemEntity = ConvertUtils.sourceToTarget(dto, IcExportTemplateConfigEntity.class);
itemEntity.setId(UUID.randomUUID().toString().replace("-", "")); itemEntity.setId(IdWorker.getIdStr());
itemEntity.setPid(pid); itemEntity.setPid(pid);
itemEntity.setCustomerId(customerId); itemEntity.setCustomerId(customerId);
itemEntity.setTempId(tempId); itemEntity.setTempId(tempId);
@ -204,16 +210,16 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
} }
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
return null; throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"模板配置错误,请确认模板是否存在!","模板配置错误,请确认模板是否存在!");
} }
Map<String, List<IcExportTemplateForExportResultDTO>> resultTemp = list.stream().collect(Collectors.groupingBy(IcExportTemplateForExportResultDTO::getPid, LinkedHashMap::new, Collectors.toList())); Map<String, List<IcExportTemplateForExportResultDTO>> resultTemp = list.stream()
.collect(Collectors.groupingBy(IcExportTemplateForExportResultDTO::getPid, LinkedHashMap::new, Collectors.toList()));
List<List<String>> headerList = new ArrayList<>(); List<List<String>> headerList = new ArrayList<>();
List<IcCustomExportResultDTO.SqlColumn> showSqlColumns = new ArrayList<>(); List<IcCustomExportResultDTO.SqlColumn> showSqlColumns = new ArrayList<>();
List<IcCustomExportResultDTO.SqlColumn> hiddenSqlColumns = new ArrayList<>(); List<IcCustomExportResultDTO.SqlColumn> hiddenSqlColumns = new ArrayList<>();
Set<String> hasExistColumnSet = new HashSet<>(); Set<String> hasExistColumnSet = new HashSet<>();
resultTemp.get(NumConstant.ZERO_STR) resultTemp.get(NumConstant.ZERO_STR).forEach(root -> recursionData(resultTemp, root, headerList, showSqlColumns, hasExistColumnSet));
.forEach(root -> recursionData(resultTemp, root, headerList, showSqlColumns, hiddenSqlColumns, hasExistColumnSet));
//组织 关联item项的 //组织 关联item项的
if (hasExistColumnSet.size() > NumConstant.ZERO) { if (hasExistColumnSet.size() > NumConstant.ZERO) {
Set<String> configItemIdSet = list.stream().map(IcExportTemplateForExportResultDTO::getItemId).collect(Collectors.toSet()); Set<String> configItemIdSet = list.stream().map(IcExportTemplateForExportResultDTO::getItemId).collect(Collectors.toSet());
@ -294,7 +300,7 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
return baseDao.getTemplateDetail(formDTO.getId()); return baseDao.getTemplateDetail(formDTO.getId());
} }
private void recursionData(Map<String, List<IcExportTemplateForExportResultDTO>> resultTemp, IcExportTemplateForExportResultDTO root, List<List<String>> headerList, List<IcCustomExportResultDTO.SqlColumn> showSqlColumns, List<IcCustomExportResultDTO.SqlColumn> hiddenSqlColumns, Set<String> hasExistColumnSet) { private void recursionData(Map<String, List<IcExportTemplateForExportResultDTO>> resultTemp, IcExportTemplateForExportResultDTO root, List<List<String>> headerList, List<IcCustomExportResultDTO.SqlColumn> showSqlColumns, Set<String> hasExistColumnSet) {
if (StringUtils.isNotBlank(root.getColumnName())) { if (StringUtils.isNotBlank(root.getColumnName())) {
showSqlColumns.add(new IcCustomExportResultDTO.SqlColumn(root.getItemId(),root.getTableName(),root.isSupportAdd(), root.getColumnName(),root.getOptionSourceType())); showSqlColumns.add(new IcCustomExportResultDTO.SqlColumn(root.getItemId(),root.getTableName(),root.isSupportAdd(), root.getColumnName(),root.getOptionSourceType()));
if (StringUtils.isNotBlank(root.getOptionSourceValue())&&root.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)) { if (StringUtils.isNotBlank(root.getOptionSourceValue())&&root.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)) {
@ -312,7 +318,7 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl<IcExportTemplat
headerGroupList.add(root.getLabel()); headerGroupList.add(root.getLabel());
headerGroupList.add(o.getLabel()); headerGroupList.add(o.getLabel());
headerList.add(headerGroupList); headerList.add(headerGroupList);
recursionData(resultTemp, o, headerList, showSqlColumns, hiddenSqlColumns, hasExistColumnSet); recursionData(resultTemp, o, headerList, showSqlColumns, hasExistColumnSet);
}); });
} }

1
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcExportTemplateDao.xml

@ -53,6 +53,7 @@
ic_export_template_config ic_export_template_config
where DEL_FLAG = 0 where DEL_FLAG = 0
and TEMP_ID = #{tempId} and TEMP_ID = #{tempId}
and PID = '0'
order by SORT order by SORT
</select> </select>

21
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AttentionDetailFormDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/4/27 15:30
* @DESC
*/
@Data
public class AttentionDetailFormDTO implements Serializable {
private static final long serialVersionUID = -8257288519752831619L;
@NotBlank(message = "id不能为空",groups = VaccinationListFormDTO.VaccinationListForm.class)
private String id;
}

27
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcVaccineFormDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Description 疫苗接种情况-列表点击查询详情
* @Author sun
*/
@Data
public class IcVaccineFormDTO extends PageFormDTO {
private static final long serialVersionUID = -6809065476616323072L;
public interface Detail extends CustomerClientShowGroup {
}
/**
* 核酸记录Id
*/
@NotBlank(message = "疫苗接种记录Id不能为空", groups = {Detail.class})
private String vaccineId;
}

1
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/VaccinationListResultDTO.java

@ -99,6 +99,7 @@ public class VaccinationListResultDTO implements Serializable {
* 小区名+楼栋名+单元名+房屋名 * 小区名+楼栋名+单元名+房屋名
*/ */
private String allName; private String allName;
private String id;
public VaccinationListResultDTO() { public VaccinationListResultDTO() {
this.vaccinationCount = NumConstant.ZERO; this.vaccinationCount = NumConstant.ZERO;

13
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicSpecialAttentionController.java

@ -17,6 +17,7 @@ import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.IcEpidemicSpecialAttentionDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.dto.result.VaccinationListResultDTO;
import com.epmet.excel.NatExportExcel; import com.epmet.excel.NatExportExcel;
import com.epmet.excel.NatImportExcel; import com.epmet.excel.NatImportExcel;
import com.epmet.excel.VaccinationExportExcel; import com.epmet.excel.VaccinationExportExcel;
@ -67,6 +68,18 @@ public class IcEpidemicSpecialAttentionController {
return new Result<PageData>().ok(icEpidemicSpecialAttentionService.vaccinationList(formDTO)); return new Result<PageData>().ok(icEpidemicSpecialAttentionService.vaccinationList(formDTO));
} }
/**
* Desc: 疫苗接种关注名单疫苗接种关注名单详情
* @param formDTO
* @author zxc
* @date 2022/4/27 15:47
*/
@PostMapping("detail")
public Result<VaccinationListResultDTO> detail(@RequestBody AttentionDetailFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,VaccinationListFormDTO.VaccinationListForm.class);
return new Result<VaccinationListResultDTO>().ok(icEpidemicSpecialAttentionService.detail(formDTO));
}
/** /**
* Desc:疫苗接种关注名单核酸检测关注名单新增 * Desc:疫苗接种关注名单核酸检测关注名单新增
* @param formDTO * @param formDTO

15
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -78,10 +78,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.*;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
@ -451,6 +448,7 @@ public class IcResiUserController implements ResultDataResolver {
@NoRepeatSubmit @NoRepeatSubmit
@RequestMapping(value = "/exportExcelCustom") @RequestMapping(value = "/exportExcelCustom")
public void exportExcelCustom(@LoginUser TokenDto tokenDto, @RequestBody ExportResiUserFormDTO pageFormDTO, HttpServletResponse response) throws Exception { public void exportExcelCustom(@LoginUser TokenDto tokenDto, @RequestBody ExportResiUserFormDTO pageFormDTO, HttpServletResponse response) throws Exception {
try {
//获取导出配置 //获取导出配置
String aDefault = tokenDto.getCustomerId().concat(StrConstant.UNDER_LINE).concat("default"); String aDefault = tokenDto.getCustomerId().concat(StrConstant.UNDER_LINE).concat("default");
if (pageFormDTO.getTemplateId().equals(aDefault)){ if (pageFormDTO.getTemplateId().equals(aDefault)){
@ -459,6 +457,15 @@ public class IcResiUserController implements ResultDataResolver {
}else{ }else{
icResiUserExportService.exportIcResiUser(tokenDto,pageFormDTO,response); icResiUserExportService.exportIcResiUser(tokenDto,pageFormDTO,response);
} }
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "text/htm1; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
}
} }
/** /**
* desc:根据客户id 先从oss下载模版,如果有没有则使用系统默认模板 如果不存在则返回null * desc:根据客户id 先从oss下载模版,如果有没有则使用系统默认模板 如果不存在则返回null

13
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java

@ -19,6 +19,8 @@ import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constants.ImportTaskConstants; import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.IcVaccineDTO;
import com.epmet.dto.form.IcVaccineFormDTO;
import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.form.VaccineListFormDTO;
import com.epmet.dto.result.IcVaccineListCommonExcelResultDTO; import com.epmet.dto.result.IcVaccineListCommonExcelResultDTO;
import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.IcVaccineListResultDTO;
@ -224,5 +226,16 @@ public class IcVaccineController implements ResultDataResolver {
} }
} }
/**
* @Author sun
* @Description 疫苗接种情况-列表点击查询详情
**/
@NoRepeatSubmit
@PostMapping("detail")
public Result<IcVaccineDTO> detail(@RequestBody IcVaccineFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, IcVaccineFormDTO.Detail.class);
return new Result<IcVaccineDTO>().ok(icVaccineService.detail(formDTO.getVaccineId()));
}
} }

9
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcEpidemicSpecialAttentionDao.java

@ -1,6 +1,7 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.AttentionDetailFormDTO;
import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.dto.form.VaccinationListFormDTO;
import com.epmet.dto.result.VaccinationListResultDTO; import com.epmet.dto.result.VaccinationListResultDTO;
import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
@ -26,6 +27,14 @@ public interface IcEpidemicSpecialAttentionDao extends BaseDao<IcEpidemicSpecial
*/ */
List<VaccinationListResultDTO> vaccinationList(VaccinationListFormDTO formDTO); List<VaccinationListResultDTO> vaccinationList(VaccinationListFormDTO formDTO);
/**
* Desc: 关注详情
* @param formDTO
* @author zxc
* @date 2022/4/27 15:42
*/
VaccinationListResultDTO nat(AttentionDetailFormDTO formDTO);
/** /**
* Desc: 核酸检测关注名单 * Desc: 核酸检测关注名单
* @param formDTO * @param formDTO

10
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcEpidemicSpecialAttentionService.java

@ -4,9 +4,11 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IcEpidemicSpecialAttentionDTO; import com.epmet.dto.IcEpidemicSpecialAttentionDTO;
import com.epmet.dto.form.AttentionDetailFormDTO;
import com.epmet.dto.form.CancelAttentionPackageFormDTO; import com.epmet.dto.form.CancelAttentionPackageFormDTO;
import com.epmet.dto.form.VaccinationAddFormDTO; import com.epmet.dto.form.VaccinationAddFormDTO;
import com.epmet.dto.form.VaccinationListFormDTO; import com.epmet.dto.form.VaccinationListFormDTO;
import com.epmet.dto.result.VaccinationListResultDTO;
import com.epmet.entity.IcEpidemicSpecialAttentionEntity; import com.epmet.entity.IcEpidemicSpecialAttentionEntity;
import java.io.InputStream; import java.io.InputStream;
@ -130,4 +132,12 @@ public interface IcEpidemicSpecialAttentionService extends BaseService<IcEpidemi
* @return * @return
*/ */
List<String> getHeSuanIdCardList(String customerId,List<String> idCardSet); List<String> getHeSuanIdCardList(String customerId,List<String> idCardSet);
/**
* Desc: 详情
* @param formDTO
* @author zxc
* @date 2022/4/27 15:33
*/
VaccinationListResultDTO detail(AttentionDetailFormDTO formDTO);
} }

7
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java

@ -2,6 +2,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcVaccineDTO;
import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.form.VaccineListFormDTO;
import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.IcVaccineListResultDTO;
import com.epmet.dto.result.VaccineListDTO; import com.epmet.dto.result.VaccineListDTO;
@ -53,4 +54,10 @@ public interface IcVaccineService extends BaseService<IcVaccineEntity> {
* @Date 2022/3/30 10:24 * @Date 2022/3/30 10:24
*/ */
List<VaccineListDTO> getVaccineList(String customerId, String idCard); List<VaccineListDTO> getVaccineList(String customerId, String idCard);
/**
* @Author sun
* @Description 疫苗接种情况-列表点击查询详情
**/
IcVaccineDTO detail(String vaccineId);
} }

11
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcEpidemicSpecialAttentionServiceImpl.java

@ -467,6 +467,17 @@ public class IcEpidemicSpecialAttentionServiceImpl extends BaseServiceImpl<IcEpi
return baseDao.getIdCardList(customerId,idCardSet,NumConstant.TWO); return baseDao.getIdCardList(customerId,idCardSet,NumConstant.TWO);
} }
/**
* Desc: 详情
* @param formDTO
* @author zxc
* @date 2022/4/27 15:33
*/
@Override
public VaccinationListResultDTO detail(AttentionDetailFormDTO formDTO) {
return baseDao.nat(formDTO);
}
/** /**
* Desc: 文件上传并返回url * Desc: 文件上传并返回url
* @param errorRows * @param errorRows

42
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java

@ -73,6 +73,11 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
@Autowired @Autowired
private IcResiUserImportService icResiUserImportService; private IcResiUserImportService icResiUserImportService;
/**
* key:itemId,value: key:columnName,中文
*/
private static Map<String, Cache<String, String>> remoteOptionCacheMap = new HashMap<>();
/** /**
* desc: 根据条件查询居民信息并根据配置模板导出 * desc: 根据条件查询居民信息并根据配置模板导出
* *
@ -86,7 +91,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
@Override @Override
public void exportIcResiUser(TokenDto tokenDto, ExportResiUserFormDTO exportResiUserFormDTO, HttpServletResponse response) { public void exportIcResiUser(TokenDto tokenDto, ExportResiUserFormDTO exportResiUserFormDTO, HttpServletResponse response) {
//校验参数 //校验参数
validateSearchForm(tokenDto, exportResiUserFormDTO); this.validateSearchForm(tokenDto, exportResiUserFormDTO);
IcResiUserPageFormDTO searchForm = exportResiUserFormDTO.getSearchForm(); IcResiUserPageFormDTO searchForm = exportResiUserFormDTO.getSearchForm();
String templateId = exportResiUserFormDTO.getTemplateId(); String templateId = exportResiUserFormDTO.getTemplateId();
@ -94,7 +99,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
ExcelWriter excelWriter = null; ExcelWriter excelWriter = null;
try { try {
//获取用户配置的导出条件 //获取用户配置的导出条件
Result<IcCustomExportResultDTO> exportConfigResult = getIcCustomExportConfig(searchForm.getCustomerId(), templateId, exportResiUserFormDTO.getExportConfig()); Result<IcCustomExportResultDTO> exportConfigResult = this.getIcCustomExportConfig(searchForm.getCustomerId(), templateId, exportResiUserFormDTO.getExportConfig());
Map<String, ExportResiUserItemDTO> itemOriginMap = getItemMap(searchForm.getCustomerId()); Map<String, ExportResiUserItemDTO> itemOriginMap = getItemMap(searchForm.getCustomerId());
IcCustomExportResultDTO exportConfigData = exportConfigResult.getData(); IcCustomExportResultDTO exportConfigData = exportConfigResult.getData();
@ -107,7 +112,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
List<IcCustomExportResultDTO.SqlColumn> allShowColumns = new ArrayList<>(exportConfigData.getShowSqlColumns()); List<IcCustomExportResultDTO.SqlColumn> allShowColumns = new ArrayList<>(exportConfigData.getShowSqlColumns());
//需要合并的列 //需要合并的列
List<Integer> mergeColumnIndexList = new ArrayList<>(); List<Integer> mergeColumnIndexList = new ArrayList<>();
for (int i = 0; i < allShowColumns.size(); i++) { for (int i = 0; i < allShowColumns.size(); i++) {
@ -162,14 +166,16 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
List<IcCustomExportResultDTO.SqlColumn> showSqlColumns = exportConfigData.getShowSqlColumns(); List<IcCustomExportResultDTO.SqlColumn> showSqlColumns = exportConfigData.getShowSqlColumns();
Set<String> hiddenColumnSet = exportConfigData.getHiddenSqlColumns().stream().map(IcCustomExportResultDTO.SqlColumn::getColumnName).collect(Collectors.toSet()); Set<String> hiddenColumnSet = exportConfigData.getHiddenSqlColumns().stream().map(IcCustomExportResultDTO.SqlColumn::getColumnName).collect(Collectors.toSet());
result.forEach(o -> { result.forEach(o -> {
List<Object> singleResult = new ArrayList<>(); List<Object> singleRowData = new ArrayList<>();
Map<String, Object> originalConditionMap = new ConcurrentHashMap<>(); Map<String, Object> originalConditionMap = new ConcurrentHashMap<>();
o.forEach((key, value) -> { o.forEach((key, value) -> {
Map<String, IcCustomExportResultDTO.SqlColumn> itemMap = showSqlColumns.stream().collect(Collectors.toMap(IcCustomExportResultDTO.SqlColumn::getColumnName, item -> item)); Map<String, IcCustomExportResultDTO.SqlColumn> itemMap = showSqlColumns.stream().collect(Collectors.toMap(IcCustomExportResultDTO.SqlColumn::getColumnName, item -> item));
IcCustomExportResultDTO.SqlColumn columnDTO = itemMap.get(key); IcCustomExportResultDTO.SqlColumn columnDTO = itemMap.get(key);
if (singleResult.size() < showSqlColumns.size()) { //忽略 不需要显示的列的值得设置 要不然数据会写入到excel中
if (singleRowData.size() >= showSqlColumns.size()) {
return;
}
IcCustomExportResultDTO.SqlColumn sqlColumn = itemMap.get(key); IcCustomExportResultDTO.SqlColumn sqlColumn = itemMap.get(key);
String tableName = sqlColumn.getTableName(); String tableName = sqlColumn.getTableName();
String itemId = sqlColumn.getItemId(); String itemId = sqlColumn.getItemId();
@ -190,16 +196,16 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
} else if (Constant.OPITON_SOURCE_LOCAL.equals(sqlColumn.getOptionSourceType())) { } else if (Constant.OPITON_SOURCE_LOCAL.equals(sqlColumn.getOptionSourceType())) {
newValue = putOptionValue(formItemResult, vauleStr); newValue = putOptionValue(formItemResult, vauleStr);
} }
singleResult.add(newValue); singleRowData.add(newValue);
}
}); });
resultData.add(singleResult); resultData.add(singleRowData);
}); });
excelWriter.write(resultData, writeSheet); excelWriter.write(resultData, writeSheet);
break; break;
} while (mapListPage.getResult().size() == searchForm.getPageSize()); } while (mapListPage.getResult().size() == searchForm.getPageSize());
} catch (IOException e) { } catch (IOException e) {
log.error("exportIcResiUser exception", e); log.error("exportIcResiUser exception", e);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMessage(), "导出失败");
} finally { } finally {
if (excelWriter != null) { if (excelWriter != null) {
excelWriter.finish(); excelWriter.finish();
@ -230,9 +236,9 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
param.setTempId(templateId); param.setTempId(templateId);
param.setExportConfig(exportConfig); param.setExportConfig(exportConfig);
Result<IcCustomExportResultDTO> exportConfigResult = operCustomizeOpenFeignClient.getExcelHeaderAndSqlColumnForExport(param); Result<IcCustomExportResultDTO> exportConfigResult = operCustomizeOpenFeignClient.getExcelHeaderAndSqlColumnForExport(param);
if (!exportConfigResult.success() || exportConfigResult.getData() == null) { if (!exportConfigResult.success() ) {
log.error("获取模板失败"); log.error("获取模板失败,internalMsg:{},msg:{}" , exportConfigResult.getInternalMsg(), exportConfigResult.getMsg());
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取模板失败" + exportConfigResult.getInternalMsg()); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取模板失败" + exportConfigResult.getInternalMsg(),"获取模板失败" + exportConfigResult.getInternalMsg());
} }
IcCustomExportResultDTO data = exportConfigResult.getData(); IcCustomExportResultDTO data = exportConfigResult.getData();
@ -244,12 +250,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
return exportConfigResult; return exportConfigResult;
} }
/**
* key:itemId,value: key:columnName,中文
*/
private static Map<String, Cache<String, String>> remoteOptionCacheMap = new HashMap<>();
private void putRemoteValue(Set<FormItemResult> conditionItemSet, String currentStaffAgencyId, Map<String, Object> map, Map<String, Object> originalConditionMap, FormItemResult e, String columnName, String vauleStr) { private void putRemoteValue(Set<FormItemResult> conditionItemSet, String currentStaffAgencyId, Map<String, Object> map, Map<String, Object> originalConditionMap, FormItemResult e, String columnName, String vauleStr) {
try { try {
Map<String, IcResiUserImportServiceImpl.ColumnWrapper> columnWrappers = new HashMap<>(); Map<String, IcResiUserImportServiceImpl.ColumnWrapper> columnWrappers = new HashMap<>();
@ -289,7 +289,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
map.put(columnName, join); map.put(columnName, join);
return; return;
} }
//todo 不支持多个itemId
Map<String, String> remoteOptions = icResiUserImportService.listRemoteOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query"); Map<String, String> remoteOptions = icResiUserImportService.listRemoteOptions(parts[0], parts[1], columnWrappers, currentStaffAgencyId, "query");
if (FormItemTypeEnum.CHECKBOX.getCode().equals(e.getItemType())) { if (FormItemTypeEnum.CHECKBOX.getCode().equals(e.getItemType())) {
remoteOptions.forEach((label, value) -> map.put(value, vauleStr.contains(value) ? StrConstant.YES : StrConstant.NO)); remoteOptions.forEach((label, value) -> map.put(value, vauleStr.contains(value) ? StrConstant.YES : StrConstant.NO));
@ -319,13 +318,12 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
//如果是多选 则返回顿号隔开 //如果是多选 则返回顿号隔开
if (e.getMultiSelect()) { if (e.getMultiSelect()) {
List<String> valueList = new ArrayList<>(); List<String> valueList = new ArrayList<>();
e.getOptions().forEach(option -> { e.getOptions().stream().forEach(option -> {
if (valueStr.contains(option.getValue())) { if (valueStr.contains(option.getValue())) {
valueList.add(option.getLabel()); valueList.add(option.getLabel());
} }
}); });
return Joiner.on("、").join(valueList); return Joiner.on("、").join(valueList);
} }
for (OptionDTO dto : e.getOptions()) { for (OptionDTO dto : e.getOptions()) {
return valueStr.contains(dto.getValue()) ? StrConstant.YES : StrConstant.NO; return valueStr.contains(dto.getValue()) ? StrConstant.YES : StrConstant.NO;

21
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java

@ -73,7 +73,7 @@ import java.util.stream.Collectors;
/** /**
* @ClassName IcResiUserImportServiceImpl * @ClassName IcResiUserImportServiceImpl
* @Description TODO * @Description 居民信息导入 服务实现类
* @Author wangxianzhang * @Author wangxianzhang
* @Date 2021/11/4 8:53 下午 * @Date 2021/11/4 8:53 下午
* @Version 1.0 * @Version 1.0
@ -1289,27 +1289,12 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
if (options == null) { if (options == null) {
return null; return null;
} }
//结果平铺展开
Map<String, OptionResultDTO> resultMap = new HashMap<>(); Map<String, OptionResultDTO> resultMap = new HashMap<>();
options.forEach(option-> getChildren(option,resultMap)); options.forEach(option-> option.getCurrenNodeAllChild(option,resultMap));
return resultMap; return resultMap;
} }
/**
* desc:递归获取children
* @param option
* @param resultMap
* todo 利用泛型 提取到公共类中
*/
public void getChildren(OptionResultDTO option, Map<String, OptionResultDTO> resultMap) {
resultMap.put(option.getValue(),option);
if (CollectionUtils.isNotEmpty(option.getChildren())){
option.getChildren().forEach(o->{
resultMap.put(o.getValue(),o);
getChildren(o,resultMap);
});
}
}
/** /**
* 更新主表中人员类别标记 * 更新主表中人员类别标记
* @param icResiUserTableEnum * @param icResiUserTableEnum

18
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java

@ -13,14 +13,13 @@ import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constants.ImportTaskConstants; import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcResiUserDao;
import com.epmet.dao.IcVaccineDao; import com.epmet.dao.IcVaccineDao;
import com.epmet.dao.IcVaccineRelationDao; import com.epmet.dao.IcVaccineRelationDao;
import com.epmet.dto.IcVaccineDTO;
import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.form.VaccineListFormDTO;
import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.IcVaccineListResultDTO;
@ -30,6 +29,7 @@ import com.epmet.dto.result.VaccineListDTO;
import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcResiUserEntity;
import com.epmet.entity.IcVaccineEntity; import com.epmet.entity.IcVaccineEntity;
import com.epmet.entity.IcVaccineRelationEntity; import com.epmet.entity.IcVaccineRelationEntity;
import com.epmet.entity.UserAdviceEntity;
import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.data.IcNatImportExcelData;
import com.epmet.excel.data.IcVaccineImportExcelData; import com.epmet.excel.data.IcVaccineImportExcelData;
import com.epmet.excel.handler.IcVaccineExcelImportListener; import com.epmet.excel.handler.IcVaccineExcelImportListener;
@ -468,4 +468,14 @@ public class IcVaccineServiceImpl extends BaseServiceImpl<IcVaccineDao, IcVaccin
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
/**
* @Author sun
* @Description 疫苗接种情况-列表点击查询详情
**/
@Override
public IcVaccineDTO detail(String vaccineId) {
IcVaccineEntity entity = baseDao.selectById(vaccineId);
return ConvertUtils.sourceToTarget(entity, IcVaccineDTO.class);
}
} }

16
epmet-user/epmet-user-server/src/main/resources/mapper/IcEpidemicSpecialAttentionDao.xml

@ -20,7 +20,7 @@
<!-- 疫苗接种关注名单 --> <!-- 疫苗接种关注名单 -->
<select id="vaccinationList" resultType="com.epmet.dto.result.VaccinationListResultDTO"> <select id="vaccinationList" resultType="com.epmet.dto.result.VaccinationListResultDTO">
SELECT SELECT a.id,
a.`NAME`, a.`NAME`,
a.MOBILE, a.MOBILE,
a.ID_CARD, a.ID_CARD,
@ -67,7 +67,7 @@
<!-- 核酸检测关注名单 --> <!-- 核酸检测关注名单 -->
<select id="natList" resultType="com.epmet.dto.result.VaccinationListResultDTO"> <select id="natList" resultType="com.epmet.dto.result.VaccinationListResultDTO">
SELECT SELECT a.id,
a.`NAME`, a.`NAME`,
a.MOBILE, a.MOBILE,
a.ID_CARD, a.ID_CARD,
@ -144,4 +144,16 @@
</foreach> </foreach>
) )
</select> </select>
<!-- 关注详情 -->
<select id="nat" resultType="com.epmet.dto.result.VaccinationListResultDTO">
SELECT
a.`NAME`,
a.MOBILE,
a.ID_CARD,
a.REMARK,
a.REASON
FROM ic_epidemic_special_attention a
WHERE a.ID = #{id}
</select>
</mapper> </mapper>

Loading…
Cancel
Save