征求意见流程图修改。

This commit is contained in:
wangzhijiang
2024-03-27 18:02:53 +08:00
parent 2902b27e56
commit f796fe9cef
12 changed files with 141 additions and 21 deletions
@@ -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;
}
@@ -39,7 +39,7 @@ public interface IBusProcessHistoryService extends IService<BusProcessHistory> {
* @param actiProcInstId 流程示例id
* @param inTaskKeyList in的流程定义key
* @param notInTaskKeyList notIn的流程定义key
* @param imgShowColor 更新成什么颜色
* @param imgShowColor 更新成什么颜色 : 图片中展示标识,0 未办白色,1 待办浅绿色 2 已办 蓝色
*/
void updateImgShowColor(String actiProcInstId,List<String> inTaskKeyList, List<String> notInTaskKeyList,String imgShowColor);
@@ -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<BusProcessHistory
@Autowired
private IBusProcessNameService busProcessNameService;
@Autowired
private IBusProcessEntrustService iBusProcessEntrustService;
@Override
public List<BusProcessHistory> queryFlowHistoryList(BusProcessHistory busProcessHistory) {
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
@@ -155,6 +159,15 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
} else {
userName = assignee.getData().getUname() + "(" + assignee.getData().getUsid() + ")";
}
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("TASK_ID",data.getTaskId());
queryWrapper2.orderByDesc("CREATE_TIME");
List<BusProcessEntrust> list1 = iBusProcessEntrustService.list(queryWrapper2);
if(list1.size()>0){
ResponseMessage<UserVO> 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<BusProcessHistory
// break;
// }
if (StringUtils.equals(history.getImgShowColor(), "0")) {
if (StringUtils.equals(history.getImgShowColor(), "2")) {
busProcessHistory.setImgShowColor(history.getImgShowColor());
continue;
} else if (StringUtils.equals(history.getImgShowColor(), "1")) {
busProcessHistory.setImgShowColor(history.getImgShowColor());
break;
} else if (StringUtils.equals(history.getImgShowColor(), "2")) {
} else if (StringUtils.equals(history.getImgShowColor(), "0")) {
busProcessHistory.setImgShowColor(history.getImgShowColor());
continue;
}
}
}
@@ -459,14 +472,31 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
// taskStatus = TaskStatusEnum.TODO.getValue();
// break;
// }
// 如果是蓝色,设置为已办,接着往下循环,如果是绿色,设置为待办,直接终止循环,如果是白色,接着往下循环。
// if (StringUtils.equals(busProcessHistory.getImgShowColor(), "2")) {
// taskStatus = TaskStatusEnum.DONE.getValue();
// } else if (StringUtils.equals(busProcessHistory.getImgShowColor(), "1")) {
// taskStatus = TaskStatusEnum.TODO.getValue();
// break;
// } else if (StringUtils.equals(busProcessHistory.getImgShowColor(), "0")) {
// taskStatus = "";
// continue;
// }
}
if (StringUtils.equals(busProcessHistory.getImgShowColor(), "0")) {
taskStatus = "";
} else if (StringUtils.equals(busProcessHistory.getImgShowColor(), "1")) {
taskStatus = TaskStatusEnum.TODO.getValue();
} else if (StringUtils.equals(busProcessHistory.getImgShowColor(), "2")) {
taskStatus = TaskStatusEnum.DONE.getValue();
}
Map<String, List<BusProcessHistory>> 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);
@@ -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");
@@ -201,6 +201,14 @@ public class Step10After implements TaskListener {
bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
// 退回到了 意见处理,将会签、审核、审定、批准 节点 设置为在流程图展示空白
List<String> 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");
}
}
}
@@ -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);
}
@@ -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<BusProcessHistory> 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<BusProcessHistory> 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<BusProcessHistory> 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);
}
}
}
@@ -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<String> 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为空。 不用添加,否则就是退回过 需要添加。
@@ -154,6 +154,12 @@ public class Step5After implements TaskListener {
bphList.add(yjhzspBph);
bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
// 退回到了 意见汇总报批,将意见审批、管理员节点 设置为在流程图展示空白
List<String> 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");
}
}
}
@@ -197,6 +197,11 @@ public class Step7After implements TaskListener {
yjclBph.setIsSub("2");
yjclBph.setIsMany("2");
bphList.add(yjclBph);
// 退回到了 意见处理,将会签节点 设置为在流程图展示空白
List<String> 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);
@@ -185,6 +185,12 @@ public class Step8After implements TaskListener {
yjclBph.setIsSub("2");
yjclBph.setIsMany("2");
bphList.add(yjclBph);
// 退回到了 意见处理,将会签、审核节点 设置为在流程图展示空白
List<String> 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);
@@ -176,6 +176,13 @@ public class Step9After implements TaskListener {
yjclBph.setIsSub("2");
yjclBph.setIsMany("2");
bphList.add(yjclBph);
// 退回到了 意见处理,将会签、审核、审定节点 设置为在流程图展示空白
List<String> 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);