diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index bf6d9f270e..c8c245b15a 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -486,7 +486,8 @@ epmet: - /data/aggregator/** - /gov/voice/** - /resi/voice/** - - /epmet/point/** + - /point/** + - /heart/** # 内部认证url白名单(在白名单中的,就不会再校验登录了) internalAuthUrlsWhiteList: diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/UserBaseInfoDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/UserBaseInfoDao.java index e79c563c0a..4d77b2b91e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/UserBaseInfoDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/UserBaseInfoDao.java @@ -55,5 +55,5 @@ public interface UserBaseInfoDao extends BaseDao { * @Description 查询userId的身份证号在小程序用户中存在的多个userId值 * @author sun */ - List getUserBaseList(@Param("userId") String userId, @Param("customerId") String customerId); + List getUserBaseList(@Param("customerId") String customerId, @Param("userId") String userId, @Param("idCard") String idCard); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 7a94473802..cbe81adec8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -35,6 +35,8 @@ import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity; import com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.service.datastats.DataStatsService; +import com.epmet.dataaggre.entity.epmetuser.*; +import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService; @@ -721,7 +723,13 @@ public class EpmetUserServiceImpl implements EpmetUserService { */ @Override public List getUserBaseList(String userId, String customerId) { - return userBaseInfoDao.getUserBaseList(userId, customerId); + List resultList = new ArrayList<>(); + List list = userBaseInfoDao.getUserBaseList(customerId, userId, null); + if (!CollectionUtils.isEmpty(list) && StringUtils.isNotBlank(list.get(0).getIdNum())) { + return userBaseInfoDao.getUserBaseList(customerId, null, list.get(0).getIdNum()); + } + resultList.addAll(list); + return resultList; } /** diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/UserBaseInfoDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/UserBaseInfoDao.xml index 6c118e2ce0..9ba9386fb3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/UserBaseInfoDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/UserBaseInfoDao.xml @@ -41,13 +41,24 @@ \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java index 5837b45aea..1e1fd873c9 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java @@ -34,4 +34,6 @@ import java.util.List; public interface IcServiceItemDictDao extends BaseDao { List pageList(String customerId); + + IcServiceItemDictEntity selectMax(String customerId); } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java index 1868076ade..2d5e5a530d 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java @@ -74,6 +74,7 @@ public class IcServiceItemDictServiceImpl extends BaseServiceImpl nameQuery = new LambdaQueryWrapper<>(); nameQuery.eq(IcServiceItemDictEntity::getCustomerId, formDTO.getCustomerId()) @@ -90,10 +91,8 @@ public class IcServiceItemDictServiceImpl extends BaseServiceImpl maxQuery = new LambdaQueryWrapper<>(); - maxQuery.eq(IcServiceItemDictEntity::getCustomerId, formDTO.getCustomerId()) - .orderByDesc(IcServiceItemDictEntity::getCategoryCode).last("limit 1"); - IcServiceItemDictEntity max = baseDao.selectOne(maxQuery); + //如果说当前查询的编码是1022,但是库里面1023已经存在且del_flag='0'。这个时候新增的编码为1023就会报错。 + IcServiceItemDictEntity max = baseDao.selectMax(formDTO.getCustomerId()); // 获取编码 IcServiceItemDictEntity insert = new IcServiceItemDictEntity(); insert.setCustomerId(formDTO.getCustomerId()); diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml index f89b3c6a83..787ccb9d66 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml @@ -18,4 +18,17 @@ d.SORT DESC + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencydetailFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencydetailFormDTO.java index 9383b68e93..8aa8482fdb 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencydetailFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AgencydetailFormDTO.java @@ -17,6 +17,7 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -36,7 +37,7 @@ public class AgencydetailFormDTO implements Serializable { /** * 内部错误分组 * */ - public interface AddUserInternalGroup{} + public interface AddUserInternalGroup extends CustomerClientShowGroup {} /** * 机关组织Id diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 8ec1a74273..7131b42ed2 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -549,7 +549,7 @@ public interface GovOrgOpenFeignClient { */ @PostMapping("/gov/org/agency/getsonagencyid") Result> getSonAgencyId(@RequestParam("orgId")String orgId,@RequestParam("type")String type); - + // /icbuilding/{id}?id=demoData /** @@ -588,4 +588,12 @@ public interface GovOrgOpenFeignClient { Result> getStaffGridList(@RequestParam("customerId") String customerId, @RequestParam("orgId") String orgId, @RequestParam("orgType") String orgType); + + /** + * 查询单元 + * @param id + * @return + */ + @GetMapping("/gov/org/icbuildingunit/{id}") + Result getUnitById(@PathVariable("id") String id); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index e75fc705fc..70dd8e4db2 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -384,4 +384,8 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result> getStaffGridList(String customerId, String orgId, String orgType) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getStaffGridList",customerId, orgId, orgType); } + @Override + public Result getUnitById(String id) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getUnitById", id); + } } 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 db2a0eec32..e097d3b38d 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 @@ -405,4 +405,14 @@ public class CustomerAgencyController { return new Result().ok(customerAgencyService.icResiUserOrgMsg(formDTO)); } + /** + * @Description根据组织Id查询扇形组织网格树 + * @author sun + **/ + @PostMapping("rootagencygridtree") + public Result rootAgencyGridTree(@RequestBody AgencydetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AgencydetailFormDTO.AddUserInternalGroup.class); + return new Result().ok(customerAgencyService.rootAgencyGridTree(formDTO.getAgencyId())); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 3e4f44cd36..855fae6038 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -283,4 +283,9 @@ public interface CustomerAgencyService extends BaseService **/ IcResiUserOrgMsgResultDTO icResiUserOrgMsg(IcResiUserOrgMsgFormDTO formDTO); + /** + * @Description根据组织Id查询扇形组织网格树 + * @author sun + **/ + AgencyTreeResultDTO rootAgencyGridTree(String agencyId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 7403df24f9..db8174b51d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -30,6 +30,8 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerAgencyConstant; @@ -1401,4 +1403,37 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl re.REPORT_USER_ID = #{epmetUserId} + order by re.CREATED_TIME desc diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java index 7a7f7d51cc..968987940e 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java @@ -1,6 +1,7 @@ package com.epmet.dto.result; import com.epmet.commons.tools.constant.NumConstant; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -37,5 +38,8 @@ public class IndividualCategoryListResultDTO implements Serializable { private String id; + @JsonIgnore + private String warnConfigId; + private Integer count = NumConstant.ZERO; } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/SubTableJoinDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/SubTableJoinDTO.java new file mode 100644 index 0000000000..a7b950d891 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/SubTableJoinDTO.java @@ -0,0 +1,13 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class SubTableJoinDTO implements Serializable { + private static final long serialVersionUID = 8243764437194993736L; + private String tableName; + private String joinTableSql; +} diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java index 0ccbfa1655..133f98ab11 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java @@ -25,7 +25,7 @@ import java.util.Set; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:16 */ -//@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class,url = "http://localhost:8089") +// @FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class,url = "http://localhost:8089") @FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class) public interface OperCustomizeOpenFeignClient { @@ -75,7 +75,7 @@ public interface OperCustomizeOpenFeignClient { * @date 2021/11/1 1:07 下午 */ @PostMapping(value = "/oper/customize/icform/querySubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) - Result> querySubTables(@RequestBody CustomerFormQueryDTO queryDTO); + Result> querySubTables(@RequestBody CustomerFormQueryDTO queryDTO); @PostMapping(value = "/oper/customize/icform/queryIcResiSubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) Result> queryIcResiSubTables(@RequestBody CustomerFormQueryDTO queryDTO); diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java index 9dec3f4afe..a8fdcbff41 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java @@ -61,7 +61,7 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe } @Override - public Result> querySubTables(CustomerFormQueryDTO formDto) { + public Result> querySubTables(CustomerFormQueryDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "querySubTables", formDto); } 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 8466ceb6a6..cce2730c6f 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 @@ -133,9 +133,9 @@ public class IcFormController { * @date 2021/11/1 1:25 下午 */ @PostMapping(value = "querySubTables") - Result> querySubTables(@RequestBody CustomerFormQueryDTO formQueryDTO){ + Result> querySubTables(@RequestBody CustomerFormQueryDTO formQueryDTO){ ValidatorUtils.validateEntity(formQueryDTO,CustomerFormQueryDTO.AddUserInternalGroup.class); - return new Result>().ok(icFormItemService.querySubTables(formQueryDTO.getCustomerId(),formQueryDTO.getFormCode())); + return new Result>().ok(icFormItemService.querySubTables(formQueryDTO.getCustomerId(),formQueryDTO.getFormCode())); } @PostMapping(value = "queryIcResiSubTables") diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java index a0ad3ad839..d20a49202a 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java @@ -18,10 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dto.result.ColumnTableNameResultDTO; -import com.epmet.dto.result.ConditionResultDTO; -import com.epmet.dto.result.IcFormResColumnDTO; -import com.epmet.dto.result.TableHeaderResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.IcFormItemEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -62,7 +59,7 @@ public interface IcFormItemDao extends BaseDao { * @author yinzuomei * @date 2021/11/1 1:25 下午 */ - List querySubTables(@Param("customerId") String customerId, @Param("formCode")String formCode); + List querySubTables(@Param("customerId") String customerId, @Param("formCode")String formCode); Set queryIcResiSubTables(@Param("customerId") String customerId, @Param("formCode")String formCode); diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java index f9eb17f8e3..a5cab9bc23 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java @@ -46,7 +46,7 @@ public interface IcFormItemService extends BaseService { List queryConditions(String customerId,String formCode); - List querySubTables(String customerId, String formCode); + List querySubTables(String customerId, String formCode); Set queryIcResiSubTables(String customerId, String formCode); diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java index 697aaca89e..f53226d51c 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java @@ -21,24 +21,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.StrConstant; -import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.IcFormItemDao; -import com.epmet.dto.IcFormItemDTO; import com.epmet.dto.form.CustomerFormQueryDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcFormItemEntity; import com.epmet.service.IcFormItemService; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; /** * 表单项 @@ -100,7 +97,7 @@ public class IcFormItemServiceImpl extends BaseServiceImpl querySubTables(String customerId, String formCode) { + public List querySubTables(String customerId, String formCode) { return baseDao.querySubTables(customerId,formCode); } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java index 68529e158c..cd8de6e447 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java @@ -9,13 +9,11 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcIndividualCategoryManageDao; import com.epmet.dto.IcResiCategoryStatsConfigDTO; +import com.epmet.dto.form.CategoryCountListFormDTO; import com.epmet.dto.form.EditIndividualCategoryFormDTO; import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; import com.epmet.dto.form.StatsResiListFormDTO; -import com.epmet.dto.result.IcStatsResiResultDTO; -import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO; -import com.epmet.dto.result.IndividualCategoryAllListResultDTO; -import com.epmet.dto.result.IndividualCategoryListResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.IcIndividualCategoryManageEntity; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; @@ -27,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 个人分类管理 @@ -54,27 +53,22 @@ public class IcIndividualCategoryManageServiceImpl extends BaseServiceImpl> list = userOpenFeignClient.getPersonCategoryList(formDTO); - if (!list.success()){ - throw new EpmetException("查询人员分类下人数失败..."); - } - List datas = list.getData(); List result = baseDao.individualCategoryList(tokenDto.getUserId()); - if (CollectionUtils.isNotEmpty(datas) && CollectionUtils.isNotEmpty(result)){ - result.forEach( r -> datas.stream().filter( d -> d.getId().equals(r.getId())).forEach(d -> r.setCount(d.getCount()))); - return result; - } - if (CollectionUtils.isEmpty(datas) && CollectionUtils.isNotEmpty(result)){ - return result; - } if (CollectionUtils.isEmpty(result)){ return new ArrayList<>(); } - return new ArrayList<>(); + CategoryCountListFormDTO formDTO = new CategoryCountListFormDTO(); + formDTO.setConfigList(result.stream().map(m -> m.getWarnConfigId()).collect(Collectors.toList())); + formDTO.setOrgId(staffInfo.getAgencyId()); + Result> list = userOpenFeignClient.getPersonCategoryList(formDTO); + if (!list.success()){ + throw new EpmetException("查询人员分类下人数失败..."); + } + List datas = list.getData(); + if (CollectionUtils.isNotEmpty(datas)){ + result.forEach( r -> datas.stream().filter( d -> d.getConfigId().equals(r.getWarnConfigId())).forEach(d -> r.setCount(d.getCount()))); + } + return result; } /** diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml index c9b16fd11c..9af84eaee4 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml @@ -113,9 +113,10 @@ - select - CONCAT('left join ',temp.TABLE_NAME, ' on ( ic_resi_user.ID=',temp.TABLE_NAME,'.IC_RESI_USER and ',temp.TABLE_NAME,'.del_flag="0" )') as subTables + temp.TABLE_NAME as tableName, + CONCAT('left join ',temp.TABLE_NAME, ' on ( ic_resi_user.ID=',temp.TABLE_NAME,'.IC_RESI_USER and ',temp.TABLE_NAME,'.del_flag="0" )') as joinTableSql from ( SELECT DISTINCT m.TABLE_NAME diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml index 68036233b5..8979fb442c 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml @@ -15,9 +15,11 @@ sc.LABEL, sc.MANAGEMENT_ICON, sc.COLUMN_NAME, - sc.id AS id + sc.id AS id, + wc.ID AS warnConfigId FROM ic_individual_category_manage cm INNER JOIN ic_resi_category_stats_config sc ON (sc.ID = cm.COLUMN_ID AND sc.DEL_FLAG = '0' AND `STATUS` = 'show') + INNER JOIN ic_resi_category_warn_config wc ON (sc.COLUMN_NAME = wc.COLUMN_NAME AND wc.DEL_FLAG = '0' AND wc.CUSTOMER_ID = sc.CUSTOMER_ID) WHERE cm.DEL_FLAG = 0 AND cm.USER_ID = #{userId} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index edc3a74476..1e970897f2 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -94,7 +94,7 @@ public class IssueServiceImpl implements IssueService { issueDetailResult.setTopicInfo(topicInfoDTOResult == null ? new TopicInfoDTO() : topicInfoDTOResult); } - /*if("branch".equals(topicInfoDTOResult.getGroupType())){//支部小组话题发起人显示真实姓名 + if (null != topicInfoDTOResult && "branch".equals(topicInfoDTOResult.getGroupType())) {//支部小组话题发起人显示真实姓名 List userIdList = new ArrayList<>(); userIdList.add(issueResult.getUserId()); Result> result = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList); @@ -118,8 +118,8 @@ public class IssueServiceImpl implements IssueService { IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData(); issueDetailResult.setIssueInitiator(initiatorResult == null ? HallConstat.NULL_CHARACTER_STRING : initiatorResult.getIssueInitiator()); } - }*/ - issueDetailResult.setIssueInitiator(topicInfoDTOResult.getPublishedUser()); + } + //issueDetailResult.setIssueInitiator(topicInfoDTOResult.getPublishedUser()); //判断是否投票 CheckVoteFormDTO formDTO = new CheckVoteFormDTO(); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CategoryCountListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CategoryCountListFormDTO.java new file mode 100644 index 0000000000..86a236a47c --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CategoryCountListFormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/1/21 1:43 下午 + * @DESC + */ +@Data +public class CategoryCountListFormDTO implements Serializable { + + private static final long serialVersionUID = 1563081091285509142L; + + private List configList; + + private String orgId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CategoryCountListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CategoryCountListResultDTO.java new file mode 100644 index 0000000000..375cb1ad1e --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CategoryCountListResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/1/21 1:44 下午 + * @DESC + */ +@Data +public class CategoryCountListResultDTO implements Serializable { + + private static final long serialVersionUID = -8441192101441016588L; + + private String configId; + + private Integer count; +} 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 1b9ac976c6..d929df7e4f 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 @@ -25,8 +25,8 @@ import java.util.Set; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:09 */ - @FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class, url = "localhost:8087") -//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class) + // @FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class, url = "localhost:8087") +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallbackFactory = EpmetUserOpenFeignClientFallbackFactory.class) public interface EpmetUserOpenFeignClient { /** @@ -710,6 +710,6 @@ public interface EpmetUserOpenFeignClient { Result resiRelationInfo(@RequestParam("userId")String userId); @PostMapping("/epmetuser/statsresiwarn/list2") - Result> getPersonCategoryList(@RequestBody StatsResiListFormDTO formDTO); + Result> getPersonCategoryList(@RequestBody CategoryCountListFormDTO 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 bde8bf2e8c..5bd1aa581e 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 @@ -524,7 +524,7 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien } @Override - public Result> getPersonCategoryList(StatsResiListFormDTO formDTO) { + public Result> getPersonCategoryList(CategoryCountListFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getPersonCategoryList", 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 ddc1eed9c6..9c2113a603 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 @@ -254,6 +254,9 @@ public class IcResiUserController { pageFormDTO.setCustomerId(tokenDto.getCustomerId()); pageFormDTO.setStaffId(tokenDto.getUserId()); ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class); + if(null==pageFormDTO.getConditions()){ + pageFormDTO.setConditions(new ArrayList<>()); + } return new Result>>().ok(icResiUserService.pageResiMap(pageFormDTO)); } @@ -343,7 +346,7 @@ public class IcResiUserController { .collect(Collectors.toList()); List> resiResultList = null; - pageFormDTO.setPageSize(NumConstant.FIVE_HUNDRED); + pageFormDTO.setPageSize(NumConstant.TEN_THOUSAND); for (IcResiUserTableEnum tableEnum : resiTableList) { String tableName = tableEnum.getTableName(); pageFormDTO.setPageNo(NumConstant.ONE); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java index 1be35d69b5..e02214518a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StatsResiWarnController.java @@ -22,9 +22,11 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.CategoryCountListFormDTO; import com.epmet.dto.form.StatsResiListFormDTO; import com.epmet.dto.form.StatsResiWarnCountFormDTO; import com.epmet.dto.form.StatsResiWarnFormDTO; +import com.epmet.dto.result.CategoryCountListResultDTO; import com.epmet.dto.result.IcStatsResiResultDTO; import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO; import com.epmet.dto.result.IcStatsResiWarnUserResultDTO; @@ -74,9 +76,8 @@ public class StatsResiWarnController { * @date 2022/1/20 2:11 下午 */ @PostMapping("list2") - public Result> list2(@RequestBody StatsResiListFormDTO formDTO){ - ValidatorUtils.validateEntity(formDTO); - return new Result>().ok(statsResiWarnService.list2(formDTO)); + public Result> list2(@RequestBody CategoryCountListFormDTO formDTO){ + return new Result>().ok(statsResiWarnService.list2(formDTO)); } @PostMapping("buildingwarnlist") diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java index 941421fc33..2b8dcf8263 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StatsResiWarnService.java @@ -17,7 +17,9 @@ package com.epmet.service; +import com.epmet.dto.form.CategoryCountListFormDTO; import com.epmet.dto.form.StatsResiListFormDTO; +import com.epmet.dto.result.CategoryCountListResultDTO; import com.epmet.dto.result.IcStatsResiResultDTO; import com.epmet.dto.result.IcStatsResiWarnBuildingResultDTO; import com.epmet.dto.result.IcStatsResiWarnUserResultDTO; @@ -39,7 +41,7 @@ public interface StatsResiWarnService{ List list(String customerId,String id, String level); - List list2(StatsResiListFormDTO formDTO); + List list2(CategoryCountListFormDTO formDTO); void resiWarn(String customerId); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 43e3263c94..7e8a5166e1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -11,29 +11,35 @@ import com.epmet.bean.ResiImportResiCategoryChangedCache; import com.epmet.bean.ResiImportChangedData; 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.dto.result.OptionResultDTO; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.ResultDataResolver; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.security.user.LoginUserUtil; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcResiUserDao; +import com.epmet.dao.IcUserChangeDetailedDao; +import com.epmet.dao.IcUserChangeRecordDao; +import com.epmet.dao.IcUserTransferRecordDao; import com.epmet.dto.*; -import com.epmet.dto.form.GridOptionFormDTO; -import com.epmet.dto.form.HouseFormDTO; -import com.epmet.dto.form.LoginUserDetailsFormDTO; -import com.epmet.dto.result.FormItemResult; -import com.epmet.dto.result.LoginUserDetailsResultDTO; -import com.epmet.dto.result.OptionDTO; -import com.epmet.dto.result.ResiCategoryItemResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; +import com.epmet.entity.IcUserChangeDetailedEntity; +import com.epmet.entity.IcUserChangeRecordEntity; +import com.epmet.entity.IcUserTransferRecordEntity; import com.epmet.enums.IcResiUserTableEnum; import com.epmet.excel.handler.DynamicEasyExcelListener; import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; -import com.epmet.service.IcResiUserImportService; +import com.epmet.service.*; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import lombok.Data; @@ -74,7 +80,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res /** * 居民类别items列表 */ - public static final ThreadLocal> resiCategoryItemsCache = new ThreadLocal<>(); + public static final ThreadLocal> resiCategoryItemsCache = new ThreadLocal<>(); /** * key: itemId @@ -103,6 +109,19 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res @Autowired private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient; + @Autowired + private IcUserChangeRecordDao icUserChangeRecordDao; + + @Autowired + private IcUserChangeDetailedDao icUserChangeDetailedDao; + + @Autowired + private IcUserTransferRecordDao icUserTransferRecordDao; + + @Autowired + private UserService userService; + + /** * @description 列信息封装 * @@ -196,10 +215,11 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res userForm.setClient(loginUserClient); userForm.setUserId(loginUserId); - LoginUserDetailsResultDTO loginUserDetails = getResultDataOrThrowsException(epmetUserOpenFeignClient.getLoginUserDetails(userForm), ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null, null); - String currUserAgencyId = loginUserDetails.getAgencyId(); + String currUserAgencyId = userService.getLoginUserDetails( + loginUserUtil.getLoginUserApp(), + loginUserUtil.getLoginUserClient(), + loginUserUtil.getLoginUserId()).getAgencyId(); - //String excelPathName = "/opt/test/基础信息表/resi_info.xls"; CustomerAgencyDTO agencyInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(currUserAgencyId), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null, null); String customerId = agencyInfo.getCustomerId(); @@ -230,9 +250,15 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res // 执行人员类别变更记录 Map newResis = categoryChangedResi.get().getNewResis(); + // todo 此处没测试 Map categoryChangedResis = categoryChangedResi.get().getCategoryChangedResis(); Map transferedResis = categoryChangedResi.get().getTransferedResis(); + //保存调动或者变更记录 + saveNewResiCategoryRecord(newResis); + saveResiCategoryChangedRecord(categoryChangedResis); + saveTransferedResiRecord(transferedResis); + try { downLoadResults(response); } catch (IOException e) { @@ -275,8 +301,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res String.format("【居民信息导入】查询居民类别items失败,customerId:%s", customerId), "居民信息导入失败"); - List l = resiCategoryItems.stream().map(ResiCategoryItemResultDTO::getColumnName).collect(Collectors.toList()); - resiCategoryItemsCache.set(l); + Map columnNameAndLabel = resiCategoryItems.stream().collect(Collectors.toMap((o) -> o.getColumnName(), (o) -> o.getLabel())); + + resiCategoryItemsCache.set(columnNameAndLabel); } /** @@ -434,7 +461,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res columnAndValues.put("ID", UUID.randomUUID().toString().replace("-", "")); icResiUserDao.add(tableName, columnAndValues); - Map categories = resiCategoryItemsCache.get() + Map categories = resiCategoryItemsCache.get().keySet() .stream() .filter((categoryColumnName) -> "1".equals(columnAndValues.get(categoryColumnName))) .collect(Collectors.toMap((k) -> k, (k) -> columnAndValues.get(k))); @@ -507,19 +534,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res String icResiId = icResiUserBaseInfo.getId(); - //if (CollectionUtils.isNotEmpty(icResiUserDao.selectSubTableRecords(customerId, icResiId, targetTableName))) { - // log.info("身份证号为【{}】的居民【{}】信息已存在,跳过导入", idCard, targetTableName); - // - // SkipedRow skipedRow = new SkipedRow(); - // skipedRow.setName(columnAndValues.get("NAME")); - // skipedRow.setIdCard(columnAndValues.get("ID_CARD")); - // skipedRow.setInfo("信息已存在,跳过导入"); - // skipedRow.setTableName(targetTableName); - // skipedRows.get().get(targetTableName).add(skipedRow); - // - // continue; - //} - columnAndValues.put("IC_RESI_USER", icResiId); columnAndValues.put("CUSTOMER_ID", loginUserUtil.getLoginUserCustomerId()); columnAndValues.put("UPDATED_BY", currentUserId); @@ -543,6 +557,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res icResiUserDao.add(targetTableName, columnAndValues); } + // 保存到类别变更缓存中 + saveSubTableInfoToCategoryChangedResiCache(icResiId, Objects.requireNonNull(IcResiUserTableEnum.getObjectByTableName(targetTableName)).getMainTableFlagColumnName()); + } catch (Exception e) { String errorMsg; if (e instanceof RenException) { @@ -1005,36 +1022,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res workbook.write(response.getOutputStream()); } - public ResiImportCategoryData generateResiImportChangeData(String agencyId, String gridId, String villageId, String buildId, String unitId, - String homeId , Map categories) { - ResiImportCategoryData ricd = new ResiImportCategoryData(); - ricd.setAgencyId(agencyId); - ricd.setBuildId(buildId); - ricd.setGridId(gridId); - ricd.setVillageId(villageId); - ricd.setUnitId(unitId); - ricd.setHomeId(homeId); - ricd.setCategories(categories); - return ricd; - } - - ///** - // * 判断是否有组织维度的变化 - // * @param existingResiMap - // * @param newResiMap - // * @return - // */ - //public boolean isOrgDimChanged(Map existingResiMap, Map newResiMap) { - // return !existingResiMap.get("AGENCY_ID").equals(newResiMap.get("AGENCY_ID")) - // || !existingResiMap.get("GRID_ID").equals(newResiMap.get("GRID_ID")) - // || !existingResiMap.get("VILLAGE_ID").equals(newResiMap.get("VILLAGE_ID")) - // || !existingResiMap.get("BUILD_ID").equals(newResiMap.get("BUILD_ID")) - // || !existingResiMap.get("UNIT_ID").equals(newResiMap.get("UNIT_ID")) - // || !existingResiMap.get("HOME_ID").equals(newResiMap.get("HOME_ID")) - //} - /** * 生成导入调动数据 + * 1.新老数据中,只要状态是1的,都放入缓存 * @param existingResiMap * @param newResiMap * @return @@ -1055,7 +1045,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res HashMap existingResiCategories = new HashMap<>(); HashMap newResiCategories = new HashMap<>(); - for (String categoryColumnName : resiCategoryItemsCache.get()) { + for (String categoryColumnName : resiCategoryItemsCache.get().keySet()) { String oldCategoryValue = existingResiMap.get(categoryColumnName); String newCategoryValue = newResiMap.get(categoryColumnName); @@ -1077,7 +1067,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res existingResiMap.get("HOME_ID"), existingResiCategories); - ResiImportCategoryData newOne = new ResiImportCategoryData(existingResiMap.get("AGENCY_ID"), + ResiImportCategoryData newOne = new ResiImportCategoryData( + existingResiMap.get("AGENCY_ID"), newResiMap.get("GRID_ID"), newResiMap.get("VILLAGE_ID"), newResiMap.get("BUILD_ID"), @@ -1090,6 +1081,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res /** * 类别变更的居民信息封装 + * 1. * @param existingResiMap * @param newResiMap * @return @@ -1099,7 +1091,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res HashMap oldCategories = new HashMap<>(); HashMap newCategories = new HashMap<>(); - List categoryColumnNames = resiCategoryItemsCache.get(); + Set categoryColumnNames = resiCategoryItemsCache.get().keySet(); for (String categoryColumnName : categoryColumnNames) { String existingColumnValue = existingResiMap.get(categoryColumnName); String newColumnValue = newResiMap.get(categoryColumnName); @@ -1107,19 +1099,16 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res if (StringUtils.isAllBlank(existingColumnValue, newColumnValue)) { // 都为空,则没发生变化 continue; - } else if (StringUtils.isNoneBlank(existingColumnValue, newColumnValue)) { - // 都不为空,则执行比较 + } else { + // 先转为0再对比 + if (StringUtils.isBlank(existingColumnValue)) existingColumnValue = "0"; + if (StringUtils.isBlank(newColumnValue)) newColumnValue = "0"; + if (!existingColumnValue.equals(newColumnValue)) { oldCategories.put(categoryColumnName, existingColumnValue); newCategories.put(categoryColumnName, newColumnValue); - continue; } - } else { - // 一个为空一个不为空,则发生变化 - oldCategories.put(categoryColumnName, existingColumnValue); - newCategories.put(categoryColumnName, newColumnValue); } - } if (oldCategories.size() == 0) { @@ -1145,4 +1134,491 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res return new ResiImportChangedData(oldOne, newOne); } + + /** + * + * @param icResiId 居民id + * @param columnName 该项信息在主表的列名 + */ + private void saveSubTableInfoToCategoryChangedResiCache(String icResiId, String columnName) { + + ResiImportResiCategoryChangedCache cc = categoryChangedResi.get(); + Map newResis = cc.getNewResis(); + Map categoryChangedResis = cc.getCategoryChangedResis(); + Map transferedResis = cc.getTransferedResis(); + + ResiImportCategoryData newResi = newResis.get(icResiId); + if (newResi != null) { + //说明是新增居民 + newResi.getCategories().put(columnName, "1"); + return; + } + + ResiImportChangedData categoryChangedData = categoryChangedResis.get(icResiId); + if (categoryChangedData != null) { + // 说明是类别变更的居民 + Map oldCategories = categoryChangedData.getOldData().getCategories(); + Map newCategories = categoryChangedData.getNewData().getCategories(); + + if (!oldCategories.containsKey(columnName)) { + // 没有这个类别,说明旧数据中是0,新数据中也是0,新数据改成1 + oldCategories.put(columnName, "0"); + newCategories.put(columnName, "1"); + } else { + // 有这个类别,说明旧数据中是1,新数据中是0,新数据改成1,最后保存的时候,需要判断,新旧都是1,那么不创建变更记录 + newCategories.put(columnName, "1"); + } + return; + } + + ResiImportChangedData transferedData = transferedResis.get(icResiId); + if (transferedData != null) { + // 说明是发生调动的居民,旧数据不用管了,新数据改成1 + Map newCategories = transferedData.getNewData().getCategories(); + newCategories.put(columnName, "1"); + return; + } + + // 非新增,非调动,那么就是居民类别变更的,只不过变更的数据不在主sheet中,而在附sheet中 + ResiImportCategoryData oldOne = new ResiImportCategoryData(); + ResiImportCategoryData newOne = new ResiImportCategoryData(); + + oldOne.getCategories().put(columnName, "0"); + newOne.getCategories().put(columnName, "1"); + + ResiImportChangedData cd = new ResiImportChangedData(oldOne, newOne); + categoryChangedResis.put(icResiId, cd); + } + + /** + * 居民类别变更record + */ + public void saveResiCategoryChangedRecord(Map categoryChangedResis) { + + Date now = new Date(); + + CustomerStaffInfoCacheResult operator = CustomerStaffRedis.getStaffInfo(loginUserUtil.getLoginUserCustomerId(), loginUserUtil.getLoginUserId()); + + // 循环当前居民的所有类别的map + for (Map.Entry entry : categoryChangedResis.entrySet()) { + String resiId = entry.getKey(); + + ResiImportCategoryData oldData = entry.getValue().getOldData(); + ResiImportCategoryData newData = entry.getValue().getNewData(); + Map oldCategories = oldData.getCategories(); + Map newCategories = newData.getCategories(); + + StringBuilder sbBefore = new StringBuilder(""); + StringBuilder sbAfter = new StringBuilder(""); + + //主表的语言描述 + for (Map.Entry newEntry : newCategories.entrySet()) { + String columnName = newEntry.getKey(); + String newColumnValue = newEntry.getValue(); + String oldColumnValue = oldCategories.get(columnName); + + if (newColumnValue.equals(oldColumnValue)) { + continue; + } + + String beforeValueName = "0".equals(oldColumnValue) ? "否" : "是"; + String newValueName = "0".equals(newColumnValue) ? "否" : "是"; + + String label = resiCategoryItemsCache.get().get(columnName); + + sbBefore.append(label).append(":").append(beforeValueName).append("\n"); + sbAfter.append(label).append(":").append(newValueName).append("\n"); + } + + // 生成changeRecord并存入 + IcResiUserEntity resiInfo = icResiUserDao.selectById(resiId); + IcUserChangeRecordEntity changeRecord = fillChangeRecord(loginUserUtil.getLoginUserCustomerId(), resiId, resiInfo.getName(), null, loginUserUtil.getLoginUserId(), + operator.getRealName() , sbBefore.toString(), sbAfter.toString(), "category", "类别", "", now); + icUserChangeRecordDao.insert(changeRecord); + + for (Map.Entry columnEntry : newCategories.entrySet()) { + String newValue = columnEntry.getValue(); + String oldValue = oldCategories.get(columnEntry.getKey()); + oldValue = oldValue == null ? "0" : oldValue; + + if (newValue.equals(oldValue)) { + // 新旧值相等,跳过 + continue; + } + + int value = newValue.equals("1") && oldValue.equals("0") ? 1 : -1; + + + IcUserChangeDetailedEntity newDetail = fillChangeDetail(loginUserUtil.getLoginUserCustomerId(), resiId, changeRecord.getId(), newData.getAgencyId(), + newData.getGridId(), newData.getVillageId(), newData.getBuildId(), newData.getUnitId(), + newData.getHomeId(), "category", "类别", columnEntry.getKey(), value, resiInfo.getPids()); + + icUserChangeDetailedDao.insert(newDetail); + } + } + } + + /** + * 保存新增居民类别记录 + * @param newResis + */ + public void saveNewResiCategoryRecord(Map newResis) { + Date now = new Date(); + + CustomerStaffInfoCacheResult operator = CustomerStaffRedis.getStaffInfo(loginUserUtil.getLoginUserCustomerId(), loginUserUtil.getLoginUserId()); + + for (Map.Entry resi : newResis.entrySet()) { + String resiId = resi.getKey(); + ResiImportCategoryData data = resi.getValue(); + + IcResiUserEntity resiInfo = icResiUserDao.selectById(resiId); + + // 插入changeRecord + IcUserChangeRecordEntity changeRecord = fillChangeRecord(loginUserUtil.getLoginUserCustomerId(), resiId, resiInfo.getName(), null, + loginUserUtil.getLoginUserId(), operator.getRealName(), "-", "-", + "add", "新增", "", now); + icUserChangeRecordDao.insert(changeRecord); + + // 插入changeDetail + for (Map.Entry column : data.getCategories().entrySet()) { + IcUserChangeDetailedEntity changedetail = fillChangeDetail(loginUserUtil.getLoginUserCustomerId(), resiId, changeRecord.getId(), data.getAgencyId(), + data.getGridId(), data.getVillageId(), data.getBuildId(), data.getUnitId(), + data.getHomeId(), "add", "新增", column.getKey(), 1, resiInfo.getPids()); + + icUserChangeDetailedDao.insert(changedetail); + } + } + + } + + /** + * 调动居民变更记录 + * @param transferedResis + */ + public void saveTransferedResiRecord(Map transferedResis) { + Date now = new Date(); + for (Map.Entry resi : transferedResis.entrySet()) { + String customerId = loginUserUtil.getLoginUserCustomerId(); + + String resiId = resi.getKey(); + ResiImportCategoryData oldData = resi.getValue().getOldData(); + ResiImportCategoryData newData = resi.getValue().getNewData(); + + StringBuilder sbBefore = new StringBuilder(); + StringBuilder sbAfter = new StringBuilder(); + + String oldAgencyId = oldData.getAgencyId(); + String oldGridId = oldData.getGridId(); + String oldvillageId = oldData.getVillageId(); + String oldBuildId = oldData.getBuildId(); + String oldUnitId = oldData.getUnitId(); + String oldHomeId = oldData.getHomeId(); + // + String newAgencyId = newData.getAgencyId(); + String newGridId = newData.getGridId(); + String newvillageId = newData.getVillageId(); + String newBuildId = newData.getBuildId(); + String newUnitId = newData.getUnitId(); + String newHomeId = newData.getHomeId(); + + IcResiUserOrgMsgFormDTO oldOrgFormDTO = new IcResiUserOrgMsgFormDTO(); + oldOrgFormDTO.setCustomerId(customerId); + oldOrgFormDTO.setAgencyId(oldData.getAgencyId()); + oldOrgFormDTO.setGridId(oldData.getGridId()); + oldOrgFormDTO.setNeighborHoodId(oldData.getVillageId()); + oldOrgFormDTO.setBuildingId(oldData.getBuildId()); + oldOrgFormDTO.setBuildingUnitId(oldData.getUnitId()); + oldOrgFormDTO.setHouseId(oldData.getHomeId()); + Result oldOrgInfoRst = govOrgOpenFeignClient.icResiUserOrgMsg(oldOrgFormDTO); + + IcResiUserOrgMsgFormDTO newOrgInfo = new IcResiUserOrgMsgFormDTO(); + newOrgInfo.setCustomerId(customerId); + newOrgInfo.setAgencyId(newData.getAgencyId()); + newOrgInfo.setGridId(newData.getGridId()); + newOrgInfo.setNeighborHoodId(newData.getVillageId()); + newOrgInfo.setBuildingId(newData.getBuildId()); + newOrgInfo.setBuildingUnitId(newData.getUnitId()); + newOrgInfo.setHouseId(newData.getHomeId()); + Result newOrgInfoRst = govOrgOpenFeignClient.icResiUserOrgMsg(newOrgInfo); + + IcResiUserOrgMsgResultDTO oldOrg = null; + IcResiUserOrgMsgResultDTO newOrg = null; + + if (oldOrgInfoRst.success()) { + oldOrg = oldOrgInfoRst.getData(); + } + + if (newOrgInfoRst.success()) { + newOrg = newOrgInfoRst.getData(); + } + + // 生成中文描述 + if (oldOrg != null) { + CustomerGridDTO gridDTO = oldOrg.getGridDTO(); + IcNeighborHoodDTO neighborHoodDTO = oldOrg.getNeighborHoodDTO(); + IcBuildingDTO buildingDTO = oldOrg.getBuildingDTO(); + IcBuildingUnitDTO buildingUnitDTO = oldOrg.getBuildingUnitDTO(); + IcHouseDTO houseDTO = oldOrg.getHouseDTO(); + + if (gridDTO != null) { + sbBefore.append(gridDTO.getGridName()); + } + if (neighborHoodDTO != null) { + sbBefore.append("-").append(neighborHoodDTO.getNeighborHoodName()); + } + if (buildingDTO != null) { + sbBefore.append("-").append(buildingDTO.getBuildingName()); + } + if (buildingUnitDTO != null) { + sbBefore.append("-").append(buildingUnitDTO.getUnitName()); + } + if (houseDTO != null) { + sbBefore.append("-").append(houseDTO.getHouseName()); + } + } + + if (newOrg != null) { + CustomerGridDTO gridDTO = newOrg.getGridDTO(); + IcNeighborHoodDTO neighborHoodDTO = newOrg.getNeighborHoodDTO(); + IcBuildingDTO buildingDTO = newOrg.getBuildingDTO(); + IcBuildingUnitDTO buildingUnitDTO = newOrg.getBuildingUnitDTO(); + IcHouseDTO houseDTO = newOrg.getHouseDTO(); + + if (gridDTO != null) { + sbAfter.append(gridDTO.getGridName()); + } + if (neighborHoodDTO != null) { + sbAfter.append("-").append(neighborHoodDTO.getNeighborHoodName()); + } + if (buildingDTO != null) { + sbAfter.append("-").append(buildingDTO.getBuildingName()); + } + if (buildingUnitDTO != null) { + sbAfter.append("-").append(buildingUnitDTO.getUnitName()); + } + if (houseDTO != null) { + sbAfter.append("-").append(houseDTO.getHouseName()); + } + } + + CustomerStaffInfoCacheResult operator = CustomerStaffRedis.getStaffInfo(customerId, loginUserUtil.getLoginUserId()); + + IcResiUserEntity resiInfo = icResiUserDao.selectById(resiId); + + // 保存 transferRecord + IcUserTransferRecordEntity transferRecord = fillTransferRecord(resiInfo, operator, customerId, oldAgencyId, oldGridId, + oldvillageId, oldBuildId, oldUnitId, oldHomeId, customerId, + newAgencyId, newGridId, newvillageId, newBuildId, newUnitId, newHomeId, oldOrg, newOrg); + icUserTransferRecordDao.insert(transferRecord); + + // 保存 changeRecord + IcUserChangeRecordEntity changeRecord = fillChangeRecord(customerId, resiId, resiInfo.getName(), transferRecord.getId(), operator.getStaffId(), + operator.getRealName(), sbBefore.toString(), sbAfter.toString(), "transfer", "调动", "", now); + icUserChangeRecordDao.insert(changeRecord); + + // 保存 changeDetail + for (Map.Entry oldCategories : oldData.getCategories().entrySet()) { + String key = oldCategories.getKey(); + String value = oldCategories.getValue(); + + // 之前是这个类型,那这个类型需要-1 + IcUserChangeDetailedEntity changeDetail = fillChangeDetail(customerId, resiId, changeRecord.getId(), oldData.getAgencyId(), + oldData.getGridId(), oldData.getVillageId(), oldData.getBuildId(), oldData.getUnitId(), + oldData.getHomeId(), "category", "调动", key, -1, resiInfo.getPids()); + + icUserChangeDetailedDao.insert(changeDetail); + } + + for (Map.Entry newCategories : newData.getCategories().entrySet()) { + String key = newCategories.getKey(); + String value = newCategories.getValue(); + + // 现在是这个类型,这个类型要+1 + IcUserChangeDetailedEntity changeDetail = fillChangeDetail(customerId, resiId, changeRecord.getId(), newData.getAgencyId(), + newData.getGridId(), newData.getVillageId(), newData.getBuildId(), newData.getUnitId(), + newData.getHomeId(), "category", "调动", key, 1, resiInfo.getPids()); + + icUserChangeDetailedDao.insert(changeDetail); + } + } + } + + /** + * 填充变更明细 + * @param customerId + * @param resiId + * @param changeRecordId + * @param agencyId + * @param gridId + * @param neighborhoodId + * @param buildingId + * @param initId + * @param houseId + * @param type + * @param typeName + * @param fieldName + * @param value + * @param pids + * @return + */ + private IcUserChangeDetailedEntity fillChangeDetail(String customerId, String resiId, String changeRecordId, String agencyId, String gridId, + String neighborhoodId, String buildingId, String initId, String houseId, + String type, String typeName, String fieldName, Integer value, String pids) { + IcUserChangeDetailedEntity detail = new IcUserChangeDetailedEntity(); + detail.setCustomerId(customerId); + detail.setIcUserChangeRecordId(changeRecordId); + detail.setPids(pids); + detail.setAgencyId(agencyId); + detail.setGridId(gridId); + detail.setNeighborHoodId(neighborhoodId); + detail.setBuildingId(buildingId); + detail.setBuildingUnitId(initId); + detail.setHouseId(houseId); + detail.setIcUserId(resiId); + detail.setType(type); + detail.setTypeName(typeName); + detail.setFieldName(fieldName); + detail.setValue(value); + return detail; + } + + /** + * 填充变更记录 + * @param customerId + * @param resiId + * @param resiName + * @param transferRecordId + * @param operatorId + * @param operatorName + * @param beforeChangeName + * @param afterChangeName + * @param type + * @param typeName + * @param remark + * @param changeTime + * @return + */ + private IcUserChangeRecordEntity fillChangeRecord(String customerId, String resiId, String resiName, String transferRecordId, + String operatorId, String operatorName, String beforeChangeName, String afterChangeName, + String type, String typeName, String remark, Date changeTime) { + IcUserChangeRecordEntity changeRecord = new IcUserChangeRecordEntity(); + changeRecord.setAfterChangeName(afterChangeName); + changeRecord.setBeforeChangeName(beforeChangeName); + changeRecord.setChangeTime(changeTime); + changeRecord.setCustomerId(customerId); + changeRecord.setIcUserId(resiId); + changeRecord.setIcUserName(resiName); + changeRecord.setIcUserTransferRecordId(transferRecordId); + changeRecord.setOperatorId(operatorId); + changeRecord.setOperatorName(operatorName); + changeRecord.setRemark(remark); + changeRecord.setType(type); + changeRecord.setTypeName(typeName); + + return changeRecord; + } + + /** + * 填充调动记录 + * @param resiInfo + * @param operator + * @param oldCustomerId + * @param oldAgencyId + * @param oldGridId + * @param oldVillageId + * @param oldBuildId + * @param oldUnitId + * @param oldHomeId + * @param newCustomerId + * @param newAgencyId + * @param newGridId + * @param newVillageId + * @param newBuildId + * @param newUnitId + * @param newHomeId + * @return + */ + private IcUserTransferRecordEntity fillTransferRecord(IcResiUserEntity resiInfo, CustomerStaffInfoCacheResult operator, String oldCustomerId, String oldAgencyId, String oldGridId, + String oldVillageId, String oldBuildId, String oldUnitId, String oldHomeId, String newCustomerId, + String newAgencyId, String newGridId, String newVillageId, String newBuildId, String newUnitId, + String newHomeId, IcResiUserOrgMsgResultDTO oldOrg, IcResiUserOrgMsgResultDTO newOrg) { + + IcUserTransferRecordEntity recordEntity = new IcUserTransferRecordEntity(); + recordEntity.setIcUserId(resiInfo.getId()); + recordEntity.setOperatorId(operator.getStaffId()); + recordEntity.setIcUserName(resiInfo.getName()); + recordEntity.setOperatorName(operator.getRealName()); + recordEntity.setOldCustomerId(oldCustomerId); + recordEntity.setOldAgencyId(oldAgencyId); + recordEntity.setOldAgencyName(oldOrg != null ? oldOrg.getAgencyDTO().getOrganizationName() : ""); + recordEntity.setOldGridId(oldGridId); + recordEntity.setOldGridName(oldOrg != null ? oldOrg.getGridDTO().getGridName() : ""); + recordEntity.setOldNeighborHoodId(oldVillageId); + recordEntity.setOldNeighborHoodName(oldOrg != null ? oldOrg.getNeighborHoodDTO().getNeighborHoodName() : ""); + recordEntity.setOldBuildingId(oldBuildId); + recordEntity.setOldBuildingName(oldOrg != null ? oldOrg.getBuildingDTO().getBuildingName() : ""); + recordEntity.setOldBuildingUnitId(oldUnitId); + recordEntity.setOldBuildingUnitName(oldOrg != null ? oldOrg.getBuildingUnitDTO().getUnitName() : ""); + recordEntity.setOldHouseId(oldHomeId); + recordEntity.setOldHouseName(oldOrg != null ? oldOrg.getHouseDTO().getHouseName() : ""); + recordEntity.setTransferTime(new Date()); + recordEntity.setRemark(""); + recordEntity.setNewCustomerId(newCustomerId); + recordEntity.setNewAgencyId(newAgencyId); + recordEntity.setNewAgencyName(newOrg != null ? newOrg.getAgencyDTO().getOrganizationName(): ""); + recordEntity.setNewGridId(newGridId); + recordEntity.setNewGridName(newOrg != null ? newOrg.getGridDTO().getGridName(): ""); + recordEntity.setNewNeighborHoodId(newVillageId); + recordEntity.setNewNeighborHoodName(newOrg != null ? newOrg.getNeighborHoodDTO().getNeighborHoodName(): ""); + recordEntity.setNewBuildingId(newBuildId); + recordEntity.setNewBuildingName(newOrg != null ? newOrg.getBuildingDTO().getBuildingName(): ""); + recordEntity.setNewBuildingUnitId(newUnitId); + recordEntity.setNewBuildingUnitName(newOrg != null ? newOrg.getBuildingUnitDTO().getUnitName(): ""); + recordEntity.setNewHouseId(newHomeId); + recordEntity.setNewHouseName(newOrg != null ? newOrg.getHouseDTO().getHouseName(): ""); + + return recordEntity; + } + + + + + //private IcUserTransferRecordEntity fillTransferRecord(String resiId, String resiName, String operatorId, String operatorName, String oldCustomerId, + // String oldAgencyId, String oldAgencyName, String oldGridId, String oldGridName, String neighborhoodId, + // String neighborhoodName, String oldBuildingId, String oldBuildingName, ) { + + //IcUserTransferRecordEntity recordEntity = new IcUserTransferRecordEntity(); + //recordEntity.setIcUserId(); + //recordEntity.setOperatorId(); + //recordEntity.setIcUserName(); + //recordEntity.setOperatorName(); + //recordEntity.setOldCustomerId(); + //recordEntity.setOldAgencyId(); + //recordEntity.setOldAgencyName(); + //recordEntity.setOldGridId(); + //recordEntity.setOldGridName(); + //recordEntity.setOldNeighborHoodId(); + //recordEntity.setOldNeighborHoodName(); + //recordEntity.setOldBuildingId(); + //recordEntity.setOldBuildingName(); + //recordEntity.setOldBuildingUnitId(); + //recordEntity.setOldBuildingUnitName(); + //recordEntity.setOldHouseId(); + //recordEntity.setOldHouseName(); + //recordEntity.setTransferTime(); + //recordEntity.setRemark(); + //recordEntity.setNewCustomerId(); + //recordEntity.setNewAgencyId(); + //recordEntity.setNewAgencyName(); + //recordEntity.setNewGridId(); + //recordEntity.setNewGridName(); + //recordEntity.setNewNeighborHoodId(); + //recordEntity.setNewNeighborHoodName(); + //recordEntity.setNewBuildingId(); + //recordEntity.setNewBuildingName(); + //recordEntity.setNewBuildingUnitId(); + //recordEntity.setNewBuildingUnitName(); + //recordEntity.setNewHouseId(); + //recordEntity.setNewHouseName(); + //} } 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 8ccf84a9bb..89dd3d511b 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 @@ -493,9 +493,29 @@ public class IcResiUserServiceImpl extends BaseServiceImpl resultColumns = resultColumnRes.getData(); + // 查询结果列对应的表: + Set resultColumnTables=resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet()); + // 查询列表展示项需要用到哪些子表 - Result> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1); - List subTables =subTablesRes.getData(); + Result> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1); + List subTables =subTablesRes.getData(); + log.info("1、所有的子表subTables:"+JSON.toJSONString(subTables,true)); + + //关联哪些子表:查询条件用到的表名+查询的列对应的表 并集去重 + Set whereConditionTables=formDTO.getConditions().stream().map(ResiUserQueryValueDTO::getTableName).collect(Collectors.toSet()); + Set tables=new HashSet<>(); + tables.addAll(whereConditionTables); + tables.addAll(resultColumnTables); + log.info("2、查询条件+查询列对应的tables并集去重:"+ JSON.toJSONString(tables,true)); + //最终关联的子表对应的sql: + List finalSubTables =new ArrayList<>(); + subTables.forEach(subTable->{ + if(tables.contains(subTable.getTableName())){ + finalSubTables.add(subTable.getJoinTableSql()); + } + }); + + PageInfo> pageInfo=new PageInfo<>(); if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) { //分页 @@ -505,14 +525,15 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> list=baseDao.selectListResiMap(formDTO.getCustomerId(), formDTO.getFormCode(), formDTO.getConditions(), resultColumns, - subTables,staffInfoCacheResult.getAgencyId(), + finalSubTables, + staffInfoCacheResult.getAgencyId(), staffOrgPath,null, formDTO.getKeyword()); pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size()); pageInfo.setList(list); @@ -575,7 +596,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO); + Result> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO); List subTables=new ArrayList<>(); if(subTablesRes.success()&&CollectionUtils.isNotEmpty(subTablesRes.getData())){ - subTables =subTablesRes.getData(); + subTables =subTablesRes.getData().stream().map(SubTableJoinDTO::getJoinTableSql).collect(Collectors.toList()); } return baseDao.dynamicQuery(customerId,resultTableName,conditions,subTables,currentStaffAgencyId,staffOrgPath); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java index 1e61c9cf54..9d1470f253 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java @@ -186,7 +186,7 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl(result,result.size()); + return new PageData<>(result,count.get()); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java index 122fca634e..10710e8437 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java @@ -9,6 +9,8 @@ import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcStatsResiWarnDao; import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.IcResiCategoryWarnConfigDTO; +import com.epmet.dto.PersonWarnLeftPieDTO; +import com.epmet.dto.form.CategoryCountListFormDTO; import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; import com.epmet.dto.form.StatsResiListFormDTO; import com.epmet.dto.result.*; @@ -195,8 +197,15 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { } @Override - public List list2(StatsResiListFormDTO formDTO) { - return this.list(formDTO.getCustomerId(), formDTO.getId(), formDTO.getLevel()); + public List list2(CategoryCountListFormDTO formDTO) { + if (CollectionUtils.isEmpty(formDTO.getConfigList())){ + return new ArrayList<>(); + } + List result = icStatsResiWarnDao.selectCategoryCount(formDTO.getConfigList(), formDTO.getOrgId()); + if (CollectionUtils.isEmpty(result)){ + return new ArrayList<>(); + } + return ConvertUtils.sourceToTarget(result,CategoryCountListResultDTO.class); } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml index 683938f80e..b1a900968b 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcStatsResiWarnDao.xml @@ -136,7 +136,7 @@