From c36267bdb96c02848db486615e60d1e0486714ef Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 15:50:42 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/IcVaccineDTO.java | 119 ++++++++++++++++++ .../com/epmet/dto/IcVaccineRelationDTO.java | 82 ++++++++++++ .../epmet/controller/IcVaccineController.java | 81 ++++++++++++ .../IcVaccineRelationController.java | 72 +++++++++++ .../main/java/com/epmet/dao/IcVaccineDao.java | 16 +++ .../com/epmet/dao/IcVaccineRelationDao.java | 16 +++ .../com/epmet/entity/IcVaccineEntity.java | 89 +++++++++++++ .../epmet/entity/IcVaccineRelationEntity.java | 52 ++++++++ .../service/IcVaccineRelationService.java | 78 ++++++++++++ .../com/epmet/service/IcVaccineService.java | 78 ++++++++++++ .../impl/IcVaccineRelationServiceImpl.java | 82 ++++++++++++ .../service/impl/IcVaccineServiceImpl.java | 82 ++++++++++++ .../main/resources/mapper/IcVaccineDao.xml | 6 + .../resources/mapper/IcVaccineRelationDao.xml | 6 + 14 files changed, 859 insertions(+) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineRelationDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineRelationController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineRelationService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineRelationServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineDTO.java new file mode 100644 index 0000000000..73a5d69fe0 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineDTO.java @@ -0,0 +1,119 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Data +public class IcVaccineDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 唯一标识 + */ + private String id; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; + + /** + * 数据来源【导入的:import;】 + */ + private String userType; + + /** + * 接种时间 + */ + private Date inoculateTime; + + /** + * 接种地点 + */ + private String inoculateAddress; + + /** + * 疫苗厂家 + */ + private String manufacturer; + + /** + * 预留字段1 + */ + private String field1; + + /** + * 预留字段2 + */ + private String field2; + + /** + * 预留字段3 + */ + private String field3; + + /** + * 备注 + */ + private String remaek; + + /** + * 删除标识 0.未删除 1.已删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineRelationDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineRelationDTO.java new file mode 100644 index 0000000000..3dfbaf85cd --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccineRelationDTO.java @@ -0,0 +1,82 @@ +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Data +public class IcVaccineRelationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id + */ + private String agencyId; + + /** + * 组织pids,包含当前agencyId值 + */ + private String pids; + + /** + * 疫苗记录表Id(ic_vaccine.id) + */ + private String icVaccineId; + + /** + * 关系数据的绑定途径【 +数字社区录入:icresi; +导入的:import; +同步的:synchro】 + */ + private String userType; + + /** + * 删除标识 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java new file mode 100644 index 0000000000..aed45aacad --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -0,0 +1,81 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.IcVaccineDTO; +import com.epmet.service.IcVaccineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@RestController +@RequestMapping("icVaccine") +public class IcVaccineController { + + @Autowired + private IcVaccineService icVaccineService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icVaccineService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcVaccineDTO data = icVaccineService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcVaccineDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icVaccineService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcVaccineDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icVaccineService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icVaccineService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = icVaccineService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, IcVaccineExcel.class); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineRelationController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineRelationController.java new file mode 100644 index 0000000000..b24494d2c9 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineRelationController.java @@ -0,0 +1,72 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.IcVaccineRelationDTO; +import com.epmet.service.IcVaccineRelationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@RestController +@RequestMapping("icVaccineRelation") +public class IcVaccineRelationController { + + @Autowired + private IcVaccineRelationService icVaccineRelationService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = icVaccineRelationService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) + public Result get(@PathVariable("id") String id){ + IcVaccineRelationDTO data = icVaccineRelationService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody IcVaccineRelationDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + icVaccineRelationService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody IcVaccineRelationDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + icVaccineRelationService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + icVaccineRelationService.delete(ids); + return new Result(); + } + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java new file mode 100644 index 0000000000..9e2b136739 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcVaccineEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Mapper +public interface IcVaccineDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java new file mode 100644 index 0000000000..6e1d2a8c9f --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IcVaccineRelationEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Mapper +public interface IcVaccineRelationDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java new file mode 100644 index 0000000000..25a0b904f0 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineEntity.java @@ -0,0 +1,89 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_vaccine") +public class IcVaccineEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; + + /** + * 数据来源【导入的:import;】 + */ + private String userType; + + /** + * 接种时间 + */ + private Date inoculateTime; + + /** + * 接种地点 + */ + private String inoculateAddress; + + /** + * 疫苗厂家 + */ + private String manufacturer; + + /** + * 预留字段1 + */ + private String field1; + + /** + * 预留字段2 + */ + private String field2; + + /** + * 预留字段3 + */ + private String field3; + + /** + * 备注 + */ + private String remaek; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java new file mode 100644 index 0000000000..b20ce6dc69 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccineRelationEntity.java @@ -0,0 +1,52 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_vaccine_relation") +public class IcVaccineRelationEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id + */ + private String agencyId; + + /** + * 组织pids,包含当前agencyId值 + */ + private String pids; + + /** + * 疫苗记录表Id(ic_vaccine.id) + */ + private String icVaccineId; + + /** + * 关系数据的绑定途径【 +数字社区录入:icresi; +导入的:import; +同步的:synchro】 + */ + private String userType; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineRelationService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineRelationService.java new file mode 100644 index 0000000000..a7c9339f6e --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineRelationService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcVaccineRelationDTO; +import com.epmet.entity.IcVaccineRelationEntity; + +import java.util.List; +import java.util.Map; + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +public interface IcVaccineRelationService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-04-06 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-04-06 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcVaccineRelationDTO + * @author generator + * @date 2022-04-06 + */ + IcVaccineRelationDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-06 + */ + void save(IcVaccineRelationDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-06 + */ + void update(IcVaccineRelationDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-04-06 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java new file mode 100644 index 0000000000..a983466956 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IcVaccineDTO; +import com.epmet.entity.IcVaccineEntity; + +import java.util.List; +import java.util.Map; + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +public interface IcVaccineService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2022-04-06 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2022-04-06 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IcVaccineDTO + * @author generator + * @date 2022-04-06 + */ + IcVaccineDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-06 + */ + void save(IcVaccineDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2022-04-06 + */ + void update(IcVaccineDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2022-04-06 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineRelationServiceImpl.java new file mode 100644 index 0000000000..6920ddf8d5 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineRelationServiceImpl.java @@ -0,0 +1,82 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcVaccineRelationDao; +import com.epmet.dto.IcVaccineRelationDTO; +import com.epmet.entity.IcVaccineRelationEntity; +import com.epmet.service.IcVaccineRelationService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 疫苗接种记录关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Service +public class IcVaccineRelationServiceImpl extends BaseServiceImpl implements IcVaccineRelationService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcVaccineRelationDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcVaccineRelationDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcVaccineRelationDTO get(String id) { + IcVaccineRelationEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcVaccineRelationDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcVaccineRelationDTO dto) { + IcVaccineRelationEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineRelationEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcVaccineRelationDTO dto) { + IcVaccineRelationEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineRelationEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java new file mode 100644 index 0000000000..18348ebde7 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -0,0 +1,82 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.IcVaccineDao; +import com.epmet.dto.IcVaccineDTO; +import com.epmet.entity.IcVaccineEntity; +import com.epmet.service.IcVaccineService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 疫苗接种记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-04-06 + */ +@Service +public class IcVaccineServiceImpl extends BaseServiceImpl implements IcVaccineService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IcVaccineDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IcVaccineDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IcVaccineDTO get(String id) { + IcVaccineEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IcVaccineDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IcVaccineDTO dto) { + IcVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IcVaccineDTO dto) { + IcVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml new file mode 100644 index 0000000000..49fdaa2fe4 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml new file mode 100644 index 0000000000..4c356c5e10 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 2e3a26c863766daa8ba6b3f9fd3d7f5d59082c53 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 15:52:04 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/IcVaccineController.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index aed45aacad..0a6638394e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -70,12 +70,6 @@ public class IcVaccineController { return new Result(); } - @GetMapping("export") - public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { - List list = icVaccineService.list(params); - ExcelUtils.exportExcelToTarget(response, null, list, IcVaccineExcel.class); - } - } From d69e26f1342b56c359cf8ce56121be29ca47c5f2 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:09:26 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcVaccineController.java | 308 ++++++++- .../main/java/com/epmet/dao/IcVaccineDao.java | 56 +- .../excel/data/IcVaccineImportExcelData.java | 63 ++ .../handler/IcVaccineExcelImportListener.java | 148 +++++ .../com/epmet/service/IcVaccineService.java | 111 ++-- .../service/impl/IcVaccineServiceImpl.java | 627 ++++++++++++++++-- .../main/resources/mapper/IcVaccineDao.xml | 172 ++++- 7 files changed, 1366 insertions(+), 119 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 0a6638394e..65f19fc3df 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -1,22 +1,49 @@ package com.epmet.controller; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.ExcelUtils; -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; -import com.epmet.commons.tools.validator.group.DefaultGroup; -import com.epmet.dto.IcVaccineDTO; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListCommonExcelResultDTO; +import com.epmet.dto.result.NatListResultDTO; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcVaccineService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; +import java.nio.file.Path; import java.util.List; -import java.util.Map; +import java.util.UUID; /** @@ -25,51 +52,268 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2022-04-06 */ +@Slf4j @RestController @RequestMapping("icVaccine") -public class IcVaccineController { +public class IcVaccineController implements ResultDataResolver { @Autowired private IcVaccineService icVaccineService; - @RequestMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = icVaccineService.page(params); - return new Result>().ok(page); + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + + /** + * 记录一下核酸记录模块的业务程序逻辑,防止后续理不清 ic_nat:基础信息表 ic_nat_relation:关系表 + * 1.数字平台导入时,按身份证检测时间查询数据,查到数据不是导入的状态则记录下并跳过,是导入数据更新结果,未查到直接新增 + * 是否居民以及userId值查询数据平台居民,能查到就相应的赋值; + * 2.居民端录入可以录自己的或别人的,但是数据属于当前录入的组织; + * 3.数据平台录入可以为已有居民录入也可以录新数据,新数据则是否居民和userId无值; + * 4.导入数据不允许修改删除,录入数据可以修改删除,删除时相应的删除基础表和可能存在的所有关心表数据, + * 数据同步可多次重复,只是修改对应的关系表数据,基础信息表数据公用; + * 5.同一条数据被A街道和A社区都同步了,街道在看本辖区数据时会看到两条,但是只有A街道的那一条才能看到取消同步按钮; + * 6.数据库一个人一个检测时间只存在一条记录,以导入数据结果为准,已导入的各项值都不能修改,即使错误也只能通过导入修改; + * 7.新增、删除居民时会相应的修改基础信息表是否居民以及userId的值; + * 注:1.导入数据不允许修改是觉得导入数据是官方提供的且没有问题的数据,不需要在平台有维护操作,只要看就可以了; + * 2.是否居民的查询条件以及是否居民的列标题在看整个客户列表数据时这两个都隐藏 + * + */ + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + //@NoRepeatSubmit + @PostMapping("add") + public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + icVaccineService.add(formDTO); + return new Result(); + } + + /** + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ + @NoRepeatSubmit + @PostMapping("mynatlist") + public Result> myNatList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result>().ok(icVaccineService.myNatList(formDTO)); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ - IcVaccineDTO data = icVaccineService.get(id); - return new Result().ok(data); + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + @NoRepeatSubmit + @PostMapping("natlist") + public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result>().ok(icVaccineService.natList(formDTO)); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ @NoRepeatSubmit - @PostMapping("save") - public Result save(@RequestBody IcVaccineDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - icVaccineService.save(dto); + @PostMapping("detail") + public Result detail(@RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Detail.class); + return new Result().ok(icVaccineService.detail(formDTO)); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + @NoRepeatSubmit + @PostMapping("edit") + public Result edit(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Edit.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + icVaccineService.edit(formDTO); return new Result(); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ @NoRepeatSubmit - @PostMapping("update") - public Result update(@RequestBody IcVaccineDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - icVaccineService.update(dto); + @PostMapping("del") + public Result del(@RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Del.class); + icVaccineService.del(formDTO); + return new Result<>(); + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ + @NoRepeatSubmit + @PostMapping("synchro") + public Result synchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icVaccineService.synchro(formDTO); return new Result(); } - @PostMapping("delete") - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - icVaccineService.delete(ids); + /** + * @Author sun + * @Description 【核酸】核酸检测信息取消同步 + **/ + @NoRepeatSubmit + @PostMapping("cancelsynchro") + public Result cancelSynchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icVaccineService.cancelSynchro(formDTO); + return new Result<>(); + } + + /** + * 导入excel + * @return + */ + @PostMapping("import") + public Result importExcel(MultipartFile file) { + String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + + // 1.暂存文件 + String originalFilename = file.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".")); + + Path fileSavePath; + try { + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import"); + fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); + } catch (IOException e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); + } + + InputStream is = null; + FileOutputStream os = null; + + try { + is = file.getInputStream(); + os = new FileOutputStream(fileSavePath.toString()); + IOUtils.copy(is, os); + } catch (Exception e) { + e.printStackTrace(); + } finally { + org.apache.poi.util.IOUtils.closeQuietly(is); + org.apache.poi.util.IOUtils.closeQuietly(os); + } + + // 2.生成导入任务记录 + ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); + importTaskForm.setOperatorId(userId); + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT); + importTaskForm.setOriginFileName(originalFilename); + + ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), + ServiceConstant.EPMET_COMMON_SERVICE, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + "excel导入核酸检测信息错误", + "导入居民核酸检测信息失败"); + + // 3.执行导入 + icVaccineService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); + return new Result(); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息下载模板 + **/ + @RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("社区自组织导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_nat.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + + } + + /** + * @Author sun + * @Description 【核酸】核酸检测信息列表 + **/ + @NoRepeatSubmit + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO, HttpServletResponse response) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + + //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + //formDTO.setUserId("73ae6280e46a6653a5605d51d5462725"); + + formDTO.setIsPage(false); + + ExcelWriter excelWriter = null; + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + int pageNo = formDTO.getPageNo(); + try { + // 这里 需要指定写用哪个class去写 + String fileName = "核酸检测信息.xlsx"; + if ("all".equals(formDTO.getOrgType())) { + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListResultDTO.class).build(); + }else { + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListCommonExcelResultDTO.class).build(); + } + + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); + PageData data = null; + do { + data = icVaccineService.natList(formDTO); + data.getList().forEach(o-> { + o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult()) ? "阳性" : "阴性"); + o.setIsResiUser(NumConstant.ONE_STR.equals(o.getIsResiUser()) ? "是" : "否"); + }); + formDTO.setPageNo(++pageNo); + if ("current".equals(formDTO.getOrgType())) { + List list = ConvertUtils.sourceToTarget(data.getList(), NatListResultDTO.class); + excelWriter.write(list, writeSheet); + }else{ + excelWriter.write(data.getList(), writeSheet); + } + } while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize()); + + }catch (Exception e){ + log.error("export exception", e); + }finally { + // 千万别忘记finish 会帮忙关闭流 + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java index 9e2b136739..84f0be0178 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java @@ -1,8 +1,16 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListResultDTO; +import com.epmet.entity.IcVaccineEntity; import com.epmet.entity.IcVaccineEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 疫苗接种记录 @@ -12,5 +20,49 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcVaccineDao extends BaseDao { - -} \ No newline at end of file + /** + * @Author sun + * @Description 核酸检测-按条件查询核酸记录 + **/ + List getMyNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】本辖区核酸检测信息列表 + **/ + List getNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】客户下核酸检测信息列表 + **/ + List getCustomerNatList(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 删除操作--物理删除业务数据 + **/ + int delById(@Param("icNatId") String icNatId); + + /** + * 插入或者更新 + * + * @param e + */ + void insertOrUpdate(IcVaccineEntity e); + + /** + * @Author sun + * @Description 按条件查询业务数据 + **/ + IcNatDTO getNatDTO(@Param("customerId") String customerId, @Param("icNatId") String icNatId, @Param("idCard") String idCard, @Param("natTime") String natTime, @Param("natResult") String natResult); + + /** + * desc:根据客户id 更新是否居民状态 + * + * @param customerId + * @param icResiUserId 如果为空则更新全部 + * @return + */ + int updateIsResiFlag(@Param("customerId") String customerId, @Param("icResiUserId") String icResiUserId); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java new file mode 100644 index 0000000000..3c10ff69b7 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java @@ -0,0 +1,63 @@ +package com.epmet.excel.data; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * 核酸检测信息导入excel数据 + */ +@Data +public class IcVaccineImportExcelData implements Serializable { + + private static final long serialVersionUID = -700535059296633797L; + @NotBlank(message = "姓名为必填项") + @ExcelProperty("姓名") + private String name; + + @NotBlank(message = "手机号为必填项") + @ExcelProperty("手机号") + private String mobile; + + @NotBlank(message = "身份证号为必填项") + @ExcelProperty("身份证号") + @Length(max = 18, message = "身份证号长度不正确,应小于18位") + private String idCard; + + @NotNull(message = "检测时间为必填项") + @ExcelProperty("检测时间") + private Date natTime; + + @ExcelProperty("检测地点") + private String natAddress; + + @NotBlank(message = "检测结果为必填项") + @ExcelProperty("检测结果") + private String natResultZh; + + @Data + public static class RowRemarkMessage { + + @ExcelProperty("姓名") + @ColumnWidth(20) + private String name; + + @ExcelProperty("手机号") + @ColumnWidth(20) + private String mobile; + + @ColumnWidth(20) + @ExcelProperty("身份证号") + private String idCard; + + @ColumnWidth(60) + @ExcelProperty("错误信息") + private String errorInfo; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java new file mode 100644 index 0000000000..027040871e --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java @@ -0,0 +1,148 @@ +package com.epmet.excel.handler; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.ValidateException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.entity.IcVaccineEntity; +import com.epmet.excel.data.IcNatImportExcelData; +import com.epmet.excel.data.IcVaccineImportExcelData; +import com.epmet.service.impl.IcNatServiceImpl; +import com.epmet.service.impl.IcVaccineServiceImpl; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * 核酸检测excel导入监听器 + */ +@Data +@Slf4j +public class IcVaccineExcelImportListener implements ReadListener { + + /** + * 最大条数阈值 + */ + public static final int MAX_THRESHOLD = 200; + + private String currentUserId; + /** + * 当前组织ID + */ + private String currentAgencyId; + + private String currentAgencyPids; + + /** + * 数据 + */ + private List datas = new ArrayList<>(); + + /** + * 错误项列表 + */ + private List errorRows = new ArrayList<>(); + /** + * 其他被标记出来的列表列表 + */ + private List otherRows = new ArrayList<>(); + + private IcVaccineServiceImpl icVaccineService; + + public IcVaccineExcelImportListener(String currentUserId, String currentAgencyId, String currentAgencyPids, IcVaccineServiceImpl icVaccineService) { + this.currentUserId = currentUserId; + this.currentAgencyId = currentAgencyId; + this.currentAgencyPids = currentAgencyPids; + this.icVaccineService = icVaccineService; + } + + @Override + public void invoke(IcVaccineImportExcelData data, AnalysisContext context) { + + try { + // 先校验数据 + ValidatorUtils.validateEntity(data); + + if (StringUtils.isNotBlank(data.getName())) { + data.setName(data.getName().trim()); + } + if (StringUtils.isNotBlank(data.getMobile())) { + data.setMobile(data.getMobile().trim()); + } + if (StringUtils.isNotBlank(data.getNatAddress())) { + data.setNatAddress(data.getNatAddress().trim()); + } + if (StringUtils.isNotBlank(data.getIdCard())) { + data.setIdCard(data.getIdCard().trim()); + } + + // 默认空,没有结果 + String natResult = ""; + String natResultZh = data.getNatResultZh(); + if (StringUtils.isNotBlank(natResultZh)) { + natResult = natResultZh.equals("阴性") ? "0" : "1"; + } + + IcVaccineEntity icNatEntity = ConvertUtils.sourceToTarget(data, IcVaccineEntity.class); + //icNatEntity.setAgencyId(currentAgencyId); + //icNatEntity.setPids(currentAgencyPids); + icNatEntity.setUserId(currentUserId); + icNatEntity.setUserType("import"); + icNatEntity.setNatResult(natResult); + icNatEntity.setAttachmentType(""); + icNatEntity.setAttachmentUrl(""); + datas.add(icNatEntity); + + if (datas.size() == MAX_THRESHOLD) { + execPersist(); + } + } catch (Exception e) { + String errorMsg = null; + if (e instanceof ValidateException) { + errorMsg = ((ValidateException) e).getMsg(); + } else { + errorMsg = "未知错误"; + log.error("【核酸检测信息导入】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } + + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + errorRow.setName(data.getName()); + errorRow.setMobile(data.getMobile()); + errorRow.setIdCard(data.getIdCard()); + errorRow.setErrorInfo(errorMsg); + errorRows.add(errorRow); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + // 最后几条达不到阈值,这里必须再调用一次 + execPersist(); + } + + /** + * 执行持久化 + */ + private void execPersist() { + try { + if (datas != null && datas.size() > 0) { + icVaccineService.batchPersist(datas, this); + } + } finally { + datas.clear(); + } + } + + /** + * 获取错误行 + * @return + */ + public List getErrorRows() { + return errorRows; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index a983466956..1e9e5d71ba 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -2,11 +2,16 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.dto.IcVaccineDTO; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.result.MyNatListResultDTO; +import com.epmet.dto.result.NatListDTO; +import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcVaccineEntity; +import java.nio.file.Path; import java.util.List; -import java.util.Map; /** * 疫苗接种记录 @@ -17,62 +22,74 @@ import java.util.Map; public interface IcVaccineService extends BaseService { /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2022-04-06 - */ - PageData page(Map params); + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ + void add(AddIcNatFormDTO formDTO); /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2022-04-06 - */ - List list(Map params); + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ + List myNatList(MyNatListFormDTO formDTO); /** - * 单条查询 + * @Author sun + * @Description 【核酸】核酸检测信息列表 * - * @param id - * @return IcVaccineDTO - * @author generator - * @date 2022-04-06 - */ - IcVaccineDTO get(String id); + * @return*/ + PageData natList(MyNatListFormDTO formDTO); /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2022-04-06 + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ + IcNatDTO detail(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + void edit(AddIcNatFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ + void del(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ + void synchro(MyNatListFormDTO formDTO); + + /** + * @Author sun + * @Description 【核酸】核酸检测信息取消同步 + **/ + void cancelSynchro(MyNatListFormDTO formDTO); + + /** + * 执行Excel导入 + * @param filePath */ - void save(IcVaccineDTO dto); + void execAsyncExcelImport(Path filePath, String importTaskId); /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2022-04-06 + * 核酸检测信息 + * @Param idCard + * @Return {@link List} + * @Author zhaoqifeng + * @Date 2022/3/29 16:29 */ - void update(IcVaccineDTO dto); + List getNatList(String customerId, String idCard); /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2022-04-06 + * desc:根据用户id 更新核酸中是否居民状态 + * @param customerId + * @param icResiUserId 如果为空则更新全部 + * @return */ - void delete(String[] ids); -} \ No newline at end of file + Integer updateIsResiFlag(String customerId, String icResiUserId); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 18348ebde7..f6cab4ae48 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -1,22 +1,66 @@ package com.epmet.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.NumConstant; +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.ExceptionUtils; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; +import com.epmet.commons.tools.utils.*; +import com.epmet.constants.ImportTaskConstants; +import com.epmet.dao.IcNatRelationDao; +import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcVaccineDao; -import com.epmet.dto.IcVaccineDTO; +import com.epmet.dao.UserBaseInfoDao; +import com.epmet.dto.IcNatDTO; +import com.epmet.dto.IcNoticeDTO; +import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; +import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.form.SendNoticeFormDTO; +import com.epmet.dto.result.*; +import com.epmet.entity.IcNatRelationEntity; +import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcVaccineEntity; +import com.epmet.excel.data.IcNatImportExcelData; +import com.epmet.excel.handler.IcNatExcelImportListener; +import com.epmet.excel.handler.IcVaccineExcelImportListener; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.feign.OssFeignClient; +import com.epmet.service.IcNoticeService; import com.epmet.service.IcVaccineService; -import org.apache.commons.lang3.StringUtils; +import com.epmet.service.UserService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.http.entity.ContentType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.commons.CommonsMultipartFile; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.*; +import java.util.stream.Collectors; /** * 疫苗接种记录 @@ -24,59 +68,568 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2022-04-06 */ +@Slf4j @Service -public class IcVaccineServiceImpl extends BaseServiceImpl implements IcVaccineService { +public class IcVaccineServiceImpl extends BaseServiceImpl implements IcVaccineService, ResultDataResolver { + @Autowired + private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired + private IcNoticeService icNoticeService; + @Autowired + private OssFeignClient ossFeignClient; + @Autowired + private UserBaseInfoDao userBaseInfoDao; + @Autowired + private IcNatRelationDao icNatRelationDao; + @Autowired + private IcResiUserDao icResiUserDao; + @Autowired + private UserService userService; + + /** + * @Author sun + * @Description 核酸检测-上报核酸记录 + **/ @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, IcVaccineDTO.class); + @Transactional(rollbackFor = Exception.class) + public void add(AddIcNatFormDTO formDTO) { + //0.先根据身份证号和检查时间以及检测结果校验数据是否存在 + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), null, formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), null); + //按身份证号核酸时间存在记录的 核酸结果相同的提示已存在相同记录核酸结果不同的提示已存在去修改【业务要求的】 + if (null != icNatDTO && icNatDTO.getNatResult().equals(formDTO.getNatResult())) { + throw new RenException(EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getCode(), EpmetErrorCode.IC_NAT_IDCARD_NATTIME.getMsg()); + } else if (null != icNatDTO && !icNatDTO.getNatResult().equals(formDTO.getNatResult())) { + throw new RenException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); + } + //1.获取所填居民所属组织缓存信息 + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); + if (null == agencyInfo) { + throw new RenException(String.format("获取组织缓存信息失败%s", formDTO.getAgencyId())); + } + //2.新增核酸基础信息数据 + IcVaccineEntity entity = ConvertUtils.sourceToTarget(formDTO, IcVaccineEntity.class); + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(formDTO.getUserId())) { + entity.setIsResiUser("1"); + } + insert(entity); + //3.核酸记录关系表新增与组织的关系数据 + IcNatRelationEntity relationEntity = ConvertUtils.sourceToTarget(formDTO, IcNatRelationEntity.class); + relationEntity.setIcNatId(entity.getId()); + relationEntity.setPids(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(agencyInfo.getPids()) ? agencyInfo.getPids() + ":" + formDTO.getAgencyId() : formDTO.getAgencyId()); + icNatRelationDao.insert(relationEntity); + + //3.新增通知表信息 + if (formDTO.getChannel().size() > NumConstant.ZERO) { + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userList = new ArrayList<>(); + userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setCustomerId(formDTO.getCustomerId()); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + dto.setOrigin("2"); + dto.setContent(formDTO.getContent()); + dto.setStaffId(formDTO.getStaffId()); + icNoticeService.sendNotice(dto); + } + } + /** + * @Author sun + * @Description 核酸检测-居民端我的上报 + **/ @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); + public List myNatList(MyNatListFormDTO formDTO) { + //1.根据token信息查询居民身份证号 + UserBaseInfoResultDTO dto = userBaseInfoDao.selectListByUserIdList(formDTO.getUserId()); + if (null != dto) { + formDTO.setIdCard(dto.getIdNum()); + } + //2.查询当前人员创建的或该身份证号录入的核算检测数据(居民端录入、数字平台录入、数字平台导入、数字平台同步的) + List resultList = baseDao.getMyNatList(formDTO); + return resultList; + } + + /** + * @Author sun + * @Description 【核酸】本组织及下级核酸检测信息列表 + * + * @return*/ + @Override + public PageData natList(MyNatListFormDTO formDTO) { + //1.根据是查询客户数据还是本辖区数据走不同逻辑 + if ("current".equals(formDTO.getOrgType())) { + //本辖区数据 + //2.获取工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + formDTO.setAgencyId(staffInfo.getAgencyId()); + //3.按条件查询业务数据 + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); + return new PageData(data.getList(), data.getTotal()); + } else if ("all".equals(formDTO.getOrgType())) { + //客户下数据 + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getCustomerNatList(formDTO)); + return new PageData(data.getList(), data.getTotal()); + } - return ConvertUtils.sourceToTarget(entityList, IcVaccineDTO.class); + return new PageData(new ArrayList(), 0); } - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + /** + * @Author sun + * @Description 【核酸】核酸检测信息详情 + **/ + @Override + public IcNatDTO detail(MyNatListFormDTO formDTO) { + IcNatDTO resultDTO = new IcNatDTO(); + //1.查询核酸记录信息 + IcVaccineEntity entity = baseDao.selectById(formDTO.getIcNatId()); + if (null == resultDTO) { + return resultDTO; + } + resultDTO = ConvertUtils.sourceToTarget(entity, IcNatDTO.class); + + //2.查询对应的通知记录信息 + IcNoticeDTO dto = icNoticeService.getNotice(entity.getCustomerId(), entity.getIdCard()); + if (null != dto) { + resultDTO.setChannel(dto.getChannelList()); + resultDTO.setContent(dto.getContent()); + } + + return resultDTO; + } - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + /** + * @Author sun + * @Description 【核酸】核酸检测信息修改 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void edit(AddIcNatFormDTO formDTO) { + //0.先根据身份证号和检测时间以及检测结果校验除当前数据是否还存在相同数据 + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE), formDTO.getNatResult()); + if (null != icNatDTO) { + throw new RenException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); + } + //1.更新核酸记录基础信息表数据 + IcVaccineEntity entity = ConvertUtils.sourceToTarget(formDTO, IcVaccineEntity.class); + entity.setId(formDTO.getIcNatId()); + if (!updateById(entity)) { + log.error(String.format("数据修改失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败"); + } + //修改只涉及到基础信息的修改 不会修改关系数据 关系表不涉及更新 - return wrapper; + //3.新增通知表信息 + if (CollectionUtils.isNotEmpty(formDTO.getChannel())) { + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userList = new ArrayList<>(); + userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setCustomerId(formDTO.getCustomerId()); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + dto.setOrigin("2"); + dto.setContent(formDTO.getContent()); + dto.setStaffId(formDTO.getStaffId()); + icNoticeService.sendNotice(dto); + } } + /** + * @Author sun + * @Description 【核酸】核酸检测信息删除/取消同步 + **/ @Override - public IcVaccineDTO get(String id) { - IcVaccineEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, IcVaccineDTO.class); + @Transactional(rollbackFor = Exception.class) + public void del(MyNatListFormDTO formDTO) { + //1.确定删除则需要删除基础数据以及所有可能存在的关系数据,物理删除业务数据 + if (baseDao.delById(formDTO.getIcNatId()) < NumConstant.ONE) { + log.error(String.format("数据删除失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据删除失败"); + } + //关系数据删除 + icNatRelationDao.delRelation(formDTO.getIcNatId(), null); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息同步 + **/ @Override @Transactional(rollbackFor = Exception.class) - public void save(IcVaccineDTO dto) { - IcVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineEntity.class); - insert(entity); + public void synchro(MyNatListFormDTO formDTO) { + //1.检验核酸基础信息是否存在 + IcVaccineEntity entity = baseDao.selectById(formDTO.getIcNatId()); + if (null == entity) { + log.error(String.format("核酸记录数据不存在同步失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,核酸记录数据不存在"); + } + //获取工作人员缓存数据 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //2.不管是否已存在关系数据都是先删后增 + icNatRelationDao.delRelation(formDTO.getIcNatId(), staffInfo.getAgencyId()); + //3.新增关系数据 + IcNatRelationEntity relationEntity = new IcNatRelationEntity(); + relationEntity.setCustomerId(formDTO.getCustomerId()); + relationEntity.setIcNatId(formDTO.getIcNatId()); + relationEntity.setAgencyId(staffInfo.getAgencyId()); + relationEntity.setPids(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(staffInfo.getAgencyPIds())?staffInfo.getAgencyPIds()+":"+staffInfo.getAgencyId():staffInfo.getAgencyId()); + relationEntity.setUserType("synchro"); + icNatRelationDao.insert(relationEntity); } + /** + * @Author sun + * @Description 【核酸】核酸检测信息取消同步 + **/ @Override @Transactional(rollbackFor = Exception.class) - public void update(IcVaccineDTO dto) { - IcVaccineEntity entity = ConvertUtils.sourceToTarget(dto, IcVaccineEntity.class); - updateById(entity); + public void cancelSynchro(MyNatListFormDTO formDTO) { + //1.获取工作人员缓存数据 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + //1.物理删除关系数据 + if (icNatRelationDao.delRelation(formDTO.getIcNatId(), staffInfo.getAgencyId()) < NumConstant.ONE) { + log.error(String.format("数据取消同步失败,核酸记录Id->%s", formDTO.getIcNatId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "取消同步操作失败"); + } + } + + @Async + @Override + public void execAsyncExcelImport(Path filePath, String importTaskId) { + String userId = null; + + try { + userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + String app = EpmetRequestHolder.getHeader(AppClientConstant.APP); + String client = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); + + LoginUserDetailsResultDTO loginUserDetails = userService.getLoginUserDetails(app, client, userId); + + String agencyId = loginUserDetails.getAgencyId(); + + IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, agencyId, loginUserDetails.getOrgIdPath().replace(":".concat(agencyId), ""), this); + + EasyExcel.read(filePath.toFile(), IcNatImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead(); + + Path errorDescFile = null; + String errorDesFileUrl = null; + + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); + + boolean failed = errorRows.size() > 0; + + // 合并到一起写入 + errorRows.addAll(otherRows); + + // 生成并上传描述文件 + if (errorRows.size() > 0) { + try { + // 文件生成 + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des"); + String fileName = UUID.randomUUID().toString().concat(".xlsx"); + errorDescFile = errorDescDir.resolve(fileName); + + FileItemFactory factory = new DiskFileItemFactory(16, errorDescDir.toFile()); + FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); + OutputStream os = fileItem.getOutputStream(); + + EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); + // 文件上传oss + Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); + if (errorDesFileUploadResult.success()) { + errorDesFileUrl = errorDesFileUploadResult.getData().getUrl(); + } + + } finally { + if (Files.exists(errorDescFile)) { + Files.delete(errorDescFile); + } + } + } + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc(""); + importFinishTaskForm.setResultDescFilePath(errorDesFileUrl); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【核酸检测导入】finishImportTask失败"); + } + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.error("【核酸检测导入】出错:{}", errorMsg); + + ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); + importFinishTaskForm.setTaskId(importTaskId); + importFinishTaskForm.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setOperatorId(userId); + importFinishTaskForm.setResultDesc("导入失败"); + + Result result = commonServiceOpenFeignClient.finishImportTask(importFinishTaskForm); + if (!result.success()) { + log.error("【核酸检测导入】导入记录状态修改为'完成'失败"); + } + } finally { + // 删除临时文件 + if (Files.exists(filePath)) { + try { + Files.delete(filePath); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + } + + /** + * 核酸检测信息 + * + * @param idCard + * @Param idCard + * @Return {@link List< NatListDTO >} + * @Author zhaoqifeng + * @Date 2022/3/29 16:29 + */ + @Override + public List getNatList(String customerId, String idCard) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcVaccineEntity::getCustomerId, customerId); + wrapper.eq(IcVaccineEntity::getIdCard, idCard); + wrapper.orderByDesc(IcVaccineEntity::getNatTime); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream().map(item -> { + NatListDTO dto = new NatListDTO(); + dto.setAddress(item.getNatAddress()); + dto.setTestTime(DateUtils.format(item.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); + switch (item.getNatResult()) + { + case NumConstant.ZERO_STR: + dto.setResult("阴性"); + break; + case NumConstant.ONE_STR: + dto.setResult("阳性"); + break; + default: + dto.setResult("未知"); + } + return dto; + }).collect(Collectors.toList()); } @Override + public Integer updateIsResiFlag(String customerId, String icResiUserId) { + return baseDao.updateIsResiFlag(customerId,icResiUserId); + } + + /** + * 批量持久化 + * @param entities + */ + public void batchPersist(List entities, IcVaccineExcelImportListener listener) { + String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID); + String currentUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + + entities.forEach(e -> { + try { + persisVaccine(e, customerId, currentUserId, listener); + } catch (Exception exception) { + String errorMsg = ExceptionUtils.getErrorStackTrace(exception); + log.error(errorMsg); + + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + errorRow.setName(e.getName()); + errorRow.setMobile(e.getMobile()); + errorRow.setIdCard(e.getIdCard()); + errorRow.setErrorInfo("未知系统错误"); + listener.getErrorRows().add(errorRow); + } + }); + } + + /** + * 单条持久化 + * @param e + * @param customerId + * @param currentUserId + * @param listener + */ @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); + public void persisVaccine(IcVaccineEntity e, String customerId, String currentUserId, IcNatExcelImportListener listener) { + List otherRows = listener.getOtherRows(); + String agencyPids = listener.getCurrentAgencyPids(); + String agencyId = listener.getCurrentAgencyId(); + + Date natTime = e.getNatTime(); + String idCard = e.getIdCard(); + String name = e.getName(); + String mobile = e.getMobile(); + String natResult = e.getNatResult(); + String natAddress = e.getNatAddress(); + + //1.先看客户下有没有这个人 + IcVaccineEntity resiNat = getResiNat(customerId, idCard, natTime); + if (resiNat != null && !"import".equals(resiNat.getUserType())) { + // 有这个人,并且不是导入的 + String message = "已存在该次核酸检测录入记录,请到系统中修改"; + + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + errorRow.setName(name); + errorRow.setMobile(mobile); + errorRow.setIdCard(idCard); + errorRow.setErrorInfo(message); + otherRows.add(errorRow); + return; + } + + if (resiNat != null) { + boolean needUpdate = false; + // 有这个人,也是导入的,那就要更新le + ArrayList changedFieldNames = new ArrayList<>(); + if (!name.equals(resiNat.getName())) { + changedFieldNames.add("姓名"); + resiNat.setName(name); + needUpdate = true; + } + + if (!natResult.equals(resiNat.getNatResult())) { + changedFieldNames.add("检测结果"); + resiNat.setNatResult(natResult); + needUpdate = true; + } + + // 检测地点和手机号先不提示,说需要提示再提示。需要考虑两个都不为空&&不相等 || 两个中一个为空一个不为空 + if ((com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(resiNat.getNatAddress())) + || (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(resiNat.getNatAddress())) + || (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(resiNat.getNatAddress()) && !natAddress.equals(resiNat.getNatAddress()))) { + resiNat.setNatAddress(natAddress); + needUpdate = true; + } + + if (!mobile.equals(resiNat.getMobile())) { + resiNat.setMobile(mobile); + needUpdate = true; + } + + if (changedFieldNames.size() > 0) { + String fieldsStr = String.join(",", changedFieldNames); + String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + errorRow.setName(name); + errorRow.setMobile(mobile); + errorRow.setIdCard(idCard); + errorRow.setErrorInfo(message); + otherRows.add(errorRow); + } + + if (needUpdate) { + resiNat.setUpdatedBy(currentUserId); + resiNat.setUpdatedTime(new Date()); + + IcResiUserEntity resi = getResi(customerId, idCard, null); + resiNat.setIsResiUser(resi != null ? "1" : "0"); + resiNat.setUserId(resi != null ? resi.getId() : ""); + + baseDao.updateById(resiNat); + } + + // 还要创建关系。只有本辖区及下级居民,才建立关系 + if (getResi(customerId, idCard, String.join(":", Arrays.asList(agencyPids, agencyId))) != null) { + createNatRelation(resiNat.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + } + + return; + } + + // 执行新增操作 + IcResiUserEntity resi = getResi(customerId, idCard, null); + e.setIsResiUser(resi != null ? "1" : "0"); + e.setUserId(resi != null ? resi.getId() : ""); + e.setUserType("import"); + + baseDao.insert(e); + + // 还要创建关系。只有本辖区及下级居民,才建立关系 + if (getResi(customerId, idCard, String.join(":", Arrays.asList(agencyPids, agencyId))) != null) { + createNatRelation(e.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + } + } + + /** + * 是否是指定条件下的居民; + * 0:否 + * 1:是 + * @param customerId + * @param idCard + * @return + */ + public IcResiUserEntity getResi(String customerId, String idCard, String pids) { + LambdaQueryWrapper query = new LambdaQueryWrapper(); + query.eq(IcResiUserEntity::getCustomerId, customerId); + query.eq(IcResiUserEntity::getIdCard, idCard); + if (StringUtils.isNotBlank(pids)) { + query.likeRight(IcResiUserEntity::getPids, pids); + } + return icResiUserDao.selectOne(query); + } + + /** + * + * @param customerId + * @param idCard + * @return + */ + public IcVaccineEntity getResiNat(String customerId, String idCard, Date natTime) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcVaccineEntity::getCustomerId, customerId); + query.eq(IcVaccineEntity::getIdCard, idCard); + query.eq(IcVaccineEntity::getNatTime, natTime); + return baseDao.selectOne(query); + } + + /** + * 创建nat关系 + * @param natId + * @param currentUserAgencyId + */ + private void createNatRelation(String natId, String currentUserAgencyId, String agencyPids) { + + // 没有关系创建关系,有关系就跳过 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcNatRelationEntity::getIcNatId, natId); + query.eq(IcNatRelationEntity::getAgencyId, currentUserAgencyId); + if (icNatRelationDao.selectCount(query) > 0) { + return; + } + + IcNatRelationEntity relation = new IcNatRelationEntity(); + relation.setAgencyId(currentUserAgencyId); + relation.setPids(String.join(":", Arrays.asList(agencyPids, currentUserAgencyId))); + relation.setIcNatId(natId); + relation.setUserType("import"); + icNatRelationDao.insert(relation); } -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml index 49fdaa2fe4..fcb5e56580 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml @@ -2,5 +2,175 @@ + - \ No newline at end of file + + + + + + + + DELETE FROM ic_nat WHERE id = #{icNatId} + + + + INSERT INTO epmet_user.ic_nat + (ID, CUSTOMER_ID, AGENCY_ID, PIDS, USER_ID, + USER_TYPE, NAME, MOBILE, ID_CARD, NAT_TIME, NAT_RESULT, NAT_ADDRESS, FILE_NAME, ATTACHMENT_TYPE, ATTACHMENT_URL, + DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME) + VALUES (#{id}, #{customerId}, #{agencyId}, #{pids}, #{userId}, + #{userType}, #{name}, #{mobile}, #{idCard}, #{natTime}, + #{natResult}, #{natAddress}, #{fileName}, #{attachmentType}, #{attachmentUrl}, + #{delFlag}, #{revision}, #{createdBy}, #{createdTime}, #{updatedBy}, + #{updatedTime}) + ON DUPLICATE KEY update + NAME=#{name}, + MOBILE=#{mobile}, + NAT_ADDRESS=#{natAddress}, + NAT_RESULT=#{natResult}, + UPDATED_BY=#{updatedBy}, + UPDATED_TIME=NOW() + + + UPDATE ic_nat m, + ( + SELECT if(DEL_FLAG,0,1) resiFlag, ID_CARD FROM ic_resi_user + WHERE + 1=1 + + AND ID = #{icResiUserId} + + AND CUSTOMER_ID = #{customerId} + AND DEL_FLAG = '0' + ) t + SET m.IS_RESI_USER = t.resiFlag + WHERE + m.ID_CARD = t.ID_CARD + AND m.DEL_FLAG = '0' + + From 47136ce78174c500895ebc2277c79bf125b285c2 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:16:38 +0800 Subject: [PATCH 04/19] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/VaccineListFormDTO.java | 67 +++++++++++++++++++ .../epmet/controller/IcVaccineController.java | 36 ++++------ 2 files changed, 79 insertions(+), 24 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccineListFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccineListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccineListFormDTO.java new file mode 100644 index 0000000000..213c8fb9de --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/VaccineListFormDTO.java @@ -0,0 +1,67 @@ +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 VaccineListFormDTO extends PageFormDTO { + + private static final long serialVersionUID = -6809065476616323072L; + + public interface Detail extends CustomerClientShowGroup { + } + public interface Del extends CustomerClientShowGroup { + } + public interface Synchro extends CustomerClientShowGroup { + } + + /** + * 身份证号 + */ + private String idCard; + /** + * 当前组织:current 根组织:all + */ + private String searchType; + private String agencyId; + /** + * 姓名 + */ + private String name; + /** + * 手机号 + */ + private String mobile; + /** + * 是否客户下居民(0:否 1:是) + */ + private String isResiUser; + /** + * 检测开始时间yyyy-MM-dd HH:mm + */ + private String startTime; + /** + * 检测结束时间yyyy-MM-dd HH:mm间yy-mm-dd + */ + private String endTime; + + /** + * 核酸记录Id + */ + @NotBlank(message = "疫苗接种记录Id不能为空", groups = { Detail.class, Del.class, Synchro.class}) + private String icVaccineId; + + /** + * token里设置 + */ + private String customerId; + private String userId; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 65f19fc3df..0fc599ed35 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -20,9 +20,8 @@ import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; -import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; -import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListCommonExcelResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -93,17 +92,6 @@ public class IcVaccineController implements ResultDataResolver { return new Result(); } - /** - * @Author sun - * @Description 核酸检测-居民端我的上报 - **/ - @NoRepeatSubmit - @PostMapping("mynatlist") - public Result> myNatList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { - formDTO.setCustomerId(tokenDto.getCustomerId()); - formDTO.setUserId(tokenDto.getUserId()); - return new Result>().ok(icVaccineService.myNatList(formDTO)); - } /** * @Author sun @@ -111,7 +99,7 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("natlist") - public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { + public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); return new Result>().ok(icVaccineService.natList(formDTO)); @@ -123,8 +111,8 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("detail") - public Result detail(@RequestBody MyNatListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Detail.class); + public Result detail(@RequestBody VaccineListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Detail.class); return new Result().ok(icVaccineService.detail(formDTO)); } @@ -148,8 +136,8 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("del") - public Result del(@RequestBody MyNatListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Del.class); + public Result del(@RequestBody VaccineListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Del.class); icVaccineService.del(formDTO); return new Result<>(); } @@ -160,8 +148,8 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("synchro") - public Result synchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class); + public Result synchro(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Synchro.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); icVaccineService.synchro(formDTO); @@ -174,8 +162,8 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("cancelsynchro") - public Result cancelSynchro(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, MyNatListFormDTO.Synchro.class); + public Result cancelSynchro(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Synchro.class); formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); icVaccineService.cancelSynchro(formDTO); @@ -266,7 +254,7 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("export") - public void export(@LoginUser TokenDto tokenDto, @RequestBody MyNatListFormDTO formDTO, HttpServletResponse response) { + public void export(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO, HttpServletResponse response) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); @@ -280,7 +268,7 @@ public class IcVaccineController implements ResultDataResolver { int pageNo = formDTO.getPageNo(); try { // 这里 需要指定写用哪个class去写 - String fileName = "核酸检测信息.xlsx"; + String fileName = "疫苗接种信息.xlsx"; if ("all".equals(formDTO.getOrgType())) { excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListResultDTO.class).build(); }else { From 29f7101356cb0339803c1e6dc7bf3731647f5d99 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:20:58 +0800 Subject: [PATCH 05/19] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/IcVaccineListResultDTO.java | 95 +++++++++++++++++++ .../epmet/controller/IcVaccineController.java | 5 +- .../com/epmet/service/IcVaccineService.java | 6 +- .../service/impl/IcVaccineServiceImpl.java | 8 +- 4 files changed, 105 insertions(+), 9 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java new file mode 100644 index 0000000000..8118bd73be --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java @@ -0,0 +1,95 @@ +package com.epmet.dto.result; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.HeadStyle; +import com.alibaba.excel.enums.poi.FillPatternTypeEnum; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 核酸检测-我的上报记录 + * @Author sun + */ +@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44) +@Data +public class IcVaccineListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 核酸记录Id + */ + @ExcelIgnore + private String icNatId; + /** + * 组织Id + */ + @ExcelIgnore + private String agencyId; + /** + * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 + */ + @ExcelIgnore + private String userId; + + /** + * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + */ + @ExcelIgnore + private String userType; + + /** + * 姓名 + */ + @ColumnWidth(20) + @ExcelProperty(value = "姓名",order = 1) + private String name; + + /** + * 手机号 + */ + @ColumnWidth(20) + @ExcelProperty(value = "手机号",order = 2) + private String mobile; + + /** + * 身份证号 + */ + @ColumnWidth(25) + @ExcelProperty(value = "身份证号",order = 3) + private String idCard; + + /** + * 检测时间,yyyy-MM-dd HH:mm + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + @ColumnWidth(25) + @ExcelProperty(value = "检测时间",order = 4) + private Date natTime; + + /** + * 检测结果 + */ + @ColumnWidth(20) + @ExcelProperty(value = "检测结果",order = 5) + private String natResult; + + /** + * 是否客户下居民(0:否 1:是) + */ + @ExcelIgnore + private String isResiUser; + + /** + * 检测地点 + */ + @ColumnWidth(30) + @ExcelProperty(value = "检测地点",order = 7) + private String natAddress; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 0fc599ed35..c40d97980b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -21,6 +21,7 @@ import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.VaccineListFormDTO; +import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.NatListCommonExcelResultDTO; import com.epmet.dto.result.NatListResultDTO; @@ -99,10 +100,10 @@ public class IcVaccineController implements ResultDataResolver { **/ @NoRepeatSubmit @PostMapping("natlist") - public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { + public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); - return new Result>().ok(icVaccineService.natList(formDTO)); + return new Result>().ok(icVaccineService.natList(formDTO)); } /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 1e9e5d71ba..ab351b9c80 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -5,9 +5,10 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.form.VaccineListFormDTO; +import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListDTO; -import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcVaccineEntity; import java.nio.file.Path; @@ -37,8 +38,9 @@ public interface IcVaccineService extends BaseService { * @Author sun * @Description 【核酸】核酸检测信息列表 * + * @param formDTO * @return*/ - PageData natList(MyNatListFormDTO formDTO); + PageData natList(VaccineListFormDTO formDTO); /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index f6cab4ae48..106413e185 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -24,10 +24,7 @@ import com.epmet.dao.IcVaccineDao; import com.epmet.dao.UserBaseInfoDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNoticeDTO; -import com.epmet.dto.form.AddIcNatFormDTO; -import com.epmet.dto.form.ImportTaskCommonFormDTO; -import com.epmet.dto.form.MyNatListFormDTO; -import com.epmet.dto.form.SendNoticeFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcNatRelationEntity; import com.epmet.entity.IcResiUserEntity; @@ -157,9 +154,10 @@ public class IcVaccineServiceImpl extends BaseServiceImpl natList(MyNatListFormDTO formDTO) { + public PageData natList(VaccineListFormDTO formDTO) { //1.根据是查询客户数据还是本辖区数据走不同逻辑 if ("current".equals(formDTO.getOrgType())) { //本辖区数据 From 5aeb45a66952c5f68d8bb2055ed66e33c30a77c9 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:24:25 +0800 Subject: [PATCH 06/19] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcVaccineController.java | 4 ++-- .../main/java/com/epmet/dao/IcVaccineDao.java | 12 +++++++----- .../com/epmet/service/IcVaccineService.java | 7 ++++--- .../service/impl/IcVaccineServiceImpl.java | 19 ++++++++++--------- .../main/resources/mapper/IcVaccineDao.xml | 4 ++-- 5 files changed, 25 insertions(+), 21 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index c40d97980b..271ecb80fc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -103,7 +103,7 @@ public class IcVaccineController implements ResultDataResolver { public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); - return new Result>().ok(icVaccineService.natList(formDTO)); + return new Result>().ok(icVaccineService.icVaccineList(formDTO)); } /** @@ -279,7 +279,7 @@ public class IcVaccineController implements ResultDataResolver { WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); PageData data = null; do { - data = icVaccineService.natList(formDTO); + data = icVaccineService.icVaccineList(formDTO); data.getList().forEach(o-> { o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult()) ? "阳性" : "阴性"); o.setIsResiUser(NumConstant.ONE_STR.equals(o.getIsResiUser()) ? "是" : "否"); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java index 84f0be0178..b99c5d1000 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java @@ -3,10 +3,10 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.MyNatListFormDTO; +import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.dto.result.NatListResultDTO; import com.epmet.entity.IcVaccineEntity; -import com.epmet.entity.IcVaccineEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -29,14 +29,16 @@ public interface IcVaccineDao extends BaseDao { /** * @Author sun * @Description 【核酸】本辖区核酸检测信息列表 - **/ - List getNatList(MyNatListFormDTO formDTO); + * + * @param formDTO*/ + List getIcVaccineList(VaccineListFormDTO formDTO); /** * @Author sun * @Description 【核酸】客户下核酸检测信息列表 - **/ - List getCustomerNatList(MyNatListFormDTO formDTO); + * + * @param formDTO*/ + List getCustomerIcVaccineList(VaccineListFormDTO formDTO); /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index ab351b9c80..7cef54b951 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -40,13 +40,14 @@ public interface IcVaccineService extends BaseService { * * @param formDTO * @return*/ - PageData natList(VaccineListFormDTO formDTO); + PageData icVaccineList(VaccineListFormDTO formDTO); /** * @Author sun * @Description 【核酸】核酸检测信息详情 - **/ - IcNatDTO detail(MyNatListFormDTO formDTO); + * + * @param formDTO*/ + IcNatDTO detail(VaccineListFormDTO formDTO); /** * @Author sun diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 106413e185..66361093a5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -157,9 +157,9 @@ public class IcVaccineServiceImpl extends BaseServiceImpl natList(VaccineListFormDTO formDTO) { + public PageData icVaccineList(VaccineListFormDTO formDTO) { //1.根据是查询客户数据还是本辖区数据走不同逻辑 - if ("current".equals(formDTO.getOrgType())) { + if ("current".equals(formDTO.getSearchType())) { //本辖区数据 //2.获取工作人员缓存信息 CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); @@ -168,13 +168,13 @@ public class IcVaccineServiceImpl extends BaseServiceImpl data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) - .doSelectPageInfo(() -> baseDao.getNatList(formDTO)); + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getIcVaccineList(formDTO)); return new PageData(data.getList(), data.getTotal()); - } else if ("all".equals(formDTO.getOrgType())) { + } else if ("all".equals(formDTO.getSearchType())) { //客户下数据 - PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) - .doSelectPageInfo(() -> baseDao.getCustomerNatList(formDTO)); + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getCustomerIcVaccineList(formDTO)); return new PageData(data.getList(), data.getTotal()); } @@ -184,9 +184,10 @@ public class IcVaccineServiceImpl extends BaseServiceImpl - SELECT a.ic_nat_id icNatId, a.agency_id agencyId, @@ -72,7 +72,7 @@ ORDER BY b.nat_time DESC, b.id ASC - SELECT id icNatId, user_id userId, From 51c42f23b92a1f561637cf1747d6976533d4b33a Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 16:26:11 +0800 Subject: [PATCH 07/19] emm --- .../epmet/constants/ImportTaskConstants.java | 1 + .../epmet/controller/IcVaccineController.java | 79 ++----------------- .../service/impl/IcVaccineServiceImpl.java | 1 - 3 files changed, 9 insertions(+), 72 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index e15f7f5057..9cb1800e8a 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -22,6 +22,7 @@ public interface ImportTaskConstants { * 核酸检测 */ String BIZ_TYPE_IC_NAT = "ic_nat"; + String BIZ_TYPE_IC_VACCINE = "ic_vaccine"; /** * 行程上报 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 271ecb80fc..c567480fc6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -63,37 +63,6 @@ public class IcVaccineController implements ResultDataResolver { @Autowired private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; - /** - * 记录一下核酸记录模块的业务程序逻辑,防止后续理不清 ic_nat:基础信息表 ic_nat_relation:关系表 - * 1.数字平台导入时,按身份证检测时间查询数据,查到数据不是导入的状态则记录下并跳过,是导入数据更新结果,未查到直接新增 - * 是否居民以及userId值查询数据平台居民,能查到就相应的赋值; - * 2.居民端录入可以录自己的或别人的,但是数据属于当前录入的组织; - * 3.数据平台录入可以为已有居民录入也可以录新数据,新数据则是否居民和userId无值; - * 4.导入数据不允许修改删除,录入数据可以修改删除,删除时相应的删除基础表和可能存在的所有关心表数据, - * 数据同步可多次重复,只是修改对应的关系表数据,基础信息表数据公用; - * 5.同一条数据被A街道和A社区都同步了,街道在看本辖区数据时会看到两条,但是只有A街道的那一条才能看到取消同步按钮; - * 6.数据库一个人一个检测时间只存在一条记录,以导入数据结果为准,已导入的各项值都不能修改,即使错误也只能通过导入修改; - * 7.新增、删除居民时会相应的修改基础信息表是否居民以及userId的值; - * 注:1.导入数据不允许修改是觉得导入数据是官方提供的且没有问题的数据,不需要在平台有维护操作,只要看就可以了; - * 2.是否居民的查询条件以及是否居民的列标题在看整个客户列表数据时这两个都隐藏 - * - */ - - /** - * @Author sun - * @Description 核酸检测-上报核酸记录 - **/ - //@NoRepeatSubmit - @PostMapping("add") - public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); - formDTO.setCustomerId(tokenDto.getCustomerId()); - formDTO.setStaffId(tokenDto.getUserId()); - icVaccineService.add(formDTO); - return new Result(); - } - - /** * @Author sun * @Description 【核酸】核酸检测信息列表 @@ -117,32 +86,6 @@ public class IcVaccineController implements ResultDataResolver { return new Result().ok(icVaccineService.detail(formDTO)); } - /** - * @Author sun - * @Description 【核酸】核酸检测信息修改 - **/ - @NoRepeatSubmit - @PostMapping("edit") - public Result edit(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Edit.class); - formDTO.setCustomerId(tokenDto.getCustomerId()); - formDTO.setStaffId(tokenDto.getUserId()); - icVaccineService.edit(formDTO); - return new Result(); - } - - /** - * @Author sun - * @Description 【核酸】核酸检测信息删除/取消同步 - **/ - @NoRepeatSubmit - @PostMapping("del") - public Result del(@RequestBody VaccineListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Del.class); - icVaccineService.del(formDTO); - return new Result<>(); - } - /** * @Author sun * @Description 【核酸】核酸检测信息同步 @@ -185,11 +128,11 @@ public class IcVaccineController implements ResultDataResolver { Path fileSavePath; try { - Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import"); + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_vaccine", "import"); fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); } catch (IOException e) { String errorMsg = ExceptionUtils.getErrorStackTrace(e); - log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg); + log.error("【疫苗接种导入】创建临时存储文件失败:{}", errorMsg); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); } @@ -210,14 +153,14 @@ public class IcVaccineController implements ResultDataResolver { // 2.生成导入任务记录 ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); importTaskForm.setOperatorId(userId); - importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT); + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_VACCINE); importTaskForm.setOriginFileName(originalFilename); ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), ServiceConstant.EPMET_COMMON_SERVICE, EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), - "excel导入核酸检测信息错误", - "导入居民核酸检测信息失败"); + "excel导入疫苗接种信息错误", + "导入居民疫苗接种信息失败"); // 3.执行导入 icVaccineService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); @@ -226,18 +169,17 @@ public class IcVaccineController implements ResultDataResolver { } /** - * @Author sun - * @Description 【核酸】核酸检测信息下载模板 + * @Author zxc + * @Description 【疫苗】疫苗接种信息下载模板 **/ @RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST}) public void downloadTemplate(HttpServletResponse response) throws IOException { response.setCharacterEncoding("UTF-8"); response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); - //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("社区自组织导入模板", "UTF-8") + ".xlsx"); - InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_nat.xlsx"); + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_vaccine.xlsx"); try { ServletOutputStream os = response.getOutputStream(); IOUtils.copy(is, os); @@ -258,12 +200,7 @@ public class IcVaccineController implements ResultDataResolver { public void export(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO, HttpServletResponse response) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); - - //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); - //formDTO.setUserId("73ae6280e46a6653a5605d51d5462725"); - formDTO.setIsPage(false); - ExcelWriter excelWriter = null; formDTO.setPageSize(NumConstant.TEN_THOUSAND); int pageNo = formDTO.getPageNo(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 66361093a5..e3456cb1b8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -311,7 +311,6 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Wed, 6 Apr 2022 16:32:42 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcVaccineController.java | 11 - .../com/epmet/service/IcVaccineService.java | 43 +--- .../service/impl/IcVaccineServiceImpl.java | 202 ++---------------- 3 files changed, 18 insertions(+), 238 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index c567480fc6..1b097570cf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -75,17 +75,6 @@ public class IcVaccineController implements ResultDataResolver { return new Result>().ok(icVaccineService.icVaccineList(formDTO)); } - /** - * @Author sun - * @Description 【核酸】核酸检测信息详情 - **/ - @NoRepeatSubmit - @PostMapping("detail") - public Result detail(@RequestBody VaccineListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Detail.class); - return new Result().ok(icVaccineService.detail(formDTO)); - } - /** * @Author sun * @Description 【核酸】核酸检测信息同步 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 7cef54b951..5d9341c9eb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -22,12 +22,6 @@ import java.util.List; */ public interface IcVaccineService extends BaseService { - /** - * @Author sun - * @Description 核酸检测-上报核酸记录 - **/ - void add(AddIcNatFormDTO formDTO); - /** * @Author sun * @Description 核酸检测-居民端我的上报 @@ -42,30 +36,11 @@ public interface IcVaccineService extends BaseService { * @return*/ PageData icVaccineList(VaccineListFormDTO formDTO); - /** - * @Author sun - * @Description 【核酸】核酸检测信息详情 - * - * @param formDTO*/ - IcNatDTO detail(VaccineListFormDTO formDTO); - - /** - * @Author sun - * @Description 【核酸】核酸检测信息修改 - **/ - void edit(AddIcNatFormDTO formDTO); - - /** - * @Author sun - * @Description 【核酸】核酸检测信息删除/取消同步 - **/ - void del(MyNatListFormDTO formDTO); - /** * @Author sun * @Description 【核酸】核酸检测信息同步 **/ - void synchro(MyNatListFormDTO formDTO); + void synchro(VaccineListFormDTO formDTO); /** * @Author sun @@ -79,20 +54,4 @@ public interface IcVaccineService extends BaseService { */ void execAsyncExcelImport(Path filePath, String importTaskId); - /** - * 核酸检测信息 - * @Param idCard - * @Return {@link List} - * @Author zhaoqifeng - * @Date 2022/3/29 16:29 - */ - List getNatList(String customerId, String idCard); - - /** - * desc:根据用户id 更新核酸中是否居民状态 - * @param customerId - * @param icResiUserId 如果为空则更新全部 - * @return - */ - Integer updateIsResiFlag(String customerId, String icResiUserId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index e3456cb1b8..11a0183606 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -88,55 +88,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl NumConstant.ZERO) { - SendNoticeFormDTO dto = new SendNoticeFormDTO(); - List userList = new ArrayList<>(); - userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); - dto.setCustomerId(formDTO.getCustomerId()); - dto.setUserList(userList); - dto.setChannel(formDTO.getChannel()); - dto.setOrigin("2"); - dto.setContent(formDTO.getContent()); - dto.setStaffId(formDTO.getStaffId()); - icNoticeService.sendNotice(dto); - } - - } - - /** - * @Author sun - * @Description 核酸检测-居民端我的上报 + * @Description 疫苗接种-居民端我的上报 **/ @Override public List myNatList(MyNatListFormDTO formDTO) { @@ -152,7 +104,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl%s", formDTO.getIcNatId())); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "核酸记录修改失败"); - } - //修改只涉及到基础信息的修改 不会修改关系数据 关系表不涉及更新 - - //3.新增通知表信息 - if (CollectionUtils.isNotEmpty(formDTO.getChannel())) { - SendNoticeFormDTO dto = new SendNoticeFormDTO(); - List userList = new ArrayList<>(); - userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); - dto.setCustomerId(formDTO.getCustomerId()); - dto.setUserList(userList); - dto.setChannel(formDTO.getChannel()); - dto.setOrigin("2"); - dto.setContent(formDTO.getContent()); - dto.setStaffId(formDTO.getStaffId()); - icNoticeService.sendNotice(dto); - } - } - - /** - * @Author sun - * @Description 【核酸】核酸检测信息删除/取消同步 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public void del(MyNatListFormDTO formDTO) { - //1.确定删除则需要删除基础数据以及所有可能存在的关系数据,物理删除业务数据 - if (baseDao.delById(formDTO.getIcNatId()) < NumConstant.ONE) { - log.error(String.format("数据删除失败,核酸记录Id->%s", formDTO.getIcNatId())); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据删除失败"); - } - //关系数据删除 - icNatRelationDao.delRelation(formDTO.getIcNatId(), null); - } - - /** - * @Author sun - * @Description 【核酸】核酸检测信息同步 + * @Author zxc + * @Description 【疫苗】疫苗接种信息同步 **/ @Override @Transactional(rollbackFor = Exception.class) - public void synchro(MyNatListFormDTO formDTO) { - //1.检验核酸基础信息是否存在 - IcVaccineEntity entity = baseDao.selectById(formDTO.getIcNatId()); + public void synchro(VaccineListFormDTO formDTO) { + //1.检验疫苗基础信息是否存在 + IcVaccineEntity entity = baseDao.selectById(formDTO.getIcVaccineId()); if (null == entity) { - log.error(String.format("核酸记录数据不存在同步失败,核酸记录Id->%s", formDTO.getIcNatId())); - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,核酸记录数据不存在"); + log.error(String.format("疫苗记录数据不存在同步失败,疫苗记录Id->%s", formDTO.getIcVaccineId())); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "数据同步失败,疫苗记录数据不存在"); } //获取工作人员缓存数据 CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); @@ -277,7 +152,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl%s", formDTO.getIcNatId())); + log.error(String.format("数据取消同步失败,疫苗记录Id->%s", formDTO.getIcNatId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "取消同步操作失败"); } } @@ -370,11 +245,11 @@ public class IcVaccineServiceImpl extends BaseServiceImpl} - * @Author zhaoqifeng - * @Date 2022/3/29 16:29 - */ - @Override - public List getNatList(String customerId, String idCard) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(IcVaccineEntity::getCustomerId, customerId); - wrapper.eq(IcVaccineEntity::getIdCard, idCard); - wrapper.orderByDesc(IcVaccineEntity::getNatTime); - List list = baseDao.selectList(wrapper); - if (CollectionUtils.isEmpty(list)) { - return Collections.emptyList(); - } - return list.stream().map(item -> { - NatListDTO dto = new NatListDTO(); - dto.setAddress(item.getNatAddress()); - dto.setTestTime(DateUtils.format(item.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); - switch (item.getNatResult()) - { - case NumConstant.ZERO_STR: - dto.setResult("阴性"); - break; - case NumConstant.ONE_STR: - dto.setResult("阳性"); - break; - default: - dto.setResult("未知"); - } - return dto; - }).collect(Collectors.toList()); - } - - @Override - public Integer updateIsResiFlag(String customerId, String icResiUserId) { - return baseDao.updateIsResiFlag(customerId,icResiUserId); - } - /** * 批量持久化 * @param entities @@ -491,7 +323,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl 0) { String fieldsStr = String.join(",", changedFieldNames); - String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; + String message = "该次疫苗接种记录已存在,执行更新动作," + fieldsStr + "已成功更新"; IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); From 0d19ad6fd9049759b6d4c0851905d0b7cf3c7847 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 16:34:15 +0800 Subject: [PATCH 09/19] emm --- .../src/main/java/com/epmet/service/IcVaccineService.java | 2 +- .../main/java/com/epmet/service/impl/IcVaccineServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 5d9341c9eb..3ff679159c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -46,7 +46,7 @@ public interface IcVaccineService extends BaseService { * @Author sun * @Description 【核酸】核酸检测信息取消同步 **/ - void cancelSynchro(MyNatListFormDTO formDTO); + void cancelSynchro(VaccineListFormDTO formDTO); /** * 执行Excel导入 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 11a0183606..d8520e85bb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -169,7 +169,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Wed, 6 Apr 2022 16:35:51 +0800 Subject: [PATCH 10/19] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcVaccineController.java | 18 +++++++----------- .../com/epmet/service/IcVaccineService.java | 3 --- .../service/impl/IcVaccineServiceImpl.java | 12 ++---------- 3 files changed, 9 insertions(+), 24 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 1b097570cf..347eb5b36f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -17,14 +17,11 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; -import com.epmet.dto.IcNatDTO; -import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.VaccineListFormDTO; +import com.epmet.dto.result.IcVaccineListCommonExcelResultDTO; import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; -import com.epmet.dto.result.NatListCommonExcelResultDTO; -import com.epmet.dto.result.NatListResultDTO; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.IcVaccineService; import lombok.extern.slf4j.Slf4j; @@ -196,23 +193,22 @@ public class IcVaccineController implements ResultDataResolver { try { // 这里 需要指定写用哪个class去写 String fileName = "疫苗接种信息.xlsx"; - if ("all".equals(formDTO.getOrgType())) { - excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListResultDTO.class).build(); + if ("all".equals(formDTO.getSearchType())) { + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcVaccineListResultDTO.class).build(); }else { - excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), NatListCommonExcelResultDTO.class).build(); + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcVaccineListCommonExcelResultDTO.class).build(); } WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").build(); - PageData data = null; + PageData data = null; do { data = icVaccineService.icVaccineList(formDTO); data.getList().forEach(o-> { - o.setNatResult(NumConstant.ONE_STR.equals(o.getNatResult()) ? "阳性" : "阴性"); o.setIsResiUser(NumConstant.ONE_STR.equals(o.getIsResiUser()) ? "是" : "否"); }); formDTO.setPageNo(++pageNo); - if ("current".equals(formDTO.getOrgType())) { - List list = ConvertUtils.sourceToTarget(data.getList(), NatListResultDTO.class); + if ("current".equals(formDTO.getSearchType())) { + List list = ConvertUtils.sourceToTarget(data.getList(), IcVaccineListResultDTO.class); excelWriter.write(list, writeSheet); }else{ excelWriter.write(data.getList(), writeSheet); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 3ff679159c..ab971e43ad 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -2,13 +2,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.dto.IcNatDTO; -import com.epmet.dto.form.AddIcNatFormDTO; import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.IcVaccineListResultDTO; import com.epmet.dto.result.MyNatListResultDTO; -import com.epmet.dto.result.NatListDTO; import com.epmet.entity.IcVaccineEntity; import java.nio.file.Path; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index d8520e85bb..d4c4676bb8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -10,20 +10,15 @@ 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.ExceptionUtils; -import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; -import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcNatRelationDao; import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcVaccineDao; import com.epmet.dao.UserBaseInfoDao; -import com.epmet.dto.IcNatDTO; -import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcNatRelationEntity; @@ -41,7 +36,6 @@ import com.epmet.service.UserService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; @@ -57,7 +51,6 @@ import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; import java.util.*; -import java.util.stream.Collectors; /** * 疫苗接种记录 @@ -72,8 +65,6 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Wed, 6 Apr 2022 16:38:54 +0800 Subject: [PATCH 11/19] emm --- .../com/epmet/dao/IcVaccineRelationDao.java | 3 +- .../service/impl/IcVaccineServiceImpl.java | 28 +++++++++---------- .../resources/mapper/IcVaccineRelationDao.xml | 10 +++++++ 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java index 6e1d2a8c9f..5bbd7a7ff3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java @@ -3,6 +3,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.IcVaccineRelationEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 疫苗接种记录关系表 @@ -12,5 +13,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IcVaccineRelationDao extends BaseDao { - + int delRelation(@Param("icNatId") String icNatId, @Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index d4c4676bb8..49ac2e56fc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -15,15 +15,13 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; -import com.epmet.dao.IcNatRelationDao; -import com.epmet.dao.IcResiUserDao; -import com.epmet.dao.IcVaccineDao; -import com.epmet.dao.UserBaseInfoDao; +import com.epmet.dao.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcNatRelationEntity; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcVaccineEntity; +import com.epmet.entity.IcVaccineRelationEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.handler.IcNatExcelImportListener; import com.epmet.excel.handler.IcVaccineExcelImportListener; @@ -73,6 +71,8 @@ public class IcVaccineServiceImpl extends BaseServiceImpl%s", formDTO.getIcNatId())); + if (icVaccineRelationDao.delRelation(formDTO.getIcVaccineId(), staffInfo.getAgencyId()) < NumConstant.ONE) { + log.error(String.format("数据取消同步失败,疫苗记录Id->%s", formDTO.getAgencyId())); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "取消同步操作失败"); } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml index 4c356c5e10..3ba4733fe3 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml @@ -3,4 +3,14 @@ + + DELETE + FROM ic_nat_relation + WHERE + ic_nat_id = #{icNatId} + + AND AGENCY_ID = #{agencyId} + + + \ No newline at end of file From 6ea13aaf40d5f5b86e54f7748c9df58b5e7d8bb4 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Apr 2022 16:45:28 +0800 Subject: [PATCH 12/19] emm --- .../IcVaccineListCommonExcelResultDTO.java | 27 +++++++++++++++++++ .../epmet/controller/IcVaccineController.java | 4 +-- .../com/epmet/service/IcVaccineService.java | 4 +-- .../service/impl/IcVaccineServiceImpl.java | 2 +- 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java new file mode 100644 index 0000000000..7749193246 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.result; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.HeadStyle; +import com.alibaba.excel.enums.poi.FillPatternTypeEnum; +import lombok.Data; + +/** + * @Description 核酸检测-我的上报记录 + * @Author sun + */ +@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44) +@Data +public class IcVaccineListCommonExcelResultDTO extends IcVaccineListResultDTO{ + private static final long serialVersionUID = 1L; + + /** + * 是否客户下居民(0:否 1:是) + */ + @ColumnWidth(20) + @ExcelProperty(value = "本辖区居民",order = 6) + private String isResiUser; + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 347eb5b36f..249494c9f8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -73,7 +73,7 @@ public class IcVaccineController implements ResultDataResolver { } /** - * @Author sun + * @Author zxc * @Description 【核酸】核酸检测信息同步 **/ @NoRepeatSubmit @@ -87,7 +87,7 @@ public class IcVaccineController implements ResultDataResolver { } /** - * @Author sun + * @Author zxc * @Description 【核酸】核酸检测信息取消同步 **/ @NoRepeatSubmit diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index ab971e43ad..3d04c02d99 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -34,13 +34,13 @@ public interface IcVaccineService extends BaseService { PageData icVaccineList(VaccineListFormDTO formDTO); /** - * @Author sun + * @Author zxc * @Description 【核酸】核酸检测信息同步 **/ void synchro(VaccineListFormDTO formDTO); /** - * @Author sun + * @Author zxc * @Description 【核酸】核酸检测信息取消同步 **/ void cancelSynchro(VaccineListFormDTO formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 49ac2e56fc..8793309502 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -155,7 +155,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl Date: Wed, 6 Apr 2022 16:51:53 +0800 Subject: [PATCH 13/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=E4=BF=A1=E6=81=AF-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constants/ImportTaskConstants.java | 5 + .../epmet/controller/IcVaccineController.java | 11 +- .../excel/data/IcVaccineImportExcelData.java | 19 ++-- .../handler/IcVaccineExcelImportListener.java | 34 ++---- .../service/impl/IcVaccineServiceImpl.java | 106 +++++++++--------- .../src/main/resources/excel/ic_vaccine.xlsx | Bin 0 -> 9141 bytes 6 files changed, 82 insertions(+), 93 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/ic_vaccine.xlsx diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index e15f7f5057..05832141a4 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -41,4 +41,9 @@ public interface ImportTaskConstants { * 处理状态:完成,但未完全成功 */ String PROCESS_STATUS_FINISHED_FAIL = "finished_fail"; + + /** + * 疫苗接种 + */ + String BIZ_TYPE_IC_VACCINE = "vaccine"; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 65f19fc3df..2a2aa2621d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -196,11 +196,11 @@ public class IcVaccineController implements ResultDataResolver { Path fileSavePath; try { - Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import"); + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_vaccine", "import"); fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); } catch (IOException e) { String errorMsg = ExceptionUtils.getErrorStackTrace(e); - log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg); + log.error("【疫苗接种导入】创建临时存储文件失败:{}", errorMsg); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); } @@ -221,14 +221,14 @@ public class IcVaccineController implements ResultDataResolver { // 2.生成导入任务记录 ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); importTaskForm.setOperatorId(userId); - importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT); + importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_VACCINE); importTaskForm.setOriginFileName(originalFilename); ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), ServiceConstant.EPMET_COMMON_SERVICE, EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), - "excel导入核酸检测信息错误", - "导入居民核酸检测信息失败"); + "excel导入疫苗接种信息错误", + "导入居民疫苗接种信息失败"); // 3.执行导入 icVaccineService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); @@ -315,5 +315,4 @@ public class IcVaccineController implements ResultDataResolver { } - } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java index 3c10ff69b7..6dca8bc4bb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcVaccineImportExcelData.java @@ -11,7 +11,7 @@ import java.io.Serializable; import java.util.Date; /** - * 核酸检测信息导入excel数据 + * 疫苗接种信息导入excel数据 */ @Data public class IcVaccineImportExcelData implements Serializable { @@ -30,16 +30,17 @@ public class IcVaccineImportExcelData implements Serializable { @Length(max = 18, message = "身份证号长度不正确,应小于18位") private String idCard; - @NotNull(message = "检测时间为必填项") - @ExcelProperty("检测时间") - private Date natTime; + @NotNull(message = "接种时间为必填项") + @ExcelProperty("接种时间") + private Date inoculateTime; - @ExcelProperty("检测地点") - private String natAddress; + @NotBlank(message = "接种地点为必填项") + @ExcelProperty("接种地点") + private String inoculateAddress; - @NotBlank(message = "检测结果为必填项") - @ExcelProperty("检测结果") - private String natResultZh; + @NotBlank(message = "疫苗厂家为必填项") + @ExcelProperty("疫苗厂家") + private String manufacturer; @Data public static class RowRemarkMessage { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java index 027040871e..e12d4549a9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcVaccineExcelImportListener.java @@ -46,11 +46,11 @@ public class IcVaccineExcelImportListener implements ReadListener errorRows = new ArrayList<>(); + private List errorRows = new ArrayList<>(); /** * 其他被标记出来的列表列表 */ - private List otherRows = new ArrayList<>(); + private List otherRows = new ArrayList<>(); private IcVaccineServiceImpl icVaccineService; @@ -68,35 +68,23 @@ public class IcVaccineExcelImportListener implements ReadListener getErrorRows() { + public List getErrorRows() { return errorRows; } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index f6cab4ae48..63e092940f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -18,10 +18,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; -import com.epmet.dao.IcNatRelationDao; -import com.epmet.dao.IcResiUserDao; -import com.epmet.dao.IcVaccineDao; -import com.epmet.dao.UserBaseInfoDao; +import com.epmet.dao.*; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNoticeDTO; import com.epmet.dto.form.AddIcNatFormDTO; @@ -32,8 +29,9 @@ import com.epmet.dto.result.*; import com.epmet.entity.IcNatRelationEntity; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcVaccineEntity; +import com.epmet.entity.IcVaccineRelationEntity; import com.epmet.excel.data.IcNatImportExcelData; -import com.epmet.excel.handler.IcNatExcelImportListener; +import com.epmet.excel.data.IcVaccineImportExcelData; import com.epmet.excel.handler.IcVaccineExcelImportListener; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; @@ -85,6 +83,10 @@ public class IcVaccineServiceImpl extends BaseServiceImpl otherRows = listener.getOtherRows(); + public void persisVaccine(IcVaccineEntity e, String customerId, String currentUserId, IcVaccineExcelImportListener listener) { + List otherRows = listener.getOtherRows(); String agencyPids = listener.getCurrentAgencyPids(); String agencyId = listener.getCurrentAgencyId(); - Date natTime = e.getNatTime(); String idCard = e.getIdCard(); String name = e.getName(); String mobile = e.getMobile(); - String natResult = e.getNatResult(); - String natAddress = e.getNatAddress(); + String manufacturer = e.getManufacturer(); + Date inoculateTime = e.getInoculateTime(); + String inoculateAddress = e.getInoculateAddress(); //1.先看客户下有没有这个人 - IcVaccineEntity resiNat = getResiNat(customerId, idCard, natTime); - if (resiNat != null && !"import".equals(resiNat.getUserType())) { + IcVaccineEntity resiVaccine = getResiVaccine(customerId, idCard, inoculateTime); + if (resiVaccine != null && !"import".equals(resiVaccine.getUserType())) { // 有这个人,并且不是导入的 - String message = "已存在该次核酸检测录入记录,请到系统中修改"; + String message = "已存在该次疫苗接种录入记录,请到系统中修改"; - IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + IcVaccineImportExcelData.RowRemarkMessage errorRow = new IcVaccineImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); errorRow.setIdCard(idCard); @@ -504,39 +506,35 @@ public class IcVaccineServiceImpl extends BaseServiceImpl changedFieldNames = new ArrayList<>(); - if (!name.equals(resiNat.getName())) { - changedFieldNames.add("姓名"); - resiNat.setName(name); + Boolean isNameChanged = false; + if (!name.equals(resiVaccine.getName())) { + isNameChanged = true; + resiVaccine.setName(name); needUpdate = true; } - if (!natResult.equals(resiNat.getNatResult())) { - changedFieldNames.add("检测结果"); - resiNat.setNatResult(natResult); + if (!inoculateAddress.equals(resiVaccine.getInoculateAddress())) { + resiVaccine.setInoculateAddress(inoculateAddress); needUpdate = true; } - // 检测地点和手机号先不提示,说需要提示再提示。需要考虑两个都不为空&&不相等 || 两个中一个为空一个不为空 - if ((com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(resiNat.getNatAddress())) - || (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(resiNat.getNatAddress())) - || (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(natAddress) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(resiNat.getNatAddress()) && !natAddress.equals(resiNat.getNatAddress()))) { - resiNat.setNatAddress(natAddress); + if (!manufacturer.equals(resiVaccine.getManufacturer())) { + resiVaccine.setManufacturer(manufacturer); needUpdate = true; } - if (!mobile.equals(resiNat.getMobile())) { - resiNat.setMobile(mobile); + if (!mobile.equals(resiVaccine.getMobile())) { + resiVaccine.setMobile(mobile); needUpdate = true; } - if (changedFieldNames.size() > 0) { - String fieldsStr = String.join(",", changedFieldNames); - String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; - IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); + if (isNameChanged) { + String message = "平台存在相同记录身份证号与姓名不一致,已更新最新姓名"; + IcVaccineImportExcelData.RowRemarkMessage errorRow = new IcVaccineImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); errorRow.setIdCard(idCard); @@ -545,19 +543,18 @@ public class IcVaccineServiceImpl extends BaseServiceImpl query = new LambdaQueryWrapper<>(); query.eq(IcVaccineEntity::getCustomerId, customerId); query.eq(IcVaccineEntity::getIdCard, idCard); - query.eq(IcVaccineEntity::getNatTime, natTime); + query.eq(IcVaccineEntity::getInoculateTime, natTime); return baseDao.selectOne(query); } /** - * 创建nat关系 - * @param natId + * 创建关系 + * @param vaccineId * @param currentUserAgencyId */ - private void createNatRelation(String natId, String currentUserAgencyId, String agencyPids) { + private void createVaccineRelation(String vaccineId, String currentUserAgencyId, String agencyPids) { // 没有关系创建关系,有关系就跳过 - LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(IcNatRelationEntity::getIcNatId, natId); - query.eq(IcNatRelationEntity::getAgencyId, currentUserAgencyId); - if (icNatRelationDao.selectCount(query) > 0) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcVaccineRelationEntity::getIcVaccineId, vaccineId); + query.eq(IcVaccineRelationEntity::getAgencyId, currentUserAgencyId); + if (icVaccineRelationDao.selectCount(query) > 0) { return; } - IcNatRelationEntity relation = new IcNatRelationEntity(); + IcVaccineRelationEntity relation = new IcVaccineRelationEntity(); relation.setAgencyId(currentUserAgencyId); relation.setPids(String.join(":", Arrays.asList(agencyPids, currentUserAgencyId))); - relation.setIcNatId(natId); + relation.setIcVaccineId(vaccineId); relation.setUserType("import"); - icNatRelationDao.insert(relation); + icVaccineRelationDao.insert(relation); } } diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_vaccine.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_vaccine.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b1d0b56179529c7d2e1f078ca749a6ad8a8ee4e3 GIT binary patch literal 9141 zcma)i1yG#J(l+kSBEda)a1Fr;?(QCZk;Q{s&>+Fx9YXNnuE8N#aCd_H56O2%#Q={#!2J+w z;G8LE0tW+Qg8&0V`=^+Jtu3RAwN+|Vn4@+9Einvf%A4`QUvucb%3afh*}`*}l`PL~o1X6)8`+(OK3%!H zI^I8HWL&1d-Y$*r*plCcWZs5U*n?^C?L-gPY0vG(Yj;%3$E|ATKcMBITGaDI6TaYEiTB+noXaFDV z(h|qm?0kECz3g7sGD@H(GB=N}aPrD`GR(l>sdhhWWOY5iPzVWLD(Q&x1^mDYOn3Qt z%C=0uI?K|PSK8JA$T+}8h!l)Z?FcX9=N;xDjabn~;c2@3*$!)-fhp>n3HY3&jQg(u z%VCS>)1m!X9ExU%WfHal&O>pAfae!&lQ9*$pL4X3n1wt;^bQV*f)rLYFT5zhuo3~% z>PyYlqCJj|1@-syLBfG=ByEv1#prses|<_^D!(_@)icx8p%MwdO)VG+`G zpL&1YynmU|j^KR8|85|mMDnxYX~-z|F%mV)t>t7F&hHQph3nMZJwogG2s7qy5IZ`6 zfYv|uaHOD|9}~d)5#*q}i!sG^f}D?VRye3hT+YvPtz^ukW_>YMy=skl4vF-d<6kVg zTU}(rFd^>dj6#QzL->r$gA~&dFP&ayFhC8}ezt_o76r#yUMg#BF?ul-*6v0_0Ee)T z;BxFa$n11Wro5Zw?MTv8QFLZd^~UO2*M1cD6-_2zp1&1SdI~2(I45D__4k#~$fHTnE(!tEc1oUU_ur@Xk=YF)300#z!`yaADRG5Eka#by0 zG84cvz3Rccq#2t@qF0nuB{`JCJhjMiH;s^~Eu?MGDcY&Uvxh1YjfKXw)%G@Zc(LBL z_jH+Wb0|%+O9Y*C@47crlpaIXitKcEbH~%4AXg#^jS&Ga6SZihWA7w?Td=pZpL!C7 z2|z29IJMq+qMS0CLap|p$~#rLH^t251HN2rbaW@r`aI%W{!{yQ1Z8IFH3kAQ84YP1 zvW4}k5v<^x6tj_X7S*DpeZKnO7g1|q6;p0Q6pTfwfv6X}*Y?;_nIc8s)Yo(=OYzsI z@oQHGS5Zb|jn_qNoY(o#;?d@l?DF`n>dZK*Y2HRHSS2xu`xT~=o8x7^eyMSWHqEdS zKI+HQ;LN7cq9|)5gIU0Ce~%E=((Ny-V+R%sOlwIlI?kR{c4O$A8u5UBy-59$Z9^Nw zvL@f5AN)S-W`x131mJ)w)F{?>8Yhv*!yma8_1;BK92k+`3nmp1n6???VwP*L_Iw0_`vmC z14q*%0oiQ$+4T@Aqj0oS;cR$4vmG*D4#Ne})7f{TIHN%FIGxUnaCJv?13xopgf?yX z33Y3OB!QsthA(GIILsF08#0E9QPC)yVR6FU1 zoy%v*z$VS@p4|2(wS8`-0W$3Mea3y8w0OYC*V-kl;#*a0!-b6v{;oaZ{~o(fC;DUT zg3L^;P5wC1r3vFk=AgmANS^&nh<}Uy5dIO6`x-Jpd``3`oGmZ)y{0JRU2+yO*qT=> zR8ANok|6|zIu`Nh&h;cTyq~f9Dg=D8%txhs7Tl<3VZ^<4$MjY?M3W(|5DD$o=oGUo zdU{D24D~1ul9yKpkC5v>+n*T-H5m;;8<_W$>l9rR$wFdBv+Z0uzxI32c#{@Mjf`$W zb8zWEe_Px@>}d|7 zT^baKt7;H7r2xvp8afss@KWn}no=W>-LPQt0wELU9X=Wua3Xw-)yGu zfczkqw_JSKa(Oc+*VK~cak0~Mf(HqM{M?{W2I)9e1I z6MS*i%&Pr0MO%AAuv{ZAy-)Ra>-6ApLQ7&7wOHpT0p?4mx`Tmfh=mmLo%VerUY83l z@pp(W*5|D&JYiST7(IiWE1eKT%wiYMoMDy%lLp=$nZ=16^j!^heiPi9W_QNPRkgUO zM5>CZ({?hl8f}zOpjGf!qUSpclVNr$Ie0~?s{LNPHBldP``hz{S7bwxVZGC|Ik}_Y z5+pAia0JDxv68dh7hYwTsazaYg!?1=6!_i3Dba;}9g)uJT(|efuzzfv}=i2lM z-bI8@j9@a+DXN z+}HJ7fS+V>hrZ{^)aIe_>an{JHDNz@SCCM8D>Pe%Etp@wtR9b@E8&3QWq}imwEi+# zL{)fC;;nzL3vM=&>>;}zcd*DZ4~A|x)I8qV$MM?saSi*<_S-3q;zE2=Mk0v5b(d;| zh>mcD zp~|HdU=}8-Oa5zZ^+l_kJNgh}w$?&`AX+)sBAl7YzPHJV3jpb2h@vCK>;i9-yt$Cw z?)AdS^<1Y2X)TH{`$~ze-Yp_3L%>QF&*YY?S)+N`+`tFTQ)TK9bzC;h_=oT=Q3qtF z;#mPDB^tAxRM72)6Qm@SfJRSx>ptNts%H}s^3SzI$X%|m#M6M6q0~~{0ehtAo8Vuw zVu}TYC^m>FC3@5bUW^MUm69fDStCL%r&4}}(Qy6RD>$}KvDya(J0{)0oJE%E1syP4 z-F~H{L`hX3`jEAo05d) zcO3y&h>-aFV8>f+4fD@p$#CG1XYXKtFOEm<;2?Y-i@UFKU|`5Uj|>NptCfkvQ&~2t z{S7!bh2=&3@xe#_BOjnrRB=Mhf;-d%6L$m|IvO0hhBT70pGqK#NEF&B6ntiEP%8)t zcZ^X>L0<>)g}ZuVDgIQ3<(L>RJxN+*Z$)T923enc!YG!J%|C?Oc+8-29ly@LW}tzT!_R z44=^@rGY;kYIN6fZ84V4W%>eW7HdJTxCW%U!u(X;!b7T8z%^)mfPq!oEH0+Rj!kDk z5sQ|~g2?>-Yt`nGCFRwS21&imfkk_@!&gcbV>vZ*5GQA#&#<4>4w?zb)WPVs#;I}> z{9YQ6=(z-)i47h`(hn1%0$htkA0J=j^LUH;e)cfHNPw8ML}QDfn~0Fx{*FZCd9jF? z5XOcSMSy!lYKZlmTJqfIG${h2GsE_@fs*)mhs^UmGMt`F3<7cMqV?~oQJl)rY=c@5 z-Oy4FN>WLZM z;F?K80$osmq@z#W=0Gtadp8ijeyp*^*AvHKc!r0{ZtguJ@w9gD-M z?ldopG*atZsMS^nSn<%NvT0&LJ)HW2H&b8j5UZqKG~BmxgEFjbmc~^C_Zw+VrAlg- z%cm?j2b~5+Dwqf27e!=sn-iRv4Vj`tKL)ntz%yGu3s)_ktg-0+B-nvaZ|&UBRae!f zlm%16v3sWa%`7=iL0&vr`(6?wXJ{P<-*T3qs{Yn+KVQ8;^L09<5kq&ic}G5p#`%z{ z`wTZ=&cr$STPo$8=rNhJ0bN@$Nz1gGpvO1sy=l=a%>tRO*?vQv-nDSv;q~F7cIirt zHH6saX-TPUc+{ZP4F}P49AB!o!B~p$M?I#KzKl7>0#^)@CJa5qF9VWmh?Ke0>f;}< zsoup)o4?gUt;D1LOd~U3SpE+21#@Rr9qOI-;3WqEyhlDY2+9io5*(JWExFP z|0Ty&S4-ts+sYiKt1riGw?dn*!ps8x;nOsL?b$w0 zW_YcvKEu%r!^^1etHl*Cw-d<*Xxw*jzzu-}ZH7#UqOOu6U)_kh2%l zF;rFY+EQHVXa_6ph?yIb;2Sv9)z!2}N$c$y(6$3*7@aX3%9v?c928jmv{UIqpA*&* zcyik5_J{CtWVju~!?@??WA!BJAQ_vY3-aQ1C8qV&6e*Fx3|~^VBjjYP)8>mXD@o49 zwXI?v@VKa}$^sC+knh=17e>P<;{^&8GSiu(`j6$M9CP^3M-`z=^g(~inMY)(U1lE{ zvTzgjBh!<8jc|d`o3AY~;^IRdzsoa`(v=od#J*%_BKb^S&9IcB*C!D111*NVkVh1o zwzjS@a;>UkN5J=h4q!!p7j3Xj6E(rWo+_e@Zz5_moa%r>DD~ic!6Y?0MDGp12I@xt zhFs>j2a0pqCzw`_dNs0^)>Jz;_zd=3c!X~H1jG;qtu3)ll>#kay@0Z^syk-I_#v1v z8SW}rM4=Zr^XoNo5Ij4rV)#rL#}iYxiYRO%H}Oe0&M=OC5HJL1e$*>ucIhjZr6yL;!pg%84|~-9}z{ zw@^UgP|x1T&Q*IBhG@YC&A662lym;z!Q^o|pw4KK&JFG9$UvjI%t(dyr6;8^P>(`- zjQ{2&W*g|qce8m@Aq`sX2tKkDl}J*q6L?FbEq}bOZE<<$KX29g?L#;cuhce60Bju* z%ZkO?8!U`ha_q1v|8M*w@71XI#6bLpd~CmohCpa6j~&8T9BeMT?*-#Wl_J^lYZzO03#M`aseN&~l@`;^X%OI_-i3?q*&;=tGzcPQ>!$ ziTP3zUy9N~NY*JeX+$g~!x6puj$+Az{iaUxUgY7~xO#U43rV3#T3>gvW}TG_Sn<)! z>A`;f`$M5GFCUKX)L$-4_QFqs(!HFVt|zbV#@`S(yPvo4ZeFAfdV00v_P$f3qB#a+ zN7_LZ3nS<#$(S_AAHrK6V(i%e7;EpG&tr~-==yHnePqd>$D$m(1>dv!!>ej! ziRK{G`%aldDVi8$X!Pm(PLV<3sVAsizMNFuV5tg~*Egb>k)J^#Q-v_M(84(_V>%I6 zjGc)sdRbhMQQ8Y*ue%HxJ>{T6%!Bh7D6^0ZEyDg&uXfsQ7+oqkcK5+?A>T|VyNo(I zRVXbldc9lJ@xdKc0Dk85gR9(9zP#WZX%Ne~`CZl_V+YS$?gp`MRU(Z0SB{vzxbY2W^aW-PJG<6v%#2>`Y!u46~|_TY9mKm8Z`I zx*57XT&OPIzl=Zh?pv>b%@(qtSGmXI|5^wKE8?-oD370ljjuphskb(F3-f!is_is( z{Nk~Td-wQxA}Agk7Y=3y_9n(kAbWG0H$Q4t>qk1GLjW!C(DxASeBmHZkbzPH_{!&% zfcRIA$i2WlS~sgqSorV|Lo|2vC<25jKjkFFYnB-b4@7eC(aHKRZy$#FJGQ<#466*; zwh~ApWpJR&GgX)mlX^fB5EF9D3K-0j@eSlc;V(h3j<7pBgSzV!UEx_c1;HfV^49D8L5Jx4W3qqXe#qVlgy66BQZ&Pe@OQca2-xry&Pb`oCdTCFaTvSArNT!qfM(IBiF%%)I@$v zOtz@eU?Xg#$rJpd0x=0{j|js#JnlWM#P;PyU1>L${ik$7{+7)W&gYiXIDrLCt4yhD zts@fURlK&BE?&(V5TO!Wlwr=j%lPD0{kz4En;pmFH{|3HINTF7?8Wq?!Pdc(fWV6q_bhS5%+yw! zUGfBVii|fRNPU)rNkC`jqe+#wOF%y*)I~tl&$K?!vMzAv96;>t*NbTo$Z&4>I^8AJ z6jU-UdvySPmMKdRVpuVFGqX2*)5i7%IjUZ8RLkofjZW=*Elo*Rb#uvfRT{k?kuzK#rQ*^EtFFG}MV@rZPS+=_|iiPm-n4!;+m$Xx&d6dZSs!84G;|^nz?p#@NFOqv5HC%P`RKN?yg)iHyJ$W)zY)0~N0W`bP5*bX?sOt~nU`G)wC~&-VC=X8 z8n1xBqTQh-zQkK2Wgqbgsp@zGBxCxBt#i z?EK%c{J#$8zrneFl!d$h2;=8RIPo5zkBQ=^*b`In*KYm`U5m#p-F@iSWd{ow>Em4y+LyfHU565}<; z1WYr^A?k~ach*NWq2S12;veY_4{M00HR7Zusvv3X;Egj3h;*x|zUl*MLLp(cm6^}t zMDsLJrwFaX-C{O}dG5}MXo(G8L3pGEN0ytFdxOj$%M;n@pJdN zP;_%l_QGJVOTQD;3v$)Q3ha^9b;wINExr7bbWG3N&g~KH#uKWA)RlykpAa!Y@_o>b zCdx{R2M4$5(r*2aHgLhQro)@ZKu3OT1wZj(TEajZkckaQPubPh#6jmN;7dOY$U-m! z0xzhVJ94yGm23^d4D^>x3Mp0~C(c{hPUF&ikIvI*^dSU&!jdI;_ODtVZkv$A=qy7h zMJ5&|OZ3jv!DZcYzm=F0$Hae6!%Fa1YIlKU*Mj^sdUS2UqygLNTSPcjB0=-gHsTXF z-N*0X1Ye{*s>nu}hFs9>8BJS(?oGUmO;SsWiJHh91TWi^>7{AY)K1-3DSQQ0U)o^T zlq3bCg~gFYDK&$3ycKQWu~atLr?@m~^QS!+OA#;IUovLbTpO-H#MH*KqT<=w%G6>Cj6m2h@HAmI7&^Mm6ofvUEopRt1fFCE?Ps;tz zm3dqoFmN!Erw7r$uG3Eg|IX1prJSGRiM=<&|CNA#clu`vdeZsnH0*DkA0hL!SDY5yjSof{L|m_f2#f8ErUNH`ja>Rr5*6NrT=#N7mNO<`k$QeFZHd* zl<`abZ-)4Pz4Q}J`g1(JG&aGaFar$=J;-wLTeE&SOj{AB_9kp_OU@OR(v|Nq^`V1KCo#ZvvgL;mEcetEq5r`j*p z>dz_vSG$|Kk?i@$I}XP{#@bTSnuCw{wMGKr2BK#jQ&IS7Yi;g U1^pvf(I0Puz&^?)5I^btKNm-)nE(I) literal 0 HcmV?d00001 From 5188122af139cedaa24ea59d10f821cd386d55ce Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 16:55:49 +0800 Subject: [PATCH 14/19] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java index 7749193246..4c301085d9 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListCommonExcelResultDTO.java @@ -7,7 +7,7 @@ import com.alibaba.excel.enums.poi.FillPatternTypeEnum; import lombok.Data; /** - * @Description 核酸检测-我的上报记录 + * @Description 疫苗接种-全局导出 * @Author sun */ @HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44) From 74a4cff982a26eca2c1f8224e32df999cb5bb536 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 6 Apr 2022 16:56:05 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=E4=BF=A1=E6=81=AF-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/IcVaccineServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index f5409b4704..661b9298b5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -203,8 +203,8 @@ public class IcVaccineServiceImpl extends BaseServiceImpl errorRows = listener.getErrorRows(); - List otherRows = listener.getOtherRows(); + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); boolean failed = errorRows.size() > 0; From e56451764f8e06e84820be3f1a6cccccee8e0154 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 6 Apr 2022 16:58:53 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D=E4=BF=A1=E6=81=AF-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/constants/ImportTaskConstants.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java index 30776ae56b..e6e567c43b 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java @@ -22,6 +22,9 @@ public interface ImportTaskConstants { * 核酸检测 */ String BIZ_TYPE_IC_NAT = "ic_nat"; + /** + * 疫苗接种 + */ String BIZ_TYPE_IC_VACCINE = "ic_vaccine"; /** * 行程上报 @@ -42,9 +45,4 @@ public interface ImportTaskConstants { * 处理状态:完成,但未完全成功 */ String PROCESS_STATUS_FINISHED_FAIL = "finished_fail"; - - /** - * 疫苗接种 - */ - String BIZ_TYPE_IC_VACCINE = "vaccine"; } From 506d78f170b27886c4d3251d06b1fd3ecbe018a5 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 17:01:14 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=96=AB=E8=8B=97?= =?UTF-8?q?=E6=8E=A5=E7=A7=8D=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/IcVaccineListResultDTO.java | 17 +++----- .../db/migration/V0.0.38__ic_vaccine.sql | 41 +++++++++++++++++++ 2 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.38__ic_vaccine.sql diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java index 8118bd73be..8bed50f2b5 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcVaccineListResultDTO.java @@ -30,11 +30,6 @@ public class IcVaccineListResultDTO implements Serializable { */ @ExcelIgnore private String agencyId; - /** - * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 - */ - @ExcelIgnore - private String userId; /** * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other @@ -68,15 +63,15 @@ public class IcVaccineListResultDTO implements Serializable { */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") @ColumnWidth(25) - @ExcelProperty(value = "检测时间",order = 4) - private Date natTime; + @ExcelProperty(value = "接种时间",order = 4) + private Date inoculateTime; /** * 检测结果 */ @ColumnWidth(20) - @ExcelProperty(value = "检测结果",order = 5) - private String natResult; + @ExcelProperty(value = "接种地点",order = 5) + private String inoculateAddress; /** * 是否客户下居民(0:否 1:是) @@ -88,8 +83,8 @@ public class IcVaccineListResultDTO implements Serializable { * 检测地点 */ @ColumnWidth(30) - @ExcelProperty(value = "检测地点",order = 7) - private String natAddress; + @ExcelProperty(value = "疫苗厂家",order = 7) + private String manufacturer; } diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.38__ic_vaccine.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.38__ic_vaccine.sql new file mode 100644 index 0000000000..825a0cd8c4 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.38__ic_vaccine.sql @@ -0,0 +1,41 @@ +#添加 疫苗接种相关表 +CREATE TABLE `ic_vaccine` ( + `ID` varchar(64) NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id customer.id', + `NAME` varchar(64) NOT NULL COMMENT '姓名', + `MOBILE` varchar(11) NOT NULL COMMENT '手机号', + `ID_CARD` varchar(18) NOT NULL COMMENT '身份证号', + `IS_RESI_USER` varchar(1) NOT NULL DEFAULT '0' COMMENT '是否客户下居民(0:否 1:是)', + `USER_TYPE` varchar(32) NOT NULL COMMENT '数据来源【导入的:import;】', + `INOCULATE_TIME` datetime NOT NULL COMMENT '接种时间', + `INOCULATE_ADDRESS` varchar(32) NOT NULL DEFAULT '' COMMENT '接种地点', + `MANUFACTURER` varchar(32) NOT NULL DEFAULT '' COMMENT '疫苗厂家', + `FIELD1` varchar(32) DEFAULT NULL COMMENT '预留字段1', + `FIELD2` varchar(255) DEFAULT NULL COMMENT '预留字段2', + `FIELD3` varchar(255) DEFAULT NULL COMMENT '预留字段3', + `REMARK` varchar(255) DEFAULT NULL COMMENT '备注', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0.未删除 1.已删除', + `REVISION` int(2) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE, + KEY `idx_ic_card` (`ID_CARD`) USING BTREE +) COMMENT='疫苗接种记录'; + +CREATE TABLE `ic_vaccine_relation` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `AGENCY_ID` varchar(64) NOT NULL COMMENT '居民端上报时存储用户所在网格的组织id.居民信息的人存储居民所在组织id.单个新增或者导入的存储登录用户所属的组织id', + `PIDS` varchar(255) NOT NULL COMMENT '组织pids,包含当前agencyId值', + `IC_VACCINE_ID` varchar(64) NOT NULL COMMENT '疫苗记录表Id(ic_vaccine.id)', + `USER_TYPE` varchar(32) NOT NULL COMMENT '关系数据的绑定途径【\r\n数字社区录入:icresi;\r\n导入的:import;\r\n同步的:synchro】', + `DEL_FLAG` int(1) NOT NULL COMMENT '删除标识', + `REVISION` int(2) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) COMMENT='疫苗接种记录关系表'; From ecb1a27d70089a6e86eab3be7678ad5bd16b9b86 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 17:04:01 +0800 Subject: [PATCH 18/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/IcVaccineService.java | 9 ---- .../service/impl/IcVaccineServiceImpl.java | 47 ++++--------------- 2 files changed, 10 insertions(+), 46 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java index 3d04c02d99..c57de776d2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccineService.java @@ -2,14 +2,11 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.IcVaccineListResultDTO; -import com.epmet.dto.result.MyNatListResultDTO; import com.epmet.entity.IcVaccineEntity; import java.nio.file.Path; -import java.util.List; /** * 疫苗接种记录 @@ -19,12 +16,6 @@ import java.util.List; */ public interface IcVaccineService extends BaseService { - /** - * @Author sun - * @Description 核酸检测-居民端我的上报 - **/ - List myNatList(MyNatListFormDTO formDTO); - /** * @Author sun * @Description 【核酸】核酸检测信息列表 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java index 661b9298b5..1e6e849dc8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java @@ -13,19 +13,18 @@ import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; -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.dao.*; -import com.epmet.dto.form.*; -import com.epmet.dao.*; -import com.epmet.dto.IcNatDTO; -import com.epmet.dto.IcNoticeDTO; -import com.epmet.dto.form.AddIcNatFormDTO; +import com.epmet.dao.IcResiUserDao; +import com.epmet.dao.IcVaccineDao; +import com.epmet.dao.IcVaccineRelationDao; import com.epmet.dto.form.ImportTaskCommonFormDTO; -import com.epmet.dto.form.MyNatListFormDTO; -import com.epmet.dto.form.SendNoticeFormDTO; -import com.epmet.dto.result.*; -import com.epmet.entity.IcNatRelationEntity; +import com.epmet.dto.form.VaccineListFormDTO; +import com.epmet.dto.result.IcVaccineListResultDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; +import com.epmet.dto.result.UploadImgResultDTO; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcVaccineEntity; import com.epmet.entity.IcVaccineRelationEntity; @@ -33,9 +32,7 @@ import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.data.IcVaccineImportExcelData; import com.epmet.excel.handler.IcVaccineExcelImportListener; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; -import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OssFeignClient; -import com.epmet.service.IcNoticeService; import com.epmet.service.IcVaccineService; import com.epmet.service.UserService; import com.github.pagehelper.PageHelper; @@ -70,38 +67,14 @@ public class IcVaccineServiceImpl extends BaseServiceImpl myNatList(MyNatListFormDTO formDTO) { - //1.根据token信息查询居民身份证号 - UserBaseInfoResultDTO dto = userBaseInfoDao.selectListByUserIdList(formDTO.getUserId()); - if (null != dto) { - formDTO.setIdCard(dto.getIdNum()); - } - //2.查询当前人员创建的或该身份证号录入的核算检测数据(居民端录入、数字平台录入、数字平台导入、数字平台同步的) - List resultList = baseDao.getMyNatList(formDTO); - return resultList; - } - /** * @Author sun * @Description 【疫苗】本组织及下级疫苗接种信息列表 From 91c07ee1a2c37ae0e62254f918b9b287b6154505 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 6 Apr 2022 17:06:04 +0800 Subject: [PATCH 19/19] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/IcVaccineController.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 79c5fcc3d6..728e3533e0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -62,10 +62,10 @@ public class IcVaccineController implements ResultDataResolver { /** * @Author sun - * @Description 【核酸】核酸检测信息列表 + * @Description 【疫苗】疫苗接种信息列表 **/ @NoRepeatSubmit - @PostMapping("natlist") + @PostMapping("vaccine-list") public Result> natList(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); @@ -74,7 +74,7 @@ public class IcVaccineController implements ResultDataResolver { /** * @Author zxc - * @Description 【核酸】核酸检测信息同步 + * @Description 【疫苗】疫苗接种信息同步 **/ @NoRepeatSubmit @PostMapping("synchro") @@ -88,7 +88,7 @@ public class IcVaccineController implements ResultDataResolver { /** * @Author zxc - * @Description 【核酸】核酸检测信息取消同步 + * @Description 【疫苗】疫苗接种信息取消同步 **/ @NoRepeatSubmit @PostMapping("cancelsynchro") @@ -179,7 +179,7 @@ public class IcVaccineController implements ResultDataResolver { /** * @Author sun - * @Description 【核酸】核酸检测信息列表 + * @Description 【疫苗】疫苗接种信息列表 **/ @NoRepeatSubmit @PostMapping("export")