diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml index 37cf72f37..247f552ef 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml @@ -35,6 +35,7 @@ pli.title as "title", pli.project_library_id as "projectLibraryId", pni.project_name as "projectName", + pni.id as "projectNameId", pyni.year_name as "yearName", pti.design_status as "designStatus", pti.design_flow_task_status as "designFlowTaskStatus", @@ -45,7 +46,12 @@ pti.verify_status as "verifyStatus", pti.verify_flow_task_status as "verifyFlowTaskStatus", pti.verify_p_id as "verifyPId", - pli.duty_territory as "dutyTerritory" + pli.duty_territory as "dutyTerritory", + pti.design_person_charge_feedback as "designPersonChargeFeedback", + pti.prehomo_person_charge_feedback as "prehomoPersonChargeFeedback", + pti.verify_person_charge_feedback as "verifyPersonChargeFeedback", + plb.studio_engineer as "studioEngineer", + plb.target_market as "targetMarket" FROM project_laws_inventory pli LEFT JOIN project_task_inventory pti ON ( pli.id = pti.project_laws_inventory_id ) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java index d060a5ebe..e1742535b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.constant.enums.CutEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.query.QueryRuleEnum; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.document.enums.FieldTypeEnum; import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.document.vo.QueryConditionVO; @@ -14,9 +15,12 @@ import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum; import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService; +import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO; import com.jero.modules.project.enums.DesignComplianceStatusEnum; import com.jero.modules.project.enums.ReviewResultEnum; +import com.jero.modules.project.enums.TaskStatusEnum; import com.jero.modules.project.mapper.LawsComplianceBoardMapper; +import com.jero.modules.project.mapper.ProjectTaskInventoryDetailEOMapper; import com.jero.modules.project.service.ILawsComplianceBoardService; import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; @@ -24,12 +28,14 @@ import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.StringUtils; +import com.jero.modules.wkflow.enums.FlowTypeEnum; import net.sf.json.JSONObject; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; +import org.apache.shiro.SecurityUtils; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -60,6 +66,8 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi private SysCategoryServiceImpl sysCategoryService; @Autowired private ISysDictItemService sysDictItemService; + @Autowired + private ProjectTaskInventoryDetailEOMapper projectTaskInventoryDetailEOMapper; @Override public IPage queryPageList(Map params) { @@ -138,7 +146,15 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi String id = (String) params.get("id"); String cut = (String) params.get("cut"); List> complianceResultList = this.lawsComplianceBoardMapper.queryComplianceResultList(params); - this.disposeComplianceResult(complianceResultList,cut); + if(CollectionUtils.isNotEmpty(complianceResultList)){ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List projectLawsInventoryIdList = complianceResultList.stream().map(map-> (String) map.get("id")).collect(Collectors.toList()); + QueryWrapper taskDetailQueryWrapper = new QueryWrapper<>(); + taskDetailQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectLawsInventoryIdList); + List projectTaskInventoryDetailEOList = this.projectTaskInventoryDetailEOMapper.selectList(taskDetailQueryWrapper); + this.createTaskInventoryEOList(complianceResultList,projectTaskInventoryDetailEOList,currentUser); + this.disposeComplianceResult(complianceResultList,cut); + } result.put("complianceResultList",complianceResultList); //查询当前数据是否有法规意见收集流程数据 @@ -157,6 +173,100 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi return result; } + /** + * 创建任务清单列表数据 + * @param complianceResultList + * @param projectTaskInventoryDetailEOList + * @param currentUser + */ + private void createTaskInventoryEOList(List> complianceResultList, List projectTaskInventoryDetailEOList, LoginUser currentUser) { + if(CollectionUtils.isNotEmpty(complianceResultList) && CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOList)){ + for (Map complianceResult : complianceResultList) { + String designPid = ""; + String designTaskId = ""; + String designTaskStatus = ""; + String designTaskDefinitionKey = ""; + String designTaskDetailId = ""; + + String prehomoPid = ""; + String prehomoTaskId = ""; + String prehomoTaskStatus = ""; + String prehomoTaskDefinitionKey = ""; + String prehomoTaskDetailId = ""; + + String verifyPid = ""; + String verifyTaskId = ""; + String verifyTaskStatus = ""; + String verifyTaskDefinitionKey = ""; + String verifyTaskDetailId = ""; + + for (ProjectTaskInventoryDetailEO projectTaskInventoryDetail : projectTaskInventoryDetailEOList) { + if(StringUtils.equals(complianceResult.get("id").toString(),projectTaskInventoryDetail.getProjectTaskInventoryId())){ + /** + * 查询数据权限,所有用户都是,自己的待办,可以跳转到处理任务详情页进行处理。 + * 不是自己的待办,只能跳转到处理任务的详情页。 + */ + if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue())){ + designPid = projectTaskInventoryDetail.getActiProcInstId(); + designTaskId = projectTaskInventoryDetail.getTaskId(); + designTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); + designTaskDetailId = projectTaskInventoryDetail.getId(); + if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ + designTaskStatus = projectTaskInventoryDetail.getStatus(); + }else { + designTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } + } + if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){ + prehomoPid = projectTaskInventoryDetail.getActiProcInstId(); + prehomoTaskId = projectTaskInventoryDetail.getTaskId(); + prehomoTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); + prehomoTaskDetailId = projectTaskInventoryDetail.getId(); + if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ + prehomoTaskStatus = projectTaskInventoryDetail.getStatus(); + }else { + prehomoTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } + } + if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){ + verifyPid = projectTaskInventoryDetail.getActiProcInstId(); + verifyTaskId = projectTaskInventoryDetail.getTaskId(); + verifyTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); + verifyTaskDetailId = projectTaskInventoryDetail.getId(); + if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ + verifyTaskStatus = projectTaskInventoryDetail.getStatus(); + }else { + verifyTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } + } + } + } + //设计符合性流程数据 + complianceResult.put("designPid",designPid); + complianceResult.put("designTaskId",designTaskId); + complianceResult.put("designTaskStatus",designTaskStatus); + complianceResult.put("designTaskDefinitionKey",designTaskDefinitionKey); + complianceResult.put("designTaskDetailId",designTaskDetailId); + + //prehomo确认流程数据 + complianceResult.put("prehomoPid",prehomoPid); + complianceResult.put("prehomoTaskId",prehomoTaskId); + complianceResult.put("prehomoTaskStatus",prehomoTaskStatus); + complianceResult.put("prehomoTaskDefinitionKey",prehomoTaskDefinitionKey); + complianceResult.put("prehomoTaskDetailId",prehomoTaskDetailId); + + //验证符合性流程数据 + complianceResult.put("verifyPid",verifyPid); + complianceResult.put("verifyTaskId",verifyTaskId); + complianceResult.put("verifyTaskStatus",verifyTaskStatus); + complianceResult.put("verifyTaskDefinitionKey",verifyTaskDefinitionKey); + complianceResult.put("verifyTaskDetailId",verifyTaskDetailId); + + complianceResult.put("projectLawsInventoryId",complianceResult.get("id")); + } + } + } + public void disposeComplianceResult(List> complianceResultList,String cut){ if(CollectionUtils.isNotEmpty(complianceResultList)){ List dutyTerritoryDictItemList = sysDictItemService.selectItemsByDictCode("duty_territory");