diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index d5645f214d..1eb3c2d50a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -12,6 +12,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.utils.DateUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.formula.functions.T; /** * @author Mark sunlightcs@gmail.com @@ -568,6 +569,15 @@ public class RedisKeys { return rootPrefix.concat("message:mq:blocked:").concat(blockedMsgLabel); } + /** + * desc:获取执行完毕的 业务 参数结果key + * @param bizMethod + * @return + */ + public static String getBackDoorbizExcuteResult(String bizMethod) { + return rootPrefix.concat("backdoor:").concat(bizMethod); + } + /** * @description 登录票据。目前只有IC基层治理平台用到 * diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java index 11c019e4d9..8c7ce5e97d 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java @@ -55,6 +55,7 @@ public interface ScreenProjectDataDao { * @date 2021/11/5 1:40 下午 */ List selectCategoryProjectList(@Param("customerId") String customerId,@Param("orgId") String orgId, - @Param("categoryCode")String categoryCode,@Param("status")String status); + @Param("categoryCode")String categoryCode,@Param("status")String status, + @Param("startTime")String startTime,@Param("endTime")String endTime); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java index bc23641267..afbd2e9abe 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java @@ -245,6 +245,7 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { /** * @Description 【项目分类】查询项目分类 + * 二级分类总数占比改为 二级分类总数/一级分类总数 * @param formDTO * @param tokenDto * @author zxc @@ -325,6 +326,11 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { collect.forEach(c -> { c.setChildren(c.getChildren().stream().sorted(Comparator.comparing(ProjectCategoryResultDTO::getProjectTotal).reversed()).collect(Collectors.toList())); }); + collect.forEach(p -> { + p.getChildren().forEach(c -> { + c.setTotalRatio(ratio(c.getProjectTotal(), p.getProjectTotal())); + }); + }); return collect; } @@ -376,7 +382,7 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { PageCategoryProjectListResultDTO result = new PageCategoryProjectListResultDTO(); List list; PageInfo objectPageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()) - .doSelectPageInfo(() -> screenProjectDataDao.selectCategoryProjectList(tokenDto.getCustomerId(), formDTO.getOrgId(), formDTO.getCategoryCode(), formDTO.getStatus())); + .doSelectPageInfo(() -> screenProjectDataDao.selectCategoryProjectList(tokenDto.getCustomerId(), formDTO.getOrgId(), formDTO.getCategoryCode(), formDTO.getStatus(),formDTO.getStartTime(),formDTO.getEndTime())); list = objectPageInfo.getList(); result.setTotal(Integer.valueOf(String.valueOf(objectPageInfo.getTotal()))); diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml index accf6111e4..370f73fdf8 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml @@ -162,24 +162,29 @@ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/GridAndOrgCategoryCountResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/GridAndOrgCategoryCountResultDTO.java index f62e1c3d54..7f3f9aa96d 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/GridAndOrgCategoryCountResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/GridAndOrgCategoryCountResultDTO.java @@ -44,6 +44,8 @@ public class GridAndOrgCategoryCountResultDTO implements Serializable { private String customerId; + private String categoryOriginCustomerId; + /** * 分类CODE */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index 98cfbaf838..e47ce1845e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -60,9 +62,7 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; @@ -73,7 +73,8 @@ import java.util.concurrent.Future; public class DemoController { @Autowired private StatsDemoService demoService; - + @Autowired + private RedisUtils redisUtils; @Autowired private ExecutorService executorService; @@ -1084,16 +1085,21 @@ public class DemoController { @RequestParam(name = "startDate",required = false)String startDate, @RequestParam(name = "endDate",required = false)String endDate ){ + long start = System.currentTimeMillis(); + Set result = new LinkedHashSet<>(); if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)){ List daysBetween = DateUtils.getDaysBetween(startDate, endDate); daysBetween.forEach(d -> { screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,d); screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,d); + result.add(d); + redisUtils.hSet(RedisKeys.getBackDoorbizExcuteResult("gridandorgdailynew"),customerId,result,3*24*60*60L); }); }else { screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,dateId); screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,dateId); + redisUtils.hSet(RedisKeys.getBackDoorbizExcuteResult("gridandorgdailynew"),customerId,result,3*24*60*60L); } long end = System.currentTimeMillis(); long l = (end - start) / 1000; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java index 5a9155f237..26aa8892d9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java @@ -80,7 +80,7 @@ public interface ScreenProjectDataDao extends BaseDao { * @author zxc * @date 2021/11/10 3:12 下午 */ - List selectGridCategoryProjectCount(@Param("customerIds") List customerIds,@Param("dateId") String dateId, + List selectGridCategoryProjectCount(@Param("dateId") String dateId,@Param("parentCustomerId") String parentCustomerId, @Param("status")String status,@Param("customerId") String customerId, @Param("subCount")Integer subCount); @@ -96,4 +96,19 @@ public interface ScreenProjectDataDao extends BaseDao { List selectOrgCategoryProjectCount(@Param("dateId") String dateId, @Param("status")String status, @Param("customerId") String customerId, @Param("subCount")Integer subCount, @Param("allAgencies") List allAgencies); + + /** + * @Description 查询组织下的1级项目分类 + * @param dateId + * @param status + * @param customerId + * @param subCount + * @param allAgencies + * @author zxc + * @date 2021/11/11 11:14 上午 + */ + List selectOrgCategoryOneLevelProjectCount(@Param("dateId") String dateId, @Param("status")String status, + @Param("customerId") String customerId, @Param("subCount")Integer subCount, + @Param("allAgencies") List allAgencies); + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java index 9e4c01f4d2..b1eb748aef 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java @@ -65,6 +65,8 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr */ @Override public void extractCategoryProjectGridData(String customerId, String dateId) { + log.info("开始执行网格项目分类统计"); + long start = System.currentTimeMillis(); List relationInfo = relationService.selectSubCustomer(customerId); List customerIds = new ArrayList<>(); customerIds.add(customerId); @@ -72,19 +74,28 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr List closedList = new ArrayList<>(); if (CollectionUtils.isEmpty(relationInfo)){ // 单客户 - allList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_ALL,customerId, NumConstant.FOUR); - closedList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_CLOSED,customerId, NumConstant.FOUR); + allList = screenProjectDataDao.selectGridCategoryProjectCount(dateId, customerId, ProjectConstant.PROJECT_STATUS_ALL,customerId, NumConstant.FOUR); + closedList = screenProjectDataDao.selectGridCategoryProjectCount(dateId, customerId, ProjectConstant.PROJECT_STATUS_CLOSED,customerId, NumConstant.FOUR); }else { // 多客户 List subCustomerIds = relationInfo.stream().map(CustomerRelationEntity::getCustomerId).collect(Collectors.toList()); customerIds.addAll(subCustomerIds); - allList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_ALL,customerId, NumConstant.TWO); - closedList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_CLOSED,customerId, NumConstant.TWO); + List finalAllList = allList; + List finalClosedList1 = closedList; + customerIds.forEach(c -> { + List all = screenProjectDataDao.selectGridCategoryProjectCount(dateId, customerId, ProjectConstant.PROJECT_STATUS_ALL, c, NumConstant.TWO); + finalAllList.addAll(all); + List closed = screenProjectDataDao.selectGridCategoryProjectCount(dateId, customerId, ProjectConstant.PROJECT_STATUS_CLOSED, c, NumConstant.TWO); + finalClosedList1.addAll(closed); + }); } List finalClosedList = closedList; allList.forEach(a -> finalClosedList.stream().filter(c -> c.getGridId().equals(a.getGridId()) && c.getCategoryCode().equals(a.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); gridDel(customerId,dateId); + log.info("网格-所有项目分类即将插入的集合{}",JSON.toJSONString(allList)); gridInsert(allList); + long end = System.currentTimeMillis(); + log.info("网格项目分类统计结束,耗时:"+ (end-start)/1000 + "s"); } /** @@ -128,6 +139,8 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr */ @Override public void extractCategoryProjectOrgData(String customerId, String dateId) { + log.info("开始执行组织项目分类统计"); + long start = System.currentTimeMillis(); List relationInfo = relationService.selectSubCustomer(customerId); List customerIds = new ArrayList<>(); customerIds.add(customerId); @@ -136,10 +149,18 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr // one customer List agencies = screenCustomerAgencyDao.selectAgencyByCustomer(customerId); List allAgencies = ConvertUtils.sourceToTarget(agencies, GridAndOrgCategoryCountResultDTO.class); + result = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.FOUR, allAgencies); List closedList = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.FOUR, allAgencies); result.forEach(r -> closedList.stream().filter(c -> r.getOrgId().equals(c.getOrgId()) && r.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> r.setClosedProjectTotal(c.getClosedProjectTotal()))); - }else { + + + List oneLevelList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.FOUR, allAgencies); + List oneLevelClosedList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.FOUR, allAgencies); + oneLevelList.forEach(a -> oneLevelClosedList.stream().filter(c -> a.getOrgId().equals(c.getOrgId()) && a.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); + + result.addAll(oneLevelList); + }else { // more customers // 去除孔村的客户ID,孔村镇的单独查😡 List subCustomerIds = relationInfo.stream().map(CustomerRelationEntity::getCustomerId).collect(Collectors.toList()); @@ -149,6 +170,7 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr continue; } } + subCustomerIds.add(customerId); List allAgencies = screenCustomerAgencyDao.selectParentSonAgency(subCustomerIds, PingYinConstant.KONG_CUN_CUSTOMER_ID); List> partition = ListUtils.partition(allAgencies, NumConstant.FIFTY); List allOrgCategoryList = result; @@ -156,11 +178,20 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr List allOrgList = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.TWO, p); List closedOrgList = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.TWO, p); allOrgList.forEach(a -> closedOrgList.stream().filter(c -> a.getOrgId().equals(c.getOrgId()) && a.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); + + List oneLevelList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.TWO, p); + List oneLevelClosedList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.TWO, p); + oneLevelList.forEach(a -> oneLevelClosedList.stream().filter(c -> a.getOrgId().equals(c.getOrgId()) && a.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); + + allOrgList.addAll(oneLevelList); allOrgCategoryList.addAll(allOrgList); }); } orgDel(customerId,dateId); + log.info("组织-即将插入的项目分类{}",JSON.toJSONString(result)); orgInsert(result); + long end = System.currentTimeMillis(); + log.info("组织项目分类统计结束,耗时:"+ (end-start)/1000 + "s"); } /** diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java index d5b114852a..82af987c23 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java @@ -373,11 +373,12 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl SELECT #{dateId} AS dateId, - #{customerId} AS customerId, + #{parentCustomerId} AS customerId, pc.CATEGORY_CODE, pd.ORG_ID AS gridId, pd.PARENT_ID AS pid, @@ -287,12 +287,9 @@ COUNT(DISTINCT pc.PROJECT_ID) AS projectTotal FROM screen_project_data pd - LEFT JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0') + inner JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0' AND pc.CATEGORY_CODE IS NOT NULL) WHERE pd.DEL_FLAG = '0' - AND pd.CUSTOMER_ID IN - - #{c} - + AND pd.CUSTOMER_ID =#{customerId} AND DATE_FORMAT(pd.PROJECT_CREATE_TIME,'%Y%m%d') #{dateId} AND pd.ORG_TYPE = 'grid' AND pc.level = 2 @@ -303,7 +300,7 @@ UNION ALL SELECT #{dateId} AS dateId, - #{customerId} AS customerId, + #{parentCustomerId} AS customerId, left(pc.CATEGORY_CODE, #{subCount}) AS categoryCode, pd.ORG_ID AS gridId, pd.PARENT_ID AS pid, @@ -316,12 +313,9 @@ COUNT(DISTINCT pc.PROJECT_ID) AS projectTotal FROM screen_project_data pd - INNER JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0') + INNER JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0' AND pc.CATEGORY_CODE IS NOT NULL) WHERE pd.DEL_FLAG = '0' - AND pd.CUSTOMER_ID IN - - #{c} - + AND pd.CUSTOMER_ID = #{customerId} AND DATE_FORMAT(pd.PROJECT_CREATE_TIME,'%Y%m%d') #{dateId} AND pd.ORG_TYPE = 'grid' @@ -336,6 +330,7 @@ SELECT #{dateId} AS dateId, #{customerId} AS customerId, + pd.customer_id AS categoryOriginCustomerId, pc.CATEGORY_CODE, #{a.orgId} AS orgId, #{a.pid} AS pid, @@ -349,25 +344,30 @@ COUNT(DISTINCT pc.PROJECT_ID) AS projectTotal FROM screen_project_data pd - LEFT JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0') + inner JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0' AND pc.CATEGORY_CODE IS NOT NULL) WHERE pd.DEL_FLAG = '0' AND pc.level = 2 AND DATE_FORMAT(pd.PROJECT_CREATE_TIME,'%Y%m%d') #{dateId} - AND ALL_PARENT_IDS LIKE #{a.orgId} + AND ALL_PARENT_IDS LIKE CONCAT('%',#{a.orgId},'%') AND pd.PROJECT_STATUS_CODE IN ('closed','closed_case') GROUP BY pc.CATEGORY_CODE - UNION ALL + + + + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GridOptionFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GridOptionFormDTO.java new file mode 100644 index 0000000000..e6fae52bc9 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GridOptionFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description /gov/org/customergrid/gridoption + * @Author yinzuomei + * @Date 2021/11/12 10:54 上午 + */ +@Data +public class GridOptionFormDTO implements Serializable { + /** + * 部门Id + */ + @NotBlank(message = "组织机构ID不能为空") + private String agencyId; + //等着杨林改完,我再限制必填吧 + //@NotBlank(message = "查询条件和查看居民详情:query;新增或修改居民信息:addorupdate") + private String purpose; +} + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java index f1aac1a9c0..7e395174b4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java @@ -194,6 +194,7 @@ public class BuildingController { if(resultList.size()> NumConstant.ZERO){ Collections.sort(resultList); String subList = resultList.stream().map(String::valueOf).collect(Collectors.joining("、")); + log.warn(str + "第" + subList + "行未成功!"); return new Result().error(9999, str+"第"+subList+"行未成功!"); } return new Result().ok(str); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java index eccbc2860f..b46bd1aeab 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java @@ -289,15 +289,17 @@ public class CustomerGridController { /** * @Description 获取组织下网格选项 + * 居民信息:1)查询条件 :所属网格下拉框;2)查看详情:所属网格下拉框 + * label: 社区-网格 + * value: 网格id * @Param formDTO * @Return {@link Result>} * @Author zhaoqifeng * @Date 2021/10/26 14:02 */ @PostMapping("gridoption") - public Result> getGridOption(@RequestBody AgencyIdFormDTO formDTO){ + public Result> getGridOption(@RequestBody GridOptionFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO); - return new Result>().ok(customerGridService.getGridOption(formDTO.getAgencyId())); + return new Result>().ok(customerGridService.getGridOption(formDTO.getAgencyId(),formDTO.getPurpose())); } - } 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 a2bb68f09f..ab0b6c646f 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 @@ -163,6 +163,7 @@ public class HouseController { if(resultList.size()> NumConstant.ZERO){ Collections.sort(resultList); String subList = resultList.stream().map(String::valueOf).collect(Collectors.joining("、")); + log.warn(str + "第" + subList + "行未成功!"); return new Result().error(9999, str+"第"+subList+"行未成功!"); } return new Result().ok(str); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java index 48137bf4cb..14dcda318a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java @@ -17,8 +17,10 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -91,8 +93,8 @@ public class IcNeighborHoodController { * @Date 2021/10/26 14:38 */ @PostMapping("neighborhoodoption") - public Result> getNeighborHoodOptions(@RequestBody IcNeighborHoodDTO dto) { - return new Result>().ok(icNeighborHoodService.getNeighborHoodOptions(dto.getAgencyId(), dto.getGridId())); + public Result> getNeighborHoodOptions(@LoginUser TokenDto tokenDto, @RequestBody IcNeighborHoodDTO dto) { + return new Result>().ok(icNeighborHoodService.getNeighborHoodOptions(dto.getAgencyId(), dto.getGridId(),tokenDto.getUserId(),tokenDto.getCustomerId())); } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java index cb22dd00f2..1f54db3e1c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java @@ -219,10 +219,11 @@ public class NeighborHoodController { // log.info(JSON.toJSONString(result)); List resultList = neighborHoodService.importExcel(customerId,result,tokenDTO.getUserId(),numList); String str = String.format("共%s条,成功导入%s条。",numList.size()+result.size(),numList.size()+result.size()-resultList.size()); - if(resultList.size()> NumConstant.ZERO){ + if (resultList.size() > NumConstant.ZERO) { Collections.sort(resultList); String subList = resultList.stream().map(String::valueOf).collect(Collectors.joining("、")); - return new Result().error(9999, str+"第"+subList+"行未成功!"); + log.warn(str + "第" + subList + "行未成功!"); + return new Result().error(9999, str + "第" + subList + "行未成功!"); } return new Result().ok(str); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index bec972b9d7..eca348b6f2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.UserIdAndPidDTO; import com.epmet.dto.UserIdDTO; @@ -342,4 +343,6 @@ public interface CustomerGridDao extends BaseDao { * @Description 查询组织下直属网格列表 **/ List selectByPid(@Param("pid") String pid); + + List getGridOptionForQuery(String gridPids); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java index 453c81f256..7538c7bb29 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java @@ -337,5 +337,5 @@ public interface CustomerGridService extends BaseService { * @Author zhaoqifeng * @Date 2021/10/26 14:01 */ - List getGridOption(String agencyId); + List getGridOption(String agencyId,String purpose); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java index cc8fd47ad1..3592d82175 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java @@ -102,7 +102,7 @@ public interface IcNeighborHoodService extends BaseService * @Author zhaoqifeng * @Date 2021/10/26 14:32 */ - List getNeighborHoodOptions(String agencyId, String gridId); + List getNeighborHoodOptions(String agencyId, String gridId,String staffId,String customerId); /** * @Description 通过ID查询小区信息 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java index d00fade930..b0241965a8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java @@ -245,7 +245,9 @@ public class BuildingServiceImpl implements BuildingService { //封装数据 List buildingEntityList = new ArrayList<>(); List icBuildingUnitEntityList = new ArrayList<>(); - for (IcBuildingExcel icBuildingExcel : list) { + Iterator iterator1 = list.iterator(); + while (iterator1.hasNext()) { + IcBuildingExcel icBuildingExcel = iterator1.next(); IcBuildingEntity entity = new IcBuildingEntity(); String uuid = UUID.randomUUID().toString().replace("-", ""); entity.setId(uuid); @@ -254,6 +256,7 @@ public class BuildingServiceImpl implements BuildingService { if ("".equals(entity.getNeighborHoodId())) { //str.append("".equals(str) ? icBuildingExcel.getNeighborHoodName() : str.append("、").append(icBuildingExcel.getNeighborHoodName())); numList.add(icBuildingExcel.getRowNum()); + iterator1.remove(); continue; } entity.setBuildingName(icBuildingExcel.getBuildingName()); @@ -278,7 +281,11 @@ public class BuildingServiceImpl implements BuildingService { //同一小区下不能存在楼栋名字一样的 Integer count = icBuildingDao.checkBuildName(entity.getNeighborHoodId(),entity.getBuildingName(),null); if (null != count && count > 0) { - throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(),EpmetErrorCode.BUILDING_NAME_EXITED.getMsg()); + //throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(),EpmetErrorCode.BUILDING_NAME_EXITED.getMsg()); + log.error(EpmetErrorCode.BUILDING_NAME_EXITED.getMsg()); + numList.add(icBuildingExcel.getRowNum()); + iterator1.remove(); + continue; } icBuildingUnitEntityList.addAll(unitList); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index 43a73d3b46..353cf3bea2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -844,7 +844,20 @@ public class CustomerGridServiceImpl extends BaseServiceImpl getGridOption(String agencyId) { + public List getGridOption(String agencyId, String purpose) { + //查询条件和查看居民详情:query;新增或修改居民信息:addorupdate + if ("query".equals(purpose) || StringUtils.isEmpty(purpose)) { + CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(agencyId); + String gridPids = ""; + if (null != customerAgencyDTO) { + if (StringUtils.isEmpty(customerAgencyDTO.getPid()) || NumConstant.ZERO_STR.equals(customerAgencyDTO.getPid())) { + gridPids = agencyId; + } else { + gridPids = customerAgencyDTO.getPids().concat(StrConstant.COLON).concat(agencyId); + } + } + return baseDao.getGridOptionForQuery(gridPids); + } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(CustomerGridEntity::getPid, agencyId); wrapper.last("ORDER BY CONVERT ( GRID_NAME USING gbk ) ASC"); @@ -859,4 +872,5 @@ public class CustomerGridServiceImpl extends BaseServiceImpl houseEntityList = new ArrayList<>(); - for (IcHouseExcel icHouseExcel : list) { + Iterator iterator1 = list.iterator(); + while (iterator1.hasNext()) { + IcHouseExcel icHouseExcel = iterator1.next(); IcHouseEntity entity = new IcHouseEntity(); String uuid = UUID.randomUUID().toString().replace("-", ""); entity.setId(uuid); @@ -175,6 +177,7 @@ public class HouseServiceImpl implements HouseService { if ("".equals(entity.getNeighborHoodId()) || "".equals(entity.getBuildingId()) || "".equals(entity.getBuildingUnitId())) { //str.append("".equals(str) ? icHouseExcel.getBuildingName() + icHouseExcel.getBuildingUnit() : str.append("、").append(icHouseExcel.getBuildingName() + icHouseExcel.getBuildingUnit())); numList.add(icHouseExcel.getRowNum()); + iterator1.remove(); continue; } entity.setDoorName(icHouseExcel.getDoorName()); @@ -187,7 +190,11 @@ public class HouseServiceImpl implements HouseService { //同一楼栋,单元内,房屋名称唯一 Integer count = icHouseDao.checkDoorNameUq(entity.getNeighborHoodId(), entity.getBuildingId(), entity.getBuildingUnitId(), entity.getDoorName(),null); if (null != count && count > 0) { - throw new RenException(EpmetErrorCode.DOOR_NAME_EXITED.getCode(), EpmetErrorCode.DOOR_NAME_EXITED.getMsg()); + //throw new RenException(EpmetErrorCode.DOOR_NAME_EXITED.getCode(), EpmetErrorCode.DOOR_NAME_EXITED.getMsg()); + log.error(EpmetErrorCode.DOOR_NAME_EXITED.getMsg()); + numList.add(icHouseExcel.getRowNum()); + iterator1.remove(); + continue; } houseEntityList.add(entity); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java index db000d1208..3d5b6fa96b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java @@ -22,8 +22,10 @@ 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.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.IcNeighborHoodDao; import com.epmet.dto.IcNeighborHoodDTO; @@ -113,13 +115,18 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl getNeighborHoodOptions(String agencyId, String gridId) { - if (StringUtils.isBlank(agencyId)) { - log.error("组织ID为空"); - return Collections.emptyList(); + public List getNeighborHoodOptions(String agencyId, String gridId,String staffId,String customerId) { + if (StringUtils.isBlank(agencyId)&&StringUtils.isEmpty(gridId)) { + log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区"); + CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(customerId,staffId); + if (null == result || StringUtils.isBlank(result.getAgencyId())) { + log.error(String.format("staffId:%s,工作人员缓存信息查询异常")); + return Collections.emptyList(); + } + agencyId=result.getAgencyId(); } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(IcNeighborHoodEntity::getAgencyId, agencyId); + wrapper.eq(StringUtils.isNotBlank(agencyId),IcNeighborHoodEntity::getAgencyId, agencyId); wrapper.eq(StringUtils.isNotBlank(gridId), IcNeighborHoodEntity::getGridId, gridId); wrapper.last("ORDER BY CONVERT ( NEIGHBOR_HOOD_NAME USING gbk ) ASC"); List list = baseDao.selectList(wrapper); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java index d7558cd110..dd5e742342 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java @@ -253,6 +253,7 @@ public class NeighborHoodServiceImpl implements NeighborHoodService { if (!obj.getAgencyName().trim().equals(staffInfoCache.getAgencyName())) { numList.add(obj.getRowNum()); iterator.remove(); + continue; } //当前组织下网格名不存在的也不允许导入 AtomicBoolean br = new AtomicBoolean(true); @@ -293,11 +294,17 @@ public class NeighborHoodServiceImpl implements NeighborHoodService { //封装数据 List neighborHoodEntityList = new ArrayList<>(); List icNeighborHoodPropertyEntityList = new ArrayList<>(); - for (IcNeighborHoodExcel icNeighborHoodExcel : list) { + Iterator iterator1 = list.iterator(); + while (iterator1.hasNext()) { + IcNeighborHoodExcel icNeighborHoodExcel = iterator1.next(); //同一客户下,小区名称唯一 Integer count = icNeighborHoodDao.checkNameUq(customerId,icNeighborHoodExcel.getNeighborHoodName(),null); if (null != count && count > 0) { - throw new RenException(EpmetErrorCode.NEIGHBOOR_NAME_EXITED.getCode(), icNeighborHoodExcel.getNeighborHoodName()+EpmetErrorCode.NEIGHBOOR_NAME_EXITED.getMsg()); + //throw new RenException(EpmetErrorCode.NEIGHBOOR_NAME_EXITED.getCode(), icNeighborHoodExcel.getNeighborHoodName()+EpmetErrorCode.NEIGHBOOR_NAME_EXITED.getMsg()); + log.error(icNeighborHoodExcel.getNeighborHoodName()+EpmetErrorCode.NEIGHBOOR_NAME_EXITED.getMsg()); + numList.add(icNeighborHoodExcel.getRowNum()); + iterator1.remove(); + continue; } IcNeighborHoodEntity entity = new IcNeighborHoodEntity(); @@ -313,6 +320,7 @@ public class NeighborHoodServiceImpl implements NeighborHoodService { //网格名对应不上的数据舍弃 if ("".equals(entity.getGridId())) { numList.add(icNeighborHoodExcel.getRowNum()); + iterator1.remove(); continue; } entity.setAddress(icNeighborHoodExcel.getAddress()); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index 8b90fc9e74..94ca7a4587 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -689,4 +689,19 @@ AND pid = #{pid} + diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java index cd092d52ba..fee4ca7ad1 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/ExDeptDTO.java @@ -68,14 +68,24 @@ public class ExDeptDTO implements Serializable { */ private String gridCode; + /** + * 组织类型 + */ + private String isCgorg; + /** * (区县平台)部门id */ - private String deptIdQx; + private String qxDeptId; + + /** + * (区县平台)部门/网格名称 + */ + private String qxDeptCode; /** * (区县平台)部门/网格名称 */ - private String deptNameQx; + private String qxDeptName; } \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java index 7a2d2e3ff8..950b8d3e5e 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/ExDeptEntity.java @@ -65,18 +65,28 @@ public class ExDeptEntity { private String deptCode; /** - * + * (省标准)区划编码/网格编码 */ private String gridCode; + /** + * 组织类型 + */ + private String isCgorg; + /** * (区县平台)部门id */ - private String deptIdQx; + private String qxDeptId; + + /** + * (区县平台)部门/网格名称 + */ + private String qxDeptCode; /** * (区县平台)部门/网格名称 */ - private String deptNameQx; + private String qxDeptName; } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java index e50d9404e4..ea56575936 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/BaseGridInfoServiceImpl.java @@ -90,8 +90,8 @@ public class BaseGridInfoServiceImpl extends BaseServiceImpl ExList = new ArrayList<>(); result.getData().forEach(ag->{ ExDeptEntity entity = new ExDeptEntity(); - entity.setDeptIdQx(ag.getId()); - entity.setDeptNameQx(ag.getOrganizationName()); + entity.setQxDeptId(ag.getId()); + entity.setQxDeptName(ag.getOrganizationName()); entity.setGridCode(ag.getCode()); ExList.add(entity); }); @@ -138,8 +138,8 @@ public class BaseGridInfoServiceImpl extends BaseServiceImpl ExList = new ArrayList<>(); result.getData().forEach(ag -> { ExDeptEntity entity = new ExDeptEntity(); - entity.setDeptIdQx(ag.getId()); - entity.setDeptNameQx(ag.getGridName()); + entity.setQxDeptId(ag.getId()); + entity.setQxDeptName(ag.getGridName()); entity.setGridCode(ag.getCode()); ExList.add(entity); }); diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java index 44b519e95b..bf699eb3b9 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/ExDeptServiceImpl.java @@ -104,7 +104,7 @@ public class ExDeptServiceImpl extends BaseServiceImpl @Override public Map getDeptMap() { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.ne(ExDeptEntity::getGridCode, null); + wrapper.isNotNull(ExDeptEntity::getGridCode); List entityList = baseDao.selectList(wrapper); if (CollectionUtils.isEmpty(entityList)) { return Collections.emptyMap(); diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java index cb9082c985..cc036df66f 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcResiCategoryStatsConfigFormDTO.java @@ -53,13 +53,13 @@ public class IcResiCategoryStatsConfigFormDTO implements Serializable { /** * 数据平台分类图标 */ - @NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class}) + @NotBlank(message = "数据平台分类图标不能为空",groups = {UpdateGroup.class}) private String dataIcon; /** * 房屋显示分类图标 */ - @NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class}) + @NotBlank(message = "房屋显示分类图标不能为空",groups = {UpdateGroup.class}) private String houseShowIcon; /** @@ -72,7 +72,6 @@ public class IcResiCategoryStatsConfigFormDTO implements Serializable { private String warn; private Integer level1; - private Integer level2; private Integer level3; diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java index c2639023d4..1e6de73f54 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java @@ -29,6 +29,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.constant.IcResiCategoryStatsConfigConstant; import com.epmet.dao.IcResiCategoryStatsConfigDao; import com.epmet.dao.IcResiCategoryWarnConfigDao; import com.epmet.dto.IcResiCategoryStatsConfigDTO; @@ -89,8 +90,23 @@ public class ResiCategoryStatsConfigController { ValidatorUtils.validateEntity(formDTO, UpdateGroup.class); String customerId = tokenDTO.getCustomerId(); // String customerId = "123123"; + Integer level1 = formDTO.getLevel1(); + Integer level2 = formDTO.getLevel2(); + Integer level3 = formDTO.getLevel3(); + if(IcResiCategoryStatsConfigConstant.WARN_YES.equals(formDTO.getWarn())){ + //判断level1 和level2 的值 + if(null ==level1 || level1==0){ + return new Result().error(8001,"等级1阈值需大于0"); + } + if(null == level2 || level2==0){ + return new Result().error(8001,"等级2阈值需大于0"); + } + if(level1<=level2){ + return new Result().error(8001,"等级1阈值需大于等级2阈值"); + } + } resiCategoryStatsConfigService.update(customerId,formDTO); - return new Result(); + return new Result().ok("修改成功"); } @PostMapping("updatestatus") public Result updateStatus(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){ @@ -98,7 +114,7 @@ public class ResiCategoryStatsConfigController { String customerId = tokenDTO.getCustomerId(); // String customerId = "123123"; resiCategoryStatsConfigService.updateStatus(customerId,formDTO); - return new Result(); + return new Result().ok("修改成功"); } @PostMapping("updatesort") public Result updateSort(@LoginUser TokenDto tokenDTO,@RequestBody List formDTOs){ @@ -118,10 +134,11 @@ public class ResiCategoryStatsConfigController { } @PostMapping("resicategorystatslistshowd") - public Result> resiCategoryStatsListShowd(){ + public Result> resiCategoryStatsListShowd(@LoginUser TokenDto tokenDTO){ //获取预警配置列表 List statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper() .lambda() + .eq(IcResiCategoryStatsConfigEntity::getCustomerId,tokenDTO.getCustomerId()) .eq(IcResiCategoryStatsConfigEntity::getStatus,"show") .orderByAsc(IcResiCategoryStatsConfigEntity::getSort)); @@ -129,10 +146,11 @@ public class ResiCategoryStatsConfigController { } @PostMapping("resicategorywarnlist") - public Result> resiCategoryWarnList(){ + public Result> resiCategoryWarnList(@LoginUser TokenDto tokenDTO){ //获取预警配置列表 List warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(new QueryWrapper() .lambda() + .eq(IcResiCategoryWarnConfigEntity::getCustomerId,tokenDTO.getCustomerId()) .orderByAsc(IcResiCategoryWarnConfigEntity::getSort)); return new Result>().ok(ConvertUtils.sourceToTarget(warnConfigEntityList, IcResiCategoryWarnConfigDTO.class)); diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java index 25eb5eafd0..bfeeaa0b9d 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java @@ -49,14 +49,14 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf @Transactional(rollbackFor = Exception.class) public List list(String customerId) { //1.获取IC_FORM_ITEM 中 用于数据分析字段的 id 和label - List icFormItemEntityList = icFormItemDao.selectList(new QueryWrapper().lambda().eq(IcFormItemEntity::getDataAnalyse, 1)); + List icFormItemEntityList = icFormItemDao.selectList(new QueryWrapper().lambda().eq(IcFormItemEntity::getCustomerId,customerId).eq(IcFormItemEntity::getDataAnalyse, 1)); if(CollectionUtils.isEmpty(icFormItemEntityList)){ return new ArrayList<>(); } Set groupIds = icFormItemEntityList.stream().filter(item-> !"0".equals(item.getItemGroupId())).map(item->item.getItemGroupId()).collect(Collectors.toSet()); List icFormItemGroupEntityList = new ArrayList<>(); if(!CollectionUtils.isEmpty(groupIds)){ - icFormItemGroupEntityList.addAll(icFormItemGroupDao.selectList(new QueryWrapper().lambda().in(IcFormItemGroupEntity::getId, groupIds))); + icFormItemGroupEntityList.addAll(icFormItemGroupDao.selectList(new QueryWrapper().lambda().eq(IcFormItemGroupEntity::getCustomerId,customerId).in(IcFormItemGroupEntity::getId, groupIds))); } //获取tableName和COLUMN_NAME Map tableColumnMap = new HashMap<>(); @@ -75,8 +75,8 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf }); //2.获取ic_resi_category_stats_config 和 ic_resi_category_warn_config 表中的数据 - List statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(null); - List warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(null); + List statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper().lambda().eq(IcResiCategoryStatsConfigEntity::getCustomerId,customerId)); + List warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(new QueryWrapper().lambda().eq(IcResiCategoryWarnConfigEntity::getCustomerId,customerId)); //3.新增不存在的,删除不在tableColumnMap的 Map statsTableColumnMap = new HashMap<>(); @@ -103,7 +103,7 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf entity.setDataIcon(""); entity.setHouseShowIcon(""); entity.setStatus("show"); - entity.setSort(0); + entity.setSort(icFormItemEntity.getSort()); newStatsEntityList.add(entity); }); if(!CollectionUtils.isEmpty(newStatsEntityList)){ @@ -129,8 +129,11 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf } //4.返回数据 - List statsConfigList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper().lambda().orderByAsc(IcResiCategoryStatsConfigEntity::getSort)); - List warnConfigList = icResiCategoryWarnConfigDao.selectList(null); + List statsConfigList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper().lambda() + .eq(IcResiCategoryStatsConfigEntity::getCustomerId,customerId) + .orderByAsc(IcResiCategoryStatsConfigEntity::getSort)); + List warnConfigList = icResiCategoryWarnConfigDao.selectList(new QueryWrapper().lambda() + .eq(IcResiCategoryWarnConfigEntity::getCustomerId,customerId)); Map warnMap =new HashMap<>(); warnConfigList.forEach(item->{ warnMap.put(item.getTableName()+"-"+item.getColumnName(),item); @@ -169,6 +172,7 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf return result; } IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = icResiCategoryWarnConfigDao.selectOne(new QueryWrapper().lambda() + .eq(IcResiCategoryWarnConfigEntity::getCustomerId, icResiCategoryStatsConfigDTO.getCustomerId()) .eq(IcResiCategoryWarnConfigEntity::getTableName, icResiCategoryStatsConfigDTO.getTableName()) .eq(IcResiCategoryWarnConfigEntity::getColumnName, icResiCategoryStatsConfigDTO.getColumnName())); @@ -205,10 +209,9 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf //更新配置预警 if(IcResiCategoryStatsConfigConstant.WARN_YES.equals(formDTO.getWarn())){ - //TODO 判断阈值范围 - //更新 IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = icResiCategoryWarnConfigDao.selectOne(new QueryWrapper().lambda() + .eq(IcResiCategoryWarnConfigEntity::getCustomerId,customerId) .eq(IcResiCategoryWarnConfigEntity::getTableName, icResiCategoryStatsConfigDTO.getTableName()) .eq(IcResiCategoryWarnConfigEntity::getColumnName, icResiCategoryStatsConfigDTO.getColumnName())); if(null == icResiCategoryWarnConfigEntity){ @@ -236,6 +239,7 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf }else if(IcResiCategoryStatsConfigConstant.WARN_NO.equals(formDTO.getWarn())){ //删除 icResiCategoryWarnConfigDao.delete(new QueryWrapper().lambda() + .eq(IcResiCategoryWarnConfigEntity::getCustomerId,customerId) .eq(IcResiCategoryWarnConfigEntity::getTableName,icResiCategoryStatsConfigDTO.getTableName()) .eq(IcResiCategoryWarnConfigEntity::getColumnName,icResiCategoryStatsConfigDTO.getColumnName())); } @@ -269,8 +273,8 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf } icResiCategoryStatsConfigService.updateBatchById(entityList); //排序更新预警的 - List statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(null); - List warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(null); + List statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper().lambda().eq(IcResiCategoryStatsConfigEntity::getCustomerId,customerId)); + List warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(new QueryWrapper().lambda().eq(IcResiCategoryWarnConfigEntity::getCustomerId,customerId)); if(CollectionUtils.isEmpty(warnConfigEntityList)){ return ; } 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 0bc25d5ccd..ff956aa49f 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 @@ -181,6 +181,7 @@ public class IcResiUserController { */ @RequestMapping(value = "/exportExcel2") public void exportExcel(@RequestHeader String customerId,@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { + //tokenDto.setUserId("9e37adcce6472152e6508a19d3683e02"); CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId()); String staffOrgPath = null; if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) { @@ -194,7 +195,7 @@ public class IcResiUserController { Map> otherSheetItems = buildItemMap(resiFormItems); - Map> resiMainList = icResiUserService.getDataForExport(otherSheetItems.get(BASE_TABLE_NAME),new HashMap<>(), pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), BASE_TABLE_NAME, pageFormDTO.getConditions(),staffInfoCacheResult.getAgencyId(),staffOrgPath); + Map> resiMainList = icResiUserService.getDataForExport(otherSheetItems.get(BASE_TABLE_NAME),new HashMap<>(),BASE_TABLE_NAME, pageFormDTO,staffInfoCacheResult.getAgencyId(),staffOrgPath); //resiMainList = (List>)JSON.parse("[{\"IS_BDHJ\":\"1\",\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest2\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":null,\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":null,\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":null,\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"},{\"IS_SPECIAL\":\"1\",\"IS_XFRY\":\"0\",\"REMARKS\":\"beizhu\",\"IS_PARTY\":\"1\",\"icResiUserId\":\"yzmtest\",\"HOME_ID\":\"中海国际社区一里城1号楼1单元101\",\"HOUSE_TYPE\":\"平房\",\"UNIT_NAME\":\"1单元\",\"GRID_ID\":\"市北区-市北区第三网格3\",\"IS_DB\":\"0\",\"GENDER\":\"男\",\"BIRTHDAY\":\"2021-10-04\",\"IS_VETERANS\":\"0\",\"IS_MB\":\"0\",\"IS_UNEMPLOYED\":\"0\",\"DEMAND_NAME\":\"心理咨询\",\"IS_KC\":\"0\",\"IS_ENSURE_HOUSE\":\"0\",\"IS_SD\":\"0\",\"NAME\":\"尹作梅\",\"RDSJ\":\"2021-10-28 00:00:00\",\"IS_VOLUNTEER\":\"1\",\"GRID_ID_VALUE\":\"e74829ffc43d5470eba6b5e060c11e63\",\"IS_SZ\":\"0\",\"IS_CJ\":\"0\",\"HOME_ID_VALUE\":\"200\",\"DEMAND_CATEGORY_IDS\":\"10180002\",\"VILLAGE_NAME\":\"中海国际社区一里城\",\"IS_DBH\":\"0\",\"IS_SN\":\"0\",\"BUILD_NAME\":\"1号楼\",\"IS_YLFN\":\"0\",\"IS_UNITED_FRONT\":\"0\",\"ID_CARD\":\"371325199310260529\",\"MOBILE\":\"15764229697\",\"IS_OLD_PEOPLE\":\"0\",\"DOOR_NAME\":\"101\"}]"); log.info("resiMainList:{}", JSON.toJSONString(resiMainList)); String templatePath = "excel/ic_resi_info_cid.xls"; @@ -211,7 +212,7 @@ public class IcResiUserController { if (item.getChildGroup() != null) { if (!item.getChildGroup().getTableName().equals(BASE_TABLE_NAME)) { Map itemMap1 = otherSheetItems.get(item.getChildGroup().getTableName()); - Map> resiChildMap = icResiUserService.getDataForExport(itemMap1,resiMainList, pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), item.getChildGroup().getTableName(), pageFormDTO.getConditions(),staffInfoCacheResult.getAgencyId(),staffOrgPath); + Map> resiChildMap = icResiUserService.getDataForExport(itemMap1,resiMainList, item.getChildGroup().getTableName(),pageFormDTO,staffInfoCacheResult.getAgencyId(),staffOrgPath); //resiChildMap.forEach((key, value) -> value.putAll(resiMainList.get(key))); Map mapData2 = new HashMap<>(); @@ -246,7 +247,7 @@ public class IcResiUserController { resiFormAllItems.stream().collect(Collectors.groupingBy(e ->e.get));*/ - Map> resiMainList = icResiUserService.getDataForExport(otherSheetItems.get(BASE_TABLE_NAME),new HashMap<>(), pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), BASE_TABLE_NAME, pageFormDTO.getConditions(),staffInfoCacheResult.getAgencyId(),staffOrgPath); + Map> resiMainList = icResiUserService.getDataForExport(otherSheetItems.get(BASE_TABLE_NAME),new HashMap<>(), BASE_TABLE_NAME, pageFormDTO,staffInfoCacheResult.getAgencyId(),staffOrgPath); //========================================= String templatePath = "excel/ic_resi_info_cid_for_easy_excel.xlsx"; @@ -266,7 +267,7 @@ public class IcResiUserController { if (item.getChildGroup() != null) { if (!item.getChildGroup().getTableName().equals(BASE_TABLE_NAME)) { Map itemMap1 = otherSheetItems.get(item.getChildGroup().getTableName()); - Map> resiChildMap = icResiUserService.getDataForExport(itemMap1,resiMainList, pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), item.getChildGroup().getTableName(), pageFormDTO.getConditions(),staffInfoCacheResult.getAgencyId(),staffOrgPath); + Map> resiChildMap = icResiUserService.getDataForExport(itemMap1,resiMainList,item.getChildGroup().getTableName() , pageFormDTO, staffInfoCacheResult.getAgencyId(),staffOrgPath); //resiChildMap.forEach((key, value) -> value.putAll(resiMainList.get(key))); int sheetNo = n.incrementAndGet(); @@ -409,9 +410,9 @@ public class IcResiUserController { * @date 2021/11/3 1:42 下午 */ @PostMapping("searchbyname") - public Result> searchByName(@RequestBody SearchByNameFormDTO formDTO, @LoginUser TokenDto tokenDto) { + public Result> searchByName(@RequestBody SearchByNameFormDTO formDTO, @LoginUser TokenDto tokenDto) { ValidatorUtils.validateEntity(formDTO, SearchByNameFormDTO.SearchByNameForm.class); - return new Result>().ok(icResiUserService.searchByName(formDTO, tokenDto)); + return new Result>().ok(icResiUserService.searchByName(formDTO, tokenDto)); } @NotNull 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 510c434264..0947eaaf82 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 @@ -57,29 +57,32 @@ public class StatsResiWarnController { private StatsResiWarnService statsResiWarnService; @PostMapping("list") - public Result list(@RequestBody StatsResiListFormDTO formDTO){ + public Result list(@LoginUser TokenDto tokenDto,@RequestBody StatsResiListFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO); - List icStatsResiResultDTOList = statsResiWarnService.list(formDTO.getId(),formDTO.getLevel()); + String customerId = tokenDto.getCustomerId(); + List icStatsResiResultDTOList = statsResiWarnService.list(customerId,formDTO.getId(),formDTO.getLevel()); return new Result().ok(icStatsResiResultDTOList); } @PostMapping("buildingwarnlist") - public Result buildingWarnList(@RequestBody StatsResiWarnFormDTO formDTO){ + public Result buildingWarnList(@LoginUser TokenDto tokenDto,@RequestBody StatsResiWarnFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, StatsResiWarnFormDTO.ListSelectedBuilding.class); + String customerId = tokenDto.getCustomerId(); String agencyID = formDTO.getAgencyId(); - List icStatsResiWarnBuildingResultDTOS = statsResiWarnService.buildingwWarnList(agencyID); + List icStatsResiWarnBuildingResultDTOS = statsResiWarnService.buildingwWarnList(customerId,agencyID); return new Result().ok(icStatsResiWarnBuildingResultDTOS); } @PostMapping("userwarnlist") - public Result userWarnList(@RequestBody StatsResiWarnFormDTO formDTO){ + public Result userWarnList(@LoginUser TokenDto tokenDto,@RequestBody StatsResiWarnFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, StatsResiWarnFormDTO.ListSelectedUser.class); + String customerId = tokenDto.getCustomerId(); List buildingIdList = formDTO.getBuildingIdList(); if(CollectionUtils.isEmpty(buildingIdList)){ return new Result(); } - List icStatsResiWarnUserResultDTOS = statsResiWarnService.userWarnList(formDTO.getConfigId(), formDTO.getBuildingIdList()); + List icStatsResiWarnUserResultDTOS = statsResiWarnService.userWarnList(customerId,formDTO.getConfigId(), formDTO.getBuildingIdList()); return new Result().ok(icStatsResiWarnUserResultDTOS); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcStatsResiWarnDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcStatsResiWarnDao.java index 5eea1c2c44..ef9fac802c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcStatsResiWarnDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcStatsResiWarnDao.java @@ -35,17 +35,27 @@ import java.util.Map; @Mapper public interface IcStatsResiWarnDao extends BaseDao { - List selectResiWarnByAgencyId(@Param("agencyId") String agencyId); + List selectResiWarnByAgencyId(@Param("customerId") String customerId,@Param("agencyId") String agencyId); - List> userWarnList(@Param("buildingIdList") List buildingIdList, @Param("tableName") String tableName, @Param("columnName") String columnName); + List> userWarnList(@Param("customerId") String customerId, + @Param("buildingIdList") List buildingIdList, + @Param("tableName") String tableName, + @Param("columnName") String columnName); Integer countListByLevelAndCol( + @Param("customerId") String customerId, @Param("tableName") String tableName, @Param("columnName") String columnName, @Param("id")String id, @Param("level")String level); - List resiWarn(@Param("tableName") String tableName,@Param("columnName") String columnName); - IcStatsResiWarnEntity resiWarnById(@Param("tableName") String tableName,@Param("columnName") String columnName,@Param("icStatsResiWarn") IcStatsResiWarnEntity icStatsResiWarn); + List resiWarn(@Param("customerId") String customerId, + @Param("tableName") String tableName, + @Param("columnName") String columnName); + + IcStatsResiWarnEntity resiWarnById(@Param("customerId") String customerId, + @Param("tableName") String tableName, + @Param("columnName") String columnName, + @Param("icStatsResiWarn") IcStatsResiWarnEntity icStatsResiWarn); } \ No newline at end of file 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 478ab8f65f..8b650d342d 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 @@ -99,7 +99,7 @@ public interface IcResiUserService extends BaseService { * @author zxc * @date 2021/11/3 1:42 下午 */ - List searchByName(SearchByNameFormDTO formDTO,TokenDto tokenDto); + PageData searchByName(SearchByNameFormDTO formDTO, TokenDto tokenDto); /** @@ -107,13 +107,10 @@ public interface IcResiUserService extends BaseService { * * @param itemList * @param resiMainList - * @param customerId - * @param formCode * @param baseTableName - * @param conditions * @return */ - Map> getDataForExport(Map itemList, Map> resiMainList, String customerId, String formCode, String baseTableName, List conditions,String currentStaffAgencyId, + Map> getDataForExport(Map itemList, Map> resiMainList, String baseTableName, IcResiUserPageFormDTO pageFormDTO, String currentStaffAgencyId, String staffOrgPath); /** 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 4ef4b6722a..64ccaa2fb1 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 @@ -31,11 +31,11 @@ import java.util.List; */ public interface StatsResiWarnService{ - List buildingwWarnList(String agencyID); + List buildingwWarnList(String customerId,String agencyID); - List userWarnList(String configId, List buildingIdList); + List userWarnList(String customerId,String configId, List buildingIdList); - List list(String id, String level); + List list(String customerId,String id, String level); void resiWarn(String customerId); 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 351c5058b3..5499d7086a 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 @@ -570,7 +570,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl searchByName(SearchByNameFormDTO formDTO, TokenDto tokenDto) { + public PageData searchByName(SearchByNameFormDTO formDTO, TokenDto tokenDto) { // 查询工作人员所属组织 CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); if (null == staffInfo){ @@ -580,7 +580,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.searchByName(formDTO.getName(), staffInfo.getAgencyId(), no)); List result = pageInfo.getList(); if (CollectionUtils.isEmpty(result)){ - return new ArrayList<>(); + return new PageData<>(new ArrayList<>(), pageInfo.getTotal()); } // 查询小区,楼号,网格 Result> gridResult = govOrgOpenFeignClient.getGridListByGridIds(result.stream().map(SearchByNameResultDTO::getGridId).collect(Collectors.toList())); @@ -605,7 +605,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl(result, pageInfo.getTotal()); } /** @@ -614,19 +614,17 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> getDataForExport(Map formItemMap, Map> resiMainList, String customerId, String formCode, String baseTableName, List conditions, + public Map> getDataForExport(Map formItemMap, Map> resiMainList, String baseTableName,IcResiUserPageFormDTO pageFormDTO, String currentStaffAgencyId, String staffOrgPath) { - List> mapList = this.dynamicQuery(customerId, formCode, baseTableName, conditions,currentStaffAgencyId,staffOrgPath); + List> mapList = this.dynamicQuery(pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), baseTableName, pageFormDTO.getConditions(),currentStaffAgencyId,staffOrgPath); Map> result = new LinkedHashMap<>(); mapList.stream().filter(Objects::nonNull).forEach(map -> { + //遍历所有字段 格式化时间字段 map.forEach((k,o) -> { if (o instanceof java.sql.Date){ o = DateUtils.format(((Date) o),DateUtils.DATE_PATTERN); @@ -635,18 +633,27 @@ public class IcResiUserServiceImpl extends BaseServiceImpl e : formItemMap.entrySet()) { String k = e.getKey(); FormItemResult v = e.getValue(); @@ -658,13 +665,12 @@ public class IcResiUserServiceImpl extends BaseServiceImpl columnWrappers = new HashMap<>(); if (v.getItemId().equals("1078")) { Map userMap = resiMainList.get(map.get(UserConstant.IC_RESI_USER)); - Object gridId = userMap.get(UserConstant.GRID_ID); IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper(); value.setColValue(gridId.toString()); columnWrappers.put("1001", value); } //todo 获取 options - Map stringMap = icResiUserImportService.listRemoteOptions(columnWrappers, v.getOptionSourceValue(), null); + Map stringMap = icResiUserImportService.listRemoteOptions(columnWrappers, v.getOptionSourceValue(), currentStaffAgencyId); if ("checkbox".equals(v.getItemType())) { stringMap.forEach((label, value) -> map.put(value, vauleStr.contains(value) ? "是" : "否")); } else if ("select".equals(v.getItemType())) { @@ -704,15 +710,15 @@ public class IcResiUserServiceImpl extends BaseServiceImpl gridInfoRes = govOrgOpenFeignClient.getGridBaseInfoByGridId(formDTO); if (gridInfoRes != null && gridInfoRes.success() && gridInfoRes.getData() != null) { map.put(UserConstant.GRID_NAME, gridInfoRes.getData().getGridName()); } - } + }*/ Object homeId = map.get(UserConstant.HOME_ID); if (homeId != null) { HashSet houseIds = new HashSet<>(); 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 8a8af94e2b..4b2028501c 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 @@ -52,7 +52,7 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { private IcResiUserDao icResiUserDao; @Override - public List buildingwWarnList(String agencyID) { + public List buildingwWarnList(String customerId,String agencyID) { List result = new ArrayList<>(); //feign获取当前需要预警的配置信息以及阈值 Result> warnResult = operCustomizeOpenFeignClient.resiCategoryWarnList(); @@ -81,7 +81,7 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { return resiWarnBuildingResultDTO; }).collect(Collectors.toList()); //统计数量 - List icStatsResiWarnEntityList = icStatsResiWarnDao.selectResiWarnByAgencyId(agencyID); + List icStatsResiWarnEntityList = icStatsResiWarnDao.selectResiWarnByAgencyId(customerId,agencyID); if(CollectionUtils.isEmpty(icStatsResiWarnEntityList )){ return result; } @@ -115,7 +115,7 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { } @Override - public List userWarnList(String configId, List buildingIdList) { + public List userWarnList(String customerId,String configId, List buildingIdList) { //feign根据buildingIdList 获取网格,小区,楼宇 信息 Result> buildingList = govOrgOpenFeignClient.buildingListByIds(buildingIdList); if (!buildingList.success() || null == buildingList.getData()) { @@ -137,7 +137,7 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { IcResiCategoryWarnConfigDTO icResiCategoryWarnConfigDTO = warnResult.getData(); //根据buildingID,tableName he columnName获取名字 - List> maps = icStatsResiWarnDao.userWarnList(buildingIdList, icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName()); + List> maps = icStatsResiWarnDao.userWarnList(customerId,buildingIdList, icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName()); result.forEach(item->{ item.setConfigId(configId); List> buildingIds = maps.stream().filter(map -> item.getBuildingId().equals(map.get("buildingId"))).collect(Collectors.toList()); @@ -147,7 +147,7 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { } @Override - public List list(String id, String level) { + public List list(String customerId,String id, String level) { //获取所有配置类项 getshow Result> statsResult = operCustomizeOpenFeignClient.resiCategoryStatsListShowd(); if (!statsResult.success() || null == statsResult.getData()) { @@ -164,7 +164,7 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { resultDTO.setHouseShowIcon(item.getHouseShowIcon()); resultDTO.setManagementIcon(item.getManagementIcon()); //根据id ,level 获取count - Integer count = icStatsResiWarnDao.countListByLevelAndCol(item.getTableName(),item.getColumnName(),id,level); + Integer count = icStatsResiWarnDao.countListByLevelAndCol(customerId,item.getTableName(),item.getColumnName(),id,level); resultDTO.setCount(count); result.add(resultDTO); }); @@ -187,10 +187,10 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { //保存数据 List icStatsResiWarnEntities = new ArrayList<>(); for (IcResiCategoryWarnConfigDTO item : icResiCategoryWarnConfigDTOList) { - icStatsResiWarnDao.delete(new QueryWrapper().lambda().eq(IcStatsResiWarnEntity::getConfigId,item.getId())); - List maps = icStatsResiWarnDao.resiWarn(item.getTableName(), item.getColumnName()); + icStatsResiWarnDao.delete(new QueryWrapper().lambda().eq(IcStatsResiWarnEntity::getConfigId,item.getId()).eq(IcStatsResiWarnEntity::getCustomerId,customerId)); + List maps = icStatsResiWarnDao.resiWarn(customerId,item.getTableName(), item.getColumnName()); if(CollectionUtils.isEmpty(maps)){ continue; } @@ -226,6 +226,11 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { if(null == icResiUserEntity){ return ; } + IcStatsResiWarnEntity query = new IcStatsResiWarnEntity(); + query.setAgencyId(icResiUserEntity.getAgencyId()); + query.setGridId(icResiUserEntity.getGridId()); + query.setNeighborHoodId(icResiUserEntity.getVillageId()); + query.setBuildingId(icResiUserEntity.getBuildId()); //保存数据 for (IcResiCategoryWarnConfigDTO item : icResiCategoryWarnConfigDTOList) { @@ -233,11 +238,13 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { IcStatsResiWarnEntity icStatsResiWarn = icStatsResiWarnDao.selectOne(new QueryWrapper().lambda() .eq(IcStatsResiWarnEntity::getConfigId,item.getId()) + .eq(IcStatsResiWarnEntity::getCustomerId,customerId) .eq(IcStatsResiWarnEntity::getAgencyId, icResiUserEntity.getAgencyId()) .eq(IcStatsResiWarnEntity::getGridId, icResiUserEntity.getGridId()) .eq(IcStatsResiWarnEntity::getNeighborHoodId, icResiUserEntity.getVillageId()) .eq(IcStatsResiWarnEntity::getBuildingId, icResiUserEntity.getBuildId())); - + //统计数量 + IcStatsResiWarnEntity resiWarnEntity = icStatsResiWarnDao.resiWarnById(customerId,item.getTableName(), item.getColumnName(),query); if(null == icStatsResiWarn){ //如果不存在,新增统计数量 icStatsResiWarn = new IcStatsResiWarnEntity(); @@ -248,18 +255,23 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { icStatsResiWarn.setBuildingId(icResiUserEntity.getBuildId()); icStatsResiWarn.setConfigId(item.getId()); icStatsResiWarn.setCustomerId(customerId); - IcStatsResiWarnEntity resiWarnEntity = icStatsResiWarnDao.resiWarnById(item.getTableName(), item.getColumnName(),icStatsResiWarn); + if(null == resiWarnEntity){ - continue; + icStatsResiWarn.setCount(0); + }else{ + icStatsResiWarn.setCount(resiWarnEntity.getCount()); } - icStatsResiWarn.setCount(resiWarnEntity.getCount()); icStatsResiWarnDao.insert(icStatsResiWarn); }else{ //如果存在,更新统计数量 - IcStatsResiWarnEntity resiWarnEntity = icStatsResiWarnDao.resiWarnById(item.getTableName(), item.getColumnName(),icStatsResiWarn); - icStatsResiWarn.setCount(resiWarnEntity.getCount()); + if(null == resiWarnEntity){ + icStatsResiWarn.setCount(0); + }else{ + icStatsResiWarn.setCount(resiWarnEntity.getCount()); + } icStatsResiWarn.setCustomerId(customerId); icStatsResiWarnDao.updateById(icStatsResiWarn); + } diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid.xls b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid.xls index a3fea99bbc..321666f7a4 100644 Binary files a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid.xls and b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid.xls differ diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls index fcf12bc805..c9a0d77e2e 100644 Binary files a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls and b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xls differ diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xlsx index e6ea9548c4..52df58c6c5 100644 Binary files a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xlsx and b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xlsx differ 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 4839f96d5a..c0a5d5ad33 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 @@ -187,7 +187,7 @@ GRID_ID FROM ic_resi_user WHERE DEL_FLAG = '0' - AND PIDS LIKE CONCAT('%',#{agencyId},'%') + AND (AGENCY_ID = #{agencyId} OR PIDS LIKE CONCAT('%',#{agencyId},'%')) AND `NAME` LIKE CONCAT('%',#{name},'%') ORDER BY `NAME` 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 79a5f7499b..4a4a2a6cc3 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 @@ -29,6 +29,7 @@ AND (AGENCY_ID = #{agencyId} or CONCAT(':',AGENCY_PIDS, ':') like CONCAT('%:',#{agencyId},':%')) + and CUSTOMER_ID = #{customerId} @@ -63,7 +66,7 @@ and ID in ( - select IC_RESI_USER from ${tableName} where ${columnName} = '1' and DEL_FLAG = '0' + select IC_RESI_USER from ${tableName} where ${columnName} = '1' and CUSTOMER_ID = #{customerId} and DEL_FLAG = '0' ) @@ -78,6 +81,7 @@ AND BUILD_ID = #{id} + and CUSTOMER_ID = #{customerId} and DEL_FLAG = '0' @@ -97,10 +101,11 @@ and ID in ( - select IC_RESI_USER from ${tableName} where ${columnName} = '1' and DEL_FLAG = '0' + select IC_RESI_USER from ${tableName} where ${columnName} = '1' and CUSTOMER_ID = #{customerId} and DEL_FLAG = '0' ) - and DEL_FLAG = '0' + and CUSTOMER_ID = #{customerId} + and DEL_FLAG = '0' group by AGENCY_ID,GRID_ID,VILLAGE_ID,BUILD_ID