Browse Source

居民防疫信息

dev
zxc 3 years ago
parent
commit
386adfca8e
  1. 6
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java
  2. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java
  3. 34
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/EpidemicPreventionExportExcel.java
  4. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  5. 53
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  6. 6
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

6
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EpidemicPreventionFormDTO.java

@ -67,6 +67,12 @@ public class EpidemicPreventionFormDTO extends PageFormDTO implements Serializab
* 结束日期
*/
private String endDate;
/**
* 核酸检测开始结束时间 eg:2022-10-10
*/
private String natStartDate;
private String natEndDate;
/**
* 疫苗接种次数
*/

9
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcEpidemicPreventionController.java

@ -33,6 +33,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
@ -67,6 +69,13 @@ public class IcEpidemicPreventionController{
return new Result<PageData<EpidemicPreventionResultDTO>>().ok(result);
}
@PostMapping("epidemicPreventionExport")
public void epidemicPreventionExport(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO, HttpServletResponse response) throws IOException {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setStaffId(tokenDto.getUserId());
icResiUserService.epidemicPreventionExport(formDTO,response);
}
@PostMapping("user-list")
public Result<PageData<EpidemicPreventionResultDTO>> userList(@LoginUser TokenDto tokenDto, @RequestBody EpidemicPreventionFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());

34
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/EpidemicPreventionExportExcel.java

@ -0,0 +1,34 @@
package com.epmet.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
/**
* @Author zxc
* @DateTime 2022/10/24 14:36
*/
@Data
public class EpidemicPreventionExportExcel {
@ExcelProperty(value = "姓名")
@ColumnWidth(20)
private String name;
@ExcelProperty(value = "所属网格")
@ColumnWidth(20)
private String gridName;
@ExcelProperty(value = "所属房屋")
@ColumnWidth(20)
private String houseName;
@ExcelProperty(value = "手机号")
@ColumnWidth(20)
private String mobile;
@ExcelProperty(value = "证件号")
@ColumnWidth(20)
private String idCard;
}

4
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java

@ -32,6 +32,8 @@ import com.epmet.entity.IcResiUserEntity;
import com.epmet.excel.support.ExportResiUserItemDTO;
import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;
@ -521,4 +523,6 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
void updateYlfn();
IcResiUserInfoCache getIcResiUserInfo(String userId);
void epidemicPreventionExport(EpidemicPreventionFormDTO formDTO, HttpServletResponse response) throws IOException;
}

53
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -19,6 +19,9 @@ package com.epmet.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -47,6 +50,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.*;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.constant.IcPlatformConstant;
import com.epmet.constant.IcResiUserConstant;
import com.epmet.constant.UserConstant;
@ -59,6 +63,8 @@ import com.epmet.dto.result.demand.IcResiDemandDictDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.dto.result.resi.IcResiNonDynamicResultDTO;
import com.epmet.entity.*;
import com.epmet.excel.DataSyncRecordDisabilityExcel;
import com.epmet.excel.EpidemicPreventionExportExcel;
import com.epmet.excel.support.ExportResiUserItemDTO;
import com.epmet.feign.*;
import com.epmet.opendata.dto.form.GetResidentDetailByIdCardFormDTO;
@ -83,6 +89,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Timestamp;
@ -1673,8 +1682,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
if (null != staffInfo) {
formDTO.setAgencyId(staffInfo.getAgencyId());
}
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<EpidemicPreventionResultDTO> list = baseDao.getEpidemicPreventionList(formDTO);
List<EpidemicPreventionResultDTO> list = new ArrayList<>();
if (formDTO.getIsPage()){
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
list = baseDao.getEpidemicPreventionList(formDTO);
}else {
list = baseDao.getEpidemicPreventionList(formDTO);
}
PageInfo<EpidemicPreventionResultDTO> pageInfo = new PageInfo<>(list);
if (CollectionUtils.isNotEmpty(list)) {
//查询网格名称
@ -3544,4 +3559,38 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
IcResiUserEntity icResiUserEntity = baseDao.selectById(userId);
return ConvertUtils.sourceToTarget(icResiUserEntity,IcResiUserInfoCache.class);
}
@Override
public void epidemicPreventionExport(EpidemicPreventionFormDTO formDTO, HttpServletResponse response) throws IOException {
ExcelWriter excelWriter = null;
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
try {
String fileName = "居民防疫信息" + DateUtils.format(new Date()) + ".xlsx";
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), EpidemicPreventionExportExcel.class).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build();
List<EpidemicPreventionExportExcel> list = null;
do {
PageData<EpidemicPreventionResultDTO> data = epidemicPreventionList(formDTO);
list = ConvertUtils.sourceToTarget(data.getList(), EpidemicPreventionExportExcel.class);
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
excelWriter.write(list, writeSheet);
} while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize());
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; 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();
} catch (Exception e) {
log.error("export exception", e);
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
}

6
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -865,6 +865,12 @@
<if test="endDate != null and endDate != ''">
AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") &lt; #{endDate}
</if>
<if test='natStartDate != null and natStartDate != "" '>
AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") &gt; #{natStartDate}
</if>
<if test='natEndDate != null and natEndDate != "" '>
AND DATE_FORMAT(NAT_TIME,"%Y-%m-%d") &lt; #{natEndDate}
</if>
GROUP BY ID_CARD ) c ON a.ID_CARD = c.ID_CARD
WHERE
a.DEL_FLAG = '0'

Loading…
Cancel
Save