待办中心-符合性流程处理责任人填写的反馈意见信息。
查询优化。
This commit is contained in:
+11
-3
@@ -92,7 +92,7 @@
|
||||
left join project_laws_inventory pli on pi.project_laws_inventory_id = pli.id
|
||||
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
|
||||
<include refid="BaseQuerySql"/>
|
||||
order by pi.create_time desc
|
||||
order by pi.end_time asc
|
||||
</select>
|
||||
<select id="queryProjectProcessTodoTaskListList" resultType="com.jero.modules.todoCenter.vo.ProcessInfoVO">
|
||||
select temp.* from (
|
||||
@@ -212,12 +212,19 @@
|
||||
bdl.serial_number,
|
||||
bdl.title,
|
||||
pi.flow_type,
|
||||
pi.create_by,
|
||||
pi.end_time,
|
||||
pi.STATUS
|
||||
pi.STATUS,
|
||||
pi.prc_num,
|
||||
pi.prc_name,
|
||||
(select detail.task_id from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = #{params.taskStatus} limit 1) as task_id,
|
||||
(select detail.task_definition_key from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = #{params.taskStatus} limit 1) as task_definition_key,
|
||||
createBy.username AS "create_by",
|
||||
pi.acti_proc_inst_id,
|
||||
pi.create_time
|
||||
FROM
|
||||
process_info pi
|
||||
LEFT JOIN buss_document_library bdl ON pi.buss_document_library_id = bdl.id
|
||||
LEFT JOIN sys_user createBy on createBy.id = pi.create_by
|
||||
<where>
|
||||
pi.flow_type IN
|
||||
<foreach collection="params.flowTypeList" index="index" item="item" open="(" separator="," close=")">
|
||||
@@ -247,5 +254,6 @@
|
||||
and pi.flow_type = #{params.flowType}
|
||||
</if>
|
||||
</where>
|
||||
order by pi.end_time asc
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+59
-2
@@ -8,10 +8,12 @@ import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO;
|
||||
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
|
||||
import com.jero.modules.project.enums.OperatorTypeEnum;
|
||||
import com.jero.modules.project.enums.RequestSourceEnum;
|
||||
import com.jero.modules.project.enums.TaskStatusEnum;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryDetailEOService;
|
||||
import com.jero.modules.project.service.IProjectTaskInventoryEOService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
|
||||
@@ -51,6 +53,8 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private IProjectTaskInventoryDetailEOService projectTaskInventoryDetailEOService;
|
||||
@Autowired
|
||||
private IProjectTaskInventoryEOService projectTaskInventoryEOService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -355,7 +359,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
}
|
||||
|
||||
public void setFlowTypeList(List<String> flowTypeList){
|
||||
flowTypeList.add(FlowTypeEnum.QDQR.getValue());
|
||||
//flowTypeList.add(FlowTypeEnum.QDQR.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.RWQRLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.SJFHXSHLC.getValue());
|
||||
flowTypeList.add(FlowTypeEnum.YZFHXSCLC.getValue());
|
||||
@@ -390,9 +394,10 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.groupingBy(ProcessInfoDetailEO::getProcessInfoId));
|
||||
//设置责任人反馈意见
|
||||
this.setPersonChargeFeedback(datas);
|
||||
|
||||
List<String> userIdList = new ArrayList<>();
|
||||
|
||||
datas.forEach(data -> {
|
||||
//设置上一个操作人。
|
||||
for (Map.Entry<String, List<ProcessInfoDetailEO>> detailMap : lastAssigneeDetailMap.entrySet()) {
|
||||
@@ -487,4 +492,56 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl<ProcessInfoEOMapper, P
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置符合性流程中责任人反馈意见
|
||||
* @param datas
|
||||
*/
|
||||
public void setPersonChargeFeedback(List<ProcessInfoVO> datas){
|
||||
//符合性流程实例id
|
||||
List<String> complianceProcessPrcIdList = datas.stream().filter(data -> {
|
||||
boolean designFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue());
|
||||
boolean preHomoFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue());
|
||||
boolean verifyFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue());
|
||||
boolean flag = false;
|
||||
if(designFlowFlag || preHomoFlowFlag || verifyFlowFlag){
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(ProcessInfoVO::getActiProcInstId).collect(Collectors.toList());
|
||||
|
||||
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrap = new QueryWrapper<>();
|
||||
taskInventoryQueryWrap.and(queryWrap -> {
|
||||
queryWrap.lambda().in(ProjectTaskInventoryEO::getDesignPId,complianceProcessPrcIdList)
|
||||
.or().in(ProjectTaskInventoryEO::getPrehomoPId,complianceProcessPrcIdList)
|
||||
.or().in(ProjectTaskInventoryEO::getVerifyPId,complianceProcessPrcIdList);
|
||||
});
|
||||
//查询出符合性流程相关的任务清单信息。
|
||||
List<ProjectTaskInventoryEO> taskInventoryList = this.projectTaskInventoryEOService.list(taskInventoryQueryWrap);
|
||||
|
||||
datas.forEach(data -> {
|
||||
boolean designFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue());
|
||||
boolean preHomoFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue());
|
||||
boolean verifyFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue());
|
||||
String personChargeFeedback = taskInventoryList.stream().filter(taskInventory -> {
|
||||
boolean flag = false;
|
||||
if(designFlowFlag){
|
||||
if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getDesignPId())){
|
||||
flag = true;
|
||||
}
|
||||
}else if(preHomoFlowFlag){
|
||||
if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getPrehomoPId())){
|
||||
flag = true;
|
||||
}
|
||||
}else if(verifyFlowFlag){
|
||||
if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getVerifyPId())){
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).map(ProjectTaskInventoryEO::getDesignPersonChargeFeedback).collect(Collectors.joining(","));
|
||||
|
||||
data.setPersonChargeFeedback(personChargeFeedback);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -98,4 +98,6 @@ public class ProcessInfoVO implements Serializable {
|
||||
private String studioEngineer;
|
||||
/**任务清单明细表id,任务清单明细数据与待办中心明细表 是taskId一对一的关系**/
|
||||
private String primaryKeyId;
|
||||
/**符合性流程:责任人填写反馈意见*/
|
||||
private String personChargeFeedback;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user