diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/AdminApplication.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/AdminApplication.java index 4678542a56..67c7a22169 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/AdminApplication.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/AdminApplication.java @@ -27,6 +27,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; public class AdminApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(AdminApplication.class, args); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 83ae19c53b..bbf8011130 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -498,13 +498,15 @@ public class GovOrgController { sum.setMemberCount(sum.getMemberCount() + list.stream().mapToInt(OrgProjectDetailExcel::getMemberCount).sum()); sum.setProjectCount(sum.getProjectCount() + list.stream().mapToInt(OrgProjectDetailExcel::getProjectCount).sum()); sum.setClosedCount(sum.getClosedCount() + list.stream().mapToInt(OrgProjectDetailExcel::getClosedCount).sum()); - sum.setProjectAve(sum.getProjectAve() + list.stream().mapToInt(OrgProjectDetailExcel::getProjectAve).sum()); - sum.setClosedAve(sum.getClosedAve() + list.stream().mapToInt(OrgProjectDetailExcel::getClosedAve).sum()); excelWriter.write(list, writeSheet); formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); } while (org.apache.commons.collections4.CollectionUtils.isNotEmpty(page.getList()) && page.getList().size() == formDTO.getPageSize()); sum.setIndex(i.getAndIncrement()); sum.setOrgName("合计"); + if (NumConstant.ZERO != sum.getMemberCount()) { + sum.setProjectAve(sum.getProjectCount()/sum.getMemberCount()); + sum.setClosedAve(sum.getClosedCount()/sum.getMemberCount()); + } List list = new ArrayList<>(); list.add(sum); excelWriter.write(list, writeSheet); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java index 043d5c245d..96e44d2c3a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java @@ -22,6 +22,7 @@ import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; import com.epmet.dataaggre.dto.govorg.OrgDTO; +import com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerStaffAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -71,4 +72,6 @@ public interface CustomerStaffAgencyDao extends BaseDao selectSubAgency(@Param("agencyId") String agencyId, @Param("userId") String userId); + List getStaffList(@Param("orgId") String orgId, @Param("orgType") String orgType); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java index 2fcba2cdc4..b481617cb2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java @@ -56,4 +56,6 @@ public interface CustomerStaffGridDao extends BaseDao { * @Date 2021/8/20 14:37 */ List selectGridList(@Param("agencyId") String agencyId, @Param("userId") String userId); + + List getGridStaffByAgency(@Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java index 49b903cca5..69126b76ec 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java @@ -130,4 +130,6 @@ public interface ProjectDao extends BaseDao { List getGridClosedProjectCount(OrgStatisticsFormDTO formDTO); List getMemberProjectCount(OrgStatisticsFormDTO formDTO); List getMemberClosedProjectCount(OrgStatisticsFormDTO formDTO); + List getAgencyProjectCount(OrgStatisticsFormDTO formDTO); + List getAgencyClosedProjectCount(OrgStatisticsFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 4e31dd4a5d..025f550198 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -605,6 +605,9 @@ public class EpmetUserServiceImpl implements EpmetUserService { queryWrapper.eq(CustomerStaffEntity::getUserId,staffId) .eq(CustomerStaffEntity::getDelFlag,NumConstant.ZERO_STR); CustomerStaffEntity staffEntity = customerStaffDao.selectOne(queryWrapper); + if (null == staffEntity) { + return null; + } CustomerStaffResultDTO result = ConvertUtils.sourceToTarget(staffEntity, CustomerStaffResultDTO.class); //查询工作人员所属组织信息 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 99318e966c..f9772a9f47 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -3,6 +3,7 @@ package com.epmet.dataaggre.service.govorg.impl; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.dingtalk.api.request.OapiRobotSendRequest; @@ -24,17 +25,17 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.redis.common.bean.BuildingInfoCache; +import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.constant.OrgConstant; import com.epmet.dataaggre.dao.govorg.*; -import com.epmet.dataaggre.dto.datastats.result.SubAgencyProjectResultDTO; import com.epmet.dataaggre.dto.epmetuser.form.ResisByPolicyRulesFormDTO; +import com.epmet.dataaggre.dto.epmetuser.result.CustomerStaffResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffSelectResDTO; @@ -66,6 +67,7 @@ import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.lang3.StringUtils; import org.apache.http.entity.ContentType; import org.apache.poi.ss.usermodel.Workbook; +import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.commons.CommonsMultipartFile; @@ -75,6 +77,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; +import java.text.Collator; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.*; @@ -1153,17 +1156,12 @@ public class GovOrgServiceImpl implements GovOrgService { public PageData orgProjectDetailList(TokenDto tokenDto, OrgStatisticsFormDTO formDTO) { List resultList = new ArrayList<>(); if (StringUtils.isBlank(formDTO.getAgencyId())) { - CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); + CustomerStaffInfoCacheResult staffInfo = getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); if (null == staffInfo) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取用户信息失败", "获取用户信息失败"); } formDTO.setAgencyId(staffInfo.getAgencyId()); } - if (StringUtils.isEmpty(formDTO.getStartDate()) && StringUtils.isEmpty(formDTO.getEndDate())) { - //当前日期前一天 - String dateId = DateUtils.format(DateUtils.addDateDays(new Date(), NumConstant.ONE_NEG), DateUtils.DATE_PATTERN_YYYYMMDD); - formDTO.setEndDate(dateId); - } CustomerAgencyEntity agencyEntity = customerAgencyDao.selectById(formDTO.getAgencyId()); if (null == agencyEntity) { return new PageData<>(Collections.emptyList(), NumConstant.ZERO); @@ -1184,7 +1182,7 @@ public class GovOrgServiceImpl implements GovOrgService { //统计网格关闭项目数 Map closedMap = govProjectService.getGridClosedProjectMap(formDTO); //网格员统计 - Map memberMap = dataStatsService.getMemberMap(formDTO.getAgencyId()); + Map memberMap = getMemberMap(tokenDto.getCustomerId(), formDTO.getAgencyId()); resultList = gridList.stream().map(grid -> { OrgProjectDetailResultDTO dto = new OrgProjectDetailResultDTO(); dto.setOrgId(grid.getId()); @@ -1197,9 +1195,11 @@ public class GovOrgServiceImpl implements GovOrgService { dto.setClosedCount(closedMap.get(grid.getId())); } if (memberMap.containsKey(grid.getId())) { - dto.setMemberCount(memberMap.get(grid.getId())); - dto.setProjectAve(dto.getProjectCount()/memberMap.get(grid.getId())); - dto.setClosedAve(dto.getClosedCount()/memberMap.get(grid.getId())); + dto.setMemberCount(Math.toIntExact(memberMap.get(grid.getId()))); + if (NumConstant.ZERO != dto.getMemberCount()) { + dto.setProjectAve(dto.getProjectCount() / dto.getMemberCount()); + dto.setClosedAve(dto.getClosedCount() / dto.getMemberCount()); + } } return dto; }).collect(Collectors.toList()); @@ -1221,7 +1221,10 @@ public class GovOrgServiceImpl implements GovOrgService { //拼装数据 if (CollectionUtils.isNotEmpty(agencyList)) { //项目相关统计 - Map projectMap = dataStatsService.getAgencyProjectTotal(formDTO); + //统计项目数 + Map projectMap = govProjectService.getAgencyProjectMap(formDTO); + //统计关闭项目数 + Map closedMap = govProjectService.getAgencyClosedProjectMap(formDTO); //网格员统计 Map memberMap = epmetUserService.getMemberCount(tokenDto.getCustomerId()); @@ -1230,12 +1233,12 @@ public class GovOrgServiceImpl implements GovOrgService { dto.setOrgId(agency.getId()); dto.setOrgType(OrgConstant.AGENCY); dto.setOrgName(agency.getOrganizationName()); - if (projectMap.containsKey(agency.getId())) { - dto.setProjectCount(projectMap.get(agency.getId()).getProjectTotal()); - dto.setClosedCount(projectMap.get(agency.getId()).getClosedProjectTotal()); - } //获取当前组织的所有下级组织ID(包含本级) List agencyIds = customerAgencyDao.getSubAgencyList(agency.getId()); + int projectCount = agencyIds.stream().filter(projectMap::containsKey).mapToInt(projectMap::get).sum(); + int closedCount = agencyIds.stream().filter(closedMap::containsKey).mapToInt(closedMap::get).sum(); + dto.setProjectCount(projectCount); + dto.setClosedCount(closedCount); //将下级组织网格员数加起来 int memberCount = agencyIds.stream().filter(memberMap::containsKey).mapToInt(memberMap::get).sum(); dto.setMemberCount(memberCount); @@ -1268,30 +1271,25 @@ public class GovOrgServiceImpl implements GovOrgService { @Override public PageData memberProjectInfoList(TokenDto tokenDto, OrgStatisticsFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); - PageData result; if (StringUtils.isBlank(formDTO.getOrgId())) { - CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); + CustomerStaffInfoCacheResult staffInfo = getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); if (null == staffInfo) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取用户信息失败", "获取用户信息失败"); } formDTO.setOrgId(staffInfo.getAgencyId()); formDTO.setOrgType(OrgConstant.AGENCY); } - if (StringUtils.isEmpty(formDTO.getStartDate()) && StringUtils.isEmpty(formDTO.getEndDate())) { - //当前日期前一天 - String dateId = DateUtils.format(DateUtils.addDateDays(new Date(), NumConstant.ONE_NEG), DateUtils.DATE_PATTERN_YYYYMMDD); - formDTO.setEndDate(dateId); - } - if (OrgConstant.AGENCY.contains(formDTO.getOrgType())) { - //获取当前组织的所有下级组织ID(包含本级) - List agencyIds = customerAgencyDao.getSubAgencyList(formDTO.getOrgId()); - formDTO.setAgencyList(agencyIds); - //获取组织下的网格员 - result = epmetUserService.getMemberList(formDTO); - } else { - //获取网格下的网格员 - result = dataStatsService.getMemberList(formDTO); - } + PageData result = getGridMemberList(formDTO); + //if (OrgConstant.AGENCY.contains(formDTO.getOrgType())) { + // //获取当前组织的所有下级组织ID(包含本级) + // //List agencyIds = customerAgencyDao.getSubAgencyList(formDTO.getOrgId()); + // //formDTO.setAgencyList(agencyIds); + // //获取组织下的网格员 + // result = epmetUserService.getMemberList(formDTO); + //} else { + // //获取网格下的网格员 + // result = dataStatsService.getMemberList(formDTO); + //} if (CollectionUtils.isNotEmpty(result.getList())) { //统计项目数 Map projectMap = govProjectService.getMemberProjectMap(formDTO); @@ -1319,4 +1317,105 @@ public class GovOrgServiceImpl implements GovOrgService { } return result; } + + private PageData getGridMemberList(OrgStatisticsFormDTO formDTO) { + List list = new ArrayList<>(); + List staffList = customerStaffAgencyDao.getStaffList(formDTO.getOrgId(), formDTO.getOrgType()); + if (OrgConstant.AGENCY.equals(formDTO.getOrgType())) { + for (StaffOrgRelationResultDTO staff : staffList) { + CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), staff.getStaffId()); + if (null != staffInfo) { + if(staffInfo.getRoleMap().containsKey("grid_member")) { + MemberProjectInfoResultDTO dto = new MemberProjectInfoResultDTO(); + dto.setStaffId(staff.getStaffId()); + dto.setStaffName(staffInfo.getRealName()); + dto.setOrgId(staff.getOrgId()); + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(staff.getOrgId()); + if (null != agencyInfo) { + dto.setOrgName(agencyInfo.getOrganizationName()); + } + list.add(dto); + } + } + } + } else { + for (StaffOrgRelationResultDTO staff : staffList) { + CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), staff.getStaffId()); + if (null != staffInfo) { + if(staffInfo.getRoleMap().containsKey("grid_member")) { + MemberProjectInfoResultDTO dto = new MemberProjectInfoResultDTO(); + dto.setStaffId(staff.getStaffId()); + dto.setStaffName(staffInfo.getRealName()); + dto.setOrgId(staff.getOrgId()); + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(staff.getOrgId()); + if (null != gridInfo) { + dto.setOrgName(gridInfo.getGridName()); + } + list.add(dto); + } + } + } + } + int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + PageInfo pageInfo = new PageInfo<>(list); + list = list.stream().sorted((o1, o2) -> + Collator.getInstance(Locale.SIMPLIFIED_CHINESE) + .compare(o1.getStaffName(),o2.getStaffName())).collect(Collectors.toList()); + list = list.stream().skip(num).limit(formDTO.getPageSize()).collect(Collectors.toList()); + return new PageData<>(list, pageInfo.getTotal()); + + } + + private Map getMemberMap(String customerId, String agencyId) { + List list = customerStaffGridDao.getGridStaffByAgency(agencyId); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + list = list.stream().filter(item -> { + CustomerStaffInfoCacheResult staffInfo = getStaffInfo(customerId, item.getStaffId()); + if (null != staffInfo) { + if (staffInfo.getRoleMap().containsKey("grid_member")) { + return true; + } + } + return false; + }).collect(Collectors.toList()); + + return list.stream().collect(Collectors.groupingBy(GridStaffResultDTO::getGridId, Collectors.counting())); + } + + + private CustomerStaffInfoCacheResult getStaffInfo(String customerId, String staffId) { + if (StringUtils.isBlank(customerId) || StringUtils.isBlank(staffId)){ + log.warn("getStaffInfo param is blank,customerId:{},staffId:{}",customerId,staffId); + return null; + } + String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); + Map roleMap = redisUtils.hGetAll(key); + if (!org.springframework.util.CollectionUtils.isEmpty(roleMap)) { + return ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCacheResult.class); + } + + CustomerStaffInfoCache resultData = reloadStaffCache(staffId, key); + if (resultData == null) { + return null; + } + + return ConvertUtils.sourceToTarget(resultData, CustomerStaffInfoCacheResult.class); + } + + @Nullable + private CustomerStaffInfoCache reloadStaffCache(String staffId, String key) { + CustomerStaffResultDTO staffResult = epmetUserService.getStaffInfo(staffId); + if (staffResult == null) { + log.warn("getStaffInfo staff is null,staffId:{}", staffId); + return null; + } + CustomerStaffInfoCache resultData =ConvertUtils.sourceToTarget(staffResult, CustomerStaffInfoCache.class); + + Map map = BeanUtil.beanToMap(resultData, false, true); + redisUtils.hMSet(key, map); + return resultData; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java index 988cf08e3b..2fa3882963 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java @@ -154,4 +154,20 @@ public interface GovProjectService { * @Date 2022/7/28 9:29 */ Map getMemberClosedProjectMap(OrgStatisticsFormDTO formDTO); + /** + * 组织上报项目数 + * @Param formDTO + * @Return {@link Map< String, Integer>} + * @Author zhaoqifeng + * @Date 2022/7/28 9:29 + */ + Map getAgencyProjectMap(OrgStatisticsFormDTO formDTO); + /** + * 组织关闭项目数 + * @Param formDTO + * @Return {@link Map< String, Integer>} + * @Author zhaoqifeng + * @Date 2022/7/28 9:29 + */ + Map getAgencyClosedProjectMap(OrgStatisticsFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java index cc15ad0628..17e83e3324 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java @@ -854,6 +854,42 @@ public class GovProjectServiceImpl implements GovProjectService { return list.stream().collect(Collectors.toMap(OrgCountDTO::getOrgId, OrgCountDTO::getCount, (o1, o2) -> o1)); } + /** + * 组织上报项目数 + * + * @param formDTO + * @Param formDTO + * @Return {@link Map< String, Integer>} + * @Author zhaoqifeng + * @Date 2022/7/28 9:29 + */ + @Override + public Map getAgencyProjectMap(OrgStatisticsFormDTO formDTO) { + List list = projectDao.getAgencyProjectCount(formDTO); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.toMap(OrgCountDTO::getOrgId, OrgCountDTO::getCount, (o1, o2) -> o1)); + } + + /** + * 组织关闭项目数 + * + * @param formDTO + * @Param formDTO + * @Return {@link Map< String, Integer>} + * @Author zhaoqifeng + * @Date 2022/7/28 9:29 + */ + @Override + public Map getAgencyClosedProjectMap(OrgStatisticsFormDTO formDTO) { + List list = projectDao.getAgencyClosedProjectCount(formDTO); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyMap(); + } + return list.stream().collect(Collectors.toMap(OrgCountDTO::getOrgId, OrgCountDTO::getCount, (o1, o2) -> o1)); + } + /** * 构造事件查询 * @param customerId diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml index d2c47a0922..b39a38745d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml @@ -124,4 +124,39 @@ ca.ID ORDER BY ca.CREATED_TIME ASC + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml index d7bfb5ff40..0120ff67a5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml @@ -55,4 +55,17 @@ cg.ID ORDER BY cg.CREATED_TIME ASC + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml index 8abc47d1a5..7ec61960c9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml @@ -436,10 +436,10 @@ DEL_FLAG = '0' AND AGENCY_ID = #{agencyId} - AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") = ]]> #{startDate} + AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") = ]]> #{startDate} - AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") #{endDate} + AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") #{endDate} GROUP BY GRID_ID @@ -457,10 +457,10 @@ AND GRID_ID IS NOT NULL AND GRID_ID != '' - AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") = ]]> #{startDate} + AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") = ]]> #{startDate} - AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") #{endDate} + AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") #{endDate} GROUP BY GRID_ID @@ -478,10 +478,10 @@ AND GRID_ID = #{orgId} - AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") = ]]> #{startDate} + AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") = ]]> #{startDate} - AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") #{endDate} + AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") #{endDate} GROUP BY CREATED_BY @@ -500,13 +500,50 @@ AND GRID_ID = #{orgId} - AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") = ]]> #{startDate} + AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") = ]]> #{startDate} - AND DATE_FORMAT(CREATED_TIME,"%Y%m%d") #{endDate} + AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") #{endDate} GROUP BY STAFF_ID + + diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index 63bf467618..a0c848bc74 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -444,7 +444,7 @@ SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd - local + false 192.168.1.140:9876;192.168.1.141:9876 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java index 15bb6ee2a6..37be951be3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java @@ -16,6 +16,8 @@ import org.springframework.scheduling.annotation.EnableAsync; public class DataStatsApplication { public static void main(String[] args) { + // 让rocketmq使用slf4j管理日志 + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(DataStatsApplication.class ,args); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml index 530c216a2d..ed65817966 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml @@ -226,3 +226,4 @@ shutdown: rocketmq: enable: @rocketmq.enable@ name-server: @rocketmq.nameserver@ + diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/EpmetHeartApplication.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/EpmetHeartApplication.java index 236d81d8d9..caec050a5f 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/EpmetHeartApplication.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/EpmetHeartApplication.java @@ -29,6 +29,8 @@ import org.springframework.scheduling.annotation.EnableAsync; public class EpmetHeartApplication { public static void main(String[] args) { + // 让rocketmq使用slf4j管理日志 + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(EpmetHeartApplication.class, args); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml index 0f10a78167..352a8283aa 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml @@ -151,6 +151,7 @@ rocketmq: # 是否开启mq enable: @rocketmq.enable@ name-server: @rocketmq.nameserver@ + # 停机选项 shutdown: graceful: diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml index d0428fcee3..b03ee98c4c 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml @@ -138,11 +138,35 @@ + + + + ${log.path}/rocketmqclient.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/rocketmqclient-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + + + + @@ -156,6 +180,10 @@ + + + + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/MessageApplication.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/MessageApplication.java index 5a2a928d7a..120a8d5f7e 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/MessageApplication.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/MessageApplication.java @@ -29,6 +29,7 @@ import org.springframework.scheduling.annotation.EnableAsync; public class MessageApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(MessageApplication.class, args); } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml index 1c4e2f2bfd..1f5a8c83bf 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml @@ -152,6 +152,8 @@ shutdown: waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 rocketmq: + client: + logUseSlf4j: true name-server: @rocketmq.nameserver@ producer: group: @rocketmq.producer.group@ diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml index 6b34183b22..338e0b9495 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml @@ -139,12 +139,36 @@ + + + + ${log.path}/rocketmqclient.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/rocketmqclient-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + + + + @@ -158,6 +182,10 @@ + + + + diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/EpmetPointApplication.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/EpmetPointApplication.java index 7315813d90..47a7df815a 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/EpmetPointApplication.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/EpmetPointApplication.java @@ -20,6 +20,7 @@ import org.springframework.scheduling.annotation.EnableAsync; @EnableAsync public class EpmetPointApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(EpmetPointApplication.class, args); } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java index 70b6bdb9ae..8e6ab35c55 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/service/impl/WxMaCodeServiceImpl.java @@ -149,7 +149,7 @@ public class WxMaCodeServiceImpl implements WxMaCodeService { } JSONObject jsonObject = JSONObject.parseObject(submitResult.getData()); result.setErrorCode(jsonObject.getInteger(ERR_CODE)); - result.setErrorMsg(WxMaErrorMsgEnum.findMsgByCode(jsonObject.getInteger(ERR_CODE))); + result.setErrorMsg(jsonObject.getString(ERR_MSG)); result.setData(jsonObject.getString("auditid")); return result; } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml index 573b117d9d..67cbb2570e 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml @@ -157,6 +157,8 @@ shutdown: waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 rocketmq: + client: + logUseSlf4j: true # epmet-cloud集群内部用的rocketmq # epmet-cloud-inner: # enable: @rocketmq.epmet-cloud-inner.enable@ diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/GovIssueApplication.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/GovIssueApplication.java index fd9e212221..2f660d47ba 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/GovIssueApplication.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/GovIssueApplication.java @@ -17,6 +17,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; @ServletComponentScan(basePackages = "com.epmet") public class GovIssueApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(GovIssueApplication.class, args); } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml index 06f9b57041..06332fbf9b 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml @@ -143,6 +143,7 @@ rocketmq: enable: @rocketmq.enable@ name-server: @rocketmq.nameserver@ + thread: # 线程池配置 threadPool: diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/GovOrgApplication.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/GovOrgApplication.java index 3dda2f6217..8fdce3f561 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/GovOrgApplication.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/GovOrgApplication.java @@ -29,6 +29,7 @@ import org.springframework.scheduling.annotation.EnableAsync; public class GovOrgApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(GovOrgApplication.class, args); } diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/OpenDataApplication.java b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/OpenDataApplication.java index 8332bdca9e..cd3642aca1 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/OpenDataApplication.java +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/OpenDataApplication.java @@ -22,6 +22,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; //@ComponentScan(value = { "com.epmet" }) public class OpenDataApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(OpenDataApplication.class, args); } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/OperCustomizeApplication.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/OperCustomizeApplication.java index 8b60526acf..f0b206f086 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/OperCustomizeApplication.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/OperCustomizeApplication.java @@ -27,6 +27,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; public class OperCustomizeApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(OperCustomizeApplication.class, args); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java index 0e3a138491..278d64b9a6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java @@ -29,6 +29,7 @@ import org.springframework.scheduling.annotation.EnableAsync; public class ResiGroupApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(ResiGroupApplication.class, args); } } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/ResiPartyMemberApplication.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/ResiPartyMemberApplication.java index 74e592b898..180e65cfe2 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/ResiPartyMemberApplication.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/ResiPartyMemberApplication.java @@ -29,6 +29,7 @@ import org.springframework.scheduling.annotation.EnableAsync; public class ResiPartyMemberApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(ResiPartyMemberApplication.class, args); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml index 3bbff08587..f4fc5a99ea 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml @@ -139,12 +139,36 @@ + + + + ${log.path}/rocketmqclient.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/rocketmqclient-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + + + + @@ -159,6 +183,10 @@ + + + + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java index 4f9b736afb..5767fb4d33 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java @@ -30,6 +30,7 @@ import org.springframework.scheduling.annotation.EnableAsync; public class UserApplication { public static void main(String[] args) { + System.setProperty("rocketmq.client.logUseSlf4j", "true"); SpringApplication.run(UserApplication.class, args); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index c9c416d63c..5f3169e154 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -45,7 +45,6 @@ import com.epmet.dao.StaffRoleDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.dto.result.NewUserRoleResultDTO; import com.epmet.entity.CustomerStaffEntity; import com.epmet.entity.GovStaffRoleEntity; import com.epmet.entity.StaffRoleEntity; @@ -516,7 +515,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl staffIdList) { //1:批量查询人员基本信息 - List staffList = baseDao.selectStaffByIds(staffIdList, null); + List staffList = baseDao.selectStaffByIds(staffIdList, Constant.ENABLE); //2:批量查询人员拥有的所有角色信息 List roleList = staffRoleDao.selectStaffRoleList(staffIdList); CustomerStaffListResultDTO list = new CustomerStaffListResultDTO(); @@ -846,11 +845,13 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl staffRoleList = staffRoleDao.staffRoleList(gridStaffs.getData()); - + if(CollectionUtils.isEmpty(staffRoleList)){ + return resultList; + } //3.查询工作人员基础信息 List staffIdList = staffRoleList.stream().map(GridMobileListResultDTO.Role::getStaffId).collect(Collectors.toList()); staffIdList = staffIdList.stream().distinct().collect(Collectors.toList()); - List list = baseDao.selectStaffByIds(staffIdList, Constant.ENABLE); + List list = CollectionUtils.isEmpty(staffIdList) ? new ArrayList<>() : baseDao.selectStaffByIds(staffIdList, Constant.ENABLE); //4.封装数据并返回 resultList = ConvertUtils.sourceToTarget(list, GridMobileListResultDTO.class); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index ffeaea8246..7f8921443f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -548,6 +548,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res if ((transferData = this.getResiImportTrasferData(existingResiMap, columnAndValues)) != null) { newlyOrChangedResi.get().getTransferedResis().put(existingResiMap.get("ID"), transferData); } + + // 因为主表会产生变更记录的,只有组织变更;其他能产生变更记录的,都在子表里面,所以此处只判断组织变更,其他类别的变更交给子表 + // 老年人产生变更记录,只会在新增居民的时候产生,修改居民信息不会产生,因为身份证不可变 } else { // 新增居民 String resiId = IdWorker.getIdStr(); @@ -566,6 +569,11 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res columnAndValues.get("HOME_ID"), new HashMap<>()); + // 因为老年人会通过年龄计算,子sheet中不一定有这个人的信息,所以此处需要加入到变更记录中去 + if ("1".equals(columnAndValues.get("IS_OLD_PEOPLE"))) { + categoryData.getCategories().put("IS_OLD_PEOPLE", "1"); + } + redisUtils.hMSet(RedisKeys.icResiImportResiCategoryKey(newlyOrChangedResi.get().getImportTag(), "add", resiId), BeanUtil.beanToMap(categoryData)); categoryData = null; } diff --git a/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml b/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml index 41f567fccf..899eed6c7a 100644 --- a/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml +++ b/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml @@ -139,11 +139,35 @@ + + + + ${log.path}/rocketmqclient.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/rocketmqclient-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + + + + @@ -157,6 +181,10 @@ + + + +