59975 法规符合性看板-评估结果页,数据处理,返回三个符合性流程的信息,让前端跳转至任务详情页。

This commit is contained in:
wangzhijiang
2022-09-27 17:20:30 +08:00
parent c19e32410e
commit fd81c50ac5
2 changed files with 118 additions and 2 deletions
@@ -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 )
@@ -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<String, Object> params) {
@@ -138,7 +146,15 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
String id = (String) params.get("id");
String cut = (String) params.get("cut");
List<Map<String,Object>> complianceResultList = this.lawsComplianceBoardMapper.queryComplianceResultList(params);
this.disposeComplianceResult(complianceResultList,cut);
if(CollectionUtils.isNotEmpty(complianceResultList)){
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<String> projectLawsInventoryIdList = complianceResultList.stream().map(map-> (String) map.get("id")).collect(Collectors.toList());
QueryWrapper<ProjectTaskInventoryDetailEO> taskDetailQueryWrapper = new QueryWrapper<>();
taskDetailQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectLawsInventoryIdList);
List<ProjectTaskInventoryDetailEO> 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<Map<String, Object>> complianceResultList, List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList, LoginUser currentUser) {
if(CollectionUtils.isNotEmpty(complianceResultList) && CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOList)){
for (Map<String, Object> 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<Map<String,Object>> complianceResultList,String cut){
if(CollectionUtils.isNotEmpty(complianceResultList)){
List<SysDictItem> dutyTerritoryDictItemList = sysDictItemService.selectItemsByDictCode("duty_territory");