From 63db743735d7f376d046500cbcfbbfe3acde6ca1 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 1 Nov 2021 13:39:46 +0800 Subject: [PATCH 01/15] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml index 9dc97b4c5a..a23656d221 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml @@ -124,7 +124,7 @@ SELECT - staff_id staffId, - staff_name staffName, - date_id dateId, + a.staff_id staffId, + a.staff_name staffName, + a.date_id dateId, IFNULL( SUM( - issue_to_project_count + closed_issue_count + project_response_count + project_transfer_count + project_closed_count - ) - , 0)eventCount - FROM - fact_grid_member_statistics_daily - WHERE - del_flag = '0' - AND pids LIKE concat('%', #{agencyId}, '%') - AND date_id = ( - SELECT MAX(date_id) - FROM fact_grid_member_statistics_daily - WHERE - del_flag = '0' + a.issue_to_project_count + a.closed_issue_count + a.project_response_count + a.project_transfer_count + a.project_closed_count + ), + 0 + ) eventCount + FROM + fact_grid_member_statistics_daily a + INNER JOIN ( + SELECT + staff_id, + MAX(date_id) date_id + FROM + fact_grid_member_statistics_daily + WHERE del_flag = '0' + AND pids LIKE concat('%', #{agencyId}, '%') AND month_id = #{dimId} AND year_id = #{dimId} - ) - GROUP BY staff_id + GROUP BY STAFF_ID + ) b ON a.STAFF_ID = b.STAFF_ID AND a.date_id = b.date_id + + WHERE + a.del_flag = '0' + AND a.pids LIKE concat('%', #{agencyId}, '%') + GROUP BY a.staff_id + ORDER BY a.date_id DESC + + + \ No newline at end of file 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 7bb1faee36..bed6dd6e50 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 @@ -162,6 +162,28 @@ public class IcResiUserServiceImpl extends BaseServiceImpl formDTO) { //循环自动拼接sql语句,往多个表新增数据 + //0.校验必填字段是否为空 + Result> resultList = operCustomizeOpenFeignClient.getMustColumn(tokenDto.getCustomerId()); + if (resultList.success() && null != resultList.getData()) { + StringBuffer str = new StringBuffer(""); + formDTO.forEach(f -> { + resultList.getData().forEach(l -> { + if (f.getTableName().equals(l.getTableName())) { + f.getList().forEach(map -> { + if (!map.containsKey(l.getColumnName())) { + str.append(str.length() < NumConstant.ONE ? l.getLabel() : "、" + l.getLabel()); + } + }); + } + }); + }); + if (!"".equals(str)) { + throw new RenException(String.format("新增居民信息,必要字段值为空,%s值为空", str)); + } + } else { + throw new RenException(String.format("新增居民信息-根据客户Id查询必填信息失败,customerId->%s", tokenDto.getCustomerId())); + } + //1.先往主表新增数据 //主表Id String resiUserId = UUID.randomUUID().toString().replaceAll("-", ""); From 71b4875446cfc709de9953a4e606105a9fec1be7 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 3 Nov 2021 15:37:42 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=88=BF=E5=B1=8B?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/GovOrgOpenFeignClient.java | 9 +++++++++ .../GovOrgOpenFeignClientFallback.java | 5 +++++ .../epmet/controller/IcHouseController.java | 11 ++++++++++ .../main/java/com/epmet/dao/IcHouseDao.java | 9 +++++++++ .../com/epmet/service/IcHouseService.java | 9 +++++++++ .../service/impl/IcHouseServiceImpl.java | 20 +++++++++++++++---- .../src/main/resources/mapper/IcHouseDao.xml | 12 +++++++++++ 7 files changed, 71 insertions(+), 4 deletions(-) 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 d7621bd88b..4784584218 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 @@ -507,4 +507,13 @@ public interface GovOrgOpenFeignClient { */ @PostMapping("/gov/org/icneighborhood/neighborhoodoption") Result> getNeighborHoodOptions(IcNeighborHoodDTO dto); + + /** + * @Description 查询房屋信息 + * @param idCard + * @author zxc + * @date 2021/11/3 3:30 下午 + */ + @PostMapping("/gov/org/ichouse/selecthouseinfobyidcard") + Result> selectHouseInfoByIdCard(@RequestParam("idCard")String idCard); } 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 7e53823382..95219d6b1b 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 @@ -305,6 +305,11 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getNeighborHoodOptions", dto); } + @Override + public Result> selectHouseInfoByIdCard(String idCard) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectHouseInfoByIdCard", idCard); + } + @Override public Result selectPidsByGridId(String gridId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectPidsByGridId", gridId); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java index 982bf33835..4092579603 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcHouseController.java @@ -88,4 +88,15 @@ public class IcHouseController { return new Result>().ok(icHouseService.getHouseOption(formDTO)); } + /** + * @Description 查询房屋信息 + * @param idCard + * @author zxc + * @date 2021/11/3 3:30 下午 + */ + @PostMapping("selecthouseinfobyidcard") + public Result> selectHouseInfoByIdCard(@RequestParam("idCard")String idCard){ + return new Result>().ok(icHouseService.selectHouseInfoByIdCard(idCard)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java index fd07309c02..07ca76c21c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java @@ -52,4 +52,13 @@ public interface IcHouseDao extends BaseDao { List searchAllHouse(@Param("house") IcHouseEntity house); List queryHouseInfo(@Param("houseIdList") Set houseIdList); + + /** + * @Description 查询房屋信息 + * @param idCard + * @author zxc + * @date 2021/11/3 3:30 下午 + */ + List selectHouseInfoByIdCard(@Param("idCard") String idCard); + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java index 471007a582..2f434ab350 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java @@ -103,4 +103,13 @@ public interface IcHouseService extends BaseService { * @Date 2021/10/25 17:04 */ List getHouseOption(HouseFormDTO formDTO); + + /** + * @Description 查询房屋信息 + * @param idCard + * @author zxc + * @date 2021/11/3 3:30 下午 + */ + List selectHouseInfoByIdCard(String idCard); + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 0a6f7f50c4..041bdc6b54 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -36,10 +36,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -135,4 +132,19 @@ public class IcHouseServiceImpl extends BaseServiceImpl selectHouseInfoByIdCard(String idCard) { + List result = baseDao.selectHouseInfoByIdCard(idCard); + if (CollectionUtils.isEmpty(result)){ + return new ArrayList<>(); + } + return result; + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index 3dc145833a..e150566f8a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -252,4 +252,16 @@ ih.ID = #{houseId} + + + \ No newline at end of file From 777aa9e0c071d7bad2be5cd32cf5e2efd75e2130 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 3 Nov 2021 15:41:44 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=88=BF=E5=B1=8B?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/PersonDataResultDTO.java | 7 +++++-- .../epmet/service/impl/IcResiUserServiceImpl.java | 13 +++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java index 22a6fc3c41..ae4082c383 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java @@ -52,7 +52,10 @@ public class PersonDataResultDTO implements Serializable { /** * 志愿者类别 */ - private String volunteerCategory; + private List volunteerCategory; + + @JsonIgnore + private List volunteerCategoryEn; public PersonDataResultDTO() { this.workUnit = ""; @@ -61,7 +64,7 @@ public class PersonDataResultDTO implements Serializable { this.name = ""; this.financialSituation = new FinancialSituationDTO(); this.houseInfo = new ArrayList<>(); - this.volunteerCategory = ""; + this.volunteerCategory = new ArrayList<>(); } /** 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 bed6dd6e50..d668fd4c71 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 @@ -964,9 +964,18 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> listResult = govOrgOpenFeignClient.selectHouseInfoByIdCard(personData.getIdCard()); + if (!listResult.success()){ + throw new RenException("查询房屋信息失败"); + } + personData.setHouseInfo(listResult.getData()); // TODO - return null; + return personData; } /** From ca1490649eb6691eab8ccaaf4ead031f5920ac52 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 3 Nov 2021 15:55:11 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E5=88=86=E9=A1=B5=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=EF=BC=8C=E5=A2=9E=E5=8A=A0staffId=EF=BC=8C?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=BD=93=E5=89=8D=E5=B7=A5=E4=BD=9C=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E6=89=80=E5=B1=9E=E7=BB=84=E7=BB=87=E5=8F=8A=E4=B8=8B?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/IcResiUserPageFormDTO.java | 3 ++ .../controller/IcResiUserController.java | 1 + .../java/com/epmet/dao/IcResiUserDao.java | 4 ++- .../service/impl/IcResiUserServiceImpl.java | 14 +++++++-- .../main/resources/mapper/IcResiUserDao.xml | 29 +++++++++++++++++-- 5 files changed, 46 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java index 44eb3bf105..bf75ed325f 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java @@ -34,5 +34,8 @@ public class IcResiUserPageFormDTO implements Serializable { */ private List conditions; private Boolean pageFlag; + + @NotBlank(message = "当前用户id不能为空", groups = AddUserInternalGroup.class) + private String staffId; } 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 bc1472c954..5fe518e8dc 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 @@ -307,6 +307,7 @@ public class IcResiUserController { public Result>> queryListResi1(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO){ //pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); pageFormDTO.setCustomerId(tokenDto.getCustomerId()); + pageFormDTO.setStaffId(tokenDto.getUserId()); ValidatorUtils.validateEntity(pageFormDTO,IcResiUserPageFormDTO.AddUserInternalGroup.class); return new Result>>().ok(icResiUserService.pageResiMap(pageFormDTO)); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 329447a24f..a73caaccf6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -54,7 +54,9 @@ public interface IcResiUserDao extends BaseDao { @Param("formCode") String formCode, @Param("conditions") List conditions, @Param("resultColumns") List resultColumns, - @Param("subTables") List subTables); + @Param("subTables") List subTables, + @Param("currentStaffAgencyId")String currentStaffAgencyId, + @Param("staffOrgPath") String staffOrgPath); /** * 查询主表 * 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 e116058d4e..90e2765078 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 @@ -293,6 +293,12 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> pageResiMap(IcResiUserPageFormDTO formDTO) { + CustomerStaffInfoCacheResult staffInfoCacheResult=CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(),formDTO.getStaffId()); + String staffOrgPath=StrConstant.EPMETY_STR; + if(StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds())&& !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())){ + staffOrgPath=staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId()); + } + // 查询列表展示项,如果没有,直接返回 CustomerFormQueryDTO queryDTO1=new CustomerFormQueryDTO(); queryDTO1.setCustomerId(formDTO.getCustomerId()); @@ -309,18 +315,22 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> pageInfo=new PageInfo<>(); if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) { //分页 + String finalStaffOrgPath = staffOrgPath; pageInfo= PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(), formDTO.getFormCode(), formDTO.getConditions(), resultColumns, - subTables)); + subTables, + staffInfoCacheResult.getAgencyId(), finalStaffOrgPath + )); }else{ List> list=baseDao.selectListResiMap(formDTO.getCustomerId(), formDTO.getFormCode(), formDTO.getConditions(), resultColumns, - subTables); + subTables,staffInfoCacheResult.getAgencyId(), + staffOrgPath); pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size()); pageInfo.setList(list); } 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 12b430d2f3..6e91e4f0c0 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 @@ -44,8 +44,32 @@ select * from ${subTableName} where del_flag='0' and IC_RESI_USER=#{icResiUserId} and customer_id=#{customerId} + + + ic_resi_user.DEL_FLAG = '0' + and ic_resi_user.customer_id=#{customerId} + and (ic_resi_user.AGENCY_ID =#{currentStaffAgencyId} or ic_resi_user.pids like concat(#{staffOrgPath},'%')) + + + + + + and ${subCondition.tableName}.${subCondition.columnName} = #{subCondition.columnValue[0]} + + + + and ${subCondition.tableName}.${subCondition.columnName} like concat('%',#{subCondition.columnValue[0]},'%') + - + + and ${subCondition.tableName}.${subCondition.columnName} between #{subCondition.columnValue[0]} and #{subCondition.columnValue[1]} + + + + + + + ic_resi_user.DEL_FLAG = '0' and ic_resi_user.customer_id=#{customerId} @@ -73,6 +97,7 @@ + + + + \ No newline at end of file From b3b9bee28211617e767418466ea244671747d582 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 3 Nov 2021 20:15:52 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E5=A4=84=E7=90=86=E9=83=A8=E5=88=86remot?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IcResiUserController.java | 12 +--- .../service/impl/IcResiUserServiceImpl.java | 62 ++++++++++++------ .../main/resources/excel/ic_resi_info_cid.xls | Bin 80384 -> 80384 bytes 3 files changed, 46 insertions(+), 28 deletions(-) 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 ed92350d41..4ed686ba22 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 @@ -329,14 +329,13 @@ public class IcResiUserController { @RequestMapping(value = "/exportExcel") public void exportExcel(/*@LoginUser TokenDto tokenDto,*/ @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws IOException { - pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); pageFormDTO.setPageFlag(false); CustomerFormResultDTO resiFormItems = getResiFormItems(pageFormDTO.getCustomerId()); Map itemMap = new HashMap<>(); for (FormItem formItem : resiFormItems.getItemList()) { - if (StringUtils.isNotBlank(formItem.getColumnName())){ + if (StringUtils.isBlank(formItem.getColumnName())){ continue; } if (formItem.getItemType().equals("checkbox") || formItem.getItemType().equals("select")){ @@ -344,7 +343,7 @@ public class IcResiUserController { } if (formItem.getChildGroup() != null) { for (FormItem2 item2 : formItem.getChildGroup().getItemList()) { - if (StringUtils.isNotBlank(item2.getColumnName())){ + if (StringUtils.isBlank(item2.getColumnName())){ continue; } if (item2.getItemType().equals("checkbox") || item2.getItemType().equals("select")){ @@ -357,7 +356,7 @@ public class IcResiUserController { for (FormGroupDTO groupItem : resiFormItems.getGroupList()) { if (groupItem.getItemList() != null) { for (FormItem2 item : groupItem.getItemList()) { - if (StringUtils.isNotBlank(item.getColumnName())){ + if (StringUtils.isBlank(item.getColumnName())){ continue; } if (item.getItemType().equals("checkbox") || item.getItemType().equals("select")){ @@ -383,10 +382,6 @@ public class IcResiUserController { if (item.getChildGroup() != null) { if (!item.getChildGroup().getTableName().equals(BASE_TABLE_NAME)) { - //itemMap = item.getChildGroup().getItemList().stream().filter(o -> o.getItemType().equals("checkbox")).collect(Collectors.toMap(o -> o.getColumnName().concat(o.getColumnNum() == 0 ? "" : o.getColumnNum().toString()), o -> ConvertUtils.sourceToTarget(o,FormItem.class))); - - - Map> resiChildMap = icResiUserService.getDataForExport(itemMap, pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), item.getChildGroup().getTableName(), pageFormDTO.getConditions()); resiChildMap.forEach((key,value)->{ value.putAll(resiMainList.get(key)); @@ -394,7 +389,6 @@ public class IcResiUserController { Map mapData2 = new HashMap<>(); mapData2.put("list", resiChildMap.values()); - System.out.println("========="+item.getChildGroup().getTableName()+" data:"+resiChildMap.size()); sheetMap.put(n.incrementAndGet(),mapData2); } } 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 d2c5b2dbed..9b39543c43 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 @@ -92,10 +92,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -534,11 +534,11 @@ public class IcResiUserServiceImpl extends BaseServiceImpl headerColumnWrapper, List> dataRows, + private void persist(Map headerColumnWrapper, List> dataRows, String currUserAgencyId, Map checkBoxOptionColumnIdxAndLabel, String tableName, String currUserAgencyPids, String currentUserId) { for (Map row : dataRows) { - + // 当前行的列们 // List columnsOfCurrRow = new ArrayList<>(); @@ -594,7 +594,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> result = new LinkedHashMap<>(); mapList.stream().filter(Objects::nonNull).forEach(map -> { String resiId = (String) map.getOrDefault(UserConstant.IC_RESI_USER, ""); - formItemMap.forEach((k, v)->{ + for (Map.Entry e : formItemMap.entrySet()) { + String k = e.getKey(); + FormItem v = e.getValue(); Object temp = map.get(k); if (temp != null) { if (v.getOptionSourceType().equals("remote")) { - //todo 获取 options - } - if (v.getItemType().equals("checkbox")) { - v.getOptions().forEach(optionDTO -> { - map.put(optionDTO.getValue(), temp.toString().contains(optionDTO.getValue()) ? "是" : "否"); - }); - } else if (v.getItemType().equals("select")) { - v.getOptions().forEach(optionDTO -> { - map.put(optionDTO.getValue(), temp.toString().equals(optionDTO.getValue()) ? optionDTO.getLabel() : ""); - }); + try { + //todo 获取 options + Map stringMap = listRemoteOptions(new HashMap<>(), v.getOptionSourceValue(), null); + System.out.println("======remote:"+v.getLabel()+" "+JSON.toJSONString(stringMap)); + if ("checkbox".equals(v.getItemType())) { + stringMap.forEach((label, value) -> map.put(value, temp.toString().contains(value) ? "是" : "否")); + } else if ("select".equals(v.getItemType())) { + + stringMap.forEach((label,value)->{ + if (temp.toString().equals(value)){ + map.put(k, label); + } + }); + } + } catch (Exception ex) { + log.warn("listRemoteOptions url:{}",v.getOptionSourceValue()); + } + } else { + if ("checkbox".equals(v.getItemType())) { + v.getOptions().forEach(optionDTO -> { + map.put(optionDTO.getValue(), temp.toString().contains(optionDTO.getValue()) ? "是" : "否"); + }); + } else if ("select".equals(v.getItemType())) { + v.getOptions().forEach(optionDTO -> { + if (optionDTO.getLabel().equals(temp.toString())){ + map.put(k, optionDTO.getLabel()); + } + }); + } } } - }); + } if ("ic_resi_user".equals(baseTableName)) { resiId = (String) map.get("ID"); } @@ -1085,6 +1108,7 @@ public class IcResiUserServiceImpl extends BaseServiceImplFA5l8}Tq353f{0^yaA1mr32mr7AOptV*nmRfP9 zD6-XP5v`-`%+SGMydnV4`fh<-77OmZZRh<RQouQ2!q6;SE`eW|S*_%nexlI!&B1O2Y%gf{UPH*s6>L>ljQkKz?n{I80?#SDjqdN5)<<)Ajekxe4 zy6x{C*62HeDf-!9rT$)UPPDe-We~mlOP_K2~f6uH9Cp(re zIn#Odx}|G3cWv8u3zgE&d$~MaHLNJ@7+6|&+?3LR>(?IYI@yufHu8dgsIkm?@Kyax zW2tr3dHo75k!=0D#xY9iU{givn!pbf(Z{;IX;i93YH3ePS9E*R2$kw1wX5sl{SV(c z!{UN#yMET8A86h_Zz*-qJX%6)@!d-4s72$cojPd|wK>WmMmdjqpa`Q@JI$w=_%u)r zRZ-oRDhg6fw0+hp70EGmzd%>e4%%sdZ>5d29@3Tg%QD5+(Pk9yf?^BprcEfmnw*wg zYco{4aovD|9kkW1lxhZ}+D6)jYTF@YxP{GE&~=V(3mWGdJy%|jKKXkGDr|=I zCH(EC6jOn3bQcQs(a@&hj;;j{xe$*Vhbw6T>GIjbF08-cjkf&8=BmVo3(;2xhW-B=&Z{DB8H^ut4y~YNxR(|7{j8+r z7wN-vp~JI7l>yU_@ox(r+4y#rSPEr#u+NEl(d5RvIb%Y2x5IX-LALmO($ zM(1sa)BN~HYQ-b9dp{JGTKhT7v#&tcb6|hZ=eMgy@c5?ga@6d`oqN|!FzEtB!X;Ge zf$uL?ErKWQ8T1YlM(u&&FV-D;<1qKG=Da*?J*g0~-*zV=+}CSSe2s((nZ~-VZ@OuL zz7XE5i)S_Kt6C}(1CK*r#)U;fEOH-~BnJeMW z<*?Yn))(`g=rnQ1F%c$xrZwzVWj%kQp|+8}w2vuuIw4f`u-C?C99>Oxd>zroO}hNP z4*kKrMU3K{tb8curuZ8uqcXZSKUO{r(|>$S*-0!^TUaSbL?D4~2d-siV+V;zR!iFk{((4mC-_w%Bj-h~y^ zM`UrPM!IZagIXNzSXiziY>)$rwWm~=(kwsa(Li0mLznNNEAY?_@z52zI;6NVaFMHw z(-nK@N<4I>9=f3(y0U({27cmU{gkX5?x8DZoxZ>0bnPbyJA&nS&V_v~&ZBZcM(>Bj zsd67;hbT|~q;p7JsZ%x-Wt?f5Hf7Rg7^FPA%@}+SN1KXB8)C)uSclSpUCJqSJ%~RO zoYIMqIfFEPP6C-$lOb`!+h^b96p;B$cgh>Vyc6gnPRN_2+^J_#Sl_gGf2Qe-Q=gzt z>#9f|fq)|1;4lOamnn4LO%>?EP%bDa3sSOaD}%29!+`nh$3prBAAXqHeDC?qt4mSP@rho6Zu zY^9u=X$G|j%>uOwg+OgC4M!K$Mk5MEBSbSVkcBjf`u5lRLv6-ohJCX@*W}!mR z7NH{0R-t0hHlY&G6+)$;D|tOK1|AB$N~jF9U1%8S3qr#|JA}$XR|^F}*9cXBb_$IE zeNkv6=uZgao8d86yogbpb+m9 zwGeL-?ht6QjSQuBKbw)w9*XB$)u4ug)|Z; zjx0q|kde4b&Js;Ar-nx2gwRNw1{#TzKO=FBn~(uahMs2gUd)9Qbwv2 ziKEBpIA)B*kzyo{4NjsPRE-;KoHHWK^TNbFf7u|JK(PBap`&PePq zBe9!|#Lh7iT+;4{(?!YVH^pppBeAKC#0EAJo7G5c%pU#m<((eRoQ<;n?^oDE*W#gT z_0Y9>=;pXO*O@${%ypGVPgLg?zId@!-ucw=zy;s^p1UfmwtmA zGi~|Ge?Gc!Ato=f*@t$l<91xmSLSy!&;cvZkv@Gs6yOci=v3GMn}F+(n7^|Zr>95s zqWO#U=_i7E_m*>NTlD!8V^y?w+jbT4p*p9Fe9AZ5HoBo?P>PhLfY7H?GZh4DIFttB zUpq~^bP)GuCs$P=&yx% zSA0~6cg2r_?%t`2qea^bhp6P<168Vk-2-dzhc4)S_qOV9-aIekFg84IW4H29Z(J!Q84=b}M+2illZ`E32j-X?2_ik{g!Mn!-0$>$zmf1_VLISa>4@h2kuaIq5+c75zb zglC-C8HmDTCAvO#2Ewk7oq-H=ee4KCMd16`8Ho7aiKqUq@8JKw;*@2h-Ekp45qUz0 zU4KG|*X1WceK@GJaP4$HVO+C2QPov+=;nPRj~`a`R_2R%!M9uQ(R=v4`BdNErl#}q zz8cS*rr*C|Wc0S@a;ySg!&nu@rl*;9VY;Zd^s{|asxzqB3fQ+}ALQ-z(#?T zfjHWqF%qxkI|$AjAB&dX_oOdj;#u%VpLqT*e&U%+C-DGg8sdrPdqO<%JSD^v&(lIY z@$?A=kfc2$#1qdcp#spe4!NNy6VGRf#f1se(C-zCZYa7Fk24Pq5{n`Fd%16p#qSI8 zH1q?ZT+lxV@ig?D5Klw@D8$py^Pmzl?dGHK1t}~5{ZsVa2Yd3BWu~J5%FJ{W2=pGS zQpI{tG(|tQDX6~_9h1u?X3isZ2_*&>i=lMCWX`vqpaq#_Eh=cF65C`8+gm~5aXCV&0mmG4# z&7Dw8v`O$?Z0h?L>4p!3<5#^)oci2wbK>iwtKLs#KwkC!RfxmwXF?oqKNsR~`!^vD zw|^H3fL<2jXnO^8e5YD%MUVGQ%ji8^rBZvdveh_U`NAg|n_9LT z`R#n4lV*O?kv{hxtx`kv;#WV)xZ*#FK6sz#j&qJTZb~)3IESLE59M+K+o5#bnc)fU zX-im3+7go3wuB_MEg^|*L#VooKstU)iBDqN5|Y@qgd}z@y`f(`GdeSf)_wT(7jN9b zH-|*#VDpygM12+xX3sdC^Mut-Zwlprej$_#dP~R;dRr(DKO_B8C;<8op?uI>5U zKT*v!)4K&#?3WP<9Y2OzAhlyC;!yAxT-osmvFu4(8!J@I3-%7}Ptb~-;f<;Y$ z*vIi!!rO1TIj=K(eBNWhq+x=)oibi){!57Sp8po&yodKbyntBP%7y7&A^s)kf0!!m zLSAg%lS0mU*9q}j^Q-9Nzt~um(Pk;ypQ@-jD_ZfkV!^DtXN7p(< z>*5#cLn-7J>b#I2zioVU_YPHbVr+q0RdCNZRhZgmt(bBqu&~j)^Aprf>g5yHPgJ+2 F{2%rR{Yn4; delta 13295 zcmc(ldwf*Ywa3>vGbfKpGMT(HlP3g10trcY6Cjxk$U`9~A>pkOU*Ll(XzQ&nCbd=3 zB3L$;sL+bFtykM3b}G5o2hw{Lm1;$8ZM|xx_3>%{Q0b>?wN|;mb@n-XGRfxNtNpYx zA2RFvTWjxgX1~r}d#3+AfB$>_{co5i?GkU9`^7$Ap*Z3%7rT6=;;^q+6k5e1W|fNr z{z4J(PZ7)grQ&-0{{a3^{l#LBKO!btg<`c;Dt?c07sIy?zBYeh;!>;5if0nh`zJy~ zKP8G*N2|$STz!lRDQ$!varBY#lO4Uti{F`-H;^@uMgFFf)RR)b2xrwBnPP5Mljcrj z4I{5udXhVtdJ?_iB)Y7>P~Lf*NZoqoNeVPOdf5A@s>voe`p71$a`gNW@#8h|S={zz zj-x6CA+oMt7lJMUU612hJn1^$a-WO zjO^TLnzl&}%WPS{I4f8mPxr3neqf?QCn+oYAtyDy*oz-|4>SMQdNO1^iOk%y3~_C! zvK+IgFE7uTJ!!HB5kUsAE_!pT#g9VYOIt~Q+`s#k#PYmNL93J9VsBNWm|9h9bc^ch z7BRNE*6MZi=E`y6uIl-sqAK55kvLlY=TdXi0`d6F>hk(?xZ-qUb@$5N-`SV+En9nD z_xW3{qjGvEE{xVn^X*+?RBO3;S3}lZ?Ao&Ng!_GA{3avGXtAOkeef z4PtHEhTuZ7X$hS|YiSY9Bk}0`w#4Z6B}Tv?qiG%f)b@&oj&p;kprLp7QoL>LynD0Q z*HLM~nYmuuTq>b|7`KW{6=x=f?CVRmlBUHn3V}@L-%V}w4W`43!g5^Bx70661(N}Nau#_ zEvq7(4|cBX6>l$$nK>k`I8c^oTU6uEI7X+0RZlL-enxmXEK*?U432IZmR#3a5S+pFhmv_P0@O3Df1BxkX1I<;` z4w~mtC93Gb;Pk5L0P*Dy;(2XQ3`4YJ>SAYJ7_<~Vo*@R_dk|3wtJkrU19CO=F?j4a zgS&urIR#A2+C?-U`k5;?tvN^=5yQjvv%Hp_BznbAo$oll*y#lyK1U2se)-w(*adYd zGC|#nd>~%dc_jO=xW`bZM;3^8J<^v3TBax+v|LdJ2oLAD8=47Rshk1ODn(hK)rzvI zlkh}$%jLj#x}qTH3`M!1GZlqEYZc{z`ap4cr}-{QDoCNi6e>!gV$fNt(vlQkDd=qF z3xm#46ak&f#EXg#kMbCur<~=Wb&4uL>lIak&R0|gxs5R-@6zXtc2!t(LOmBQ88n6IiFw>NVPUjW$7}H7E_k(%V%x zDlw@|)M!l_ty!bBXtYVgwK$r8@^BH_6pc1jqfOIj(>2-*jW!cne0aaNY653zwAmVM zjz(+KXzfWY?leD7Egpn&yz(Xf58f|H+7I&JzCslN` zUX8X)qb=8HD>T|ljkbz3X9lY^fon9{>BBUhnmmr=VB^svEgmz{;*laP9v_Ys$L8M? z=PQdxfDGh*mlpT7w78F@#XT!6?oVlPCrXREPFmby(&BEC7I#iBInQeD6De{>NQ;|a zTHNT;;-;1sH?Xw0S*5i~S=@qB<93r4w-!&nHd=?t*NnZ7^Ab;<-4bsz^XUK%A+pha zV=H|bKdlOr*8`GA0rF2c@x1iN4USMKDs zgcOtWR6@$gIVs_p!HFYb^VNa01gDI-R3b*L-&A6t;vBsAoln#Fy_8B5_pD!J7$p9D z{tB`5f>L2VP(7XRgq-`~gvIYz7Nt4w>6GrgXV3}6;9l|WrxSn^BJaY5fpOT=UV?4r z>zl<{gZCzKE;`>x-)bR@C~@_M?Iw1RG8y56t`7Y7$O3U3?-mIc>%f1H(n0BpGC+I^ zEh95Qe1OLvQ3!OSqCC(|it<6XL!?s7ey~1T{)syandVbL&S{mdKqSRav5eR!L@w=tTIuEYU!#L{*k(pjDDtqJdV4 za+c^`Ars^!i3YCeB#APEG|()`EYWa==gq2M4hn8l6a;No#93mWB7VHwq9_maEk&Fp zdM#t%uq#G8;2Zc>kx`f^+Y~7hFa0%`?#_gP{-9ARLbpf7?bj~~+=s@Vj%tf`@fZ?0 z7i|=e><)>NE!#xdhJbica7j{BTB$}0YqW?)E7NG@BeW(y6&?BMDm5CuLBpx&y$`j2!81^#&cL1M zJ2@YD2L7ueo`Jg*@eCYriTgWw_`>rldHBN9DtY+A(<*uR;!P_x1Bafz@VrW%zKon# z&gqMqSINT{HLqOX@M&e!t?IV<@Z~lld4yzO369b2%E|L;x1tbM3Vb7gBd zM5g07>Nx_A;}A+@$&j~XP1z1rZwp&FPJxXj?j?ebBlLXO%5@xvJV(fJY($AX#}O)Z zOXNF_K9neMtmq%)B?=ungaSoQf&E^AV#l!`1xnc36?Q8sb@b5ou!TGsAG^zQL>PCx z5Vp#ki2Z+*7bthA5AmEX+XKhFc+Qz^(e*-+vw`5e*>>{gckl$-V7^1|AX%vVoG+PZ zkDRchG!u4oTqD+Kv@sfOtVXNVXyY_movZOgRcl$jCUCq)o1oDeG+LuZo0zJ}4Rlkg z=&bV18m&d6P10zSHQE%7HkINd`)QgcaJojDq0we)v{sEa%hMJQY5v)sI7FMH(b_ax zJ8J`;MFqn7$P~rw#CEnae{4&qp&!^w#7j=s(EMF;`ACd{7KfwDYh-D ze-pMi!?wl6*U0+%5y|6=V}7yX|z)`+I)?+K%*^8(c*G@wJ1fD+Nm1tG>x`c zqb<>Bof^&7t%Y5hz;2DURHOB1v|f$2%+*rX!sVL46&h`&Mq8!PR%^61shT{?Ih{oj zdAY{oY#dYO$*{%QxIJ)mj8P;m`C6JYllxu{Tbz*F;?O|Y;)EQ#1B7xujye57k*K;> zM(#%>XXL2r*09AHxh?i1k~4C9AXJM=pOv9IUI|;AlcOd?a!zjVcq(jhN^bA?ut>ze zE^F*U9OvYy2XUN}<5`M8&dKpm9)}v6z9B>RB9yaod&g~I{P>3>_ac&$a?He!io|Pf z;Bf?UT8^3!$!WPQjw6!Oa(m#GI@G!Sy0nV`&OsVCUCgySjayD?oUQXzZlhgDH=94- zR2F?l!cOk8gUAI#mQ=hFhZOA+V0-&0fw`o2rvE*;mG`R-@grY~0C zk#hE%{EqZb`lKezzjde*aBTF6bUboc*G^-4Dpw?++Dm_WL7H zSbq8fIDf31g`j?w9t;)3B@c#*i^bL>rG_P*c@@vvkL$&C4;(fO zvG~Bl=?1>-&8K{vzC?vRm=U=DVT{0^A=5sLQMkpQG64ArEG1_`OxG)6!EZmP|+M7HxDV~ zaf418GHxDGln>uQMLcXC9oSZ6lq5cSq(3{Ik4xMoXOh_VakV&dye`W1a`cHM++^_%T zb-_Y2als2S0!}~NO6LyZ*s979+m~bn-hPYdEAJ8&{3Y?+Z!b5@tybdYJ%vW%jxTi@ z;-RIt`xek+V&Us!jVf{R>rLl8KBWGIbXZZ47Sa=nazRfj3W1(dl!srv98r`H`njS4 z{zc4=H%j8RE8!QUSdYA)sPL~hlcyy3A{gZTM1_CxnVd&v%JOTbw6~dZ_-NwrF?mR0 z;z$;UB;HUkz0*ghFU*v~M-$KE7(K0Sl$YOU6!9U+FBI`12?o1c3;#srs3QJ}%5#c% z`F);`%6TZ5&grA~+ZGc)FN)F&iRL%YDG5ATi$1OXrPqM}kX13IH}ywe)4jR$*=EnLlJjM7k>5BoEAV)+K{r<#v|#KY+Ihwo zyGYHY7rln%FIeVcHz+?R|5kJ^{YDXQi(XR1+oJz=>F@0jTwg9yDbK0@M~`^rK1+wh z=w)@=JiT5a94pGp^Za^MIeC8lR#6B)7I|$D51&g52SQVg Date: Wed, 3 Nov 2021 23:14:20 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9excel=E8=A1=A8=E5=A4=B4=E8=A7=A3=E6=9E=90=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E4=BD=BF=E6=9B=B4=E9=80=9A=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IcResiUserServiceImpl.java | 189 +++++++++++------- 1 file changed, 119 insertions(+), 70 deletions(-) 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 e116058d4e..1ce99e36da 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 @@ -435,9 +435,12 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> headList = readListener.getHeadList(); List> dataList = readListener.getDataList(); @@ -458,10 +470,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> headers = mergeHead(headList); // 查询form相关信息 - CustomerFormQueryDTO form = new CustomerFormQueryDTO(); - form.setFormCode("resi_base_info"); - Result> result = operCustomizeOpenFeignClient.listItems(form); - List customerItems = getResultDataOrThrowsException(result, ServiceConstant.OPER_CUSTOMIZE_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【居民信息excel导入】查询表单相关信息失败"); + List customerItems = listFormItems("resi_base_info"); // 清洗表头数据 Map abandonedHeaders = washHeaders(headers, customerItems); @@ -481,12 +490,57 @@ public class IcResiUserServiceImpl extends BaseServiceImpl formItem) ); - Map headerColumnWrapper = integrate(formItemMap, combinedHeaders, dataList, abandonedHeaders); + Map headerColumnWrapper = convertExcelHeaders2DBColumnWrappers(formItemMap, combinedHeaders, dataList, abandonedHeaders); // 持久化 persist(headerColumnWrapper, dataList, currUserAgencyId, abandonedHeaders, customerItems.get(0).getTableName(), currUserAgencyPids, currentUserId); - return headerColumnWrapper; + return headers; + } + + /** + * excel导入居民附加信息 + * @param excelPathName + * @param sheetNo + * @param headRowNumber + * @param currUserAgencyId + * @param currUserAgencyPids + * @param currentUserId + * @return + */ + private Object importIcResiExtraInfoFromExcel(String excelPathName, int sheetNo, int headRowNumber, String currUserAgencyId, String currUserAgencyPids, String currentUserId) { + DynamicEasyExcelListener readListener = new DynamicEasyExcelListener(); + EasyExcelFactory.read(new File(excelPathName)).registerReadListener(readListener).headRowNumber(headRowNumber).sheet(sheetNo).doRead(); + + List> headList = readListener.getHeadList(); + List> dataList = readListener.getDataList(); + + Map> headers = mergeHead(headList); + + // 查询form相关信息 + List customerItems = listFormItems("resi_base_info"); + + // 清洗表头数据 + Map abandonedHeaders = washHeaders(headers, customerItems); + + //合并多级表头 + HashMap> combinedHeaders = combineHeaders(headers); + + // 得到客户配置item数据 + Map formItemMap = customerItems.stream().collect( + Collectors.toMap(formItem -> { + String groupLabel = formItem.getGroupLabel(); + String label = formItem.getLabel(); + if (StringUtils.isNotBlank(groupLabel)) { + return groupLabel.concat(":").concat(label); + } else { + return label; + } + }, formItem -> formItem) + ); + Map headerColumnWrapper = convertExcelHeaders2DBColumnWrappers(formItemMap, combinedHeaders, dataList, abandonedHeaders); + + return formItemMap; } /** @@ -574,6 +628,18 @@ public class IcResiUserServiceImpl extends BaseServiceImpl listFormItems(String formCode) { + CustomerFormQueryDTO form = new CustomerFormQueryDTO(); + form.setFormCode(formCode); + Result> result = operCustomizeOpenFeignClient.listItems(form); + return getResultDataOrThrowsException(result, ServiceConstant.OPER_CUSTOMIZE_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【居民信息excel导入】查询表单相关信息失败"); + } + /** * @description 合并头 * @@ -626,14 +692,21 @@ public class IcResiUserServiceImpl extends BaseServiceImpl integrate(Map formItemMap, Map> combinedHeaders, - List> datas, Map abandonedHeaders) { + private Map convertExcelHeaders2DBColumnWrappers(Map formItemMap, Map> combinedHeaders, + List> datas, Map abandonedHeaders) { // HashMap> tables = new HashMap<>(); Map columns = new LinkedHashMap<>(combinedHeaders.size()); @@ -806,6 +879,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> * * @param headList * @return @@ -813,67 +887,42 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> mergeHead(List> headList) { - Map l1 = headList.get(0); - Map l2 = headList.get(1); - Map l3 = headList.get(2); - - String l1LastHeadName = ""; - String l2LastHeadName = ""; - - //Map resultMap = new HashMap<>(); - HashMap> result = new HashMap<>(); - - for (Map.Entry entry : l1.entrySet()) { - - StringBuilder headerNameConcatStr = new StringBuilder(); - Integer key = entry.getKey(); - String l1TempValue = entry.getValue(); + Map lastNotNullHeads = new LinkedHashMap<>(); + + Map> mergedHead = new LinkedHashMap<>(); + + int levelCount = headList.size(); - String l2TempValue = l2.get(key); - String l3TempValue = l3.get(key); + Map firstLevel = headList.get(0); + + // 遍历所有列 + for (Map.Entry column : firstLevel.entrySet()) { + Integer columIndex = column.getKey(); - if (StringUtils.isNotBlank(l1TempValue)) { - l1LastHeadName = l1TempValue; - } - - if (StringUtils.isNotBlank(l2TempValue)) { - l2LastHeadName = l2TempValue; - } - - // 开始拼接 - if (StringUtils.isNotBlank(l3TempValue)) { - //headerNameConcatStr.append(l1LastHeadName).append(":").append(l2LastHeadName).append(":").append(l3TempValue); - //resultMap.put(key, headerNameConcatStr.toString()); - ArrayList parts = new ArrayList<>(); - parts.add(l1LastHeadName); - parts.add(l2LastHeadName); - parts.add(l3TempValue); - result.put(key, parts); - continue; - } - - if (StringUtils.isNotBlank(l2TempValue)) { - //headerNameConcatStr.append(l1LastHeadName).append(":").append(l2LastHeadName); - //resultMap.put(key, headerNameConcatStr.toString()); - ArrayList parts = new ArrayList<>(); - parts.add(l1LastHeadName); - parts.add(l2LastHeadName); - result.put(key, parts); - continue; - } - - if (StringUtils.isNotBlank(l1TempValue)) { - //headerNameConcatStr.append(l1LastHeadName); - //resultMap.put(key, headerNameConcatStr.toString()); - ArrayList parts = new ArrayList<>(); - parts.add(l1LastHeadName); - result.put(key, parts); - continue; + List labels = new ArrayList<>(); + + // 竖着遍历该列的所有行 + for (int currentLevel = 0; currentLevel < levelCount; currentLevel ++) { + String label = headList.get(currentLevel).get(columIndex); + + if (StringUtils.isNotBlank(label)) { + lastNotNullHeads.put(currentLevel, label); + } else { + if (currentLevel == 0 || StringUtils.isBlank(headList.get(currentLevel - 1).get(columIndex))) { + label = lastNotNullHeads.get(currentLevel); + } + } + + if (StringUtils.isNotBlank(label)) { + labels.add(label); + } } + mergedHead.put(columIndex, labels); } - return result; + + return mergedHead; } /** From 72d9f19283def0bbc839ef9dd4fc97d468fe56cb Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 4 Nov 2021 10:05:37 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E5=B7=B2=E7=BB=93=E6=A1=88=E7=9A=84=E9=A1=B9=E7=9B=AE=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/ClosedProjectTotalResultDTO.java | 31 +++++++++++++++++ .../result/CategoryProjectResultDTO.java | 5 +++ .../FactOriginProjectCategoryDailyDao.java | 3 +- .../ScreenProjectCategoryOrgDailyDao.java | 12 +++++++ .../ScreenProjectCategoryOrgDailyEntity.java | 5 +++ ...FactOriginProjectCategoryDailyService.java | 2 +- ...OriginProjectCategoryDailyServiceImpl.java | 4 +-- ...eenProjectCategoryOrgDailyServiceImpl.java | 29 ++++++++++++++-- .../FactOriginProjectCategoryDailyDao.xml | 20 +++++++++-- .../ScreenProjectCategoryGridDailyDao.xml | 1 + .../ScreenProjectCategoryOrgDailyDao.xml | 33 +++++++++++++++++++ 11 files changed, 137 insertions(+), 8 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ClosedProjectTotalResultDTO.java diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ClosedProjectTotalResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ClosedProjectTotalResultDTO.java new file mode 100644 index 0000000000..bd2aea194f --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ClosedProjectTotalResultDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.project.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/11/4 9:12 上午 + * @DESC + */ +@Data +public class ClosedProjectTotalResultDTO implements Serializable { + + private static final long serialVersionUID = -3683494871244065806L; + + /** + * 组织ID + */ + private String orgId; + + /** + * 分类code + */ + private String categoryCode; + + /** + * 结案的项目数 + */ + private Integer closedProjectTotal = 0; +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java index 48af51b5ef..29cc0ea5db 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java @@ -42,6 +42,11 @@ public class CategoryProjectResultDTO implements Serializable { */ private Integer projectTotal; + /** + * 结案数 + */ + private Integer closedProjectTotal; + /** * 分类级别 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java index 298860ce34..e520998bda 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java @@ -50,7 +50,8 @@ public interface FactOriginProjectCategoryDailyDao extends BaseDao selectListProjectCategoryByOrg(@Param("orgIds")List orgIds,@Param("customerId") String customerId,@Param("subCount") Integer subCount); + List selectListProjectCategoryByOrg(@Param("orgIds")List orgIds,@Param("customerId") String customerId, + @Param("subCount") Integer subCount,@Param("projectType")String projectType); int deleteByProjectIds(@Param("list") List list); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java index 70ef71817f..51cb145080 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java @@ -18,6 +18,7 @@ package com.epmet.dao.evaluationindex.screen; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.project.result.ClosedProjectTotalResultDTO; import com.epmet.dto.screen.result.CategoryProjectResultDTO; import com.epmet.entity.evaluationindex.screen.ScreenProjectCategoryOrgDailyEntity; import com.sun.org.apache.xpath.internal.operations.Bool; @@ -106,4 +107,15 @@ public interface ScreenProjectCategoryOrgDailyDao extends BaseDao selectSelfAgencyCategory(@Param("dateId") String dateId,@Param("orgIds")List orgIds); + + /** + * @Description 查询父客户 存在 分类的结案项目数 + * @param customerIds + * @param dateId + * @author zxc + * @date 2021/11/4 9:26 上午 + */ + List selectClosedProjectTotal(@Param("customerIds")List customerIds, @Param("dateId") String dateId, + @Param("status")Boolean status); + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java index bdfba9bbc6..2d4dd0dde2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java @@ -82,6 +82,11 @@ public class ScreenProjectCategoryOrgDailyEntity extends BaseEpmetEntity { */ private Integer projectTotal; + /** + * 分类下所有结案项目数 + */ + private Integer closedProjectTotal; + /** * 分类等级1、2.... */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java index 1252a4739c..3bd2029431 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java @@ -54,5 +54,5 @@ public interface FactOriginProjectCategoryDailyService extends BaseService selectListProjectCategoryByOrg(List orgIds,String customerId,Integer subCount); + List selectListProjectCategoryByOrg(List orgIds,String customerId,Integer subCount,String projectType); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java index e1131e02c6..28a57a5b3c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java @@ -161,10 +161,10 @@ public class FactOriginProjectCategoryDailyServiceImpl extends BaseServiceImpl selectListProjectCategoryByOrg(List orgIds,String customerId,Integer subCount) { + public List selectListProjectCategoryByOrg(List orgIds,String customerId,Integer subCount,String projectType) { if (!CollectionUtils.isEmpty(orgIds)){ return new ArrayList<>(); } - return baseDao.selectListProjectCategoryByOrg(orgIds,customerId,subCount); + return baseDao.selectListProjectCategoryByOrg(orgIds,customerId,subCount,projectType); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java index d7edb6dd9a..1cd79eabd8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java @@ -32,6 +32,7 @@ import com.epmet.constant.ScreenConstant; import com.epmet.dao.evaluationindex.screen.ScreenProjectCategoryGridDailyDao; import com.epmet.dao.evaluationindex.screen.ScreenProjectCategoryOrgDailyDao; import com.epmet.dto.extract.result.CustomerAgencyInfoResultDTO; +import com.epmet.dto.project.result.ClosedProjectTotalResultDTO; import com.epmet.dto.screen.ScreenCustomerGridDTO; import com.epmet.dto.screen.ScreenProjectCategoryGridDailyDTO; import com.epmet.dto.screen.ScreenProjectCategoryOrgDailyDTO; @@ -264,6 +265,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl { if (agency.getOrgId().equals(grid.getOrgId()) && agency.getCategoryCode().equals(grid.getCategoryCode())){ agency.setProjectTotal(agency.getProjectTotal() + grid.getProjectTotal()); + agency.setClosedProjectTotal(agency.getClosedProjectTotal() + grid.getClosedProjectTotal()); grid.setStatus(true); } }); @@ -280,7 +282,11 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl levelAgencyInfo = groupByLevel.get(level); if (!CollectionUtils.isEmpty(levelAgencyInfo)){ - List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId,NumConstant.FOUR); + List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId,NumConstant.FOUR,"all"); + List closedScreenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId,NumConstant.FOUR,"closed"); + if (!CollectionUtils.isEmpty(closedScreenProjectCategory)){ + screenProjectCategory.forEach(l -> closedScreenProjectCategory.stream().filter(c -> l.getGridId().equals(c.getGridId()) && l.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> l.setClosedProjectTotal(c.getClosedProjectTotal()))); + } if (!CollectionUtils.isEmpty(result)){ if (!CollectionUtils.isEmpty(screenProjectCategory)){ result.forEach(r -> { @@ -288,6 +294,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl categoryProjectExists = baseDao.selectOrgCategoryMoreCustomerInfo(customerIds, dateId, level, customerId); log.info("父客户存在的分类{}"+ JSON.toJSONString(categoryProjectExists)); + // 父客户存在的分类 已结案的项目数 + List closedProjectTotalExist = baseDao.selectClosedProjectTotal(customerIds, dateId, true); // 父客户不存在的分类 List categoryProjectNotExists = baseDao.selectOrgCategoryMoreCustomerInfoNotExists(customerIds, dateId, level, customerId); log.info("父客户不存在的分类{}"+ JSON.toJSONString(categoryProjectNotExists)); + // 父客户 不存在 的分类 已结案的项目数 + List closedProjectTotalNotExist = baseDao.selectClosedProjectTotal(customerIds, dateId, false); if (!CollectionUtils.isEmpty(categoryProjectExists)){ + if (!CollectionUtils.isEmpty(closedProjectTotalExist)){ + categoryProjectExists.forEach(l -> closedProjectTotalExist.stream().filter(c -> l.getOrgId().equals(c.getOrgId()) && l.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> l.setClosedProjectTotal(c.getClosedProjectTotal()))); + } sonCustomerList.addAll(categoryProjectExists); } if (!CollectionUtils.isEmpty(categoryProjectNotExists)){ + if (!CollectionUtils.isEmpty(closedProjectTotalNotExist)){ + categoryProjectNotExists.forEach(l -> closedProjectTotalNotExist.stream().filter(c -> l.getOrgId().equals(c.getOrgId()) && l.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> l.setClosedProjectTotal(c.getClosedProjectTotal()))); + } sonCustomerList.addAll(categoryProjectNotExists); } if (!CollectionUtils.isEmpty(sonCustomerList)){ @@ -443,6 +461,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl { if (f.getCategoryCode().equals(c.getCategoryCode())){ f.setProjectTotal(f.getProjectTotal() + c.getProjectTotal()); + f.setClosedProjectTotal(f.getClosedProjectTotal() + c.getClosedProjectTotal()); c.setStatus(true); } }); @@ -481,6 +500,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl levelAgencyInfo = groupByLevel.get(level); if (!CollectionUtils.isEmpty(levelAgencyInfo)) { // 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】 - List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds, customerId,NumConstant.TWO); + List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds, customerId,NumConstant.TWO,"all"); + List closedScreenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds, customerId,NumConstant.TWO,"closed"); + if (!CollectionUtils.isEmpty(closedScreenProjectCategory)){ + screenProjectCategory.forEach(l -> closedScreenProjectCategory.stream().filter(c -> l.getGridId().equals(c.getGridId()) && l.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> l.setClosedProjectTotal(c.getClosedProjectTotal()))); + } log.info("直接立项的统计:"+screenProjectCategory); if (!CollectionUtils.isEmpty(result)) { if (!CollectionUtils.isEmpty(screenProjectCategory)) { @@ -505,6 +529,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl + COUNT(DISTINCT p.ID) AS projectTotal + + + COUNT(DISTINCT p.ID) AS closedProjectTotal + FROM fact_origin_project_main_daily p LEFT JOIN fact_origin_project_category_daily c ON ( c.PROJECT_Id = p.id AND p.del_flag='0' AND p.GRID_ID = '') WHERE c.DEL_FLAG = '0' @@ -115,6 +120,9 @@ ) AND c.`LEVEL` = '2' AND p.GRID_ID = '' + + AND p.PROJECT_STATUS = 'closed' + GROUP BY c.CUSTOMER_ID, c.CATEGORY_CODE, c.`LEVEL`, p.AGENCY_ID, p.PID, P.PIDS UNION ALL SELECT @@ -125,7 +133,12 @@ p.AGENCY_ID AS orgId, p.PID AS PID, P.PIDS, - COUNT(distinct p.ID) AS projectTotal + + COUNT(DISTINCT p.ID) AS projectTotal + + + COUNT(DISTINCT p.ID) AS closedProjectTotal + FROM fact_origin_project_main_daily p LEFT JOIN fact_origin_project_category_daily c ON ( c.PROJECT_Id = p.id AND p.del_flag='0' AND p.GRID_ID = '') WHERE c.DEL_FLAG = '0' @@ -136,6 +149,9 @@ ) AND p.GRID_ID = '' + + AND p.PROJECT_STATUS = 'closed' + GROUP BY c.CUSTOMER_ID, left(c.CATEGORY_CODE, #{subCount}), c.`LEVEL`, p.PID, p.AGENCY_ID, P.PIDS diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryGridDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryGridDailyDao.xml index 8ec1fcc4bd..763d1c0d49 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryGridDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryGridDailyDao.xml @@ -20,6 +20,7 @@ sg.CUSTOMER_ID AS categoryOriginCustomerId, sg.CATEGORY_CODE, SUM(sg.PROJECT_TOTAL) AS projectTotal, + SUM(sg.CLOSED_PROJECT_TOTAL) AS closedProjectTotal, sg.level, sg.DATE_ID, sca.`LEVEL` AS orgType diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml index 38aa359065..f1efea5b81 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml @@ -32,6 +32,7 @@ sa.CATEGORY_ORIGIN_CUSTOMER_ID, sa.CATEGORY_CODE, SUM(sa.PROJECT_TOTAL) AS projectTotal, + SUM(sa.CLOSED_PROJECT_TOTAL) AS closedProjectTotal, sa.level, sa.DATE_ID, sca.`LEVEL` AS orgType @@ -182,4 +183,36 @@ GROUP BY categoryCode,od.ORG_ID + + + \ No newline at end of file From 03750f51f8d2a1e2fc32117364dc7620882d5243 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 4 Nov 2021 10:09:24 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E5=88=86=E7=B1=BB=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/IcResiUserDao.xml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index cff59d414d..b3fce33028 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 @@ -54,11 +54,15 @@ - and ${subCondition.tableName}.${subCondition.columnName} = #{subCondition.columnValue[0]} + + and ${subCondition.tableName}.${subCondition.columnName} = #{subCondition.columnValue[0]} + - and ${subCondition.tableName}.${subCondition.columnName} like concat('%',#{subCondition.columnValue[0]},'%') + + and ${subCondition.tableName}.${subCondition.columnName} like concat('%',#{subCondition.columnValue[0]},'%') + @@ -78,11 +82,15 @@ - and ${subCondition.tableName}.${subCondition.columnName} = #{subCondition.columnValue[0]} + + and ${subCondition.tableName}.${subCondition.columnName} = #{subCondition.columnValue[0]} + - and ${subCondition.tableName}.${subCondition.columnName} like concat('%',#{subCondition.columnValue[0]},'%') + + and ${subCondition.tableName}.${subCondition.columnName} like concat('%',#{subCondition.columnValue[0]},'%') +