任务清单-处理历史数据接口

This commit is contained in:
wangzhijiang
2022-10-31 16:51:30 +08:00
parent 8e70b640cc
commit cbc536d071
4 changed files with 91 additions and 1 deletions
@@ -161,6 +161,8 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/lark/larkCardMessageConfig", "anon"); //飞书调用接口,卡片消息配置。
filterChainDefinitionMap.put("/sys/user/querySysUserListByIdList", "anon"); // 工作流根据用户idList获取用户信息接口
filterChainDefinitionMap.put("/project/projectTaskInventoryConditionAssessmentEO/initConditionAssessment", "anon"); // 初始化项目当前状态数据接口
filterChainDefinitionMap.put("/todoCenter/projectProcess/initHistoryData", "anon"); // 待办中心-初始化历史数据接口排除
filterChainDefinitionMap.put("/project/projectTaskInventoryEO/disposeHistoryData", "anon"); // 项目库-任务清单 处理历史数据接口
// 添加自己的过滤器并且取名为jwt
Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
@@ -22,9 +22,10 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
/**
* @Description: 项目库-任务清单表
* @Author: jero-boot
* @Date: 2022-04-29
@@ -231,4 +232,16 @@ public class ProjectTaskInventoryEOController extends JeroController<ProjectTask
List<String> msgList = projectTaskInventoryEOService.verifyRoleCode(projectTaskInventoryVO);
return Result.OK(msgList);
}
/**
* 处理历史数据
* @param params
* @return
*/
@AutoLog(value = "项目库-任务清单表-处理历史数据")
@ApiOperation(value="项目库-任务清单表-处理历史数据", notes="项目库-任务清单表-处理历史数据")
@GetMapping(value = "/disposeHistoryData")
public Result<?> disposeHistoryData(@RequestParam Map<String,Object> params){
return this.projectTaskInventoryEOService.disposeHistoryData(params);
}
}
@@ -9,6 +9,7 @@ import com.jero.modules.project.vo.ProjectTaskInventoryVO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* @Description: 项目库-任务清单表
@@ -102,4 +103,11 @@ public interface IProjectTaskInventoryEOService extends IService<ProjectTaskInve
List<String> verifyRoleCode(ProjectTaskInventoryVO projectTaskInventoryVO);
void exportXls(HttpServletResponse response, HttpServletRequest request, ProjectTaskInventoryEO projectTaskInventoryEO);
/**
* 处理历史数据
* @param params
* @return
*/
Result<?> disposeHistoryData(Map<String, Object> params);
}
@@ -1301,6 +1301,73 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
}
}
@Override
public Result<?> disposeHistoryData(Map<String, Object> params) {
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = this.projectTaskInventoryEOService.list();
//获取没有任务清单数据的法规清单数据
List<String> projectLawsInventoryIdList = projectTaskInventoryEOList.stream().map(ProjectTaskInventoryEO::getProjectLawsInventoryId).distinct().collect(Collectors.toList());
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryQueryWrap = new QueryWrapper<>();
lawsInventoryQueryWrap.lambda().notIn(ProjectLawsInventoryEO::getId,projectLawsInventoryIdList);
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = this.projectLawsInventoryEOService.list(lawsInventoryQueryWrap);
//如果有(没有任务清单数据的法规清单数据),进行历史数据处理
if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){
List<String> projectLawsInventoryIds = projectLawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getId).distinct().collect(Collectors.toList());
QueryWrapper<ProjectTaskInventoryDetailEO> taskInventoryDetailQueryWrap = new QueryWrapper<>();
taskInventoryDetailQueryWrap.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectLawsInventoryIds);
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOS = this.projectTaskInventoryDetailEOMapper.selectList(taskInventoryDetailQueryWrap);
List<ProjectTaskInventoryEO> projectTaskInventoryEOAddList = new ArrayList<>();
projectLawsInventoryEOList.forEach(lawsInventoryEO -> {
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", "");
projectTaskInventoryEO.setId(projectTaskInventoryId);
projectTaskInventoryEO.setProjectLawsInventoryId(lawsInventoryEO.getId());
projectTaskInventoryEO.setStandId(lawsInventoryEO.getStandId());
projectTaskInventoryEO.setCreateBy("admin");
projectTaskInventoryEO.setSysOrgCode("A01");
if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOS)){
//获取当前法规清单数据 启动的符合性流程数据
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailListTemp = projectTaskInventoryDetailEOS.stream().filter(taskInventoryDetail -> {
boolean flag = false;
if (StringUtils.equals(taskInventoryDetail.getProjectTaskInventoryId(), projectTaskInventoryEO.getProjectLawsInventoryId())) {
flag = true;
}
return flag;
}).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailListTemp)){
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : projectTaskInventoryDetailListTemp) {
//流程实例id
String actiProcInstId = projectTaskInventoryDetailEO.getActiProcInstId();
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue())){
projectTaskInventoryEO.setDesignPId(actiProcInstId);
projectTaskInventoryEO.setDesignFlowTaskStatus(ReviewResultEnum.TO_BE_CONFIRMED.getValue());
projectTaskInventoryEO.setDesignStatus(DesignComplianceStatusEnum.TO_SUBMIT.getValue());
}else if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){
projectTaskInventoryEO.setPrehomoPId(actiProcInstId);
projectTaskInventoryEO.setPrehomoFlowTaskStatus(ReviewResultEnum.TO_BE_CONFIRMED.getValue());
projectTaskInventoryEO.setPrehomoStatus(DesignComplianceStatusEnum.TO_SUBMIT.getValue());
}else if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){
projectTaskInventoryEO.setVerifyPId(actiProcInstId);
projectTaskInventoryEO.setVerifyFlowTaskStatus(ReviewResultEnum.TO_BE_CONFIRMED.getValue());
projectTaskInventoryEO.setVerifyStatus(DesignComplianceStatusEnum.TO_SUBMIT.getValue());
}
}
}
}
projectTaskInventoryEOAddList.add(projectTaskInventoryEO);
});
this.projectTaskInventoryEOService.saveBatch(projectTaskInventoryEOAddList);
}
return new Result<>().success("处理任务清单历史数据成功!");
}
public void setSheetStyle(HSSFSheet sheet){
for (int i = 0; i <= 19; i++){
sheet.setColumnWidth(i,4000);