diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java index 8cf3669a..ed672f77 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessHistory.java @@ -111,4 +111,12 @@ public class BusProcessHistory { @ApiModelProperty(value = "图片中是否展示:1 默认展示 2 不展示") @TableField("img_show_flag") private String imgShowFlag; + + @ApiModelProperty(value = "分发用户id") + @TableField("parent_user_id") + private String parentUserId; + + // 分发用户名称 + @TableField(exist = false) + private String parentUserName; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java index a87b22fc..f2b548fb 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessHistoryService.java @@ -39,7 +39,7 @@ public interface IBusProcessHistoryService extends IService { * @param actiProcInstId 流程示例id * @param inTaskKeyList in的流程定义key * @param notInTaskKeyList notIn的流程定义key - * @param imgShowColor 更新成什么颜色 + * @param imgShowColor 更新成什么颜色 : 图片中展示标识,0 未办白色,1 待办浅绿色 2 已办 蓝色 */ void updateImgShowColor(String actiProcInstId,List inTaskKeyList, List notInTaskKeyList,String imgShowColor); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java index b4e7f538..7b2e0a9c 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/IBusProcessHistoryServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; import com.ydw.bat.wkflow.business_main.datas.entity.*; import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessHistoryMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessHistoryService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum; @@ -34,6 +35,9 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl queryFlowHistoryList(BusProcessHistory busProcessHistory) { QueryWrapper bphQueryWrap = new QueryWrapper<>(); @@ -155,6 +159,15 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl list1 = iBusProcessEntrustService.list(queryWrapper2); + if(list1.size()>0){ + ResponseMessage assignee1 = lawsUserInfoService.getByIdFeignClientWithDisabled(list1.get(0).getUserId()); + userName = assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 转办)"; + } } else { userName = data.getUserId(); } @@ -441,14 +454,14 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl> map = bphListByTaskKey.stream().collect(Collectors.groupingBy(BusProcessHistory::getImgShowColor)); + if (map.containsKey("0")) { + taskStatus = ""; + } + + // 如果该节点数据,存在绿色展示数据,则设置为绿色。 + if (map.containsKey("2")) { + taskStatus = TaskStatusEnum.DONE.getValue(); + } + + // 如果该节点数据,存在绿色展示数据,则设置为绿色。 + if (map.containsKey("1")) { + taskStatus = TaskStatusEnum.TODO.getValue(); } } tasksMap.put("taskKey", taskKey); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java index aeb2bb73..e1206822 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java @@ -222,16 +222,16 @@ public class StartSurveyAfter implements TaskListener { rwffBph.setIsMany("2"); bphList.add(rwffBph); - // 意见汇总审批 - BusProcessHistory yjhzspBph = new BusProcessHistory(); - yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId()); - yjhzspBph.setUserId(zrUserId); - yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue()); - yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); - yjhzspBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getOrderNum()); - yjhzspBph.setIsSub("2"); - yjhzspBph.setIsMany("2"); - bphList.add(yjhzspBph); +// // 意见汇总审批 +// BusProcessHistory yjhzspBph = new BusProcessHistory(); +// yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId()); +// yjhzspBph.setUserId(zrUserId); +// yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue()); +// yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); +// yjhzspBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getOrderNum()); +// yjhzspBph.setIsSub("2"); +// yjhzspBph.setIsMany("2"); +// bphList.add(yjhzspBph); /*// 意见审批 String spId = json.getString("spId"); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java index 95f0f71b..aa8d8ed7 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java @@ -201,6 +201,14 @@ public class Step10After implements TaskListener { bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); + + // 退回到了 意见处理,将会签、审核、审定、批准 节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION9.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION11.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java index 676e6043..b138f16c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java @@ -162,6 +162,7 @@ public class Step1After implements TaskListener { yjfkBph.setIsSub("2"); yjfkBph.setIsMany("1"); yjfkBph.setManyPId(yjfkPBphId); + yjfkBph.setParentUserId(delegateTask.getAssignee()); bphList.add(yjfkBph); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java index 636fba4d..948866ef 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java @@ -4,13 +4,18 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessHistory; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessHistoryService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum; +import com.ydw.bat.wkflow.util.enums.TaskStatusEnum; import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -111,5 +116,43 @@ public class Step2After implements TaskListener { busBean.save(busProcessNewNext); } } + + this.addBusProcessHistory(object,delegateTask); + } + + public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask){ + IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class); + // 根据当前taskId + QueryWrapper queryWrapByTaskId = new QueryWrapper<>(); + queryWrapByTaskId.lambda().eq(BusProcessHistory::getTaskId,delegateTask.getId()); + queryWrapByTaskId.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId()); + BusProcessHistory bphByTaskId = bphService.list(queryWrapByTaskId).get(0); + + // 根据分发人用户id、流程实例id,流程节点定义key,任务状态为待办 查询 , 如果存在待办,则不做任何操作,如果不存在,则给分发人创建一条意见汇总审批的任务。 + String parentUserId = bphByTaskId.getParentUserId(); + QueryWrapper queryWrap = new QueryWrapper<>(); + queryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId()); + queryWrap.lambda().eq(BusProcessHistory::getParentUserId,parentUserId); + queryWrap.lambda().eq(BusProcessHistory::getTaskKey,StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION3.getValue()); + queryWrap.lambda().eq(BusProcessHistory::getTaskStatus, TaskStatusEnum.TODO.getValue()); + queryWrap.lambda().ne(BusProcessHistory::getTaskId,delegateTask.getId()); + + int count = bphService.count(queryWrap); + if (count == 0) { + List bphList = new ArrayList<>(); + + // 意见汇总审批 + BusProcessHistory yjhzspBph = new BusProcessHistory(); + yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId()); + yjhzspBph.setUserId(parentUserId); + yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue()); + yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); + yjhzspBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getOrderNum()); + yjhzspBph.setIsSub("2"); + yjhzspBph.setIsMany("2"); + bphList.add(yjhzspBph); + + bphService.insertBatch(bphList); + } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java index fcf1b957..c144f24e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java @@ -12,6 +12,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum; import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum; import org.activiti.engine.delegate.DelegateTask; @@ -128,6 +129,11 @@ public class Step4After implements TaskListener { bphList.add(yjhzspBph); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); + + // 退回到了 意见汇总报批,将意见审批节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } else { String bzfgId = json.getString("bzfgId"); // 如果存在批准节点的数据,taskId为空。 不用添加,否则就是退回过 需要添加。 diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java index c0024d5e..5e245d3c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java @@ -154,6 +154,12 @@ public class Step5After implements TaskListener { bphList.add(yjhzspBph); bphService.insertBatch(bphList); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); + + // 退回到了 意见汇总报批,将意见审批、管理员节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION6.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java index 8ff39b6b..fd737cb4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java @@ -197,6 +197,11 @@ public class Step7After implements TaskListener { yjclBph.setIsSub("2"); yjclBph.setIsMany("2"); bphList.add(yjclBph); + + // 退回到了 意见处理,将会签节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.insertBatch(bphList); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java index 32a1a65f..a7580c3b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java @@ -185,6 +185,12 @@ public class Step8After implements TaskListener { yjclBph.setIsSub("2"); yjclBph.setIsMany("2"); bphList.add(yjclBph); + + // 退回到了 意见处理,将会签、审核节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION9.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.insertBatch(bphList); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java index 74c61750..acd362a0 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java @@ -176,6 +176,13 @@ public class Step9After implements TaskListener { yjclBph.setIsSub("2"); yjclBph.setIsMany("2"); bphList.add(yjclBph); + + // 退回到了 意见处理,将会签、审核、审定节点 设置为在流程图展示空白 + List taskKeyList = new ArrayList<>(); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION9.getValue()); + taskKeyList.add(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue()); + bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),taskKeyList,null,"0"); } bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.insertBatch(bphList);