From 46de4fa739539b7513ca8db0f6042a939bb82342 Mon Sep 17 00:00:00 2001 From: wangchao Date: Wed, 23 Sep 2020 18:00:42 +0800 Subject: [PATCH] =?UTF-8?q?projetc=5Flog=E3=80=81group=5Fmember=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0pids,=E5=88=86=E5=88=AB=E8=A1=A8=E7=A4=BA=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E7=9A=84=E6=B6=B5=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginProjectLogDailyDTO.java | 12 +++ .../FactOriginProjectMainDailyDTO.java | 5 ++ ...tractGroupMemberActionRecordResultDTO.java | 12 ++- .../com/epmet/dto/project/ProcessInfoDTO.java | 14 +++- .../com/epmet/controller/DemoController.java | 2 +- .../extract/FactOriginGroupMainDailyDao.java | 3 +- .../FactOriginProjectLogDailyEntity.java | 12 +++ .../FactOriginProjectMainDailyEntity.java | 5 ++ .../FactOriginGroupMainDailyService.java | 13 +++ .../extract/todata/GroupExtractService.java | 2 +- .../FactOriginGroupMainDailyServiceImpl.java | 35 ++++++++ .../todata/impl/GroupExtractServiceImpl.java | 69 +++++++++------- .../impl/ProjectExtractServiceImpl.java | 81 ++++++++++++++++--- .../extract/FactOriginGroupMainDailyDao.xml | 18 +++++ .../resources/mapper/group/GroupDataDao.xml | 1 + .../mapper/project/ProjectProcessDao.xml | 17 +++- 16 files changed, 252 insertions(+), 49 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectLogDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectLogDailyDTO.java index 4602fd81a3..8f5f1571db 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectLogDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectLogDailyDTO.java @@ -58,6 +58,18 @@ public class FactOriginProjectLogDailyDTO implements Serializable { */ private String agencyId; + /** + * 操作人所在父Id,当orgType不为空时,agencyId与pid一致 + * 当orgType为空时,pid是agencyId的上级,没有上级则默认为0 + * */ + private String pid; + + /** + * 操作人所在所有父机Id集合,当orgType不为空时,pids最后一节一定包含pid + * 当orgType为空时,pids是agencyId的所有上级,没有上级则为空串 + * */ + private String pids; + /** * 日期ID */ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java index de50b76511..1d2842a63d 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java @@ -93,6 +93,11 @@ public class FactOriginProjectMainDailyDTO implements Serializable { */ private String pid; + /** + * 所有上级Id集合 (项目来源) + * */ + private String pids; + /** * 组织ID(网格所属组织ID) */ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/result/ExtractGroupMemberActionRecordResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/result/ExtractGroupMemberActionRecordResultDTO.java index 47aa8e8783..a95e36f708 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/result/ExtractGroupMemberActionRecordResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/result/ExtractGroupMemberActionRecordResultDTO.java @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.Date; /** - * @Description + * @Description 数据抽取 - 小组成员DTO 目前查询和插入都使用这一个 * @ClassName ExtractGroupMemberActionRecordResultDTO * @Auth wangc * @Date 2020-09-18 21:18 @@ -18,6 +18,14 @@ public class ExtractGroupMemberActionRecordResultDTO implements Serializable { private String groupId; + private String gridId; + + private String agencyId; + + private String parentId; + + private String pids; + private String memberId; private String leaderFlag; @@ -35,7 +43,7 @@ public class ExtractGroupMemberActionRecordResultDTO implements Serializable { private Date joinDate; /** - * 目前只有join leader也是join + * 目前只有join leader入群也是join * */ private String actionCode; } diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProcessInfoDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProcessInfoDTO.java index 845c943aa9..1a0458c5fd 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProcessInfoDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/ProcessInfoDTO.java @@ -15,7 +15,7 @@ public class ProcessInfoDTO implements Serializable { private static final long serialVersionUID = 4586424046147127143L; private String agencyId; private String departmentId; - private String gridId; + private String gridId; //可能是负责人所属的网格Id,也可能是满意度评价的居民所属网格Id private String projectId; /** * 处理:结案close,退回return,部门流转transfer,创建项目created @@ -27,4 +27,16 @@ public class ProcessInfoDTO implements Serializable { private String staffId; private Date createdTime; + /** + * 操作人所在父Id,当orgType不为空时,agencyId与pid一致 + * 当orgType为空时,pid是agencyId的上级,没有上级则默认为0 + * */ + private String pid; + + /** + * 操作人所在所有父机Id集合,当orgType不为空时,pids最后一节一定包含pid + * 当orgType为空时,pids是agencyId的所有上级,没有上级则为空串 + * */ + private String pids; + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index 4c3b670b57..7c5bd99c75 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -579,7 +579,7 @@ public class DemoController { @PostMapping("responseration") public Result> responseRatio(){ return new Result>().ok( - factOriginProjectLogDailyService.getAgencyResponseRatio("3ef7e4bb195eb9e622d68b52509aa940","202006","month") + factOriginProjectLogDailyService.getAgencyWorkPieceRatio("3ef7e4bb195eb9e622d68b52509aa940","202006","month") ); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java index e80d25e5ae..5844aa19f8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java @@ -26,6 +26,7 @@ import com.epmet.entity.evaluationindex.extract.FactOriginGroupMainDailyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -72,7 +73,7 @@ public interface FactOriginGroupMainDailyDao extends BaseDao selectGroupMemberList(List groupIdList); + + /** + * @Description 插入组相关业务抽取数据 ,为了保证原子性操作,封装到一个方法中 + * @param isFirst + * @param customerId + * @param originGroupData + * @return + * @author wangc + * @date 2020.09.23 16:30 + **/ + boolean insertExtractedData(boolean isFirst,String customerId,String dateId,List originGroupData,List memberList); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/GroupExtractService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/GroupExtractService.java index 41e46e8506..092402fd8c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/GroupExtractService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/GroupExtractService.java @@ -24,7 +24,7 @@ public interface GroupExtractService { /** - * @Description 业务抽取 - 小组祥光 + * @Description 业务抽取 - 小组数据 * @param param * @return * @author wangc diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginGroupMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginGroupMainDailyServiceImpl.java index 22800d2859..ed5aeca1a1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginGroupMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginGroupMainDailyServiceImpl.java @@ -18,12 +18,18 @@ package com.epmet.service.evaluationindex.extract.todata.impl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.dao.evaluationindex.extract.FactOriginGroupMainDailyDao; +import com.epmet.dto.extract.FactOriginGroupMainDailyDTO; +import com.epmet.dto.group.result.ExtractGroupMemberActionRecordResultDTO; import com.epmet.entity.evaluationindex.extract.FactOriginGroupMainDailyEntity; import com.epmet.service.evaluationindex.extract.todata.FactOriginGroupMainDailyService; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.stream.Collectors; /** @@ -62,4 +68,33 @@ public class FactOriginGroupMainDailyServiceImpl extends BaseServiceImpl memberIdList = baseDao.selectGroupMemberList(groupIdList); return memberIdList; } + + /** + * @Description 插入组相关业务抽取数据 ,为了保证原子性操作,封装到一个方法中 + * @param isFirst + * @param customerId + * @param originGroupData + * @return + * @author wangc + * @date 2020.09.23 16:30 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean insertExtractedData(boolean isFirst, String customerId, String dateId,List originGroupData, List memberList) { + if (isFirst) { + //isFirst + baseDao.deleteBatchMemberByCustomerId(customerId,null,null); + } else { + //删除要插入的组主表数据 + baseDao.deleteBatchByGroupId(customerId,originGroupData.stream().map(FactOriginGroupMainDailyDTO :: getId).distinct().collect(Collectors.toList())); + if(StringUtils.isNotBlank(dateId)){ + baseDao.deleteBatchMemberByCustomerId(customerId,dateId,"date"); + } + } + + baseDao.insertBatchMain(originGroupData); + baseDao.insertBatchMembers(memberList); + return true; + } + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java index c9529149a5..0545cb5345 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java @@ -9,6 +9,7 @@ import com.epmet.dto.extract.form.GridHeartedFormDTO; import com.epmet.dto.extract.result.PartyCreateGroupCountResultDTO; import com.epmet.dto.group.result.ExtractGroupMemberActionRecordResultDTO; import com.epmet.dto.stats.result.GridAttributesResultDTO; +import com.epmet.service.evaluationindex.extract.todata.FactOriginGroupMainDailyService; import com.epmet.service.evaluationindex.extract.todata.GroupExtractService; import com.epmet.service.group.GroupDataService; import com.epmet.service.stats.DimGridService; @@ -40,6 +41,16 @@ public class GroupExtractServiceImpl implements GroupExtractService { @Autowired private FactOriginGroupMainDailyDao groupMainDailyDao; + @Autowired + private FactOriginGroupMainDailyService factOriginGroupMainDailyService; + @Autowired + private GroupDataService groupDataService; + @Autowired + private FactOriginGroupMainDailyDao factOriginGroupMainDailyDao; + @Autowired + private UserService userService; + @Autowired + private DimGridService dimGridService; /** * @Description 查询建群党员数 @@ -52,14 +63,7 @@ public class GroupExtractServiceImpl implements GroupExtractService { public List selectPartyCreateGroupCount(String customerId, String monthId) { return groupMainDailyDao.selectPartyCreateGroupCount(customerId, monthId); } - @Autowired - private GroupDataService groupDataService; - @Autowired - private FactOriginGroupMainDailyDao factOriginGroupMainDailyDao; - @Autowired - private UserService userService; - @Autowired - private DimGridService dimGridService; + /** * @Description 业务抽取 - 小组祥光 @@ -92,19 +96,6 @@ public class GroupExtractServiceImpl implements GroupExtractService { gridList.stream().collect(Collectors.toMap(GridAttributesResultDTO::getGridId, Function.identity(), (key1, key2) -> key2)); if (!CollectionUtils.isEmpty(originGroupData)) { originGroupData.forEach(group -> { - if (!CollectionUtils.isEmpty(group.getMembers())) { - group.setMemberTotal(group.getMembers().size()); - group.getMembers().forEach(member -> { - DimIdGenerator.DimIdBean dateInfo = DimIdGenerator.getDimIdBean(member.getJoinDate()); - member.setDateId(dateInfo.getDateId()); - member.setWeekId(dateInfo.getWeekId()); - member.setMonthId(dateInfo.getMonthId()); - member.setQuarterId(dateInfo.getQuarterId()); - member.setYearId(dateInfo.getYearId()); - - memberList.add(member); - }); - } GridAttributesResultDTO attr = gridMap.get(group.getGridId()); if (null != attr) { group.setAgencyId(attr.getAgencyId()); @@ -119,19 +110,37 @@ public class GroupExtractServiceImpl implements GroupExtractService { group.setQuarterId(dateInfo.getQuarterId()); group.setYearId(dateInfo.getYearId()); } + + if (!CollectionUtils.isEmpty(group.getMembers())) { + group.setMemberTotal(group.getMembers().size()); + group.getMembers().forEach(member -> { + DimIdGenerator.DimIdBean dateInfo = DimIdGenerator.getDimIdBean(member.getJoinDate()); + member.setDateId(dateInfo.getDateId()); + member.setWeekId(dateInfo.getWeekId()); + member.setMonthId(dateInfo.getMonthId()); + member.setQuarterId(dateInfo.getQuarterId()); + member.setYearId(dateInfo.getYearId()); + if(null != attr){ + member.setAgencyId(attr.getAgencyId()); + member.setParentId(attr.getParentId()); + member.setPids(attr.getPids()); + } + memberList.add(member); + }); + } + }); } + factOriginGroupMainDailyService.insertExtractedData( + count <= NumConstant.ZERO ? true : false, + param.getDateId(), + param.getCustomerId(), + originGroupData, + memberList + ); + - if (count <= NumConstant.ZERO) { - //isFirst - factOriginGroupMainDailyDao.deleteBatchMemberByCustomerId(param.getCustomerId()); - factOriginGroupMainDailyDao.insertBatchMain(originGroupData); - factOriginGroupMainDailyDao.insertBatchMembers(memberList); - } else { - factOriginGroupMainDailyDao.deleteBatchByGroupId(param.getCustomerId(),originGroupData.stream().map(FactOriginGroupMainDailyDTO :: getId).distinct().collect(Collectors.toList())); - factOriginGroupMainDailyDao.insertBatchMembers(memberList); - } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 7609977ad4..9e632ca41b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -30,6 +30,7 @@ import com.epmet.service.project.ProjectProcessService; import com.epmet.service.project.ProjectService; import com.epmet.service.topic.TopicService; import com.epmet.util.DimIdGenerator; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -48,6 +49,7 @@ import java.util.stream.Collectors; * @date 2020/9/15 14:00 */ @Service +@Slf4j public class ProjectExtractServiceImpl implements ProjectExtractService { @Autowired @@ -73,6 +75,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { public void saveOriginProjectDaily(ExtractFormDTO extractFormDTO) { String dateString = extractFormDTO.getDateId(); String customerId = extractFormDTO.getCustomerId(); + List list = new LinkedList<>(); //获取已关闭项目列表 List closedList = projectProcessService.getClosedProjectList(customerId, dateString); List pendingList = factOriginProjectMainDailyService.getPendingList(customerId); @@ -117,7 +120,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { //获取网格认证党员 List partyMemberList = partyMemberService.getPartyMemberByCustomer(customerId); //生成DTO - List list = projectList.stream().map(project -> { + list = projectList.stream().map(project -> { //获取日期相关维度 DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(project.getCreatedTime()); FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity(); @@ -133,11 +136,14 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setProjectStatus(project.getStatus()); entity.setCreatedTime(project.getCreatedTime()); entity.setUpdatedTime(project.getUpdatedTime()); + entity.setPids(project.getOrgIdPath()); String[] pIds = project.getOrgIdPath().split(":"); if (pIds.length > 1) { entity.setPid(pIds[pIds.length - 2]); - } else { + } else if(pIds.length == 1){ entity.setPid(pIds[0]); + } else { + entity.setPid(NumConstant.ZERO_STR); } entity.setIsParty(NumConstant.ZERO_STR); entity.setIsOverdue(NumConstant.ZERO_STR); @@ -168,7 +174,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { factOriginProjectMainDailyService.insertBatch(list); } } - + final List mainList = list; //节点发起人 List processList = projectProcessService.getProcessListByCustomer(customerId, dateString); if (null != processList && !processList.isEmpty()) { @@ -186,12 +192,47 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOperationUserId(process.getStaffId()); entity.setActionCode(process.getOperation()); entity.setIsActive(NumConstant.ONE); - entity.setOrgType("grid"); + entity.setPids(process.getPids()); + if (StringUtils.isNotBlank(process.getDepartmentId())) { + entity.setOrgType("department"); + entity.setOrgId(process.getDepartmentId()); + entity.setPid(process.getAgencyId()); + }else if (StringUtils.isNotBlank(process.getGridId())) { + entity.setOrgType("grid"); + entity.setOrgId(process.getGridId()); + entity.setPid(process.getAgencyId()); + }else{ + if(!process.getPids().contains(":")){ + entity.setPids(""); + entity.setPid(NumConstant.ZERO_STR); + }else{ + String[] orgArray = process.getPids().split(":"); + if(null != orgArray && orgArray.length > NumConstant.ONE){ + entity.setPid(orgArray[orgArray.length - NumConstant.TWO]); + String path = process.getPids().replaceAll(process.getAgencyId(),""); + if(path.endsWith(":")){ + path =path.substring(NumConstant.ZERO,path.length() - NumConstant.ONE); + } + entity.setPids(path); + }else{ + log.warn("【data-statistical】业务数据抽取模块,ProjectExtractServiceImpl.saveOriginProjectDaily:查询出的项目节点发起人所属的orgIdPath不正确,agencyId->{},orgIdPath->{}",process.getAgencyId(),process.getPids()); + entity.setPid(NumConstant.ZERO_STR); + entity.setPids(""); + } + } + } + return entity; }).collect(Collectors.toList()); //项目评论人 List satisfactionRecordList = projectProcessService.getSatisfactionRecord(customerId, dateString); + + satisfactionRecordList.forEach(log -> mainList.stream().filter(project -> log.getProjectId().equals(project.getId())).forEach(main -> { + //进行满意度评价的居民的所属机关的父机机关信息 + log.setPid(main.getPid()); + log.setPids(main.getPids()); + })); logList.addAll(satisfactionRecordList.stream().map(process -> { //获取日期相关维度 DimIdGenerator.DimIdBean dimId = DimIdGenerator.getDimIdBean(process.getCreatedTime()); @@ -206,14 +247,13 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOperationUserId(process.getStaffId()); entity.setActionCode(process.getOperation()); entity.setIsActive(NumConstant.ONE); + entity.setOrgId(process.getGridId()); entity.setOrgType("grid"); + entity.setPids(process.getPids()); + entity.setPid(process.getPid()); return entity; }).collect(Collectors.toList())); - List projectMainList = factOriginProjectMainDailyService.getProjectByCustomer(customerId); - logList.forEach(log -> projectMainList.stream().filter(project -> log.getProjectId().equals(project.getId())).forEach(main -> { - log.setOrgId(main.getGridId()); - })); //节点接收人 List processStaffList = projectProcessService.getProcessStaffByCustomer(customerId, dateString); @@ -231,13 +271,34 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOperationUserId(process.getStaffId()); entity.setActionCode(process.getOperation()); entity.setIsActive(NumConstant.ZERO); + entity.setPids(process.getPids()); if (StringUtils.isNotBlank(process.getDepartmentId())) { entity.setOrgType("department"); entity.setOrgId(process.getDepartmentId()); - } - if (StringUtils.isNotBlank(process.getGridId())) { + entity.setPid(process.getAgencyId()); + }else if (StringUtils.isNotBlank(process.getGridId())) { entity.setOrgType("grid"); entity.setOrgId(process.getGridId()); + entity.setPid(process.getAgencyId()); + }else{ + if(!process.getPids().contains(":")){ + entity.setPids(""); + entity.setPid(NumConstant.ZERO_STR); + }else{ + String[] orgArray = process.getPids().split(":"); + if(null != orgArray && orgArray.length > NumConstant.ONE){ + entity.setPid(orgArray[orgArray.length - NumConstant.TWO]); + String path = process.getPids().replaceAll(process.getAgencyId(),""); + if(path.endsWith(":")){ + path =path.substring(NumConstant.ZERO,path.length() - NumConstant.ONE); + } + entity.setPids(path); + }else{ + log.warn("【data-statistical】业务数据抽取模块,ProjectExtractServiceImpl.saveOriginProjectDaily:查询出的项目节点发起人所属的orgIdPath不正确,agencyId->{},orgIdPath->{}",process.getAgencyId(),process.getPids()); + entity.setPid(NumConstant.ZERO_STR); + entity.setPids(""); + } + } } return entity; }).collect(Collectors.toList())); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml index da7cb183e7..134c359fd2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml @@ -52,6 +52,16 @@ fact_origin_group_member_daily WHERE CUSTOMER_ID = #{customerId} + + + + AND MONTH_ID = #{dimId} + + + AND DATE_ID = #{dimId} + + + @@ -169,6 +179,10 @@ ( id, group_id, + grid_id, + agency_id, + parent_id, + pids, member_id, customer_id, leader_flag, @@ -189,6 +203,10 @@ ( (SELECT REPLACE(UUID(), '-', '') AS id), #{item.groupId}, + #{item.gridId}, + #{item.agencyId}, + #{item.parentId}, + #{item.pids}, #{item.memberId}, #{item.customerId}, #{item.leaderFlag}, diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml index 61e4057e22..9a644abb96 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml @@ -166,6 +166,7 @@ + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml index 48bf09f1c2..8a59659195 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml @@ -21,14 +21,21 @@