From 55f7dda712470805a1af1db2f8312f5a3092ac87 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 10 Oct 2022 10:39:34 +0800 Subject: [PATCH 01/65] =?UTF-8?q?-=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96-=E4=BA=BA=E6=88=BF=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=EF=BC=9A=E5=A2=9E=E5=8A=A0=E8=BE=83=E4=B8=8A?= =?UTF-8?q?=E6=9C=88=E7=9A=84=E5=AD=97=E6=AE=B5=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/DataSourceConstant.java | 1 + .../stats/UserHouseStatsQueryFormDTO.java | 23 ++++ .../feign/DataReportOpenFeignClient.java | 12 ++ .../DataReportOpenFeignClientFallBack.java | 7 ++ .../epmet/stats/UserHouseStatsResultDTO.java | 18 +++ .../controller/stats/UserHouseController.java | 37 ++++++ .../stats/FactAgencyUserHouseDailyDao.java | 17 +++ .../dao/stats/FactGridUserHouseDailyDao.java | 17 +++ .../stats/FactAgencyUserHouseDailyEntity.java | 115 ++++++++++++++++++ .../stats/FactGridUserHouseDailyEntity.java | 106 ++++++++++++++++ .../service/stats/UserHouseStatsService.java | 19 +++ .../stats/impl/UserHouseStatsServiceImpl.java | 87 +++++++++++++ .../stats/FactAgencyUserHouseDailyDao.xml | 33 +++++ .../stats/FactGridUserHouseDailyDao.xml | 32 +++++ .../epmet/dto/result/HouseChartResultDTO.java | 20 +++ .../epmet/service/impl/HouseServiceImpl.java | 23 +++- 16 files changed, 563 insertions(+), 4 deletions(-) create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/stats/UserHouseStatsQueryFormDTO.java create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/stats/UserHouseStatsResultDTO.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/stats/UserHouseController.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactAgencyUserHouseDailyDao.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactGridUserHouseDailyDao.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactAgencyUserHouseDailyEntity.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactGridUserHouseDailyEntity.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/UserHouseStatsService.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/impl/UserHouseStatsServiceImpl.java create mode 100644 epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml create mode 100644 epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java index d1e438d81a..d73da4247f 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java @@ -7,5 +7,6 @@ public interface DataSourceConstant { */ String EVALUATION_INDEX = "evaluationIndex"; String STATS_DISPLAY = "statsDisplay"; + String STATS = "stats"; } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/stats/UserHouseStatsQueryFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/stats/UserHouseStatsQueryFormDTO.java new file mode 100644 index 0000000000..ca6ea589fb --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/stats/UserHouseStatsQueryFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.form.stats; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; + +/** + * 人房信息查询dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UserHouseStatsQueryFormDTO { + + private String orgId; + private String orgType; + + @NotBlank(message = "dateId不能为空") + private String dateId; + +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/DataReportOpenFeignClient.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/DataReportOpenFeignClient.java index 862013f1a6..97771d20f0 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/DataReportOpenFeignClient.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/DataReportOpenFeignClient.java @@ -2,11 +2,15 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; import com.epmet.dto.result.plugins.AgencyNodeDTO; import com.epmet.feign.impl.DataReportOpenFeignClientFallBackFactory; +import com.epmet.stats.UserHouseStatsResultDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -24,4 +28,12 @@ public interface DataReportOpenFeignClient { **/ @GetMapping("/data/report/screen/agency/querystaffagencytree/{agencyId}") Result queryStaffAgencyTree(@PathVariable("agencyId") String agencyId); + + /** + * 通过dateId查询人房统计信息 + * @param input 3个参数,就不用dto了,类太多: + * @return + */ + @PostMapping("/data/report/userHouse/getUserHouseDailyStatsByDateId") + Result getUserHouseDailyStatsByDateId(@RequestBody UserHouseStatsQueryFormDTO input); } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/impl/DataReportOpenFeignClientFallBack.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/impl/DataReportOpenFeignClientFallBack.java index 247fe4499b..efc784a8b3 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/impl/DataReportOpenFeignClientFallBack.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/feign/impl/DataReportOpenFeignClientFallBack.java @@ -3,8 +3,10 @@ package com.epmet.feign.impl; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; import com.epmet.dto.result.plugins.AgencyNodeDTO; import com.epmet.feign.DataReportOpenFeignClient; +import com.epmet.stats.UserHouseStatsResultDTO; //@Component public class DataReportOpenFeignClientFallBack implements DataReportOpenFeignClient { @@ -17,4 +19,9 @@ public class DataReportOpenFeignClientFallBack implements DataReportOpenFeignCli public Result queryStaffAgencyTree(String agencyId) { return ModuleUtils.feignConError(ServiceConstant.DATA_REPORT_SERVER, "queryStaffAgencyTree",agencyId); } + + @Override + public Result getUserHouseDailyStatsByDateId(UserHouseStatsQueryFormDTO input) { + return ModuleUtils.feignConError(ServiceConstant.DATA_REPORT_SERVER, "getUserHouseDailyStatsByDateId",input); + } } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/stats/UserHouseStatsResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/stats/UserHouseStatsResultDTO.java new file mode 100644 index 0000000000..654bfed4cf --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/stats/UserHouseStatsResultDTO.java @@ -0,0 +1,18 @@ +package com.epmet.stats; + +import lombok.Data; + +/** + * 人房信息统计 + */ +@Data +public class UserHouseStatsResultDTO { + private Integer houseTotal = 0; + private Integer zzHouseTotal = 0; + private Integer czHouseTotal = 0; + private Integer xzHouseTotal = 0; + private Integer userTotal = 0; + private Integer czUserTotal = 0; + private Integer ldUserTotal = 0; + private Integer usingCommunityNum = 0; +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/stats/UserHouseController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/stats/UserHouseController.java new file mode 100644 index 0000000000..9556299271 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/stats/UserHouseController.java @@ -0,0 +1,37 @@ +package com.epmet.datareport.controller.stats; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.datareport.service.stats.UserHouseStatsService; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; +import com.epmet.stats.UserHouseStatsResultDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("userHouse") +public class UserHouseController { + + @Autowired + private UserHouseStatsService userHouseStatsService; + + /** + * 通过dateId查询人房统计信息 + * @param input + * @return + */ + @PostMapping("getUserHouseDailyStatsByDateId") + public Result getUserHouseDailyStatsByDateId(@RequestBody UserHouseStatsQueryFormDTO input) { + ValidatorUtils.validateEntity(input); + String orgId = input.getOrgId(); + String orgType = input.getOrgType(); + String dateId = input.getDateId(); + + UserHouseStatsResultDTO r = userHouseStatsService.getUserHouseDailyStats(orgId, orgType, dateId); + return new Result().ok(r); + } + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactAgencyUserHouseDailyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactAgencyUserHouseDailyDao.java new file mode 100644 index 0000000000..bb2c98b36c --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactAgencyUserHouseDailyDao.java @@ -0,0 +1,17 @@ +package com.epmet.datareport.dao.stats; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.datareport.entity.stats.FactAgencyUserHouseDailyEntity; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 人房信息统计数,按天统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-27 + */ +@Mapper +public interface FactAgencyUserHouseDailyDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactGridUserHouseDailyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactGridUserHouseDailyDao.java new file mode 100644 index 0000000000..da22c4a27b --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/stats/FactGridUserHouseDailyDao.java @@ -0,0 +1,17 @@ +package com.epmet.datareport.dao.stats; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.datareport.entity.stats.FactGridUserHouseDailyEntity; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 网格的人房信息统计数,按天统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-27 + */ +@Mapper +public interface FactGridUserHouseDailyDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactAgencyUserHouseDailyEntity.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactAgencyUserHouseDailyEntity.java new file mode 100644 index 0000000000..8bae60daeb --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactAgencyUserHouseDailyEntity.java @@ -0,0 +1,115 @@ +package com.epmet.datareport.entity.stats; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 人房信息统计数,按天统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-27 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("fact_agency_user_house_daily") +public class FactAgencyUserHouseDailyEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 数据更新至:yyyyMMdd; + */ + private String dateId; + + /** + * 组织id + */ + private String agencyId; + + /** + * agency_id所属的机关级别(社区级:community, +乡(镇、街道)级:street, +区县级: district, +市级: city +省级:province) + */ + private String level; + + /** + * 组织i所属的组织id + */ + private String pid; + + /** + * 组织i所有上级id + */ + private String pids; + + /** + * 小区总数 + */ + private Integer neighbourhoodsCount; + + /** + * 房屋总数 + */ + private Integer houseCount; + + /** + * 自住房屋总数 + */ + private Integer houseSelfCount; + + /** + * 出租房屋总数 + */ + private Integer houseLeaseCount; + + /** + * 闲置房屋总数 + */ + private Integer houseIdleCount; + + /** + * 居民总数 + */ + private Integer userCount; + + /** + * 常住居民总数 + */ + private Integer userResiCount; + + /** + * 流动居民总数 + */ + private Integer userFloatCount; + + /** + * 当日新增房屋数 + */ + private Integer houseIncr; + + /** + * 当日修改房屋数 + */ + private Integer houseModify; + + /** + * 当日新增居民数 + */ + private Integer userIncr; + + /** + * 当日修改居民数 + */ + private Integer userModify; + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactGridUserHouseDailyEntity.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactGridUserHouseDailyEntity.java new file mode 100644 index 0000000000..f2aded5df4 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/stats/FactGridUserHouseDailyEntity.java @@ -0,0 +1,106 @@ +package com.epmet.datareport.entity.stats; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 网格的人房信息统计数,按天统计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-27 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("fact_grid_user_house_daily") +public class FactGridUserHouseDailyEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 数据更新至:yyyyMMdd; + */ + private String dateId; + + /** + * 网格id + */ + private String gridId; + + /** + * 网格所属的组织id + */ + private String pid; + + /** + * 网格所有上级id + */ + private String pids; + + /** + * 小区总数 + */ + private Integer neighbourhoodsCount; + + /** + * 房屋总数 + */ + private Integer houseCount; + + /** + * 自住房屋总数 + */ + private Integer houseSelfCount; + + /** + * 出租房屋总数 + */ + private Integer houseLeaseCount; + + /** + * 闲置房屋总数 + */ + private Integer houseIdleCount; + + /** + * 居民总数 + */ + private Integer userCount; + + /** + * 常住居民总数 + */ + private Integer userResiCount; + + /** + * 流动居民总数 + */ + private Integer userFloatCount; + + /** + * 当日新增房屋数 + */ + private Integer houseIncr; + + /** + * 当日修改房屋数 + */ + private Integer houseModify; + + /** + * 当日新增居民数 + */ + private Integer userIncr; + + /** + * 当日修改居民数 + */ + private Integer userModify; + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/UserHouseStatsService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/UserHouseStatsService.java new file mode 100644 index 0000000000..c898ed5ced --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/UserHouseStatsService.java @@ -0,0 +1,19 @@ +package com.epmet.datareport.service.stats; + +import com.epmet.stats.UserHouseStatsResultDTO; +import lombok.extern.slf4j.Slf4j; + +/** + * 人房统计service + */ +public interface UserHouseStatsService { + + /** + * 查询指定dateId的人房统计信息 + * @param orgId + * @param orgType + * @param dateId + * @return + */ + UserHouseStatsResultDTO getUserHouseDailyStats(String orgId, String orgType, String dateId); +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/impl/UserHouseStatsServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/impl/UserHouseStatsServiceImpl.java new file mode 100644 index 0000000000..e03c81ac8a --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/stats/impl/UserHouseStatsServiceImpl.java @@ -0,0 +1,87 @@ +package com.epmet.datareport.service.stats.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import com.epmet.constant.DataSourceConstant; +import com.epmet.datareport.dao.stats.FactAgencyUserHouseDailyDao; +import com.epmet.datareport.dao.stats.FactGridUserHouseDailyDao; +import com.epmet.datareport.entity.stats.FactAgencyUserHouseDailyEntity; +import com.epmet.datareport.entity.stats.FactGridUserHouseDailyEntity; +import com.epmet.datareport.service.stats.UserHouseStatsService; +import com.epmet.stats.UserHouseStatsResultDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Slf4j +@Service +@DataSource(DataSourceConstant.STATS) +public class UserHouseStatsServiceImpl implements UserHouseStatsService { + + @Autowired + private FactGridUserHouseDailyDao factGridUserHouseDailyDao; + + @Autowired + private FactAgencyUserHouseDailyDao factAgencyUserHouseDailyDao; + + @Override + public UserHouseStatsResultDTO getUserHouseDailyStats(String orgId, String orgType, String dateId) { + // 没有传参,使用当前登录人的 + if (StringUtils.isEmpty(orgId) || StringUtils.isEmpty(orgType)) { + String userId = EpmetRequestHolder.getLoginUserId(); + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败:%s", userId)); + } + + orgId = staffInfo.getAgencyId(); + orgType = "agency"; + } + + // 结果对象初始化 + UserHouseStatsResultDTO result = new UserHouseStatsResultDTO(); + + if ("agency".equals(orgType)) { + // 查询的目标是组织 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(FactAgencyUserHouseDailyEntity::getDateId, dateId); + query.eq(FactAgencyUserHouseDailyEntity::getAgencyId, orgId); + FactAgencyUserHouseDailyEntity agencyDailyStats = factAgencyUserHouseDailyDao.selectOne(query); + if (agencyDailyStats != null) { + result.setHouseTotal(agencyDailyStats.getHouseCount()); + result.setCzHouseTotal(agencyDailyStats.getHouseLeaseCount()); + result.setXzHouseTotal(agencyDailyStats.getHouseIdleCount()); + result.setZzHouseTotal(agencyDailyStats.getHouseSelfCount()); + result.setUserTotal(agencyDailyStats.getUserCount()); + result.setCzUserTotal(agencyDailyStats.getUserResiCount()); + result.setLdUserTotal(agencyDailyStats.getUserFloatCount()); + } + } else { + // 查询的目标是网格 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(FactGridUserHouseDailyEntity::getDateId, dateId); + query.eq(FactGridUserHouseDailyEntity::getGridId, orgId); + FactGridUserHouseDailyEntity gridDailyStats = factGridUserHouseDailyDao.selectOne(query); + if (gridDailyStats != null) { + result.setHouseTotal(gridDailyStats.getHouseCount()); + result.setCzHouseTotal(gridDailyStats.getHouseLeaseCount()); + result.setXzHouseTotal(gridDailyStats.getHouseIdleCount()); + result.setZzHouseTotal(gridDailyStats.getHouseSelfCount()); + result.setUserTotal(gridDailyStats.getUserCount()); + result.setCzUserTotal(gridDailyStats.getUserResiCount()); + result.setLdUserTotal(gridDailyStats.getUserFloatCount()); + } + } + + return result; + } +} diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml new file mode 100644 index 0000000000..8168105c8b --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml new file mode 100644 index 0000000000..37ae699771 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java index 61bee2a9cc..eb7ee86152 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseChartResultDTO.java @@ -56,6 +56,26 @@ public class HouseChartResultDTO implements Serializable { */ private Double wscHouseRatio = 0.0; + /** + * 房屋总数-较上月 + */ + private Integer houseTotalJSY; + + /** + * 自住房屋树-较上月 + */ + private Integer zzHouseTotalJSY; + + /** + * 出租房屋总数-较上月 + */ + private Integer czHouseTotalJSY; + + /** + * 闲置房屋总数-较上月 + */ + private Integer xzHouseTotalJSY; + @JsonIgnore private Integer num; //1:出租 0:自住 2:闲置 3:未出售 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index de8806a781..d5daa597e8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -8,6 +8,7 @@ import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.HouseQrcodeEnum; @@ -34,17 +35,16 @@ import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.*; import com.epmet.dto.*; import com.epmet.dto.form.*; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.*; import com.epmet.enums.*; -import com.epmet.feign.EpmetAdminOpenFeignClient; -import com.epmet.feign.EpmetCommonServiceOpenFeignClient; -import com.epmet.feign.EpmetUserOpenFeignClient; -import com.epmet.feign.OssFeignClient; +import com.epmet.feign.*; import com.epmet.model.HouseInfoModel; import com.epmet.model.ImportHouseInfoListener; import com.epmet.redis.IcHouseRedis; import com.epmet.service.*; +import com.epmet.stats.UserHouseStatsResultDTO; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.google.common.cache.Cache; @@ -68,6 +68,7 @@ import java.awt.image.BufferedImage; import java.io.*; import java.net.URLEncoder; import java.text.NumberFormat; +import java.time.LocalDate; import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; @@ -132,6 +133,9 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { @Autowired private IcBuildingUnitDao icBuildingUnitDao; + @Autowired + private DataReportOpenFeignClient dataReportOpenFeignClient; + @Override @Transactional(rollbackFor = Exception.class) @@ -716,6 +720,17 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { resultDTO.setWscHouseRatio(Double.valueOf((resultDTO.getHouseTotal() == 0 || resultDTO.getWscHouseTotal() > resultDTO.getHouseTotal()) ? "0" : numberFormat.format(((float) resultDTO.getWscHouseTotal() / (float) resultDTO.getHouseTotal()) * 100))); resultDTO.setOrgId(formDTO.getOrgId()); resultDTO.setOrgType(formDTO.getOrgType()); + + // 加载上个月,该组织的人房统计信息,并且计算较上月信息 + Date lastDayOfLastMonth = DateUtils.getLastDayOfMonth(DateUtils.addDateMonths(new Date(), -1)); + UserHouseStatsQueryFormDTO form = new UserHouseStatsQueryFormDTO(formDTO.getOrgId(), formDTO.getOrgType(), DateUtils.format(lastDayOfLastMonth, "yyyyMMdd")); + UserHouseStatsResultDTO lastMonthUserHouseStats = getResultDataOrThrowsException(dataReportOpenFeignClient.getUserHouseDailyStatsByDateId(form), ServiceConstant.DATA_REPORT_SERVER, + EpmetErrorCode.SERVER_ERROR.getCode(), null, null); + + resultDTO.setHouseTotalJSY(resultDTO.getHouseTotal() - lastMonthUserHouseStats.getHouseTotal()); + resultDTO.setCzHouseTotalJSY(resultDTO.getCzHouseTotal() - lastMonthUserHouseStats.getCzHouseTotal()); + resultDTO.setXzHouseTotalJSY(resultDTO.getXzHouseTotal() - lastMonthUserHouseStats.getXzHouseTotal()); + resultDTO.setZzHouseTotalJSY(resultDTO.getZzHouseTotal() - lastMonthUserHouseStats.getZzHouseTotal()); return resultDTO; } From a7ccac3dc23022cef0976205294f3f19233f0b21 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 10 Oct 2022 11:17:52 +0800 Subject: [PATCH 02/65] =?UTF-8?q?-=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96-=E4=BA=BA=E6=88=BF=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=EF=BC=9A=E5=A2=9E=E5=8A=A0=E8=BE=83=E4=B8=8A?= =?UTF-8?q?=E6=9C=88=E7=9A=84=E5=AD=97=E6=AE=B5=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/UserChartResultDTO.java | 13 +++++++++++++ .../epmet/service/impl/IcResiUserServiceImpl.java | 15 +++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java index 12f87fd20d..fb484d72b7 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserChartResultDTO.java @@ -40,6 +40,19 @@ public class UserChartResultDTO implements Serializable { */ private Double ldUserRatio = 0.0; + /** + * 用户总数-较上月 + */ + private Integer userTotalJSY; + /** + * 常住用户-较上月 + */ + private Integer czUserTotalJSY; + /** + * 流动人口-较上月 + */ + private Integer ldUserTotalJSY; + @JsonIgnore private Integer num; //是否是流动人口【是:1 否:0】 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index ec9bf3043c..e2fb13dd7a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -57,6 +57,7 @@ import com.epmet.dao.*; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.form.demand.UserDemandNameQueryFormDTO; +import com.epmet.dto.form.stats.UserHouseStatsQueryFormDTO; import com.epmet.dto.result.*; import com.epmet.dto.result.demand.IcResiDemandDictDTO; import com.epmet.dto.result.demand.OptionDTO; @@ -70,6 +71,7 @@ import com.epmet.opendata.dto.result.ResidentByIdCardResultDTO; import com.epmet.opendata.feign.GuardarDatosFeignClient; import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient; import com.epmet.service.*; +import com.epmet.stats.UserHouseStatsResultDTO; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -162,6 +164,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getWrapper(Map params) { @@ -2045,6 +2050,16 @@ public class IcResiUserServiceImpl extends BaseServiceImpl Date: Mon, 10 Oct 2022 14:46:54 +0800 Subject: [PATCH 03/65] =?UTF-8?q?-=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=8F=AF?= =?UTF-8?q?=E8=A7=86=E5=8C=96-=E4=BA=BA=E6=88=BF=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=EF=BC=9A=E5=AD=90=E7=BA=A7=E4=BA=BA=E6=88=BF?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=BB=9F=E8=AE=A1=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?"=E5=BC=80=E9=80=9A=E7=A4=BE=E5=8C=BA=E6=95=B0"=E7=9A=84?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/UsingCommunityStatsFormDTO.java | 15 +++++ .../dto/result/SubUserHouseListResultDTO.java | 5 ++ .../result/UsingCommunityStatsResultDTO.java | 21 +++++++ .../epmet/controller/AgencyController.java | 11 +++- .../java/com/epmet/dao/CustomerAgencyDao.java | 9 +++ .../java/com/epmet/service/AgencyService.java | 5 ++ .../epmet/service/impl/AgencyServiceImpl.java | 55 ++++++++++++++++++- .../epmet/service/impl/HouseServiceImpl.java | 14 +++++ .../resources/mapper/CustomerAgencyDao.xml | 17 ++++++ 9 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/UsingCommunityStatsFormDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UsingCommunityStatsResultDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/UsingCommunityStatsFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/UsingCommunityStatsFormDTO.java new file mode 100644 index 0000000000..c8afdd13ea --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/UsingCommunityStatsFormDTO.java @@ -0,0 +1,15 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UsingCommunityStatsFormDTO { + + private String orgId; + private String orgType; + +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java index 45ded6601b..dc5bbe6b52 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java @@ -79,4 +79,9 @@ public class SubUserHouseListResultDTO implements Serializable { */ private Double ldUserRatio = 0.0; + /** + * 开通平台的社区数 + */ + private Integer usingCommunityNum; + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UsingCommunityStatsResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UsingCommunityStatsResultDTO.java new file mode 100644 index 0000000000..2ba49424b6 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UsingCommunityStatsResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UsingCommunityStatsResultDTO { + + /** + * 开通平台社区数 + */ + private Integer usingCommunityNum; + /** + * 开通平台社区数-较上月 + */ + private Integer usingCommunityNumJSY; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 3d86d05fb6..2ab19bc5c1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -613,5 +613,14 @@ public class AgencyController { return new Result>().ok(agencyService.getCustomerTree(tokenDto)); } - + /** + * 开通平台的社区数统计 + * @return + */ + @RequestMapping("usingCommunityStats") + public Result usingCommunityStats(@RequestBody UsingCommunityStatsFormDTO input) { + String orgId = input.getOrgId(); + String orgType = input.getOrgType(); + return new Result().ok(agencyService.usingCommunityStats(orgId, orgType)); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 37e8d93c98..0e90d851e3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -27,6 +27,7 @@ import com.epmet.entity.CustomerAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -387,5 +388,13 @@ public interface CustomerAgencyDao extends BaseDao { */ CustomerAgencyEntity getAgencyByUserId(@Param("userId") String userId, @Param("customerId") String customerId); + /** + * 开通社区数统计 + * @param agencyId 机关组织的id + * @param agencyOrgIdPath agency的id路径path,包含自己 + * @param endDate 截止日期,也即查询,截止改日期,有多少社区在使用 + * @return + */ + Integer getUsingCommunityStats(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index 04c73a7756..d7bb4b2564 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -199,4 +199,9 @@ public interface AgencyService { */ List getCustomerTree(TokenDto tokenDto); + /** + * 开通平台的社区数统计 + * @return + */ + UsingCommunityStatsResultDTO usingCommunityStats(String orgId, String orgType); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 10499f4b52..7896a7854f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -34,9 +34,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.NodeTreeUtils; -import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.*; import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.OrgInfoConstant; import com.epmet.constant.RoleKeyConstants; @@ -1114,4 +1112,55 @@ public class AgencyServiceImpl implements AgencyService { } + @Override + public UsingCommunityStatsResultDTO usingCommunityStats(String orgId, String orgType) { + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + String userId = EpmetRequestHolder.getLoginUserId(); + + // 所属组织的上级 + String agencyOrgIdPath = null; + if (StringUtils.isBlank(orgId)) { + // 没有传参数,使用当前登录人员所属的组织去查询 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (staffInfo == null) { + String errorMsg = String.format("查询当前工作人员信息失败。staffId:%s", userId); + throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), errorMsg, errorMsg); + } + + orgId = staffInfo.getAgencyId(); + orgType = "agency"; + +// agencyOrgIdPath = getOrgIdPath(staffInfo); + } + + if ("agency".equals(orgType)) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.DAY_OF_MONTH, 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + Date endTime = calendar.getTime(); + + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); + agencyOrgIdPath = getOrgIdPath(agencyInfo.getPids(), agencyInfo.getId()); + Integer currentUsingCommunityCount = customerAgencyDao.getUsingCommunityStats(orgId, agencyOrgIdPath, null); + Integer prefersUsingCommunityCount = customerAgencyDao.getUsingCommunityStats(orgId, agencyOrgIdPath, endTime); + return new UsingCommunityStatsResultDTO(currentUsingCommunityCount, currentUsingCommunityCount - prefersUsingCommunityCount); + } else if ("grid".equals(orgType)) { + // 网格下不会有该数据,给个0 + return new UsingCommunityStatsResultDTO(0, 0); + } + + return null; + } + + private String getOrgIdPath(String orgPids, String orgId) { + if (StringUtils.isBlank(orgPids) || "0".equals(orgPids)) { + return orgId; + } + + return orgPids.concat(":").concat(orgId); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index d5daa597e8..d8389ffc37 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -977,6 +977,20 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { dto.setLdUserRatio(u.getLdUserRatio()); } } + + // 为每一个子级组织,查询开通了多少个社区 + if ("agency".equals(dto.getOrgType())) { + AgencyService agencyService = SpringContextUtils.getBean(AgencyService.class); + if (agencyService != null) { + UsingCommunityStatsResultDTO usingCommunityStats = agencyService.usingCommunityStats(dto.getOrgId(), dto.getOrgType()); + if (usingCommunityStats != null) { + dto.setUsingCommunityNum(usingCommunityStats.getUsingCommunityNum()); + } + } + } else if ("grid".equals(dto.getOrgType())) { + // 网格这项数据为0 + dto.setUsingCommunityNum(0); + } list.add(dto); } return list; diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 8493df5d81..9a0dfa1d51 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1011,4 +1011,21 @@ LIMIT 1 + + From 33c32b66edd9317bf9d5aeda1d4f12de314a88eb Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 10 Oct 2022 17:01:25 +0800 Subject: [PATCH 04/65] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=BB=84=E7=BB=87=E4=B8=8B=E6=89=80=E6=9C=89=E7=A4=BE?= =?UTF-8?q?=E5=8C=BA=E7=9A=84=E4=BA=BA=E6=88=BF=E4=BF=A1=E6=81=AF=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/redis/common/CustomerOrgRedis.java | 33 ++++++++++++++++ .../form/CommunityUserHouseStatsFormDTO.java | 15 +++++++ .../com/epmet/controller/HouseController.java | 16 ++++++++ .../java/com/epmet/dao/CustomerAgencyDao.java | 2 + .../java/com/epmet/service/HouseService.java | 2 + .../epmet/service/impl/HouseServiceImpl.java | 39 +++++++++++++++++++ .../resources/mapper/CustomerAgencyDao.xml | 9 +++++ 7 files changed, 116 insertions(+) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommunityUserHouseStatsFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java index 7cb132b0f5..3945081261 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java @@ -13,6 +13,7 @@ import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; @@ -111,4 +112,36 @@ public class CustomerOrgRedis { customerOrgRedis.redisUtils.delete(key); } + /** + * 拼接orgIdPath + * @param orgId + * @param orgType + * @return + */ + public static String getOrgIdPath(String orgId, String orgType) { + String orgPids = null; + + if ("grid".equals(orgType)) { + GridInfoCache gridInfo = getGridInfo(orgId); + if (gridInfo == null) { + log.error("查询网格信息失败:{}", orgId); + return null; + } + orgPids = gridInfo.getPids(); + } else if ("agency".equals(orgType)) { + AgencyInfoCache agencyInfo = getAgencyInfo(orgId); + if (agencyInfo == null) { + log.error("查询组织信息失败:{}", orgId); + return null; + } + orgPids = agencyInfo.getPids(); + } + + if (StringUtils.isBlank(orgPids) || "0".equals(orgPids)) { + return orgId; + } + + return orgPids.concat(":").concat(orgId); + } + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommunityUserHouseStatsFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommunityUserHouseStatsFormDTO.java new file mode 100644 index 0000000000..075dc08b7c --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CommunityUserHouseStatsFormDTO.java @@ -0,0 +1,15 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CommunityUserHouseStatsFormDTO { + private String orgId; + private String orgType; + private Integer pageNo = 1; + private Integer pageSize = 10; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index 35b3bc0e6f..dd1d7c37af 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -629,4 +629,20 @@ public class HouseController implements ResultDataResolver { return new Result>().ok(houseService.houseStatisListDetail(formDTO)); } + /** + * 针对社区的人房统计列表 + * @return + */ + @PostMapping("communityUserHouseStats") + public Result> communityUserHouseStats(@RequestBody CommunityUserHouseStatsFormDTO input) { + + String orgId = input.getOrgId(); + String orgType = input.getOrgType(); + Integer pageNo = input.getPageNo(); + Integer pageSize = input.getPageSize(); + + List r = houseService.communityUserHouseStats(orgId, orgType, pageNo, pageSize); + return new Result>().ok(r); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 0e90d851e3..072a877e94 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -396,5 +396,7 @@ public interface CustomerAgencyDao extends BaseDao { * @return */ Integer getUsingCommunityStats(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); + + List getCommunitysByOrgIdPath(@Param("orgId") String orgId, @Param("orgIdPath") String orgIdPath); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 239e844523..41ffd5709d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -197,4 +197,6 @@ public interface HouseService { PageData listHouses4ReportTest(String houseId, Integer pageNo, Integer pageSize); PageData houseStatisListDetail(HouseChartFormDTO formDTO); + + List communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index d8389ffc37..d5838a78a7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -42,6 +42,7 @@ import com.epmet.enums.*; import com.epmet.feign.*; import com.epmet.model.HouseInfoModel; import com.epmet.model.ImportHouseInfoListener; +import com.epmet.redis.CustomerAgencyRedis; import com.epmet.redis.IcHouseRedis; import com.epmet.service.*; import com.epmet.stats.UserHouseStatsResultDTO; @@ -1392,5 +1393,43 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { return new PageData<>(list, pageInfo.getTotal()); } + @Override + public List communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) { + + PageHelper.startPage(pageNo, pageSize); + List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); + + // 填充组织信息 + Map communityMap = communityIds.stream().collect(Collectors.toMap(id -> id, id -> concatAgencyNamePath(id))); + List communityUserHouseStats = houseUserChartList(communityIds, communityMap, "agency"); + return communityUserHouseStats; + } + + public String concatAgencyNamePath(String agencyId) { + List agencyNamePathList = new ArrayList(); + + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(agencyId); + if (agencyInfo == null) { + return null; + } + agencyNamePathList.add(0, agencyInfo.getOrganizationName()); + + String pidsStr = agencyInfo.getPids(); + if (StringUtils.isBlank(pidsStr)) { + // 没有pids,是顶级,直接返回 + return String.join("-", agencyNamePathList); + } + + String[] pidList = pidsStr.split(":"); + for (String pAgencyId : pidList) { + AgencyInfoCache pAgencyInfo = CustomerOrgRedis.getAgencyInfo(pAgencyId); + if (pAgencyInfo == null) { + continue; + } + agencyNamePathList.add(pAgencyInfo.getOrganizationName()); + } + + return String.join("-", agencyNamePathList); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 9a0dfa1d51..cf75164bfc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1028,4 +1028,13 @@ group by ca.ID, ca.ORGANIZATION_NAME having community_count > 0) t + + From 3aaede3e231a84dc8a5c31ffb1adcf844177b297 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 11 Oct 2022 16:28:36 +0800 Subject: [PATCH 05/65] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A/communityUser?= =?UTF-8?q?HouseStats=20=E6=8E=A5=E5=8F=A3=EF=BC=8C=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=95=B0=E6=8D=AE=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E7=9B=B8=E5=85=B3=E6=95=B0=E6=8D=AE=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/HouseController.java | 6 +++--- .../src/main/java/com/epmet/service/HouseService.java | 2 +- .../main/java/com/epmet/service/impl/HouseServiceImpl.java | 6 ++++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index dd1d7c37af..79abda28a9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -634,15 +634,15 @@ public class HouseController implements ResultDataResolver { * @return */ @PostMapping("communityUserHouseStats") - public Result> communityUserHouseStats(@RequestBody CommunityUserHouseStatsFormDTO input) { + public Result> communityUserHouseStats(@RequestBody CommunityUserHouseStatsFormDTO input) { String orgId = input.getOrgId(); String orgType = input.getOrgType(); Integer pageNo = input.getPageNo(); Integer pageSize = input.getPageSize(); - List r = houseService.communityUserHouseStats(orgId, orgType, pageNo, pageSize); - return new Result>().ok(r); + PageData r = houseService.communityUserHouseStats(orgId, orgType, pageNo, pageSize); + return new Result>().ok(r); } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 41ffd5709d..2973495dbf 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -198,5 +198,5 @@ public interface HouseService { PageData houseStatisListDetail(HouseChartFormDTO formDTO); - List communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize); + PageData communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index d5838a78a7..fa304c53c6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -1394,15 +1394,17 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { } @Override - public List communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) { + public PageData communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) { PageHelper.startPage(pageNo, pageSize); List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); + // 填充组织信息 Map communityMap = communityIds.stream().collect(Collectors.toMap(id -> id, id -> concatAgencyNamePath(id))); List communityUserHouseStats = houseUserChartList(communityIds, communityMap, "agency"); - return communityUserHouseStats; + + return new PageData(communityUserHouseStats, new PageInfo<>(communityIds).getTotal()); } public String concatAgencyNamePath(String agencyId) { From 390ec51fb5b0db537b0e518623024be0760f56e1 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 12 Oct 2022 10:34:24 +0800 Subject: [PATCH 06/65] =?UTF-8?q?=E3=80=90fix=E3=80=91=EF=BC=9A=E7=A4=BE?= =?UTF-8?q?=E5=8C=BA=E4=BA=BA=E6=88=BF=E7=BB=9F=E8=AE=A1=E5=88=97=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0customerId=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=EF=BC=8C=E5=BA=94=E5=AF=B9=E4=B8=8D=E4=BC=A0=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dao/CustomerAgencyDao.java | 2 +- .../main/java/com/epmet/service/impl/HouseServiceImpl.java | 4 +++- .../src/main/resources/mapper/CustomerAgencyDao.xml | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 072a877e94..31b80d3918 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -397,6 +397,6 @@ public interface CustomerAgencyDao extends BaseDao { */ Integer getUsingCommunityStats(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); - List getCommunitysByOrgIdPath(@Param("orgId") String orgId, @Param("orgIdPath") String orgIdPath); + List getCommunitysByOrgIdPath(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgIdPath") String orgIdPath); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index fa304c53c6..f7582aa558 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -1396,8 +1396,10 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { @Override public PageData communityUserHouseStats(String orgId, String orgType, Integer pageNo, Integer pageSize) { + String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + PageHelper.startPage(pageNo, pageSize); - List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); + List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(customerId, orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); // 填充组织信息 diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index cf75164bfc..80f0037382 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1032,7 +1032,8 @@ - - - + + + From e3e9320cc38ecfd830ad12774c98a24910362408 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 12 Oct 2022 17:22:52 +0800 Subject: [PATCH 10/65] - --- .../java/com/epmet/dao/CustomerAgencyDao.java | 2 +- .../com/epmet/service/impl/AgencyServiceImpl.java | 4 ++-- .../com/epmet/service/impl/HouseServiceImpl.java | 15 ++++++++++++++- .../main/resources/mapper/CustomerAgencyDao.xml | 1 + 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index cc68f3335b..fb1fc77855 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -395,7 +395,7 @@ public interface CustomerAgencyDao extends BaseDao { * @param endDate 截止日期,也即查询,截止改日期,有多少社区在使用 * @return */ - List getUsingCommunityList(@Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); + List getUsingCommunityList(@Param("customerId") String customerId, @Param("agencyId") String agencyId, @Param("agencyOrgIdPath") String agencyOrgIdPath, @Param("endDate") Date endDate); List getCommunitysByOrgIdPath(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgIdPath") String orgIdPath); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index d5b194f006..c15458dede 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -1145,8 +1145,8 @@ public class AgencyServiceImpl implements AgencyService { AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); agencyOrgIdPath = getOrgIdPath(agencyInfo.getPids(), agencyInfo.getId()); - List currentUsingCommunityList = customerAgencyDao.getUsingCommunityList(orgId, agencyOrgIdPath, null); - List preferUsingCommunityList = customerAgencyDao.getUsingCommunityList(orgId, agencyOrgIdPath, endTime); + List currentUsingCommunityList = customerAgencyDao.getUsingCommunityList(customerId, orgId, agencyOrgIdPath, null); + List preferUsingCommunityList = customerAgencyDao.getUsingCommunityList(customerId, orgId, agencyOrgIdPath, endTime); return new UsingCommunityStatsResultDTO(currentUsingCommunityList.size(), currentUsingCommunityList.size() - preferUsingCommunityList.size()); } else if ("grid".equals(orgType)) { // 网格下不会有该数据,给个0 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index b08f38ddda..31f8368adc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -1398,8 +1398,21 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { String customerId = EpmetRequestHolder.getLoginUserCustomerId(); + if (StringUtils.isBlank(orgId)) { + // 没有传参数,使用当前登录人员所属的组织去查询 + String userId = EpmetRequestHolder.getLoginUserId(); + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (staffInfo == null) { + String errorMsg = String.format("查询当前工作人员信息失败。staffId:%s", userId); + throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), errorMsg, errorMsg); + } + + orgId = staffInfo.getAgencyId(); + orgType = "agency"; + } + PageHelper.startPage(pageNo, pageSize); - List communityIds = customerAgencyDao.getUsingCommunityList(orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType), null); + List communityIds = customerAgencyDao.getUsingCommunityList(customerId, orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType), null); // List communityIds = customerAgencyDao.getCommunitysByOrgIdPath(customerId, orgId, CustomerOrgRedis.getOrgIdPath(orgId, orgType)); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 1075de7982..d08d32a035 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1029,6 +1029,7 @@ from customer_agency ca inner join customer_staff_agency csa on (ca.ID = csa.AGENCY_ID and csa.DEL_FLAG = 0) where ca.DEL_FLAG = 0 + and ca.CUSTOMER_ID=${customerId} and ca.LEVEL = 'community' and csa.CREATED_TIME #{endDate} From de4329adb8844d74405808bb1d660478eb195d97 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 12 Oct 2022 17:50:43 +0800 Subject: [PATCH 11/65] - --- .../src/main/resources/mapper/CustomerAgencyDao.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index d08d32a035..e81e8b0ad9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1024,18 +1024,18 @@ From 4a7dbcdb9ac9f7e59f499604521099d85f69fe44 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 12 Oct 2022 17:52:15 +0800 Subject: [PATCH 12/65] - --- .../src/main/resources/mapper/CustomerAgencyDao.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index e81e8b0ad9..d221f07b12 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -1023,8 +1023,9 @@ From f282ab0914b34ba4cabd2cfec513094e9b3ca1c7 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 11 Nov 2022 14:10:30 +0800 Subject: [PATCH 13/65] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E6=8B=89=E5=8F=96=E6=9A=82=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/EpidemicConstant.java | 6 + .../processor/YanTaiVaccineSyncProcessor.java | 112 ++++++++++++++++++ .../epmet/service/DataSyncConfigService.java | 3 +- .../impl/DataSyncConfigServiceImpl.java | 57 +++++++-- 4 files changed, 167 insertions(+), 11 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiVaccineSyncProcessor.java diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java index 0ad814d722..388b0d05a5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java @@ -12,7 +12,13 @@ public interface EpidemicConstant { String DATA_CODE_DISABILITY = "canji"; String DATA_CODE_DEATH = "siwang"; + /** + * ic_sync_job 任务类型 + * 核酸检测 + * 疫苗接种 + */ String JOB_TYPE_NAT = "nat"; + String JOB_TYPE_VACCINE = "vaccine"; String OPERATION_STATUS_WAITING = "waiting"; String OPERATION_STATUS_PROCESSING = "processing"; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiVaccineSyncProcessor.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiVaccineSyncProcessor.java new file mode 100644 index 0000000000..e53a279a46 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiVaccineSyncProcessor.java @@ -0,0 +1,112 @@ +package com.epmet.processor; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.constant.EpidemicConstant; +import com.epmet.dao.IcSyncJobDao; +import com.epmet.entity.IcSyncJobEntity; +import com.epmet.service.DataSyncConfigService; +import lombok.extern.slf4j.Slf4j; +import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.TimeUnit; + +import static com.epmet.constant.EpidemicConstant.JOB_TYPE_NAT; +import static com.epmet.constant.EpidemicConstant.JOB_TYPE_VACCINE; + +// 烟台核酸检测数据同步处理器 +@Component +@Slf4j +public class YanTaiVaccineSyncProcessor { + + public static final int MAX_EXECUTING_COUNT = 3; + + @Autowired + private ExecutorService executorService; + + @Autowired + private IcSyncJobDao icSyncJobDao; + + @Autowired + private DataSyncConfigService dataSyncConfigService; + + @Autowired + private DistributedLock distributedLock; + + @Autowired + RedisUtils redisUtils; + + /** + * @Description 定时扫描和执行同步任务【疫苗接种】 + * @Author zxc + * @Date 2022/11/11 10:32 + */ + @Scheduled(cron = "0/10 * * * * ? ") + public void scanJobs() { + LambdaQueryWrapper executingListQuery = new LambdaQueryWrapper<>(); + executingListQuery.eq(IcSyncJobEntity::getOperationStatus, EpidemicConstant.OPERATION_STATUS_PROCESSING); + List executingJobList = icSyncJobDao.selectList(executingListQuery); + if (!CollectionUtils.isEmpty(executingJobList) && executingJobList.size() >= MAX_EXECUTING_COUNT) { + // 最多只允许同时3条线程运行 + return; + } + int executingCount = executingJobList.size(); + // 还可以运行几条线程 + int leftCount = MAX_EXECUTING_COUNT - executingCount; + RLock lock = null; + try { + lock = distributedLock.getLock("data:sync:" + JOB_TYPE_VACCINE, 60L, 60L, TimeUnit.SECONDS); + // 查询可执行的任务列表,并且异步执行 + List icSyncJobToExec = icSyncJobDao.selectExecutableJobList( + EpidemicConstant.JOB_TYPE_VACCINE, + leftCount); + if (!CollectionUtils.isEmpty(icSyncJobToExec)) { + // 异步提交任务 + for (IcSyncJobEntity jobEntity : icSyncJobToExec) { + updateJobStatus(jobEntity.getId(), EpidemicConstant.OPERATION_STATUS_PROCESSING); + executorService.submit(() -> { + // 将此任务状态修改为执行中 + try { + dataSyncConfigService.execSyncByJobProcessor(jobEntity); + } finally { + // 更新任务状态为结束 + updateJobStatus(jobEntity.getId(), EpidemicConstant.OPERATION_STATUS_FINISH); + } + }); + } + } + } catch (Exception e) { + log.error("【异步数据更新】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } finally { + if (lock != null) { + lock.unlock(); + } + } + } + + /** + * 更新任务状态 + * @author wxz + * @date 2022/11/8 下午8:25 + * @param id + * @param status + + */ + private void updateJobStatus(String id, String status) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcSyncJobEntity::getId, id); + + IcSyncJobEntity updateEntity = new IcSyncJobEntity(); + updateEntity.setOperationStatus(status); + icSyncJobDao.update(updateEntity, query); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java index d7e44b58de..9d17dad7f9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java @@ -121,8 +121,9 @@ public interface DataSyncConfigService extends BaseService * @param resiInfos * @param customerId * @param isSync + * @param jobType */ - void yantaiHsjcByDbView(List resiInfos, String customerId, String isSync); + void yanTaiDbViewByType(List resiInfos, String customerId, String isSync, String jobType); /** * 更新居民核酸检测信息(通过任务处理器) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 4010a1c231..513561b057 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -378,7 +378,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl resiInfos, String customerId, String isSync) { - List> resiInfobatchs = ListUtils.partition(resiInfos, 50); - for (List resibatch : resiInfobatchs) { + public void yanTaiDbViewByType(List resiInfos, String customerId, String isSync, String jobType) { + List> resiInfoBatchs = ListUtils.partition(resiInfos, 50); + for (List resiBatch : resiInfoBatchs) { // n个一批,来处理他们的核酸信息,太多怕给数据库查崩了。 try { - yantaiHsjcByDbViewPartition(resibatch, customerId, isSync); + switch (jobType){ + // 核酸检测 + case JOB_TYPE_NAT: + yantaiHsjcByDbViewPartition(resiBatch, customerId, isSync); + // 疫苗接种 + case JOB_TYPE_VACCINE: + yanTaiVaccineByDbViewPartition(resiBatch, customerId, isSync); + default: + break; + } } catch (Exception e) { String errorMsg = ExceptionUtils.getErrorStackTrace(e); - log.error("【更新核酸检测信息(from 兰图)】失败,信息:{}", errorMsg); + log.error("【更新{}信息(from 兰图)】失败,信息:{}", jobType, errorMsg); } } } + /** + * @Description 疫苗接种信息处理 + * @param resiInfos + * @param customerId + * @param isSync + * @Author zxc + * @Date 2022/11/11 11:07 + */ + public void yanTaiVaccineByDbViewPartition(List resiInfos, String customerId, String isSync){ + // 将居民信息转化为的map + Map idCardAndResiInfoMap = resiInfos.stream().collect(Collectors.toMap(resi -> resi.getIdCard(), Function.identity())); + List idCards = new ArrayList<>(idCardAndResiInfoMap.keySet()); + // 1.获取核酸采样信息 + Map args = new HashMap<>(); + args.put("idcards", idCards); + // todo 疫苗接种视图 + + List> vaccineList = yantaiNamedParamLantuJdbcTemplate.queryForList( + "select id, name,card_no, create_time, realname from hscyxxb where card_no in (:idcards)", args); + if (CollectionUtils.isNotEmpty(vaccineList)) { + List entities = new ArrayList<>(); + vaccineList.forEach(resiVaccineInfo -> { + // 从视图中获取到的疫苗接种相关信息 + + }); + } + } + /** * n个一批,来处理他们的核酸信息,太多怕给数据库查崩了。 * @param resiInfos @@ -1198,10 +1235,10 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl Date: Fri, 11 Nov 2022 14:36:25 +0800 Subject: [PATCH 14/65] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/DataSyncTaskParam.java | 6 +++ .../impl/DataSyncConfigServiceImpl.java | 42 ++----------------- 2 files changed, 9 insertions(+), 39 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java index 215ffabf28..13a230c644 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java @@ -49,4 +49,10 @@ public class DataSyncTaskParam implements Serializable { private String dataCode; private String staffId; + + /** + * nat:核酸检测; + * vaccine:疫苗接种 + */ + private String jobType; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 513561b057..0f21e9e539 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -408,10 +408,6 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl qw = new LambdaQueryWrapper<>(); qw.eq(IcSyncJobEntity::getOrgId,formDTO.getAgencyId()) + .eq(IcSyncJobEntity::getJobType,formDTO.getJobType()) .in(IcSyncJobEntity::getOperationStatus,OPERATION_STATUS_WAITING,OPERATION_STATUS_PROCESSING); List icSyncJobEntities = icSyncJobDao.selectList(qw); // 当前组织下存在同步任务 @@ -433,43 +430,10 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl waitList; - //do { - // LambdaQueryWrapper qw3 = new LambdaQueryWrapper<>(); - // qw3.eq(IcSyncJobEntity::getCustomerId,formDTO.getCustomerId()) - // .eq(IcSyncJobEntity::getOperationStatus,OPERATION_STATUS_WAITING) - // .eq(IcSyncJobEntity::getJobType,JOB_TYPE_NAT) - // .orderByAsc(BaseEpmetEntity::getCreatedTime); - // waitList = icSyncJobDao.selectList(qw3); - // if (CollectionUtils.isNotEmpty(waitList)){ - // for (IcSyncJobEntity entity : waitList) { - // RLock lock = null; - // try { - // lock = distributedLock.getLock(entity.getOrgId() + JOB_TYPE_NAT, 60L, 60L, TimeUnit.SECONDS); - // updateSync(entity.getId(),OPERATION_STATUS_PROCESSING); - // }catch (Exception ex){ - // log.error(ex.getMessage()); - // throw new EpmetException(ex.getMessage()); - // }finally { - // lock.unlock(); - // } - // formDTO.setAgencyId(entity.getOrgId()); - // try { - // natInfoScanTask(formDTO); - // }catch (Exception ee){ - // log.error(ee.getMessage()); - // throw new EpmetException(ee.getMessage()); - // }finally { - // updateSync(entity.getId(),OPERATION_STATUS_FINISH); - // } - // } - // } - //}while (CollectionUtils.isNotEmpty(waitList)); } @Transactional(rollbackFor = Exception.class) @@ -1103,7 +1067,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl> vaccineList = yantaiNamedParamLantuJdbcTemplate.queryForList( - "select id, name,card_no, create_time, realname from hscyxxb where card_no in (:idcards)", args); + "select id, name,card_no, create_time from hscyxxb where card_no in (:idcards)", args); if (CollectionUtils.isNotEmpty(vaccineList)) { List entities = new ArrayList<>(); vaccineList.forEach(resiVaccineInfo -> { From 8fef98a908a00c35ec001829c07dac0d492f2b78 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 11 Nov 2022 16:20:55 +0800 Subject: [PATCH 15/65] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=8C=89=E9=92=AE-todo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/YTVaccineListDTO.java | 27 +++++++ .../dto/result/NatUserInfoResultDTO.java | 2 + .../main/java/com/epmet/dao/IcVaccineDao.java | 9 +++ .../com/epmet/entity/IcVaccineEntity.java | 8 ++ .../impl/DataSyncConfigServiceImpl.java | 80 ++++++++++++++++--- .../resources/mapper/DataSyncConfigDao.xml | 3 +- .../main/resources/mapper/IcVaccineDao.xml | 14 ++++ 7 files changed, 131 insertions(+), 12 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java new file mode 100644 index 0000000000..94b2b30418 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/11/11 15:05 + */ +@Data +public class YTVaccineListDTO implements Serializable { + private static final long serialVersionUID = -5583350277850076659L; + + private String idCard; + + /** + * 接种时间 + */ + private String inoculateDate; + + /** + * 接种地点 + */ + private String lastStationName; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatUserInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatUserInfoResultDTO.java index 5b0300f764..ef4b4e0eab 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatUserInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatUserInfoResultDTO.java @@ -29,6 +29,8 @@ public class NatUserInfoResultDTO implements Serializable { private String name; + private String mobile; + /** * 18大类 中 某一类的 是否值,用于比较 同步数据结果确定是否要插入到表中 */ 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 55b4591be3..f2c6829689 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,6 +3,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcVaccineDTO; +import com.epmet.dto.YTVaccineListDTO; import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.IcVaccineListResultDTO; @@ -72,4 +73,12 @@ public interface IcVaccineDao extends BaseDao { */ List getVaccineListByIdCard(@Param("idCard") String idCard,@Param("time") String time); + /** + * @Description 根据 身份证 + 疫苗接种时间 查询库里存在的 + * @param list + * @Author zxc + * @Date 2022/11/11 15:11 + */ + List getExistVaccine(@Param("list")List list); + } 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 index b17256f3a0..2a1121de34 100644 --- 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 @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; @@ -61,6 +62,7 @@ public class IcVaccineEntity extends BaseEpmetEntity { /** * 接种时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date inoculateTime; /** @@ -93,4 +95,10 @@ public class IcVaccineEntity extends BaseEpmetEntity { */ private String remark; + @TableField(exist = false) + private String agencyId; + + @TableField(exist = false) + private String pids; + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 0f21e9e539..dff88efba3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -11,7 +11,6 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.dto.form.PageFormDTO; -import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.YtDataSyncResDTO; import com.epmet.commons.tools.dto.result.YtHscyResDTO; import com.epmet.commons.tools.dto.result.YtHsjcResDTO; @@ -21,7 +20,6 @@ import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; 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.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; @@ -32,9 +30,11 @@ import com.epmet.constant.EpidemicConstant; import com.epmet.dao.DataSyncConfigDao; import com.epmet.dao.IcNatDao; import com.epmet.dao.IcSyncJobDao; +import com.epmet.dao.IcVaccineDao; import com.epmet.dto.DataSyncConfigDTO; import com.epmet.dto.DataSyncRecordDeathDTO; import com.epmet.dto.DataSyncRecordDisabilityDTO; +import com.epmet.dto.YTVaccineListDTO; import com.epmet.dto.form.ConfigSwitchFormDTO; import com.epmet.dto.form.DataSyncTaskParam; import com.epmet.dto.form.ScopeSaveFormDTO; @@ -48,7 +48,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; -import org.redisson.api.RLock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; @@ -59,7 +58,6 @@ import javax.annotation.Resource; import java.util.*; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; -import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.Collectors; @@ -95,6 +93,12 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl args = new HashMap<>(); args.put("idcards", idCards); // todo 疫苗接种视图 - - List> vaccineList = yantaiNamedParamLantuJdbcTemplate.queryForList( - "select id, name,card_no, create_time from hscyxxb where card_no in (:idcards)", args); + String json = "[\n" + + "{\n" + + "\t\"idCard\":\"370785195001012558\",\n" + + "\t\"inoculateDate\":\"2023-01-01 10:01\",\n" + + "\t\"lastStationName\":\"北京\"\n" + + "},\n" + + "{\n" + + "\t\"idCard\":\"370785195001012558\",\n" + + "\t\"inoculateDate\":\"2022-01-01 10:01\",\n" + + "\t\"lastStationName\":\"南京\"\n" + + "}\n" + + "]"; + List> vaccineList = new ArrayList<>();/*yantaiNamedParamLantuJdbcTemplate.queryForList( + "select id, name,card_no, create_time from hscyxxb where card_no in (:idcards)", args);*/ + Map m = new HashMap<>(); + vaccineList.add(m); if (CollectionUtils.isNotEmpty(vaccineList)) { List entities = new ArrayList<>(); - vaccineList.forEach(resiVaccineInfo -> { - // 从视图中获取到的疫苗接种相关信息 - - }); +// List ytVaccineListDTOS = ConvertUtils.sourceToTarget(vaccineList, YTVaccineListDTO.class); + List ytVaccineListDTOS = JSON.parseArray(json,YTVaccineListDTO.class); + List existVaccine = icVaccineDao.getExistVaccine(ytVaccineListDTOS); + if (CollectionUtils.isNotEmpty(existVaccine)){ + for (YTVaccineListDTO e : existVaccine) { + for (int i = 0; i < ytVaccineListDTOS.size(); i++) { + if (ytVaccineListDTOS.get(i).getIdCard().equals(e.getIdCard()) && ytVaccineListDTOS.get(i).getInoculateDate().equals(e.getInoculateDate())){ + ytVaccineListDTOS.remove(i); + } + } + } + } + if (CollectionUtils.isNotEmpty(ytVaccineListDTOS)){ + ytVaccineListDTOS.forEach(v -> { + resiInfos.forEach(u -> { + if (v.getIdCard().equals(u.getIdCard())){ + IcVaccineEntity e = new IcVaccineEntity(); + e.setCustomerId(customerId); + e.setName(u.getName()); + e.setMobile(u.getMobile()); + e.setIdCard(u.getIdCard()); + e.setIsResiUser(StringUtils.isBlank(u.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); + e.setUserId(StringUtils.isBlank(u.getUserId()) ? "" : u.getUserId()); + e.setUserType("ytPull"); + e.setInoculateTime(DateUtils.parseDate(v.getInoculateDate(),DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE)); + e.setInoculateAddress(v.getLastStationName()); + e.setAgencyId(u.getAgencyId()); + e.setPids(u.getPids()); + entities.add(e); + } + }); + }); + icVaccineService.insertBatch(entities); + List relationEntities = new ArrayList<>(); + entities.forEach(e -> { + IcVaccineRelationEntity re = new IcVaccineRelationEntity(); + re.setIcVaccineId(e.getAgencyId()); + re.setPids(e.getPids()); + re.setCustomerId(customerId); + re.setUserType("ytPull"); + re.setAgencyId(e.getAgencyId()); + relationEntities.add(re); + }); + icVaccineRelationService.insertBatch(relationEntities); + } } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml index 911b5102bd..7b0e96f023 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncConfigDao.xml @@ -70,7 +70,8 @@ ${categoryColumn} AS categoryColumn, - pids + pids, + mobile FROM ic_resi_user WHERE DEL_FLAG = '0' 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 b8113074cf..77fca51a32 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 @@ -183,4 +183,18 @@ and ID_CARD = #{idCard} and DATE_FORMAT( INOCULATE_TIME, '%Y-%m-%d' ) = #{time} + + + From 32fe851abec20e8d1a542470190b479390585b46 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 11 Nov 2022 17:04:46 +0800 Subject: [PATCH 16/65] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/EpmetUserOpenFeignClient.java | 3 ++ .../EpmetUserOpenFeignClientFallback.java | 5 ++ .../com/epmet/constant/EpidemicConstant.java | 2 + .../controller/DataSyncConfigController.java | 12 +++++ .../java/com/epmet/enums/DataSyncEnum.java | 1 + .../epmet/service/DataSyncConfigService.java | 8 +++ .../impl/DataSyncConfigServiceImpl.java | 52 ++++++++++++++++++- 7 files changed, 81 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index b24a4a9651..dab50be493 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -952,4 +952,7 @@ public interface EpmetUserOpenFeignClient { @PostMapping("/epmetuser/dataSyncConfig/disabilityInfoScanTask") Result disabilityInfoScanTask(@RequestBody DataSyncTaskParam formDTO); + + @PostMapping("/epmetuser/dataSyncConfig/vaccineInfoScanTask") + Result vaccineInfoScanTask(@RequestBody DataSyncTaskParam formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index b675a7626b..8ac8382a78 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -741,4 +741,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result disabilityInfoScanTask(DataSyncTaskParam formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "disabilityInfoScanTask", formDTO); } + + @Override + public Result vaccineInfoScanTask(DataSyncTaskParam formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "vaccineInfoScanTask", formDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java index 388b0d05a5..e2817f165c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java @@ -7,10 +7,12 @@ public interface EpidemicConstant { * 核酸检测 * 残疾人 * 死亡 + * 疫苗接种 */ String DATA_CODE_NAT = "hesuan"; String DATA_CODE_DISABILITY = "canji"; String DATA_CODE_DEATH = "siwang"; + String DATA_CODE_VACCINE = "yimiaojiezhong"; /** * ic_sync_job 任务类型 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java index cbbc409d6b..948471cbe3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java @@ -156,4 +156,16 @@ public class DataSyncConfigController { return new Result(); } + /** + * @Description 疫苗接种信息定时拉取 + * @param formDTO + * @Author zxc + * @Date 2022/11/11 16:56 + */ + @PostMapping("vaccineInfoScanTask") + public Result vaccineInfoScanTask(@RequestBody DataSyncTaskParam formDTO){ + dataSyncConfigService.vaccineInfoScanTask(formDTO); + return new Result(); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java index a3a66c4efc..438453f134 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java @@ -12,6 +12,7 @@ public enum DataSyncEnum { HE_SUAN("hesuan", "核酸检测数据"), CAN_JI("canji", "残疾数据"), SI_WANG("siwang", "死亡数据"), + VACCINE("yimiaojiezhong", "疫苗接种"), OTHER("qita","其他"), ; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java index 9d17dad7f9..b4d80051da 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java @@ -134,4 +134,12 @@ public interface DataSyncConfigService extends BaseService */ void execSyncByJobProcessor(IcSyncJobEntity jobEntity); + /** + * @Description 疫苗接种信息定时拉取 + * @param formDTO + * @Author zxc + * @Date 2022/11/11 16:56 + */ + void vaccineInfoScanTask(DataSyncTaskParam formDTO); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index dff88efba3..c01925d3ef 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -1119,7 +1119,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl relationEntities = new ArrayList<>(); entities.forEach(e -> { IcVaccineRelationEntity re = new IcVaccineRelationEntity(); @@ -1130,7 +1130,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl configData = getConfigData(null, EpidemicConstant.DATA_CODE_VACCINE); + if (CollectionUtils.isEmpty(configData)){ + log.warn("vaccineInfoScanTask not exists config data,customer is "+formDTO.getCustomerId()); + return; + } + long count = configData.stream().filter(o -> CollectionUtils.isNotEmpty(o.getScopeList())).count(); + if (count < 1) { + log.warn("vaccineInfoScanTask scopeList is null"); + return; + } + int pageNo = NumConstant.ONE; + int pageSize = NumConstant.ONE_THOUSAND; + List dbResiList = null; + do { + for (DataSyncConfigDTO config : configData) { + // 设置查询数据范围 + formDTO.setOrgList(config.getScopeList()); + DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); + dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); + if (CollectionUtils.isEmpty(dbResiList)) { + continue; + } + switch (anEnum) { + case VACCINE: + try { + //查询正常状态的居民 + yanTaiVaccineByDbViewPartition(dbResiList,config.getCustomerId(),NumConstant.ZERO_STR); + log.info("======vaccine信息拉取结束======"); + } catch (Exception e) { + log.error("vaccine thread execute exception", e); + } + break; + default: + log.warn("没有要处理的数据"); + } + } + pageNo++; + } while (dbResiList != null && dbResiList.size() == pageSize); + } } From f7e96ebfade796cfd77ca44d785d18f6c5d04ea9 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 11 Nov 2022 17:09:28 +0800 Subject: [PATCH 17/65] emm --- .../java/com/epmet/service/impl/DataSyncConfigServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index c01925d3ef..9baed2955c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -1278,7 +1278,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl configData = getConfigData(null, EpidemicConstant.DATA_CODE_VACCINE); if (CollectionUtils.isEmpty(configData)){ - log.warn("vaccineInfoScanTask not exists config data,customer is "+formDTO.getCustomerId()); + log.warn("vaccineInfoScanTask not exists config data "); return; } long count = configData.stream().filter(o -> CollectionUtils.isNotEmpty(o.getScopeList())).count(); From 9064d1ca46449799a325f16defb710c4812f7b5d Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 14 Nov 2022 10:02:03 +0800 Subject: [PATCH 18/65] =?UTF-8?q?=E7=96=AB=E8=8B=97=E6=8E=A5=E7=A7=8D?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=9C=AC=E5=9C=B0=E5=B1=85=E6=B0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/DataSyncConfigServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 9baed2955c..803283776a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -1128,6 +1128,8 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl Date: Mon, 14 Nov 2022 13:48:08 +0800 Subject: [PATCH 19/65] edit --- .../java/com/epmet/service/impl/IcNatServiceImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 8d0486a925..78c935c4ca 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -246,9 +246,14 @@ public class IcNatServiceImpl extends BaseServiceImpl imp public void edit(AddIcNatFormDTO formDTO) { disposeIsNull(formDTO); //0.先根据身份证号和检测时间以及检测结果校验除当前数据是否还存在相同数据 - IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), formDTO.getIcNatId(), formDTO.getIdCard(), null != formDTO.getNatTime() ? DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE) : null, formDTO.getNatResult(), null != formDTO.getSampleTime() ? DateUtils.format(formDTO.getSampleTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE) : null); + IcNatDTO icNatDTO = baseDao.getNatDTO(formDTO.getCustomerId(), + formDTO.getIcNatId(), + formDTO.getIdCard(), + null != formDTO.getNatTime() ? DateUtils.format(formDTO.getNatTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE) : null, + formDTO.getNatResult(), + null != formDTO.getSampleTime() ? DateUtils.format(formDTO.getSampleTime(), DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE) : null); if (null != icNatDTO) { - throw new RenException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); + throw new EpmetException(EpmetErrorCode.IC_NAT.getCode(), EpmetErrorCode.IC_NAT.getMsg()); } //1.更新核酸记录基础信息表数据 IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); From 763752c586f8fcc0967764214659a7cd16ba9c59 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 14 Nov 2022 15:08:45 +0800 Subject: [PATCH 20/65] =?UTF-8?q?=E6=9C=AA=E5=81=9A=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=AF=94=E5=AF=B9=EF=BC=8C=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E?= =?UTF-8?q?internalRemark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java | 5 +++++ .../handler/IcNatCompareRecordExcelImportListener.java | 7 ++++++- .../src/main/resources/mapper/IcNatCompareRecordDao.xml | 3 ++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java index be20e5fa68..4a8c8f2be6 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java @@ -129,4 +129,9 @@ public class IcNatCompareRecordDTO implements Serializable { @ColumnWidth(30) @ExcelProperty("导入组织") private String agencyName; + + /** + * + */ + private String internalRemark; } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java index 531e977ea7..3ebe113874 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java @@ -228,9 +228,14 @@ public class IcNatCompareRecordExcelImportListener implements ReadListener Date: Mon, 14 Nov 2022 15:41:52 +0800 Subject: [PATCH 21/65] =?UTF-8?q?=E6=9C=AA=E5=81=9A=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=AF=94=E5=AF=B9=EF=BC=8C=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E?= =?UTF-8?q?internalRemark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/handler/IcNatCompareRecordExcelImportListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java index 3ebe113874..3bda1ff40f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java @@ -233,7 +233,7 @@ public class IcNatCompareRecordExcelImportListener implements ReadListener Date: Mon, 14 Nov 2022 15:57:12 +0800 Subject: [PATCH 22/65] zhushi --- .../com/epmet/service/impl/IcNatCompareRecordServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java index 503669e07f..1af182250a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java @@ -227,7 +227,7 @@ public class IcNatCompareRecordServiceImpl extends BaseServiceImpl Date: Mon, 14 Nov 2022 17:52:23 +0800 Subject: [PATCH 23/65] LambdaUpdateWrapper --- .../com/epmet/dto/IcNatCompareRecordDTO.java | 2 +- .../entity/IcNatCompareRecordEntity.java | 49 ++++++++++--------- ...IcNatCompareRecordExcelImportListener.java | 11 +++-- .../impl/IcNatCompareRecordServiceImpl.java | 16 +++++- 4 files changed, 48 insertions(+), 30 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java index 4a8c8f2be6..a852edac8e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java @@ -94,7 +94,7 @@ public class IcNatCompareRecordDTO implements Serializable { * 最近一次核酸时间:接口填入 */ @ColumnWidth(30) - @ExcelProperty("最近一次核酸时间") + @ExcelProperty("最近一次检测时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date latestNatTime; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java index 75b18618fe..e87e4c3e3b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatCompareRecordEntity.java @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import java.util.Date; + /** * 核酸比对记录 * @@ -21,47 +22,47 @@ public class IcNatCompareRecordEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; private String customerId; - /** - * 姓名 - */ + /** + * 姓名 + */ private String name; - /** - * 身份证 - */ + /** + * 身份证 + */ private String idCard; - /** - * 手机号 - */ + /** + * 手机号 + */ private String mobile; - /** - * 是否客户下居民(0:否 1:是) - */ + /** + * 是否客户下居民(0:否 1:是) + */ private String isResiUser; - /** - * 是否客户下居民,ic_resi_user.id - */ + /** + * 是否客户下居民,ic_resi_user.id + */ private String icResiUserId; /** * 最近一次采样时间:接口填入 */ private Date latestCyTime; - /** - * 最近一次核酸时间:接口填入 - */ + /** + * 最近一次核酸时间:接口填入 + */ private Date latestNatTime; - /** - * 检测结果(0:阴性 1:阳性):接口填入 - */ + /** + * 检测结果(0:阴性 1:阳性):接口填入 + */ private String natResult; - /** - * 检测地点:接口填入 - */ + /** + * 检测地点:接口填入 + */ private String natAddress; /** * 联系地址:接口填入 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java index 3bda1ff40f..04238846f5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatCompareRecordExcelImportListener.java @@ -171,6 +171,7 @@ public class IcNatCompareRecordExcelImportListener implements ReadListener updateWrapper=new LambdaUpdateWrapper<>(); + updateWrapper.eq(IcNatCompareRecordEntity::getId,origin.getId()); + updateWrapper.set(IcNatCompareRecordEntity::getName, origin.getName()) + .set(IcNatCompareRecordEntity::getMobile, origin.getMobile()) + .set(IcNatCompareRecordEntity::getIsResiUser, origin.getIsResiUser()) + .set(IcNatCompareRecordEntity::getIcResiUserId, origin.getIcResiUserId()) + .set(IcNatCompareRecordEntity::getLatestCyTime, origin.getLatestCyTime()) + .set(IcNatCompareRecordEntity::getLatestNatTime, origin.getLatestNatTime()) + .set(IcNatCompareRecordEntity::getNatResult, origin.getNatResult()) + .set(IcNatCompareRecordEntity::getNatAddress, origin.getNatAddress()) + .set(IcNatCompareRecordEntity::getContactAddress, origin.getContactAddress()) + .set(IcNatCompareRecordEntity::getLatestImportTime, origin.getLatestImportTime()) + .set(IcNatCompareRecordEntity::getInternalRemark, origin.getInternalRemark()); + baseDao.update(null,updateWrapper); IcNatCompareRecRelationEntity existRelationEntity=icNatCompareRecRelationDao.selectExist(data.getCustomerId(),origin.getId(),staffInfo.getAgencyId(),importDate); if(null!=existRelationEntity){ // 是否本社区(agency_id)下居民(0:否 1:是) From aed2a4ce70515bd8484bc1bce87ee2a010172d83 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Mon, 14 Nov 2022 17:56:31 +0800 Subject: [PATCH 24/65] - --- .../java/com/epmet/service/impl/DataSyncConfigServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 803283776a..b3a50c4490 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -1040,9 +1040,11 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl Date: Tue, 15 Nov 2022 10:02:59 +0800 Subject: [PATCH 25/65] =?UTF-8?q?=E5=B1=85=E6=B0=91=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=AF=94=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/YtSfhyxxcxdsjjResDTO.java | 39 ++++ .../commons/tools/utils/YtHsResUtils.java | 35 +++ .../epmet/dto/IcResiComparisonRecordDTO.java | 105 +++++++++ .../com/epmet/dto/form/ComparisonFormDTO.java | 33 +++ .../dto/form/ResiComparisonListFormDTO.java | 39 ++++ .../epmet/dto/result/ComparisonResultDTO.java | 20 ++ .../result/ResiComparisonListResultDTO.java | 70 ++++++ .../IcResiComparisonRecordController.java | 136 +++++++++++ .../epmet/dao/IcResiComparisonRecordDao.java | 40 ++++ .../java/com/epmet/dao/IcResiUserDao.java | 3 + .../entity/IcResiComparisonRecordEntity.java | 71 ++++++ .../excel/IcResiComparisonRecordExcel.java | 64 ++++++ .../IcResiComparisonRecordService.java | 24 ++ .../IcResiComparisonRecordServiceImpl.java | 215 ++++++++++++++++++ .../mapper/IcResiComparisonRecordDao.xml | 108 +++++++++ .../main/resources/mapper/IcResiUserDao.xml | 14 ++ 16 files changed, 1016 insertions(+) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtSfhyxxcxdsjjResDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiComparisonRecordDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ComparisonFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiComparisonListFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ComparisonResultDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiComparisonListResultDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiComparisonRecordController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiComparisonRecordDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiComparisonRecordEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiComparisonRecordExcel.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiComparisonRecordService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtSfhyxxcxdsjjResDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtSfhyxxcxdsjjResDTO.java new file mode 100644 index 0000000000..8863619d26 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/YtSfhyxxcxdsjjResDTO.java @@ -0,0 +1,39 @@ +package com.epmet.commons.tools.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + + +/** + * @Description 根据身份证号和姓名查询公安部备案信息 + */ +@NoArgsConstructor +@Data +public class YtSfhyxxcxdsjjResDTO { + private int code = 200; + private String msg = "请求成功"; + /** + * 响应数据 + */ + private YtSfhyxxcxdsjjDetail data; + private int total; + + @Data + public static class YtSfhyxxcxdsjjDetail { + private String status = "000"; + private String statusMsg = "正常返回"; + private String count = "1"; + //结果数量 + private String total; + private List result; + } + @Data + public static class Result { + //身份证号 + private String GMSFHM; + //姓名 + private String XM; + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java index 9010c9b84a..371aa8b95b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java @@ -6,6 +6,7 @@ import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.YtDataSyncResDTO; import com.epmet.commons.tools.dto.result.YtHscyResDTO; import com.epmet.commons.tools.dto.result.YtHsjcResDTO; +import com.epmet.commons.tools.dto.result.YtSfhyxxcxdsjjResDTO; import com.google.common.util.concurrent.RateLimiter; import lombok.extern.slf4j.Slf4j; @@ -226,6 +227,40 @@ public class YtHsResUtils { return failResult; } + /** + * desc:根据身份证号和姓名查询公安部备案信息 + * + * @return + */ + public static YtSfhyxxcxdsjjResDTO sfhyxxcxdsjj(String gmsfhm, String xm) { + try { + tryAcquire("sfhyxxcxdsjj"); + + Map param = new HashMap<>(); + param.put(APP_KEY, "RhOHlu7Bmkrj8Vk7uGTNNxHqI"); + param.put("gmsfhm", gmsfhm); + param.put("xm", xm); + log.info("sfhyxxcxdsjj api param:{}", param); + + Result result = HttpClientManager.getInstance().sendGet(SERVER_URL + "sfhyxxcxdsjj", param); + log.info("sfhyxxcxdsjj api result:{}", JSON.toJSONString(result)); + if (result.success()) { + String data = result.getData(); + JSONObject jsonObject = JSON.parseObject(data); + if (jsonObject != null && StrConstant.HTTP_STATUS_OK.equals(jsonObject.getString(StrConstant.HTTP_RESP_CODE))) { + return JSON.parseObject(result.getData(), YtSfhyxxcxdsjjResDTO.class); + } else { + log.warn("sfhyxxcxdsjj 烟台公安部居民基础信息调用失败"); + } + } + } catch (Exception e) { + log.error(String.format("烟台公民基本信息查询异常gmsfhm:%s", gmsfhm), e); + } + YtSfhyxxcxdsjjResDTO resultResult = new YtSfhyxxcxdsjjResDTO(); + resultResult.setData(new YtSfhyxxcxdsjjResDTO.YtSfhyxxcxdsjjDetail()); + return resultResult; + } + public static void main(String[] args) { //YtDataSyncResDTO canji = canji("123", "123"); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiComparisonRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiComparisonRecordDTO.java new file mode 100644 index 0000000000..b8f092cc4c --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiComparisonRecordDTO.java @@ -0,0 +1,105 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 居民信息与公安部信息比对记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-11-14 + */ +@Data +public class IcResiComparisonRecordDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * ic_resi_user.id【比对时的数据值】 + */ + private String resiId; + + /** + * 数字社区人员姓名【比对时的数据值】 + */ + private String resiName; + + /** + * 数据社区身份证号【比对时的数据值】 + */ + private String resiIdCard; + + /** + * 公安部人员姓名 + */ + private String policeName; + + /** + * 公安部人员证件号 + */ + private String policeIdCard; + + /** + * 数据状态(0:未处理 1:已处理) + */ + private String type; + + /** + * 信息一致性(0:否 1:是 2:-)2代表程序比对了没有匹配上 + */ + private String identical; + + /** + * 是否比对过(0:否 1:是) + */ + private String isComparison; + + /** + * 比对结果说明 + */ + private String comparisonResult; + + /** + * + */ + 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/form/ComparisonFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ComparisonFormDTO.java new file mode 100644 index 0000000000..53688b39da --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ComparisonFormDTO.java @@ -0,0 +1,33 @@ +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; +import java.util.List; + +@Data +public class ComparisonFormDTO extends PageFormDTO { + private static final long serialVersionUID = 9156247659994638103L; + public interface Update extends CustomerClientShowGroup { + } + + /** + * 居民Id集合 + */ + private List userIdList; + /** + * 比对记录Id + */ + @NotBlank(message = "比对记录Id不能为空", groups = {Update.class}) + private String comparisonRecordId; + + /** + * token里设置 + */ + private String customerId; + private String userId; + private String agencyId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiComparisonListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiComparisonListFormDTO.java new file mode 100644 index 0000000000..e16be96134 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiComparisonListFormDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +/** + * @Description 数据比对列表-接口入参 + * @Author sun + */ +@Data +public class ResiComparisonListFormDTO extends PageFormDTO { + private static final long serialVersionUID = 9156247659994638103L; + + /** + * 信息一致性(0:否 1:是 2:-)2代表程序比对了没有匹配上 + */ + private String identical; + /** + * 数据状态(0:未处理 1:已处理) + */ + private String type; + /** + * 身份证号 + */ + private String idCard; + + private Integer pageNo = 1; + private Integer pageSize = 20; + private Boolean isPage = true; + + + /** + * token里设置 + */ + private String customerId; + private String userId; + private String agencyId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ComparisonResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ComparisonResultDTO.java new file mode 100644 index 0000000000..9310c125e1 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ComparisonResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ComparisonResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 是否存在异常 + */ + private Boolean result = false; + /** + * 接口反馈说明 + */ + private String resultExplain; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiComparisonListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiComparisonListResultDTO.java new file mode 100644 index 0000000000..a25b565b80 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiComparisonListResultDTO.java @@ -0,0 +1,70 @@ +package com.epmet.dto.result; + +import com.alibaba.excel.annotation.write.style.HeadStyle; +import com.alibaba.excel.enums.poi.FillPatternTypeEnum; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 数据比对列表-接口返参 + * @Author sun + */ +@Data +public class ResiComparisonListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 比对记录表Id + */ + private String comparisonRecordId; + + /** + * ic_resi_user.id【比对时的数据值】 + */ + private String resiId; + + /** + * 居民库姓名 + */ + private String resiName; + + /** + * 居民库证件号 + */ + private String resiIdCard; + + /** + * 公安部人员姓名 + */ + private String policeName; + + /** + * 公安部人员证件号 + */ + private String policeIdCard; + + /** + * 数据状态(0:未处理 1:已处理) + */ + private String type; + private String typeName; + + /** + * 信息一致性(0:否 1:是 2:-)2代表程序比对了没有匹配上 + */ + private String identical; + private String identicalName; + + /** + * 是否比对过(0:否 1:是) + */ + private String isComparison; + private String isComparisonName; + + /** + * 比对结果说明 + */ + private String comparisonResult; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiComparisonRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiComparisonRecordController.java new file mode 100644 index 0000000000..10b14afe76 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiComparisonRecordController.java @@ -0,0 +1,136 @@ +package com.epmet.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.MaskResponse; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.ComparisonFormDTO; +import com.epmet.dto.form.ResiComparisonListFormDTO; +import com.epmet.dto.result.ComparisonResultDTO; +import com.epmet.dto.result.ResiComparisonListResultDTO; +import com.epmet.excel.IcResiComparisonRecordExcel; +import com.epmet.service.IcResiComparisonRecordService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.Date; +import java.util.List; + + +/** + * 居民信息与公安部信息比对记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-11-14 + */ +@Slf4j +@RestController +@RequestMapping("icResiComparisonRecord") +public class IcResiComparisonRecordController implements ResultDataResolver { + + @Autowired + private IcResiComparisonRecordService icResiComparisonRecordService; + + + /** + * @Author sun + * @Description 数据比对列表 + **/ + @PostMapping("resiComparisonList") + @MaskResponse(fieldNames = {"resiIdCard", "policeIdCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD}) + public Result> resiComparisonList(@LoginUser TokenDto tokenDto, @RequestBody ResiComparisonListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result>().ok(icResiComparisonRecordService.resiComparisonList(formDTO)); + } + + /** + * @Author sun + * @Description 比对、批量比对、组织及下级比对 + **/ + @PostMapping("comparison") + public Result comparison(@LoginUser TokenDto tokenDto, @RequestBody ComparisonFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + return new Result().ok(icResiComparisonRecordService.comparison(formDTO)); + } + + /** + * @Author sun + * @Description 比对后的更新 + **/ + @PostMapping("comparisonUpdate") + public Result comparisonUpdate(@LoginUser TokenDto tokenDto, @RequestBody ComparisonFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ComparisonFormDTO.Update.class); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + icResiComparisonRecordService.comparisonUpdate(formDTO); + return new Result(); + } + + /** + * @Author sun + * @Description 比对记录数据导出 + **/ + @NoRepeatSubmit + @PostMapping("export") + public void export(@LoginUser TokenDto tokenDto, @RequestBody ResiComparisonListFormDTO formDTO, HttpServletResponse response) throws IOException { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setIsPage(false); + ExcelWriter excelWriter = null; + formDTO.setPageNo(NumConstant.ONE); + formDTO.setPageSize(NumConstant.TEN_THOUSAND); + try { + String fileName = "比对记录" + DateUtils.format(new Date()) + ".xlsx"; + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), IcResiComparisonRecordExcel.class).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); + PageData data = null; + List list = null; + do { + data = icResiComparisonRecordService.resiComparisonList(formDTO); + list = ConvertUtils.sourceToTarget(data.getList(), IcResiComparisonRecordExcel.class); + formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); + excelWriter.write(list, writeSheet); + } while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); + } catch (EpmetException e) { + response.reset(); + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-type", "application/json; charset=UTF-8"); + PrintWriter printWriter = response.getWriter(); + Result result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg()); + printWriter.write(JSON.toJSONString(result)); + printWriter.close(); + } catch (Exception e) { + log.error("export exception", e); + } finally { + if (excelWriter != null) { + excelWriter.finish(); + } + } + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiComparisonRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiComparisonRecordDao.java new file mode 100644 index 0000000000..848067199c --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiComparisonRecordDao.java @@ -0,0 +1,40 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ResiComparisonListFormDTO; +import com.epmet.dto.result.ResiComparisonListResultDTO; +import com.epmet.entity.IcResiComparisonRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 居民信息与公安部信息比对记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-11-14 + */ +@Mapper +public interface IcResiComparisonRecordDao extends BaseDao { + + List getResiComparisonList(ResiComparisonListFormDTO formDTO); + + void saveInsert(IcResiComparisonRecordEntity recordEntity); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 8caa220af2..762baa4ed5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.tools.dto.result.OptionDataResultDTO; +import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcResiUserConfirmDTO; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.IcVolunteerPolyDTO; @@ -439,4 +440,6 @@ public interface IcResiUserDao extends BaseDao { * @Date 2022/10/24 15:47 */ ResiAndLocalResiResultDTO getResiCount(@Param("agencyId")String agencyId,@Param("idCard")String idCard,@Param("customerId")String customerId); + + List getResiUserList(ComparisonFormDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiComparisonRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiComparisonRecordEntity.java new file mode 100644 index 0000000000..ad290f5755 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiComparisonRecordEntity.java @@ -0,0 +1,71 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 出生管理 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-10 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("ic_resi_comparison_record") +public class IcResiComparisonRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * ic_resi_user.id【比对时的数据值】 + */ + private String resiId; + + /** + * 数字社区人员姓名【比对时的数据值】 + */ + private String resiName; + + /** + * 数据社区身份证号【比对时的数据值】 + */ + private String resiIdCard; + + /** + * 公安部人员姓名 + */ + private String policeName; + + /** + * 公安部人员证件号 + */ + private String policeIdCard; + + /** + * 数据状态(0:未处理 1:已处理) + */ + private String type; + + /** + * 信息一致性(0:否 1:是 2:-)2代表程序比对了没有匹配上 + */ + private String identical; + + /** + * 是否比对过(0:否 1:是) + */ + private String isComparison; + + /** + * 比对结果说明 + */ + private String comparisonResult; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiComparisonRecordExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiComparisonRecordExcel.java new file mode 100644 index 0000000000..2442b95a31 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiComparisonRecordExcel.java @@ -0,0 +1,64 @@ +package com.epmet.excel; + +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; + +import java.io.Serializable; + +/** + * 比对记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-11-14 + */ +@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 44) +@Data +public class IcResiComparisonRecordExcel implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 居民库姓名 + */ + @ExcelProperty(value = "居民库-姓名") + @ColumnWidth(15) + private String resiName; + + /** + * 居民库证件号 + */ + @ExcelProperty(value = "居民库=证件号") + @ColumnWidth(20) + private String resiIdCard; + + /** + * 公安部人员姓名 + */ + @ExcelProperty(value = "公安-姓名") + @ColumnWidth(15) + private String policeName; + + /** + * 公安部人员证件号 + */ + @ExcelProperty(value = "公安-证件号") + @ColumnWidth(20) + private String policeIdCard; + + /** + * 数据状态(0:未处理 1:已处理) + */ + @ExcelProperty(value = "状态") + @ColumnWidth(12) + private String typeName; + + /** + * 信息一致性(0:否 1:是 2:-)2代表程序比对了没有匹配上 + */ + @ExcelProperty(value = "信息一致") + @ColumnWidth(12) + private String identicalName; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiComparisonRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiComparisonRecordService.java new file mode 100644 index 0000000000..5d846db7d7 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiComparisonRecordService.java @@ -0,0 +1,24 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.form.ComparisonFormDTO; +import com.epmet.dto.form.ResiComparisonListFormDTO; +import com.epmet.dto.result.ComparisonResultDTO; +import com.epmet.dto.result.ResiComparisonListResultDTO; +import com.epmet.entity.IcResiComparisonRecordEntity; + +/** + * 居民信息与公安部信息比对记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-11-14 + */ +public interface IcResiComparisonRecordService extends BaseService { + + PageData resiComparisonList(ResiComparisonListFormDTO formDTO); + + ComparisonResultDTO comparison(ComparisonFormDTO formDTO); + + void comparisonUpdate(ComparisonFormDTO formDTO); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java new file mode 100644 index 0000000000..37f3427ac3 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java @@ -0,0 +1,215 @@ +package com.epmet.service.impl; + +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.dto.result.YtSfhyxxcxdsjjResDTO; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; +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.YtHsResUtils; +import com.epmet.dao.IcResiComparisonRecordDao; +import com.epmet.dao.IcResiUserDao; +import com.epmet.dto.IcResiUserDTO; +import com.epmet.dto.form.ComparisonFormDTO; +import com.epmet.dto.form.ResiComparisonListFormDTO; +import com.epmet.dto.result.ComparisonResultDTO; +import com.epmet.dto.result.ResiComparisonListResultDTO; +import com.epmet.entity.IcResiComparisonRecordEntity; +import com.epmet.entity.IcResiUserEntity; +import com.epmet.service.IcResiComparisonRecordService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +/** + * 居民信息与公安部信息比对记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-11-14 + */ +@Service +@Slf4j +public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl implements IcResiComparisonRecordService, ResultDataResolver { + @Autowired + private IcResiUserDao icResiUserDao; + + + @Override + public PageData resiComparisonList(ResiComparisonListFormDTO formDTO) { + //1.获取工作人员信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + formDTO.setAgencyId(staffInfo.getAgencyId()); + //2.按条件分页查询数据s + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getResiComparisonList(formDTO)); + + return new PageData(data.getList(), data.getTotal()); + } + + /** + * @Author sun + * @Description 比对、批量比对、组织及下级比对 + **/ + @Override + public ComparisonResultDTO comparison(ComparisonFormDTO formDTO) { + ComparisonResultDTO resultDTO = new ComparisonResultDTO(); + //1.获取工作人员信息 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + if (null == staffInfo) { + throw new EpmetException(String.format("查询工作人员%s缓存信息失败...", formDTO.getUserId())); + } + formDTO.setAgencyId(staffInfo.getAgencyId()); + //2.判断是单条比对的则直接处理 + if (formDTO.getUserIdList().size() == 1) { + IcResiUserEntity entity = icResiUserDao.selectById(formDTO.getUserIdList().get(NumConstant.ZERO)); + if (null == entity) { + resultDTO.setResult(true); + resultDTO.setResultExplain("未查询到居民信息"); + return resultDTO; + } + IcResiComparisonRecordEntity recordEntity = new IcResiComparisonRecordEntity(); + recordEntity.setCustomerId(entity.getCustomerId()); + recordEntity.setResiId(entity.getId()); + recordEntity.setResiName(entity.getName()); + recordEntity.setResiIdCard(entity.getIdCard()); + recordEntity.setIsComparison("1"); + YtSfhyxxcxdsjjResDTO sfhyxxcxdsjjResult = YtHsResUtils.sfhyxxcxdsjj(entity.getIdCard(), entity.getName()); + /*YtSfhyxxcxdsjjResDTO sfhyxxcxdsjjResult = new YtSfhyxxcxdsjjResDTO(); + YtSfhyxxcxdsjjResDTO.YtSfhyxxcxdsjjDetail f = new YtSfhyxxcxdsjjResDTO.YtSfhyxxcxdsjjDetail(); + List l = new ArrayList<>(); + YtSfhyxxcxdsjjResDTO.Result d = new YtSfhyxxcxdsjjResDTO.Result(); + d.setGMSFHM("371424188808087654"); + d.setXM("小二"); + l.add(d); + f.setResult(l); + sfhyxxcxdsjjResult.setData(f);*/ + if (sfhyxxcxdsjjResult.getCode() != 200) { + recordEntity.setComparisonResult("公安部接口调用失败"); + resultDTO.setResult(true); + resultDTO.setResultExplain("公安部接口调用失败"); + return resultDTO; + } else { + //数据已处理 + recordEntity.setType("1"); + //公安部不存在的数据 + if (CollectionUtils.isEmpty(sfhyxxcxdsjjResult.getData().getResult())) { + recordEntity.setComparisonResult("公安部身份证号对应数据不存在"); + //代表程序干活了 + recordEntity.setIdentical("2"); + resultDTO.setResult(true); + resultDTO.setResultExplain("公安部身份证号对应数据不存在"); + } else {//在公安部查询到了数据 + recordEntity.setPoliceName(sfhyxxcxdsjjResult.getData().getResult().get(0).getXM()); + recordEntity.setPoliceIdCard(sfhyxxcxdsjjResult.getData().getResult().get(0).getGMSFHM()); + //公安部跟居民库姓名不一致 + if (!entity.getName().equals(sfhyxxcxdsjjResult.getData().getResult().get(0).getXM())) { + recordEntity.setIdentical("0"); + recordEntity.setComparisonResult("公安部与居民库姓名不相同"); + resultDTO.setResult(true); + resultDTO.setResultExplain("公安部与居民库姓名不相同"); + } else { + recordEntity.setIdentical("1"); + } + } + } + recordEntity.setCreatedBy(formDTO.getUserId()); + recordEntity.setUpdatedBy(formDTO.getUserId()); + baseDao.saveInsert(recordEntity); + return resultDTO; + } + //3.判断多条比对则开启子线程执行 + if (CollectionUtils.isEmpty(formDTO.getUserIdList()) || formDTO.getUserIdList().size() > NumConstant.ONE) { + asyncComparison(formDTO); + resultDTO.setResult(true); + resultDTO.setResultExplain("数据比对中请稍后"); + return resultDTO; + } + return resultDTO; + } + + /** + * @Author sun + * @Description 线程逐条比对居民信息 + **/ + @Async + public void asyncComparison(ComparisonFormDTO formDTO) { + PageData data = null; + formDTO.setIsPage(false); + formDTO.setPageSize(NumConstant.ONE_THOUSAND); + int pageNo = formDTO.getPageNo(); + do { + data = getResiUserList(formDTO); + data.getList().forEach(o -> { + IcResiComparisonRecordEntity recordEntity = new IcResiComparisonRecordEntity(); + recordEntity.setCustomerId(o.getCustomerId()); + recordEntity.setResiId(o.getId()); + recordEntity.setResiName(o.getName()); + recordEntity.setResiIdCard(o.getIdCard()); + recordEntity.setIsComparison("1"); + YtSfhyxxcxdsjjResDTO sfhyxxcxdsjjResult = YtHsResUtils.sfhyxxcxdsjj(o.getIdCard(), o.getName()); + if (sfhyxxcxdsjjResult.getCode() != 200) { + recordEntity.setComparisonResult("接口调用失败"); + } else { + //数据已处理 + recordEntity.setType("1"); + //公安部不存在的数据 + if (CollectionUtils.isEmpty(sfhyxxcxdsjjResult.getData().getResult())) { + recordEntity.setComparisonResult("公安部身份证号对应数据不存在"); + //代表程序干活了 + recordEntity.setIdentical("2"); + } else {//在公安部查询到了数据 + recordEntity.setPoliceName(sfhyxxcxdsjjResult.getData().getResult().get(0).getXM()); + recordEntity.setPoliceIdCard(sfhyxxcxdsjjResult.getData().getResult().get(0).getGMSFHM()); + //公安部跟居民库姓名不一致 + if (!o.getName().equals(sfhyxxcxdsjjResult.getData().getResult().get(0).getXM())) { + recordEntity.setIdentical("0"); + recordEntity.setComparisonResult("公安部与居民库姓名不相同"); + } else { + recordEntity.setIdentical("1"); + } + } + } + recordEntity.setCreatedBy(formDTO.getUserId()); + recordEntity.setUpdatedBy(formDTO.getUserId()); + baseDao.saveInsert(recordEntity); + }); + formDTO.setPageNo(++pageNo); + } while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize()); + } + + private PageData getResiUserList(ComparisonFormDTO formDTO) { + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> icResiUserDao.getResiUserList(formDTO)); + return new PageData(data.getList(), data.getTotal()); + } + + /** + * @Author sun + * @Description 比对后的更新 + **/ + @Override + public void comparisonUpdate(ComparisonFormDTO formDTO) { + //1.查询比对记录表数据 + IcResiComparisonRecordEntity entity = baseDao.selectById(formDTO.getComparisonRecordId()); + if (null == entity) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查询到对应比对记录数据", "未查询到对应比对记录数据"); + } + //2.根据居民信息表数据 + IcResiUserEntity resiUserEntity = new IcResiUserEntity(); + resiUserEntity.setId(entity.getResiId()); + resiUserEntity.setName(entity.getPoliceName()); + icResiUserDao.updateById(resiUserEntity); + } + + +} diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml new file mode 100644 index 0000000000..584f234505 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml @@ -0,0 +1,108 @@ + + + + + + + + SELECT replace(uuid(),'-','') AS ID + + INSERT INTO ic_resi_comparison_record + ( + id, + customer_id, + resi_id, + resi_name, + resi_id_card, + police_name, + police_id_card, + `type`, + identical, + is_comparison, + comparison_result, + del_flag, + revision, + created_by, + created_time, + updated_by, + updated_time + ) VALUE ( + #{id}, + #{customerId}, + #{resiId}, + #{resiName}, + #{resiIdCard}, + #{policeName}, + #{policeIdCard}, + #{type}, + #{identical}, + #{isComparison}, + #{comparisonResult}, + 0, + 0, + #{createdBy}, + now(), + #{createdBy}, + now() + ) ON DUPLICATE KEY UPDATE + resi_name = values(resi_name), + resi_id_card = values(resi_id_card), + police_name = values(police_name), + police_id_card = values(police_id_card), + `type` = values(`type`), + identical = values(identical), + is_comparison = values(is_comparison), + comparison_result = values(comparison_result), + updated_time = NOW(), + updated_by = #{updatedBy} + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 9c48f39c2f..a86af22468 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -1402,4 +1402,18 @@ AND ID_CARD = #{idCard} + + From 876a8e465a3ded93bb271d287ac87edee7a27367 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Nov 2022 10:36:46 +0800 Subject: [PATCH 26/65] =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IcResiComparisonRecordServiceImpl.java | 4 ++-- .../src/main/resources/mapper/IcResiUserDao.xml | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java index 37f3427ac3..02c856d326 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java @@ -93,7 +93,7 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl + + #{id} + + order by pids ASC, created_time DESC From 40b433e282a0898b5c18cdd84d549f52e17d5dd0 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 15 Nov 2022 11:17:39 +0800 Subject: [PATCH 27/65] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=89=94=E9=99=A4inter?= =?UTF-8?q?nalRemark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java index a852edac8e..653d8944ab 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatCompareRecordDTO.java @@ -131,7 +131,8 @@ public class IcNatCompareRecordDTO implements Serializable { private String agencyName; /** - * + * 内部备注,开发人员用 */ + @ExcelIgnore private String internalRemark; } \ No newline at end of file From 1d2b7b3f4b60ca67515f8342b263c5eb92a7cecb Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Nov 2022 11:50:25 +0800 Subject: [PATCH 28/65] =?UTF-8?q?=E8=B5=8B=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/IcResiComparisonRecordDao.xml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml index 584f234505..ff9e7a7fb1 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml @@ -60,18 +60,18 @@ From b787f42c57905fd5612085a038e5e0bd8f2b6b8f Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 15 Nov 2022 13:37:55 +0800 Subject: [PATCH 30/65] =?UTF-8?q?natInfoSyncButton=E6=94=B9=E4=B8=BAsubmit?= =?UTF-8?q?SyncJob=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/DataSyncConfigController.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java index 948471cbe3..afaf67391b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java @@ -124,8 +124,16 @@ public class DataSyncConfigController { return new Result(); } - @PostMapping("natInfoSyncButton") - public Result natInfoSyncButton(@RequestBody DataSyncTaskParam formDTO, @LoginUser TokenDto tokenDto){ + /** + * 提交同步任务(核酸,疫苗,身份一致性验证) + * @author wxz + * @date 2022/11/15 下午1:37 + * @param formDTO + * @param tokenDto + * @return Result + */ + @PostMapping("submitSyncJob") + public Result submitSyncJob(@RequestBody DataSyncTaskParam formDTO, @LoginUser TokenDto tokenDto){ formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setStaffId(tokenDto.getUserId()); dataSyncConfigService.natInfoSyncButton(formDTO); From f48f1c6112f8c36ebd1390ab72f5c9bea126dd43 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 15 Nov 2022 13:39:50 +0800 Subject: [PATCH 31/65] =?UTF-8?q?natInfoSyncButton=E6=94=B9=E4=B8=BAsubmit?= =?UTF-8?q?SyncJob=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/DataSyncConfigController.java | 2 +- .../src/main/java/com/epmet/service/DataSyncConfigService.java | 2 +- .../java/com/epmet/service/impl/DataSyncConfigServiceImpl.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java index afaf67391b..737bf81727 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java @@ -136,7 +136,7 @@ public class DataSyncConfigController { public Result submitSyncJob(@RequestBody DataSyncTaskParam formDTO, @LoginUser TokenDto tokenDto){ formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setStaffId(tokenDto.getUserId()); - dataSyncConfigService.natInfoSyncButton(formDTO); + dataSyncConfigService.submitSyncJob(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java index b4d80051da..300128bc4d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java @@ -112,7 +112,7 @@ public interface DataSyncConfigService extends BaseService */ void natInfoScanTask(DataSyncTaskParam formDTO); - void natInfoSyncButton(DataSyncTaskParam formDTO); + void submitSyncJob(DataSyncTaskParam formDTO); List getNatUserInfoFromDb(DataSyncTaskParam formDTO, int pageNo, int pageSize); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index b3a50c4490..79fd952139 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -411,7 +411,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl Date: Tue, 15 Nov 2022 13:44:11 +0800 Subject: [PATCH 32/65] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=AF=94=E5=AF=B9?= =?UTF-8?q?=EF=BC=8C=E5=85=B3=E7=B3=BB=E8=A1=A8=E6=94=B9=E4=B8=BA=20agency?= =?UTF-8?q?=5Fid+compare=5Frec=5Fid=E5=94=AF=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/IcNatCompareRecordServiceImpl.java | 4 +++- .../src/main/resources/mapper/IcNatCompareRecRelationDao.xml | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java index 38bde062d2..47efdc1980 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java @@ -285,7 +285,8 @@ public class IcNatCompareRecordServiceImpl extends BaseServiceImpl AND r.IMPORT_DATE = #{importDate} + \ No newline at end of file From 0f95e7f1d42922fa625ab634676185b43602228e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 15 Nov 2022 13:50:40 +0800 Subject: [PATCH 33/65] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E6=AF=94=E5=AF=B9?= =?UTF-8?q?=EF=BC=8C=E5=85=B3=E7=B3=BB=E8=A1=A8=E6=94=B9=E4=B8=BA=20agency?= =?UTF-8?q?=5Fid+compare=5Frec=5Fid=E5=94=AF=E4=B8=802?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/IcNatCompareRecordServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java index 47efdc1980..18071df16c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatCompareRecordServiceImpl.java @@ -300,6 +300,8 @@ public class IcNatCompareRecordServiceImpl extends BaseServiceImpl Date: Tue, 15 Nov 2022 14:48:18 +0800 Subject: [PATCH 34/65] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E7=A9=BA=E6=8C=87=E9=92=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/common/CustomerOrgRedis.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java index 23a7f1dd3c..bf8425222a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java @@ -1,7 +1,6 @@ package com.epmet.commons.tools.redis.common; import cn.hutool.core.bean.BeanUtil; -import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.dto.form.CustomerGridFormDTO; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.CommonAggFeignClient; @@ -13,6 +12,7 @@ import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; @@ -55,6 +55,10 @@ public class CustomerOrgRedis { * @date 2021/11/5 3:12 下午 */ public static GridInfoCache getGridInfo(String gridId){ + if (StringUtils.isBlank(gridId)) { + log.warn("查询网格缓存,gridId is null"); + return null; + } String key = RedisKeys.getGridInfoKey(gridId); Map grid = customerOrgRedis.redisUtils.hGetAll(key); if (!CollectionUtils.isEmpty(grid)) { From e18c105d9e75736637c3f8e46df3c8098a4fa9b7 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 15 Nov 2022 15:00:15 +0800 Subject: [PATCH 35/65] =?UTF-8?q?=E6=94=B9=E6=88=90=E6=9F=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/YTVaccineListDTO.java | 2 +- .../impl/DataSyncConfigServiceImpl.java | 64 +++++++++++++------ .../main/resources/mapper/IcVaccineDao.xml | 2 +- 3 files changed, 48 insertions(+), 20 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java index 94b2b30418..2950cd00c0 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/YTVaccineListDTO.java @@ -12,7 +12,7 @@ import java.io.Serializable; public class YTVaccineListDTO implements Serializable { private static final long serialVersionUID = -5583350277850076659L; - private String idCard; + private String cardno; /** * 接种时间 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 79fd952139..438f0d80c7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -1072,30 +1072,58 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl> vaccineList = new ArrayList<>();/*yantaiNamedParamLantuJdbcTemplate.queryForList( - "select id, name,card_no, create_time from hscyxxb where card_no in (:idcards)", args);*/ - Map m = new HashMap<>(); - vaccineList.add(m); +// List vaccineList = JSON.parseArray(json,Map.class); + List> vaccineList = yantaiNamedParamLantuJdbcTemplate.queryForList( + "select data, name, card_no, vaccineCount from t_ymjz_info where card_no in (:idcards)", args); + List ytVaccineListDTOS = new ArrayList<>(); if (CollectionUtils.isNotEmpty(vaccineList)) { + vaccineList.forEach(v -> { + if (v.containsKey("data")){ + Map data = (Map) v.get("data"); + if (data.containsKey("vaccineList")){ + List vaccineList1 = JSON.parseArray(data.get("vaccineList").toString(), YTVaccineListDTO.class); + vaccineList1.forEach(v1 -> { + v1.setCardno(v.get("cardno").toString()); + }); + ytVaccineListDTOS.addAll(vaccineList1); + } + } + }); List entities = new ArrayList<>(); -// List ytVaccineListDTOS = ConvertUtils.sourceToTarget(vaccineList, YTVaccineListDTO.class); - List ytVaccineListDTOS = JSON.parseArray(json,YTVaccineListDTO.class); List existVaccine = icVaccineDao.getExistVaccine(ytVaccineListDTOS); if (CollectionUtils.isNotEmpty(existVaccine)){ for (YTVaccineListDTO e : existVaccine) { for (int i = 0; i < ytVaccineListDTOS.size(); i++) { - if (ytVaccineListDTOS.get(i).getIdCard().equals(e.getIdCard()) && ytVaccineListDTOS.get(i).getInoculateDate().equals(e.getInoculateDate())){ + if (ytVaccineListDTOS.get(i).getCardno().equals(e.getCardno()) && ytVaccineListDTOS.get(i).getInoculateDate().equals(e.getInoculateDate())){ ytVaccineListDTOS.remove(i); } } @@ -1104,7 +1132,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl { resiInfos.forEach(u -> { - if (v.getIdCard().equals(u.getIdCard())){ + if (v.getCardno().equals(u.getIdCard())){ IcVaccineEntity e = new IcVaccineEntity(); e.setCustomerId(customerId); e.setName(u.getName()); 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 458a917ab6..319d7b959a 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 @@ -236,7 +236,7 @@ WHERE DEL_FLAG = '0' AND ( - (ID_CARD = #{l.idCard} AND DATE_FORMAT(INOCULATE_TIME, '%Y-%m-%d %H:%i') = #{l.inoculateDate}) + (ID_CARD = #{l.cardno} AND DATE_FORMAT(INOCULATE_TIME, '%Y-%m-%d %H:%i') = #{l.inoculateDate}) ) From 1a3403afb8a1306a1d14c35878b32262fb5eac74 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Nov 2022 15:22:42 +0800 Subject: [PATCH 36/65] =?UTF-8?q?=E6=AF=94=E5=AF=B9=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=BC=82=E6=AD=A5=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/EpidemicConstant.java | 1 + .../epmet/dao/IcResiComparisonRecordDao.java | 6 +- .../YanTaiComparisonSyncProcessor.java | 118 +++++++++++++++ .../IcResiComparisonRecordService.java | 3 + .../IcResiComparisonRecordServiceImpl.java | 139 +++++++++++++++++- .../mapper/IcResiComparisonRecordDao.xml | 89 ++++++----- .../main/resources/mapper/IcResiUserDao.xml | 20 +-- 7 files changed, 325 insertions(+), 51 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiComparisonSyncProcessor.java diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java index e2817f165c..edd9d1a695 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java @@ -21,6 +21,7 @@ public interface EpidemicConstant { */ String JOB_TYPE_NAT = "nat"; String JOB_TYPE_VACCINE = "vaccine"; + String JOB_TYPE_COMPARISON = "comparison"; String OPERATION_STATUS_WAITING = "waiting"; String OPERATION_STATUS_PROCESSING = "processing"; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiComparisonRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiComparisonRecordDao.java index 848067199c..5eb830e9bf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiComparisonRecordDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiComparisonRecordDao.java @@ -18,10 +18,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ComparisonFormDTO; import com.epmet.dto.form.ResiComparisonListFormDTO; import com.epmet.dto.result.ResiComparisonListResultDTO; import com.epmet.entity.IcResiComparisonRecordEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -36,5 +38,7 @@ public interface IcResiComparisonRecordDao extends BaseDao getResiComparisonList(ResiComparisonListFormDTO formDTO); - void saveInsert(IcResiComparisonRecordEntity recordEntity); + void saveInsert(@Param("list") List recordEntity); + + List getComparisonList(ComparisonFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiComparisonSyncProcessor.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiComparisonSyncProcessor.java new file mode 100644 index 0000000000..cc07aafab2 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiComparisonSyncProcessor.java @@ -0,0 +1,118 @@ +package com.epmet.processor; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.constant.EpidemicConstant; +import com.epmet.dao.IcSyncJobDao; +import com.epmet.entity.IcSyncJobEntity; +import com.epmet.service.DataSyncConfigService; +import com.epmet.service.IcResiComparisonRecordService; +import lombok.extern.slf4j.Slf4j; +import org.redisson.api.RLock; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.TimeUnit; + +import static com.epmet.constant.EpidemicConstant.JOB_TYPE_NAT; + +// 烟台数据比对 +@Component +@Slf4j +public class YanTaiComparisonSyncProcessor { + + public static final int MAX_EXECUTING_COUNT = 3; + + @Autowired + private ExecutorService executorService; + + @Autowired + private IcSyncJobDao icSyncJobDao; + + @Autowired + private IcResiComparisonRecordService icResiComparisonRecordService; + + @Autowired + private DistributedLock distributedLock; + + @Autowired + RedisUtils redisUtils; + + /** + * 定时扫描和执行同步任务 + * 10s扫一次库 + */ + @Scheduled(cron = "0/10 * * * * ? ") + public void scanJobs() { + //log.info("【异步数据更新】开始同步任务"); + + LambdaQueryWrapper executingListQuery = new LambdaQueryWrapper<>(); + executingListQuery.eq(IcSyncJobEntity::getOperationStatus, EpidemicConstant.OPERATION_STATUS_PROCESSING); + List executingJobList = icSyncJobDao.selectList(executingListQuery); + + if (!CollectionUtils.isEmpty(executingJobList) && executingJobList.size() >= MAX_EXECUTING_COUNT) { + // 最多只允许同时3条线程运行 + return; + } + + int executingCount = executingJobList.size(); + // 还可以运行几条线程 + int leftCount = MAX_EXECUTING_COUNT - executingCount; + + RLock lock = null; + try { + lock = distributedLock.getLock("data:sync:" + "comparison", 60L, 60L, TimeUnit.SECONDS); + // 查询可执行的任务列表,并且异步执行 + List icSyncJobToExec = icSyncJobDao.selectExecutableJobList( + EpidemicConstant.JOB_TYPE_COMPARISON, + leftCount); + + if (!CollectionUtils.isEmpty(icSyncJobToExec)) { + // 异步提交任务 + for (IcSyncJobEntity jobEntity : icSyncJobToExec) { + + updateJobStatus(jobEntity.getId(), EpidemicConstant.OPERATION_STATUS_PROCESSING); + executorService.submit(() -> { + // 将此任务状态修改为执行中 + + try { + icResiComparisonRecordService.comparisonUserData(jobEntity); + } finally { + // 更新任务状态为结束 + updateJobStatus(jobEntity.getId(), EpidemicConstant.OPERATION_STATUS_FINISH); + } + + }); + } + } + } catch (Exception e) { + log.error("【异步数据更新】出错:{}", ExceptionUtils.getErrorStackTrace(e)); + } finally { + if (lock != null) { + lock.unlock(); + } + } + } + + /** + * 更新任务状态 + * @param id + * @param status + + */ + private void updateJobStatus(String id, String status) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcSyncJobEntity::getId, id); + + IcSyncJobEntity updateEntity = new IcSyncJobEntity(); + updateEntity.setOperationStatus(status); + icSyncJobDao.update(updateEntity, query); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiComparisonRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiComparisonRecordService.java index 5d846db7d7..fe49e4e884 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiComparisonRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiComparisonRecordService.java @@ -7,6 +7,7 @@ import com.epmet.dto.form.ResiComparisonListFormDTO; import com.epmet.dto.result.ComparisonResultDTO; import com.epmet.dto.result.ResiComparisonListResultDTO; import com.epmet.entity.IcResiComparisonRecordEntity; +import com.epmet.entity.IcSyncJobEntity; /** * 居民信息与公安部信息比对记录表 @@ -20,5 +21,7 @@ public interface IcResiComparisonRecordService extends BaseService implements IcResiComparisonRecordService, ResultDataResolver { @Autowired private IcResiUserDao icResiUserDao; + @Autowired + private IcSyncJobDao icSyncJobDao; @Override @@ -77,6 +92,7 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl list = new ArrayList<>(); IcResiComparisonRecordEntity recordEntity = new IcResiComparisonRecordEntity(); recordEntity.setCustomerId(entity.getCustomerId()); recordEntity.setResiId(entity.getId()); @@ -124,12 +140,15 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl NumConstant.ONE) { - asyncComparison(formDTO); + //asyncComparison(formDTO); + saveComparison(formDTO); + saveJob(formDTO); resultDTO.setResult(true); resultDTO.setResultExplain("数据比对中请稍后"); return resultDTO; @@ -149,6 +168,7 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl list = new ArrayList<>(); data.getList().forEach(o -> { IcResiComparisonRecordEntity recordEntity = new IcResiComparisonRecordEntity(); recordEntity.setCustomerId(o.getCustomerId()); @@ -181,11 +201,124 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl data = null; + formDTO.setIsPage(false); + formDTO.setPageSize(NumConstant.ONE_THOUSAND); + int pageNo = formDTO.getPageNo(); + do { + data = getResiUserList(formDTO); + List list = new ArrayList<>(); + data.getList().forEach(o -> { + IcResiComparisonRecordEntity recordEntity = new IcResiComparisonRecordEntity(); + recordEntity.setCustomerId(o.getCustomerId()); + recordEntity.setResiId(o.getId()); + recordEntity.setResiName(o.getName()); + recordEntity.setResiIdCard(o.getIdCard()); + recordEntity.setType("0"); + recordEntity.setIdentical("0"); + recordEntity.setIsComparison("0"); + list.add(recordEntity); + }); + insertBatch(list); + formDTO.setPageNo(++pageNo); + } while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize()); + } + + public void saveJob(ComparisonFormDTO formDTO) { + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(formDTO.getAgencyId()); + if (null == agencyInfo) { + throw new EpmetException("未查询到组织信息:" + formDTO.getAgencyId()); + } + + // 查询该组织是否存在等待中或者进行中的任务 + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(IcSyncJobEntity::getOrgId, formDTO.getAgencyId()) + .eq(IcSyncJobEntity::getJobType, EpidemicConstant.JOB_TYPE_COMPARISON) + .in(IcSyncJobEntity::getOperationStatus, OPERATION_STATUS_WAITING, OPERATION_STATUS_PROCESSING); + List icSyncJobEntities = icSyncJobDao.selectList(qw); + // 当前组织下存在同步任务 + if (CollectionUtils.isNotEmpty(icSyncJobEntities)) { + throw new EpmetException(EpmetErrorCode.EXIST_SYNC_JOB_ERROR.getCode()); + } + + // 不存在新增一条记录 + IcSyncJobEntity e = new IcSyncJobEntity(); + e.setCustomerId(formDTO.getCustomerId()); + e.setOrgId(formDTO.getAgencyId()); + e.setPid(agencyInfo.getPid()); + e.setOrgIdPath(StringUtils.isBlank(agencyInfo.getPids()) ? agencyInfo.getId() : agencyInfo.getPids() + ":" + agencyInfo.getId()); + e.setJobType(EpidemicConstant.JOB_TYPE_COMPARISON); + e.setOperatorId(formDTO.getUserId()); + e.setOperationStatus(OPERATION_STATUS_WAITING); + icSyncJobDao.insert(e); + } + @Override + public void comparisonUserData(IcSyncJobEntity jobEntity) { + ComparisonFormDTO formDTO = new ComparisonFormDTO(); + PageData data = null; + formDTO.setIsPage(false); + formDTO.setPageSize(NumConstant.ONE_THOUSAND); + int pageNo = NumConstant.ONE; + do { + data = getComparisonList(formDTO); + data.getList().forEach(o -> { + o.setIsComparison("1"); + YtSfhyxxcxdsjjResDTO sfhyxxcxdsjjResult = YtHsResUtils.sfhyxxcxdsjj(o.getResiIdCard(), o.getResiName()); + /*YtSfhyxxcxdsjjResDTO sfhyxxcxdsjjResult = new YtSfhyxxcxdsjjResDTO(); + YtSfhyxxcxdsjjResDTO.YtSfhyxxcxdsjjDetail f = new YtSfhyxxcxdsjjResDTO.YtSfhyxxcxdsjjDetail(); + List l = new ArrayList<>(); + YtSfhyxxcxdsjjResDTO.Result d = new YtSfhyxxcxdsjjResDTO.Result(); + d.setGMSFHM("371424188808087654"); + d.setXM("小二"); + l.add(d); + f.setResult(l); + sfhyxxcxdsjjResult.setData(f);*/ + if (null == sfhyxxcxdsjjResult || sfhyxxcxdsjjResult.getCode() != 200) { + o.setComparisonResult("接口调用失败"); + } else { + //数据已处理 + o.setType("1"); + //公安部不存在的数据 + if (CollectionUtils.isEmpty(sfhyxxcxdsjjResult.getData().getResult())) { + o.setComparisonResult("公安部身份证号对应数据不存在"); + //代表程序干活了 + o.setIdentical("2"); + } else {//在公安部查询到了数据 + o.setPoliceName(sfhyxxcxdsjjResult.getData().getResult().get(0).getXM()); + o.setPoliceIdCard(sfhyxxcxdsjjResult.getData().getResult().get(0).getGMSFHM()); + //公安部跟居民库姓名不一致 + if (!o.getResiName().equals(sfhyxxcxdsjjResult.getData().getResult().get(0).getXM())) { + o.setIdentical("0"); + o.setComparisonResult("公安部与居民库姓名不相同"); + } else { + o.setIdentical("1"); + } + } + } + o.setCreatedBy(formDTO.getUserId()); + o.setUpdatedBy(formDTO.getUserId()); }); + baseDao.saveInsert(data.getList()); formDTO.setPageNo(++pageNo); } while (CollectionUtils.isNotEmpty(data.getList()) && data.getList().size() == formDTO.getPageSize()); } + private PageData getComparisonList(ComparisonFormDTO formDTO) { + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) + .doSelectPageInfo(() -> baseDao.getComparisonList(formDTO)); + return new PageData(data.getList(), data.getTotal()); + } private PageData getResiUserList(ComparisonFormDTO formDTO) { PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml index a4b098bb07..bb438e5500 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml @@ -3,10 +3,7 @@ - - - SELECT replace(uuid(),'-','') AS ID - + INSERT INTO ic_resi_comparison_record ( id, @@ -26,25 +23,30 @@ created_time, updated_by, updated_time - ) VALUE ( - #{id}, - #{customerId}, - #{resiId}, - #{resiName}, - #{resiIdCard}, - #{policeName}, - #{policeIdCard}, - #{type}, - #{identical}, - #{isComparison}, - #{comparisonResult}, + ) VALUE + + ( + REPLACE(UUID(), '-', ''), + #{i.customerId}, + #{i.resiId}, + #{i.resiName}, + #{i.resiIdCard}, + #{i.policeName}, + #{i.policeIdCard}, + #{i.type}, + #{i.identical}, + #{i.isComparison}, + #{i.comparisonResult}, 0, 0, - #{createdBy}, + #{i.createdBy}, now(), - #{createdBy}, + #{i.createdBy}, now() - ) ON DUPLICATE KEY UPDATE + ) + + ON DUPLICATE KEY + UPDATE resi_name = values(resi_name), resi_id_card = values(resi_id_card), police_name = values(police_name), @@ -54,33 +56,27 @@ is_comparison = values(is_comparison), comparison_result = values(comparison_result), updated_time = NOW(), - updated_by = #{updatedBy} + updated_by = values(updated_by) + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 5a5f1bafbf..c65e178660 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -1404,21 +1404,23 @@ From cc08fcbb8ede035326e87d02e9497a25d268dea8 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Nov 2022 15:39:24 +0800 Subject: [PATCH 37/65] =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/IcResiComparisonRecordExcel.java | 2 +- .../V0.0.88__ic_resi_comparison_record.sql | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.88__ic_resi_comparison_record.sql diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiComparisonRecordExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiComparisonRecordExcel.java index 2442b95a31..8bdf68cb39 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiComparisonRecordExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcResiComparisonRecordExcel.java @@ -29,7 +29,7 @@ public class IcResiComparisonRecordExcel implements Serializable { /** * 居民库证件号 */ - @ExcelProperty(value = "居民库=证件号") + @ExcelProperty(value = "居民库-证件号") @ColumnWidth(20) private String resiIdCard; diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.88__ic_resi_comparison_record.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.88__ic_resi_comparison_record.sql new file mode 100644 index 0000000000..3e05ced2fc --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.88__ic_resi_comparison_record.sql @@ -0,0 +1,21 @@ +CREATE TABLE `ic_resi_comparison_record` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', + `RESI_ID` varchar(64) NOT NULL COMMENT 'ic_resi_user.id【比对时的数据值】', + `RESI_NAME` varchar(64) NOT NULL COMMENT '数字社区人员姓名【比对时的数据值】', + `RESI_ID_CARD` varchar(18) NOT NULL COMMENT '数据社区身份证号【比对时的数据值】', + `POLICE_NAME` varchar(64) DEFAULT NULL COMMENT '公安部人员姓名', + `POLICE_ID_CARD` varchar(18) DEFAULT NULL COMMENT '公安部人员证件号', + `TYPE` varchar(1) NOT NULL DEFAULT '0' COMMENT '数据状态(0:未处理 1:已处理)', + `IDENTICAL` varchar(1) NOT NULL DEFAULT '0' COMMENT '信息一致性(0:否 1:是 2:-)2代表程序比对了没有匹配上', + `IS_COMPARISON` varchar(1) DEFAULT '0' COMMENT '是否比对过(0:否 1:是)', + `COMPARISON_RESULT` varchar(255) DEFAULT NULL COMMENT '比对结果说明', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除标识', + `REVISION` int(11) 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`), + UNIQUE KEY `resi_id` (`RESI_ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='居民信息与公安部信息比对记录表'; From ed353fcbbcd0a40f2c70c9888b65d4232cea45b4 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 15 Nov 2022 16:30:35 +0800 Subject: [PATCH 38/65] =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IcResiComparisonRecordServiceImpl.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java index fdb31f71a9..792774849f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java @@ -115,11 +115,11 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl Date: Tue, 15 Nov 2022 16:45:33 +0800 Subject: [PATCH 39/65] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/IcResiComparisonRecordServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java index 792774849f..78b76b12f7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java @@ -351,6 +351,10 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl Date: Tue, 15 Nov 2022 17:03:19 +0800 Subject: [PATCH 40/65] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/IcResiComparisonRecordDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml index bb438e5500..1301e1c4b3 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiComparisonRecordDao.xml @@ -96,7 +96,7 @@ AND b.type =#{type} - ORDER BY a.pids ASC, b.created_time DESC + ORDER BY a.pids ASC, b.created_time DESC, a.`NAME` ASC + + + From c11e4ee226b331f9839a25d1589c13ad0770cc01 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 16 Nov 2022 11:12:05 +0800 Subject: [PATCH 47/65] =?UTF-8?q?=E4=BA=BA=E6=88=B7=E7=8A=B6=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/OwnerRelationResultDTO.java | 5 ++ .../com/epmet/enums/RenHuConditionEnum.java | 52 +++++++++++++++++++ .../service/impl/IcResiUserServiceImpl.java | 6 +++ 3 files changed, 63 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/enums/RenHuConditionEnum.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java index 9a3e0c23d7..d42953a90e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java @@ -25,5 +25,10 @@ public class OwnerRelationResultDTO implements Serializable { private String userName; private String isSelf; private String relation; + + /** + * 人户状况 + */ + private String renHuCondition; } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/RenHuConditionEnum.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/RenHuConditionEnum.java new file mode 100644 index 0000000000..efdf23bbce --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/RenHuConditionEnum.java @@ -0,0 +1,52 @@ +package com.epmet.enums; + +import org.apache.commons.lang3.StringUtils; + +public enum RenHuConditionEnum { + + /** + * 人户一致,人在户不在,户在人不在, + * 为空的 暂不清楚 + */ + RHYZ("rhyz","人户一致"), + RZHBZ("rzhbz","人在户不在"), + HZRBZ("hzrbz","户在人不在"), + ZBQC("","暂不清楚"), + ; + + private String code; + private String name; + + public static String getNameByCode(String code){ + if (StringUtils.isBlank(code)){ + return ZBQC.name; + } + for (RenHuConditionEnum e : values()) { + if (e.getCode().equals(code)){ + return e.getName(); + } + } + return ZBQC.name; + } + + RenHuConditionEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 2618c0cea7..fe04e0453b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -63,6 +63,7 @@ import com.epmet.dto.result.demand.IcResiDemandDictDTO; import com.epmet.dto.result.demand.OptionDTO; import com.epmet.dto.result.resi.IcResiNonDynamicResultDTO; import com.epmet.entity.*; +import com.epmet.enums.RenHuConditionEnum; import com.epmet.excel.EpidemicPreventionExportExcel; import com.epmet.excel.support.ExportResiUserItemDTO; import com.epmet.feign.*; @@ -1478,6 +1479,11 @@ public class IcResiUserServiceImpl extends BaseServiceImpl Date: Wed, 16 Nov 2022 13:47:05 +0800 Subject: [PATCH 48/65] =?UTF-8?q?=E6=A0=B8=E9=85=B8=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E9=9D=9E=E5=BF=85=E5=A1=AB=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E2=80=9C=E8=AF=95=E7=AE=A1=E7=BC=96=E5=8F=B7=E2=80=9D?= =?UTF-8?q?=20=E5=AF=B9=E5=BA=94=E4=BA=A7=E8=9B=8B4679?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/IcNatDTO.java | 5 +++++ .../com/epmet/dto/form/AddIcNatFormDTO.java | 4 ++++ .../epmet/dto/result/MyNatListResultDTO.java | 5 +++++ .../epmet/dto/result/NatListResultDTO.java | 13 ++++++++++--- .../java/com/epmet/entity/IcNatEntity.java | 5 +++++ .../excel/data/IcNatImportExcelData.java | 3 +++ .../db/migration/V0.0.89_alter_ic_nat.sql | 4 ++++ .../src/main/resources/excel/ic_nat.xlsx | Bin 9198 -> 9824 bytes .../src/main/resources/mapper/IcNatDao.xml | 12 ++++++++---- 9 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.89_alter_ic_nat.sql diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index 1e8da051b1..de5e70080b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -107,6 +107,11 @@ public class IcNatDTO implements Serializable { */ private String attachmentUrl; + /** + * 试管编号 + */ + private String testTubeCode; + /** * 删除标识 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java index 1d7ba24673..b87f03d8d7 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddIcNatFormDTO.java @@ -89,6 +89,10 @@ public class AddIcNatFormDTO implements Serializable { * 附件地址 */ private String attachmentUrl; + /** + * 试管编号 + */ + private String testTubeCode; /** * 是否客户下居民(0:否 1:是) */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java index 355d52d213..59b0515e73 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyNatListResultDTO.java @@ -73,4 +73,9 @@ public class MyNatListResultDTO implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date reportTime; + /** + * 试管编号 + */ + private String testTubeCode; + } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java index a93294b14f..bba32c13af 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/NatListResultDTO.java @@ -73,14 +73,14 @@ public class NatListResultDTO implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") @ColumnWidth(25) - @ExcelProperty(value = "采样时间",order = 4) + @ExcelProperty(value = "采样时间",order = 5) private Date sampleTime; /** * 检测结果 */ @ColumnWidth(20) - @ExcelProperty(value = "检测结果",order = 5) + @ExcelProperty(value = "检测结果",order = 7) private String natResult; /** @@ -99,8 +99,15 @@ public class NatListResultDTO implements Serializable { * 检测地点 */ @ColumnWidth(30) - @ExcelProperty(value = "检测地点",order = 7) + @ExcelProperty(value = "检测地点",order = 6) private String natAddress; + /** + * 试管编号 + */ + @ColumnWidth(30) + @ExcelProperty(value = "试管编号",order = 8) + private String testTubeCode; + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index 7cbe8cdd66..3246d9be0a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -94,6 +94,11 @@ public class IcNatEntity extends BaseEpmetEntity { */ private String attachmentUrl; + /** + * 试管编号 + */ + private String testTubeCode; + @TableField(exist = false) private String agencyId; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java index b54c571f8f..b5b52f8ea4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java @@ -43,6 +43,9 @@ public class IcNatImportExcelData { @ExcelProperty("检测结果") private String natResultZh; + @ExcelProperty("试管编号") + private String testTubeCode; + @Data public static class RowRemarkMessage { diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.89_alter_ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.89_alter_ic_nat.sql new file mode 100644 index 0000000000..7925891a55 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.89_alter_ic_nat.sql @@ -0,0 +1,4 @@ +-- 核酸记录表增加非必填字段“试管编号” 对应产蛋4679 +ALTER TABLE `ic_nat` +ADD COLUMN `TEST_TUBE_CODE` varchar(255) NULL COMMENT '试管编号' AFTER `ATTACHMENT_URL`; + diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx index 524d327bd7032cf01b51e60fcf15ec903428035d..de671285c675f9d081984301a95e52efe00ced57 100644 GIT binary patch literal 9824 zcmeHtWmH^Q*Jk1FZovwd;O_1kEChFl!V}zrTks-yfS@6`2iFAm;O@bKhp*E8&YLvd zGyi9%&sud?optVhs?NU8-e=2IQ-p!V1;7Ik0RR9cAZaPFIT#862!sOwZ~&uF`jSqL zZWfMiM$f#REnE#)y&UW*@`j=4a{$ng`~MyP4``t5*^px=8)l2no~TrtcK4{HmKKoo zhObU;6oc)%1T*%+DJ$-eHgG{sU7osn18~sH%F@b8IP0K`@zSomjV;XZe;inR<3-b*L@+5?>e2|{%bQ_s@XD3i3AOmji|!%q_f zjabX!*Dnf9cW@w_B z+|+RRgF=~WFs6+W^!LJ>IVY5t#v&$8A=o2!hjsxBIy{`8I^hqDcfMCFyul!!K{=jD z^?0Wu`J7=Ny-77RfSM~tBxmE(1wOz%4=qjHST5Xrbw`h`eu?6`gx444OckW!@8DC- zNe|Y4z`IHxqV}5s=px`V2Bl+F9`3C*pO7^x_OT<*%kuf-z7Bm~s;VT$gJAsw2>^I_ zfB~re#RhQ<+brN9Hnlo80n-t{T#&nrb<)4#U&f33}xC61_cv7z=J%e6=* z-R?P3gp7_G&=xFWGGZ8GU&hV%swawHeuo9ZCd)L#^v!0AKHM=ZEb^VN#rRmyF*bey zG4$K=l$R&_Fp%q9YJ`MO8;_(U38}|7uie<*Dhc;;;bu(3CA_d#`xr4M41ir64WKlW z<#A{H4%2&n&doPTHVq3FYKM7Pki^GPbzxJu32sct6KbsSo&%SbOx0NVlJ@so;XV3cBPjKf+8EHNn|KO*v3D|j&@_{CkZvKVJ`DHDenp7~Bcy*C?mTC{_=nW`m zGrTY|+pYJ>(wt}I@FMBZq5sDnvv48ikh6E!GC>3N%p#D-_IIuaiX^3;Lsps~Tqgz~ zLV4Lg{gdvVP9Qr|Cnvj~C(eJU5Brn)5WD#Qdq7B}(9MR~dmMC(x#c)fK}7{Vk`8IL z^$mzu0)KSC=2*{eYt7AD2(@TE$G)=czr5#2KRmJ{?M9&83)WG?qd`2Uon7)oUdq@8 zBVcyV>kGriA=3h9r)G2(2uQiM6*q3=sG7YrR?^nRi}{Bp2Z}$7 zd(!h-ct4#OhuOnXt*S>JUs?*XE=+s#aEb1)K;nbEo9>k~x1*Qxs*vz7nU>$uGbW*!i z*Ua+{f2tuJ57*i^?%@nYn{+iTT&GZU1O#hn|6pl6(JgSOM{aWN(3FoAv?w@4j$C?M zaa!@(Q=ymmt#6vytAHi3!~Jkw5wN8VYIEMveFv5=u#n&(L1^d%lc7SLe9JGF?Zhtq z5_Q`t$gb)H82V$?i-Tm{wv%}5Wn7l937x#M*$6MQ|39kRrbye%1+wAUOm@ z0a=)9x`AvQtz3UvsC}ZcBD6SR-?8|zNm}!l3e&K%eR0Gl_hO6>JH;qR!*!f8OI(;p zyKo1|KwONakCL1EtEnzli%w%9_*_?Cw;o>o5E44Oiy3~e2~Rg`#zSLMEX$3^HZazr z9BJd_)<7^98sHMOQO-fbhgO=_5#88o!PXmij-3)l^JNiNf?20CwkL10M=BBef;4KV zNJnb;;zP0(O?0EC47>7zc&r5uBB(~9Arl;uBXO{f{G}okmJ7`i49_d=Ny^ikXM}TH z-qS+2Ckf*+AtvfJwTdzS<07;q@+@UX>Ao}pIi>5y^m`RlnPvEG+_xXf+@YTfcVc;} zlShtQ;H_|`>P4lHO*s9m_C<^l3f!RU1t!^1vP#$ zoxaR&>+A~?O}~BnejZDtC1PGoE46E3rO-BIwCvS zaHTI{en@(~dNUo0Dyhj!)u6QvV|p_WzmOV#iF^O5n$+Uc=BD$=CJ*>l=sk%gdIIxg z6Ljc?8G-eOZ?EQA+QqB*_P*jGu?WSROt7|Pz^JGwMD)e$;-OT9ssrx{yZpN6s$!Ae z$BS&u$wzpz4O~Z&jFy$yI-D9I)I3$GJ!anU)d?05*3kQL5bH}Wi z>mS=b&{K9I;l*qv*zwmrXiYHRr{!)NfH3A-iSJ#KXp*1#vE=(j^&4%Gj zZ2Bqwz0qGYMp9_ zCu1lvB0V`{krx?>iXAfLR-R&`XS8+SYa$5`j!uks$Lc_!(9V_C{kD!r<+D*06RAyj z{VvCx2ju2XicH5{es3;Ty7C#4i!H-lBbeeBeHZ%omhE~s698P;5966pyVX_8OUK;E zWl)2n0zQ||TMsirdGDMmU6$;M{ZT5#8y{|n{n&OSa9LX5H?Mk$+YFr?-1qSfgF!y7 zXv-x>7key_yVz-V-Ovmixaymurc&aO@)1X5e;ai2-*8Q4Z5DQ*@%R~&`u zMF6OYMFQo8`A5FN!l|_zNDZXn9LGylJ)6iOi;mvDR->2>n~csvES%Sh$k6WYWLfP?-Y5?@$&j&LNrU%_xkg;|Br9oP|NGq_MNi8j?U%?)fPeKz}nqUv%@E8 z?dd)AGTk4=*snYqj)rETmolmMIuFeRy)OCW!cn{&zJFR1h`v_B?i=P^>xO>9E^|rb z3BMASF%joHADgeAypo_N8|3eK zEs^~Rjw{C*5Im@2B;evrHe`BL?7^XAyh;^Y6VsP|7t-%Vn2)M*%x%OUA+;)iZP*L@ zmH6VrM1ALk9;mzXZd$Jt;-y%hKo4ws)vCvK#fWe1SlW5NVO+GUOK3Y`MWkQgr8H5p zd^772Z_NU)6@PwD9JED|tMgr3w}y)}ZSE&@bM&*&p{3Avu9KE(7$yP|oN&WmYkGFb1ub-Ua0fKi|o)9cIrbVw#b zOEej)MyD@D?RAYOm*sR7MX%T!dO(S_4K4cbOIc0{v0}AZw zTbdboJ@1)*@$p08`T#7#xKcBF9@SfaxX_W>&g*AjBhoVFIn;6C=q?;5C96C1AZ)uD zTgCuNtZ$J;DYBfvZ`vPmKU&e4Ytv3OjX?swTuE>%l!Et$5c`kl&un&en!! z7ZyNF$w0iyr-3$&S~8_PRFU91JL^8eqmjTV)UV7 zEnhC(-kl2Ymw~o2ao!iNV4dDR0U@eNDO^)YIDN5fWd|ko3iT*CW9Q3guYGdY`UvFL_EpD3cjBOQEi+*xs9*$kyypOew$O!~Mn1D|(r1|m z*=+*zHUuQPEGe^!QMO4rSGdI-h2&vz#>bq6Fi$=s_wiTZ>llgn-QK*fdv5wZAbF9G zG`%)M(=1(+wLs4etvGavA{4{*z<{*hS!HhUlzgc#f1VvKOTD)O0S|voKCqTHam09y zYrR?vigGjFgd}bLi+y{~OUjc$a@b}kwV<)d0uPr->;WAi;%Il`n z+xMelCbf57=OB%~H5X?g)PldvkFpvQ{B(N>?NM@oj#|ObgY0=? zkG8UsXI!ddAwmbz_RkweTN*eqFh=N~gPoMsH)bKyj7LKf1W(f(tja-k@yxcz_8b-* zELfE*`E51gCK?8O5oo$@O*|qUUG*O(6Y+fT`6^Db^~$zltu+KSVj1x|&fI{2h@R=~ zo=16Ixm~>3^A1D<14F-uyIh<#Z+W5`g1VBl%A1!6nd#bKh23-+nRR}y+QP63^&I0u zU>D7V)qX10e6&$wQVM^_`>L19BcT;>;iHy!oi!vsvN|Y|{c>|;1Bx^ih;u#ZChoso zne*(#wC*-&S|Mvi$W{XTs$J)klzXV)FeLT6i3YODm=h`Y zf3_5K>#AD}lSIdbVVdJxh!10I^WmEu$IKtr+ZQRg9!5hVo-li(y%iH+^rxc zHw>vO6aFnE{S}NRX)8J|uwgC|?2y4$==0J;u zierpsy%%#Fqof&1*vP9O$m8~NyYcrgPSMqL9mMZ~K2eFj}v`5>}j?Ko=AM6G&i%&x} zoy!dIfO^|bd=v)^+g{e=w&`QZNJvx30X}B&scKVNVwTMWxg{-=yU~}$?|nPwYoFPw z5FdkUA5R|Tuwxw=sN2#jQ%;;MyoDO^>GiTY; z9A4s2l&H1eG$57Ci-7gq%5KMln=dM02236PJhQ!GEn4@E8rHNaxU(i>bpmGBK>kd0 zOjf-vO2Llj5Rs9@S{<`RshW~-d7QBdszPO{qR2FEtVKrCC8_h0aA};eN~#ooXq7|u zdFlj(IyVHHXGbrwrpZQ)SE+Y(2-n`nhl=3&BRBlgTCk_nEj+kLKu5)vw!rJY@v zjv!}RSOPo~5heWcu})XPV8?a@@m>CAi&>KV)NP~o_6M)a(>ome4Z+RW<7abXyv4|F zvn$u|QD~uTgnE*_FD4YEMQlzndN{j|Vwutqx46SPRC1ykJZ8?|9qaGVR(&e@b^I4X z&TX=p^6Ju)SEIx6e1leU*+Jqa-QY}k`gI8;B}yk#sa(P}fx#&49~eXr|CrLZ{s>%S zf~;`C0swS>8mBWPmv^%OXhgKAN+$n%X!XXns}+7Q_5O-#a_oEfREs#^oFM z{L^SaJe)>_Zm%Uy6DBh44ZTRB?1;$g8IL-R@%)G-x5UL`aJmzn;O)AkX#_D1kI<8` z6>J6xsc3xJ6zeK@@k34&Z3WBjD~nzv718*NEqpe%?)~cxW-E_CH#Xx*PPU$ci3fN> z1FV>)rd}3(f};-5@f)USv=P$P!~3%jn(NHr{Z`=y9f zoJF2nk6JO54YMk(iQUpd-5l*O6>&aEx_Ja4Im|9ZPud-5gqTIvS2ud|@%vDwGpBbk zd{z5azRQ1^ z>dMNnrN0QwUTLvaj@SvwfsM9)$FYwsJQHJhF;TCfy_lEj zSp^rVd5jrU00SFWP6uqqn+u&iYnxA5|+6iT|Y^>UX#&klc zgq>XY2`Srhi~Rn~+n#-{!a+kaytg?T4S_-NlT9{B{ow4>>C6CwA{ApQ(>|HGJwk%= z#-)?#6CXGzwC)h*7sI*{x-tB5O(C_BFo|Rgp%`|dNnv=G(k5J)uUhqjB}Eh_vPtU@ zSzq53yyP^0yWY@SnXzTa>vQt5u@q4^vbyA>3{!#rpr{N2xo_Y=k9II#%Twe${eUId zV8L|cCDk4YCKOGMl+ce@u%fu#sL!fv8aXHx)Ylu}V?=;sU&rQUm>boxh%=+77zsDy zKV;Og+L-A}qn8K2x`Ta?^DC8N^3i;5L7`I0Gwsr+DU4OttWp_x;|YEqX{V%VuNWD!JbCv%mmgUg>##xFRyKnVuLfn<xMR*u0hzh7G~W!B@-AW4JiW7g>B3Y(!Ha-kn^pTQYU zIL4K>LDcYPW&#Dx0_k1+^GhzjboJ-Ae|Y6ZP4TY)f9=r!4iExKd4B8HKNkFJyYqKJ zXZSyg*8iL4=VP45EwEom1(1B}QA6yp@Z*NgFJT;rwLygc*4}xH@VMXb3!x6>zd!$f z>OMRMd|bZ&1=s*7*+Bl%<6{0}fX5Y{UjWnCf9~nO^`6I~k2BR@qVo8UH}flReT?!r zr2d7n1!+k@cJL^memwspztX-9_zKx?;{Q4NA4~t$ g$^I@~Nb#HWFPE#P2nQkY&k7qF;AiT;PW5y4Kd^X-ga7~l delta 7306 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 Hu6+IvcU3~$ diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml index f6daee080d..243fbebcd7 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcNatDao.xml @@ -16,7 +16,8 @@ nat_address natAddress, file_name fileName, attachment_url attachmentUrl, - created_time reportTime + created_time reportTime, + test_tube_code testTubeCode FROM ic_nat WHERE @@ -45,7 +46,8 @@ b.nat_time natTime, b.sample_time sampleTime, b.nat_result natResult, - b.nat_address natAddress + b.nat_address natAddress, + b.test_tube_code testTubeCode FROM ic_nat_relation a INNER JOIN ic_nat b ON a.IC_NAT_ID = b.ID @@ -93,7 +95,8 @@ nat_time natTime, sample_time sampleTime, nat_result natResult, - nat_address natAddress + nat_address natAddress, + test_tube_code testTubeCode FROM ic_nat WHERE @@ -134,7 +137,8 @@ nat_time, sample_time, nat_result, - nat_address + nat_address, + test_tube_code FROM ic_nat WHERE From 08a3d213c7b0f842f63fd485c9769e4bd89bf4ca Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 16 Nov 2022 13:49:34 +0800 Subject: [PATCH 49/65] =?UTF-8?q?=E4=BC=81=E4=BA=8B=E4=B8=9A=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E5=AF=BC=E5=85=A5=EF=BC=8C=E9=94=99=E8=AF=AFexcel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java index 91dfa20ed9..becc763ba3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/EnterpriseImportExcelDTO.java @@ -90,7 +90,7 @@ public class EnterpriseImportExcelDTO { * 默认0 */ @ColumnWidth(20) - @ExcelProperty(value = "场所类别(九小场所/企事业单位)") + @ExcelProperty(value = "场所类别") private String placeCategoryName; @ColumnWidth(20) From 88821961cd984b2ce4083cb1919aa3ee151d8a76 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 16 Nov 2022 14:11:18 +0800 Subject: [PATCH 50/65] =?UTF-8?q?=E4=BA=BA=E6=88=B7=E7=8A=B6=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/SubUserHouseListResultDTO.java | 15 ++++++++++ .../epmet/service/impl/HouseServiceImpl.java | 20 +++++++++++++ .../epmet/dto/form/RHZKStatisticsFormDTO.java | 28 ++++++++++++++++++ .../dto/result/RHZKStatisticsResultDTO.java | 1 + .../epmet/feign/EpmetUserOpenFeignClient.java | 4 +++ .../EpmetUserOpenFeignClientFallback.java | 5 ++++ .../controller/IcResiUserController.java | 11 +++++-- .../java/com/epmet/dao/IcResiUserDao.java | 2 +- .../com/epmet/service/IcResiUserService.java | 6 ++-- .../service/impl/IcResiUserServiceImpl.java | 29 +++++++++++++++---- .../main/resources/mapper/IcResiUserDao.xml | 17 ++++++++--- 11 files changed, 123 insertions(+), 15 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RHZKStatisticsFormDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java index 45ded6601b..a791a22fd0 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/SubUserHouseListResultDTO.java @@ -1,8 +1,10 @@ package com.epmet.dto.result; +import com.epmet.commons.tools.constant.NumConstant; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; /** * @author sun @@ -79,4 +81,17 @@ public class SubUserHouseListResultDTO implements Serializable { */ private Double ldUserRatio = 0.0; + /** + * 人户一致,人在户不在,户在人不在, + * 为空的 暂不清楚 + */ + private Integer rhyzUserTotal = NumConstant.ZERO; + private BigDecimal rhyzUserRatio = NumConstant.ZERO_DECIMAL; + private Integer rzhbzUserTotal = NumConstant.ZERO; + private BigDecimal rzhbzUserRatio = NumConstant.ZERO_DECIMAL; + private Integer hzrzUserTotal = NumConstant.ZERO; + private BigDecimal hzrzUserRatio = NumConstant.ZERO_DECIMAL; + private Integer zbqcUserTotal = NumConstant.ZERO; + private BigDecimal zbqcUserRatio = NumConstant.ZERO_DECIMAL; + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 31aa88b033..cc07bd0323 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -935,6 +935,13 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { if (!userResult.success()) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民人房统计数据失败" + userResult.getInternalMsg(), userResult.getMsg()); } + RHZKStatisticsFormDTO rhzkStatisticsFormDTO = new RHZKStatisticsFormDTO(); + rhzkStatisticsFormDTO.setOrgIds(idList); + rhzkStatisticsFormDTO.setOrgType(orgType); + Result> rhzkResult = epmetUserOpenFeignClient.renHuCondition(rhzkStatisticsFormDTO); + if (!rhzkResult.success()){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民人户状况统计数据失败" + rhzkResult.getInternalMsg(), rhzkResult.getMsg()); + } //3.汇总封装数据 SubUserHouseListResultDTO dto = null; for (String id : idList) { @@ -964,6 +971,19 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { dto.setLdUserRatio(u.getLdUserRatio()); } } + for (RHZKStatisticsResultDTO r : rhzkResult.getData()) { + if (r.getOrgId().equals(id)){ + dto.setRhyzUserTotal(r.getRhyzUserTotal()); + dto.setRhyzUserRatio(r.getRhyzUserRatio()); + dto.setRzhbzUserTotal(r.getRzhbzUserTotal()); + dto.setRzhbzUserRatio(r.getRzhbzUserRatio()); + dto.setHzrzUserTotal(r.getHzrzUserTotal()); + dto.setHzrzUserRatio(r.getHzrzUserRatio()); + dto.setZbqcUserTotal(r.getZbqcUserTotal()); + dto.setZbqcUserRatio(r.getZbqcUserRatio()); + dto.setUserTotal(r.getUserTotal()); + } + } list.add(dto); } return list; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RHZKStatisticsFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RHZKStatisticsFormDTO.java new file mode 100644 index 0000000000..1d74462fad --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RHZKStatisticsFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/11/16 13:26 + */ +@Data +public class RHZKStatisticsFormDTO implements Serializable { + private static final long serialVersionUID = -4474168123286467820L; + + private String orgId; + + private List orgIds; + + /** + * grid:网格;village:小区; + */ + private String orgType; + + private String staffId; + private String customerId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RHZKStatisticsResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RHZKStatisticsResultDTO.java index 5cdd7fc1dd..fc9e8d88ba 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RHZKStatisticsResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/RHZKStatisticsResultDTO.java @@ -30,6 +30,7 @@ public class RHZKStatisticsResultDTO implements Serializable { private Integer zbqcUserTotal = NumConstant.ZERO; private BigDecimal zbqcUserRatio = NumConstant.ZERO_DECIMAL; + private String orgId; @JsonIgnore private Integer total; @JsonIgnore diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index b24a4a9651..752ad14639 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -952,4 +952,8 @@ public interface EpmetUserOpenFeignClient { @PostMapping("/epmetuser/dataSyncConfig/disabilityInfoScanTask") Result disabilityInfoScanTask(@RequestBody DataSyncTaskParam formDTO); + + @PostMapping("/epmetuser/icresiuser/rhzkList") + Result> renHuCondition(@RequestBody RHZKStatisticsFormDTO formDTO); + } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index b675a7626b..0b50b901a6 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -741,4 +741,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result disabilityInfoScanTask(DataSyncTaskParam formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "disabilityInfoScanTask", formDTO); } + + @Override + public Result> renHuCondition(RHZKStatisticsFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "renHuCondition", formDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index a7eb0af5e8..e38645b163 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -1472,8 +1472,15 @@ public class IcResiUserController implements ResultDataResolver { * @Date 2022/11/16 09:22 */ @PostMapping("rhzk") - public Result renHuCondition(@LoginUser TokenDto tokenDto){ - return new Result().ok(icResiUserService.renHuCondition(tokenDto)); + public Result renHuCondition(@LoginUser TokenDto tokenDto,@RequestBody RHZKStatisticsFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + return new Result().ok(icResiUserService.renHuCondition(formDTO)); + } + + @PostMapping("rhzkList") + public Result> renHuConditionList(@RequestBody RHZKStatisticsFormDTO formDTO){ + return new Result>().ok(icResiUserService.renHuConditionList(formDTO)); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index b96b595ac1..2cab64a60b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -440,5 +440,5 @@ public interface IcResiUserDao extends BaseDao { */ ResiAndLocalResiResultDTO getResiCount(@Param("agencyId")String agencyId,@Param("idCard")String idCard,@Param("customerId")String customerId); - List getUserByRenHu(@Param("agencyId")String agencyId); + List getUserByRenHu(RHZKStatisticsFormDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 7bf36c3ecb..f346f2c3b1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -528,10 +528,12 @@ public interface IcResiUserService extends BaseService { /** * @Description 人户状况统计查询 - * @param tokenDto + * @param formDTO * @Author zxc * @Date 2022/11/16 09:22 */ - RHZKStatisticsResultDTO renHuCondition(TokenDto tokenDto); + RHZKStatisticsResultDTO renHuCondition(RHZKStatisticsFormDTO formDTO); + + List renHuConditionList(RHZKStatisticsFormDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index fe04e0453b..cda0e3ecc8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -3639,17 +3639,21 @@ public class IcResiUserServiceImpl extends BaseServiceImpl userByRenHu = baseDao.getUserByRenHu(staffInfo.getAgencyId()); + List userByRenHu = baseDao.getUserByRenHu(formDTO); RHZKStatisticsResultDTO r = new RHZKStatisticsResultDTO(); if (CollectionUtils.isEmpty(userByRenHu)){ return r; @@ -3680,6 +3684,19 @@ public class IcResiUserServiceImpl extends BaseServiceImpl renHuConditionList(RHZKStatisticsFormDTO formDTO) { + if (CollectionUtils.isEmpty(formDTO.getOrgIds())){ + return new ArrayList<>(); + } + List result = new ArrayList<>(); + formDTO.getOrgIds().forEach(o -> { + formDTO.setOrgId(o); + result.add(renHuCondition(formDTO)); + }); + return result; + } + /** * @Description * @param total 总人数 diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 22704d92d8..37abe1f808 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -1411,10 +1411,19 @@ (SELECT ID, IFNULL(RHZK,'') AS rhzk - FROM ic_resi_user - WHERE DEL_FLAG = '0' - AND `STATUS` = '0' - AND PIDS LIKE CONCAT('%',#{agencyId},'%')) t + FROM ic_resi_user + WHERE DEL_FLAG = '0' + AND `STATUS` = '0' + + AND PIDS LIKE CONCAT('%',#{orgId},'%') + + + AND GRID_ID = #{orgId} + + + AND VILLAGE_ID = #{orgId} + + ) t GROUP BY rhzk From e8e4112f36653bdc9ab22c6cc60265a2118118db Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 16 Nov 2022 14:54:39 +0800 Subject: [PATCH 51/65] =?UTF-8?q?=E4=BA=BA=E6=88=B7=E7=8A=B6=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/HouseServiceImpl.java | 22 +++++++++------- .../com/epmet/dto/form/UserChartFormDTO.java | 5 ++++ .../service/impl/IcResiUserServiceImpl.java | 1 + .../main/resources/mapper/IcResiUserDao.xml | 26 +++++++++++++++++-- 4 files changed, 42 insertions(+), 12 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index cc07bd0323..36c85a879a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -972,16 +972,18 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { } } for (RHZKStatisticsResultDTO r : rhzkResult.getData()) { - if (r.getOrgId().equals(id)){ - dto.setRhyzUserTotal(r.getRhyzUserTotal()); - dto.setRhyzUserRatio(r.getRhyzUserRatio()); - dto.setRzhbzUserTotal(r.getRzhbzUserTotal()); - dto.setRzhbzUserRatio(r.getRzhbzUserRatio()); - dto.setHzrzUserTotal(r.getHzrzUserTotal()); - dto.setHzrzUserRatio(r.getHzrzUserRatio()); - dto.setZbqcUserTotal(r.getZbqcUserTotal()); - dto.setZbqcUserRatio(r.getZbqcUserRatio()); - dto.setUserTotal(r.getUserTotal()); + if (StringUtils.isNotBlank(r.getOrgId())){ + if (r.getOrgId().equals(id)){ + dto.setRhyzUserTotal(r.getRhyzUserTotal()); + dto.setRhyzUserRatio(r.getRhyzUserRatio()); + dto.setRzhbzUserTotal(r.getRzhbzUserTotal()); + dto.setRzhbzUserRatio(r.getRzhbzUserRatio()); + dto.setHzrzUserTotal(r.getHzrzUserTotal()); + dto.setHzrzUserRatio(r.getHzrzUserRatio()); + dto.setZbqcUserTotal(r.getZbqcUserTotal()); + dto.setZbqcUserRatio(r.getZbqcUserRatio()); + dto.setUserTotal(r.getUserTotal()); + } } } list.add(dto); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserChartFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserChartFormDTO.java index 7d357089f6..b0b0db77d2 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserChartFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserChartFormDTO.java @@ -27,6 +27,11 @@ public class UserChartFormDTO implements Serializable { */ private String type; + /** + * 人户一致:rhyz;人在户不在:rzhbz;户在人不在:hzrbz;暂不清楚:no;全部:all + */ + private String rhType; + private Integer pageNo = 1; private Integer pageSize = 20; private Boolean isPage = true; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index cda0e3ecc8..c87e96b12c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -3660,6 +3660,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl { + r.setOrgId(u.getOrgId()); switch (u.getRhzk()){ case UserConstant.R_H_Y_Z: r.setRhyzUserTotal(u.getTotal()); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 37abe1f808..e2ea4571d3 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -1359,6 +1359,18 @@ AND (is_floating != '0' or is_floating is null) + + AND RHZK = 'rhyz' + + + AND RHZK = 'rzhbz' + + + AND RHZK = 'hzrbz' + + + AND(RHZK = '' or RHZK = null) + AND (agency_id = #{orgId} OR pids LIKE CONCAT('%', #{orgId}, '%')) @@ -1406,11 +1418,21 @@ SELECT - ID_CARD, - DATE_FORMAT(INOCULATE_TIME, '%Y-%m-%d %H:%i') AS inoculateDate + ID_CARD, + INOCULATE_TIME FROM ic_vaccine WHERE DEL_FLAG = '0' - AND ( - - (ID_CARD = #{l.cardno} AND DATE_FORMAT(INOCULATE_TIME, '%Y-%m-%d %H:%i') = #{l.inoculateDate}) - - ) + and ID_CARD IN + + #{v.cardno} + + + + + + From 1405eac691b6a1ae6b692e0d6550396f853f5962 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 17 Nov 2022 11:09:55 +0800 Subject: [PATCH 58/65] 89__ --- .../{V0.0.89_alter_ic_nat.sql => V0.0.89__alter_ic_nat.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename epmet-user/epmet-user-server/src/main/resources/db/migration/{V0.0.89_alter_ic_nat.sql => V0.0.89__alter_ic_nat.sql} (100%) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.89_alter_ic_nat.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.89__alter_ic_nat.sql similarity index 100% rename from epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.89_alter_ic_nat.sql rename to epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.89__alter_ic_nat.sql From 9a474878fce8e933d7a74064112ffa2ea52898ba Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 17 Nov 2022 13:00:21 +0800 Subject: [PATCH 59/65] =?UTF-8?q?=E4=BA=BA=E6=88=B7=E7=8A=B6=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/HouseServiceImpl.java | 4 ++++ .../java/com/epmet/dto/form/RHZKStatisticsFormDTO.java | 8 ++++++-- .../java/com/epmet/dto/result/OwnerRelationResultDTO.java | 2 +- .../src/main/java/com/epmet/enums/RenHuConditionEnum.java | 3 +++ .../com/epmet/service/impl/IcResiUserServiceImpl.java | 1 + 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 62a985443b..411cf85b80 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -927,6 +927,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { houseDTO.setOrgId(id); houseList.add(houseChart(houseDTO)); } + //start 2022.11.17需求:http://zentao.elinkservice.cn/story-view-718.html + //原来饼图是:居民总数、常住人口数、流动人口数 后改为下面的人户状况饼图,后面如果所有客户都上线了,就把第2步的查询注释掉。 //2.直属下级列表的居民数据 UserChartFormDTO userDTO = new UserChartFormDTO(); userDTO.setOrgType(orgType); @@ -935,6 +937,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { if (!userResult.success()) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民人房统计数据失败" + userResult.getInternalMsg(), userResult.getMsg()); } + //end + //3.居民总数、人户一致、人在户不在、户在人不在,没填写是暂不清楚 RHZKStatisticsFormDTO rhzkStatisticsFormDTO = new RHZKStatisticsFormDTO(); rhzkStatisticsFormDTO.setOrgIds(idList); rhzkStatisticsFormDTO.setOrgType(orgType); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RHZKStatisticsFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RHZKStatisticsFormDTO.java index 1d74462fad..8d42f50714 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RHZKStatisticsFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RHZKStatisticsFormDTO.java @@ -15,13 +15,17 @@ public class RHZKStatisticsFormDTO implements Serializable { private String orgId; - private List orgIds; - /** * grid:网格;village:小区; */ private String orgType; + /** + * /epmetuser/icresiuser/rhzkList调用会赋值 + */ + private List orgIds; + + //tokenDto中获取 private String staffId; private String customerId; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java index d42953a90e..8ec9b45ef1 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java @@ -27,7 +27,7 @@ public class OwnerRelationResultDTO implements Serializable { private String relation; /** - * 人户状况 + * 2022.11.17:人户状况:人户一致、人在户不在、户在人不在、暂不清楚 */ private String renHuCondition; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/RenHuConditionEnum.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/RenHuConditionEnum.java index efdf23bbce..a02850b7d6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/RenHuConditionEnum.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/RenHuConditionEnum.java @@ -2,6 +2,9 @@ package com.epmet.enums; import org.apache.commons.lang3.StringUtils; +/** + * 居民信息里的人户状况枚举类 + */ public enum RenHuConditionEnum { /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 3533aa822c..a621131f35 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -1479,6 +1479,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl Date: Fri, 18 Nov 2022 10:25:52 +0800 Subject: [PATCH 60/65] =?UTF-8?q?ic=5Fform=5Fitem=5Fgroup=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0GROUP=5FCODE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/IcFormItemGroupDTO.java | 14 +++++ .../com/epmet/dto/result/FormGroupDTO.java | 5 ++ .../epmet/entity/IcFormItemGroupEntity.java | 10 ++++ .../db/migration/V0.0.40__itemgroup_code.sql | 56 +++++++++++++++++++ .../src/main/resources/mapper/IcFormDao.xml | 7 ++- 5 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.40__itemgroup_code.sql diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcFormItemGroupDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcFormItemGroupDTO.java index 660171fce0..fa39a45b01 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcFormItemGroupDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcFormItemGroupDTO.java @@ -78,4 +78,18 @@ public class IcFormItemGroupDTO implements Serializable { */ private Boolean display; + /** + * 政策人员信息组件;1:展示;0:不展示;默认0 + */ + private String policyFlag; + + /** + * 1展示,0不展示,默认0 + */ + private String childShowFlag; + + /** + * 组编码,唯一标识 + */ + private String groupCode; } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FormGroupDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FormGroupDTO.java index 1b2a6c8964..297b4e7163 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FormGroupDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FormGroupDTO.java @@ -39,6 +39,11 @@ public class FormGroupDTO implements Serializable { */ private String tableName; + /** + *组编码,唯一标识 + */ + private String groupCode; + /** * 分组里面的组件 */ diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormItemGroupEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormItemGroupEntity.java index 0ce8f42320..9b0e91dde2 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormItemGroupEntity.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcFormItemGroupEntity.java @@ -79,4 +79,14 @@ public class IcFormItemGroupEntity extends BaseEpmetEntity { * 政策人员信息组件;1:展示;0:不展示;默认0 */ private String policyFlag; + + /** + * 1展示,0不展示,默认0 + */ + private String childShowFlag; + + /** + * 组编码,唯一标识 + */ + private String groupCode; } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.40__itemgroup_code.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.40__itemgroup_code.sql new file mode 100644 index 0000000000..0e11715c94 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.40__itemgroup_code.sql @@ -0,0 +1,56 @@ +alter table ic_form_item_group add COLUMN GROUP_CODE VARCHAR(32) DEFAULT '' COMMENT '组编码,唯一标识' after CHILD_SHOW_FLAG; + +update ic_form_item_group g set g.GROUP_CODE='jcxx' +where g.LABEL='基础信息'; + + +update ic_form_item_group g set g.GROUP_CODE='jyxx' +where g.LABEL='教育信息'; + +update ic_form_item_group g set g.GROUP_CODE='xqah' +where g.LABEL='兴趣爱好'; + +update ic_form_item_group g set g.GROUP_CODE='zjxy' +where g.LABEL='宗教信仰'; + +update ic_form_item_group g set g.GROUP_CODE='jkxx' +where g.LABEL='健康信息'; + +update ic_form_item_group g set g.GROUP_CODE='gzxx' +where g.LABEL='工作信息'; + +update ic_form_item_group g set g.GROUP_CODE='jjzk' +where g.LABEL='经济状况'; + +update ic_form_item_group g set g.GROUP_CODE='jzxx' +where g.LABEL='居住信息'; + +update ic_form_item_group g set g.GROUP_CODE='jtxx' +where g.LABEL='家庭信息'; + +update ic_form_item_group g set g.GROUP_CODE='dyxx' +where g.LABEL='党员信息'; + +update ic_form_item_group g set g.GROUP_CODE='bzfxx' +where g.LABEL='保障房信息'; + +update ic_form_item_group g set g.GROUP_CODE='syxx' +where g.LABEL='失业信息'; + +update ic_form_item_group g set g.GROUP_CODE='tyjrxx' +where g.LABEL='退役军人信息'; + +update ic_form_item_group g set g.GROUP_CODE='zyzxx' +where g.LABEL='志愿者信息'; + +update ic_form_item_group g set g.GROUP_CODE='tsrqxx' +where g.LABEL='特殊人群信息'; + +update ic_form_item_group g set g.GROUP_CODE='tzry' +where g.LABEL='统战人员'; + +update ic_form_item_group g set g.GROUP_CODE='lnrxx' +where g.LABEL='老年人信息'; + +update ic_form_item_group g set g.GROUP_CODE='resi_demand' +where g.LABEL='居民需求信息'; \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormDao.xml index d0cca510ad..6109c59bf5 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormDao.xml @@ -66,7 +66,8 @@ g.LABEL, g.sort, g.SUPPORT_ADD, - g.TABLE_NAME AS TABLE_NAME + g.TABLE_NAME AS TABLE_NAME, + g.GROUP_CODE FROM ic_form_item_group g WHERE @@ -124,6 +125,7 @@ + @@ -200,7 +202,8 @@ case when g.table_name is null or g.table_name ='' then 'ic_resi_user' else g.TABLE_NAME end - ) AS TABLE_NAME + ) AS TABLE_NAME, + g.GROUP_CODE FROM ic_form_item_group g WHERE From 824b783c044d7245dcc5c2370b5dff0748360105 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Nov 2022 10:44:38 +0800 Subject: [PATCH 61/65] =?UTF-8?q?=E6=95=B0=E5=AD=97=E7=A4=BE=E5=8C=BA?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcFormController.java | 3 +- .../epmet/service/impl/IcFormServiceImpl.java | 50 +++++++++---------- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java index dcb08f35e7..28a82969e6 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java @@ -52,9 +52,10 @@ public class IcFormController { /** * desc: 初始化 客户表单配置 + * 运营端-数字社区初始化 * * @param customerId - * @param formCode + * @param formCode value: resi_base_info * @return com.epmet.commons.tools.utils.Result * @author LiuJanJun * @date 2021/12/8 4:28 下午 diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java index 2871ac9a3e..be48d33692 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormServiceImpl.java @@ -172,7 +172,7 @@ public class IcFormServiceImpl extends BaseServiceImpl defaultIcForm.setCreatedTime(new Date()); defaultIcForm.setUpdatedBy("init_user"); defaultIcForm.setUpdatedTime(new Date()); - + // 1、设置ic_form int insert = baseDao.insert(defaultIcForm); log.info("insert icForm:" + insert); @@ -184,7 +184,7 @@ public class IcFormServiceImpl extends BaseServiceImpl return "默认配置错误"; } String defaultBaseInfoGroupId = "default_0"; - //设置ic_form_item + //2、设置ic_form_item itemList.forEach(item -> { item.setId(newPrefixed + item.getId()); item.setCustomerId(customerId); @@ -215,7 +215,7 @@ public class IcFormServiceImpl extends BaseServiceImpl icFormItemDao.insert(item); }); - //设置ic_form_item_options + //3、设置ic_form_item_options LambdaQueryWrapper wrapperOptions = new LambdaQueryWrapper<>(); wrapperOptions.eq(IcFormItemOptionsEntity::getCustomerId, defaultCustomerId); wrapperOptions.eq(IcFormItemOptionsEntity::getFormCode, formCode); @@ -233,7 +233,7 @@ public class IcFormServiceImpl extends BaseServiceImpl icFormItemOptionsDao.insert(item); }); - //设置ic_form_item_group + //4、设置ic_form_item_group LambdaQueryWrapper wrapperGroup = new LambdaQueryWrapper<>(); wrapperGroup.eq(IcFormItemGroupEntity::getCustomerId, defaultCustomerId); wrapperGroup.eq(IcFormItemGroupEntity::getFormCode, formCode); @@ -255,7 +255,7 @@ public class IcFormServiceImpl extends BaseServiceImpl icFormItemGroupDao.insert(item); }); - //设置ic_form_query_builder + //5、设置ic_form_query_builder LambdaQueryWrapper wrapperQuery = new LambdaQueryWrapper<>(); wrapperQuery.eq(IcFormQueryBuilderEntity::getCustomerId, defaultCustomerId); wrapperQuery.eq(IcFormQueryBuilderEntity::getFormCode, formCode); @@ -272,6 +272,26 @@ public class IcFormServiceImpl extends BaseServiceImpl icFormQueryBuilderDao.insert(item); }); + //6、设置ic_form_list_item + LambdaQueryWrapper listItemWapper = new LambdaQueryWrapper<>(); + listItemWapper.eq(IcFormListItemEntity::getCustomerId, defaultCustomerId); + listItemWapper.eq(IcFormListItemEntity::getFormCode, formCode); + List listItemList = icFormListItemDao.selectList(listItemWapper); + if (CollectionUtils.isEmpty(listItemList)) { + return "默认配置错误"; + } + listItemList.forEach(item -> { + item.setId(newPrefixed + item.getId()); + item.setCustomerId(customerId); + item.setFormItemId(newPrefixed + item.getFormItemId()); + item.setCreatedBy("init_user"); + item.setCreatedTime(new Date()); + item.setUpdatedBy("init_user"); + item.setUpdatedTime(new Date()); + log.debug("stats:"+ JSON.toJSONString(item)); + icFormListItemDao.insert(item); + }); + //设置ic_resi_category_stats_config LambdaQueryWrapper wrapperStats = new LambdaQueryWrapper<>(); wrapperStats.eq(IcResiCategoryStatsConfigEntity::getCustomerId, defaultCustomerId); @@ -302,26 +322,6 @@ public class IcFormServiceImpl extends BaseServiceImpl icResiCategoryWarnConfigDao.insert(item); }); - //设置ic_form_list_item - LambdaQueryWrapper listItemWapper = new LambdaQueryWrapper<>(); - listItemWapper.eq(IcFormListItemEntity::getCustomerId, defaultCustomerId); - listItemWapper.eq(IcFormListItemEntity::getFormCode, formCode); - List listItemList = icFormListItemDao.selectList(listItemWapper); - if (CollectionUtils.isEmpty(listItemList)) { - return "默认配置错误"; - } - listItemList.forEach(item -> { - item.setId(newPrefixed + item.getId()); - item.setCustomerId(customerId); - item.setFormItemId(newPrefixed + item.getFormItemId()); - item.setCreatedBy("init_user"); - item.setCreatedTime(new Date()); - item.setUpdatedBy("init_user"); - item.setUpdatedTime(new Date()); - log.debug("stats:"+ JSON.toJSONString(item)); - icFormListItemDao.insert(item); - }); - //设置ic_service_item_dict和ic_resi_demand_dict Result result = epmetHeartOpenFeignClient.customerInit(customerId); if (!result.success()) { From c9842b4f81ae42d0198565050ef9a20a2d5d3b25 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Nov 2022 12:58:29 +0800 Subject: [PATCH 62/65] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/CustomerAgencyController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 6a8c433250..e9fb4e56ef 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -342,6 +342,7 @@ public class CustomerAgencyController { /** * @Description 获取客户下组织树不含网格和部门 + * 哪些地方用到了比如:办事指南-指南管理查询条件 * @Param tokenDTO * @Return {@link Result< AgencyTreeResultDTO >} * @Author zhaoqifeng From 6962566bcfc97e531c8053fccc777bf79b2cce18 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Nov 2022 13:35:23 +0800 Subject: [PATCH 63/65] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/IcEventListFormDTO.java | 2 +- .../java/com/epmet/service/impl/IcEventServiceImpl.java | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java index c5330c05d8..b582675a11 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java @@ -1,7 +1,6 @@ package com.epmet.dto.form; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -28,6 +27,7 @@ public class IcEventListFormDTO implements Serializable { private String icEventId; /** * 所属组织 + * 前端传入,如果没传,默认查询登录用户所属组织及下级 */ private String agencyId; /** diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java index b37344a620..d40ff78a46 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java @@ -112,9 +112,11 @@ public class IcEventServiceImpl extends BaseServiceImpl list(IcEventListFormDTO formDTO) { - //获取当前工作人员缓存信息 - CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); - formDTO.setAgencyId(staffInfo.getAgencyId()); + if(StringUtils.isBlank(formDTO.getAgencyId())){ + //获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); + formDTO.setAgencyId(staffInfo.getAgencyId()); + } //分页查询当前组织下网格内事件数据 PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()); From 2031b00a2e34d3978be1158a322c5f8bd6c9bb8b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Nov 2022 15:47:04 +0800 Subject: [PATCH 64/65] =?UTF-8?q?selectListResiMap=E5=B0=8F=E5=AF=A8?= =?UTF-8?q?=E5=AD=90=E5=86=99=E6=AD=BB=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/IcResiUserDao.xml | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 7c73dcb419..d0a425e4fe 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -182,6 +182,7 @@ + From cd9097dc5c60dd891441bc5d018803efe7e3e76e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Nov 2022 16:02:29 +0800 Subject: [PATCH 65/65] IC_RESI_USER --- .../src/main/resources/mapper/IcResiUserDao.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index a9624783a8..ec51178649 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -216,12 +216,12 @@ ORDER BY - field( i.GRID_ID, '1537272060187049986', '1537272342477508609', '1537275342477501111', '1593432493598076929' ), - i.VILLAGE_ID ASC, - i.BUILD_ID ASC, - i.UNIT_ID ASC, - i.HOME_ID ASC, - i.ID ASC + field( IC_RESI_USER.GRID_ID, '1537272060187049986', '1537272342477508609', '1537275342477501111', '1593432493598076929' ), + IC_RESI_USER.VILLAGE_ID ASC, + IC_RESI_USER.BUILD_ID ASC, + IC_RESI_USER.UNIT_ID ASC, + IC_RESI_USER.HOME_ID ASC, + IC_RESI_USER.ID ASC ORDER BY