Merge branch 'dev_2024325_LCZGF_39' into 'dev_2024325_BZSQ'

Dev 2024325 lczgf 39

See merge request laws-foton-slrs/foton-wkflow-rest!81
This commit is contained in:
高嵩
2024-03-29 04:26:59 +00:00
26 changed files with 479 additions and 71 deletions
@@ -656,9 +656,9 @@ public class TodoTaskController extends BaseAction {
}catch (Exception e){ }catch (Exception e){
logger.error(e.toString()); logger.error(e.toString());
} }
taskService.complete(busMes.getTaskId());
this.busProcessHistoryService.complete(busMes); this.busProcessHistoryService.complete(busMes);
taskService.complete(busMes.getTaskId());
} else { } else {
return WrapMapper.error("当前任务不存在"); return WrapMapper.error("当前任务不存在");
} }
@@ -690,12 +690,13 @@ public class TodoTaskController extends BaseAction {
}catch (Exception e){ }catch (Exception e){
logger.error(e.toString()); logger.error(e.toString());
} }
busMes.setTaskId(taskId);
this.busProcessHistoryService.complete(busMes);
taskService.complete(taskId); taskService.complete(taskId);
} else { } else {
return WrapMapper.error("当前任务不存在"); return WrapMapper.error("当前任务不存在");
} }
busMes.setTaskId(taskId);
this.busProcessHistoryService.complete(busMes);
} }
return WrapMapper.ok(prcid); return WrapMapper.ok(prcid);
} }
@@ -103,4 +103,20 @@ public class BusProcessHistory {
private String prcName; private String prcName;
@TableField(exist = false) @TableField(exist = false)
private String prcNum; private String prcNum;
@ApiModelProperty(value = "图片中展示标识,0 未办白色,1 待办浅绿色 2 已办 蓝色")
@TableField("img_show_color")
private String imgShowColor;
@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;
} }
@@ -33,4 +33,22 @@ public interface IBusProcessHistoryService extends IService<BusProcessHistory> {
// 根据taskId修改用户id // 根据taskId修改用户id
void changeUserIdByTaskId(String taskId,String afterUserId,String frontUserId); void changeUserIdByTaskId(String taskId,String afterUserId,String frontUserId);
/**
* 更新某一个流程下 任务在流程图中展示颜色。
* @param actiProcInstId 流程示例id
* @param inTaskKeyList in的流程定义key
* @param notInTaskKeyList notIn的流程定义key
* @param imgShowColor 更新成什么颜色 : 图片中展示标识,0 未办白色,1 待办浅绿色 2 已办 蓝色
*/
void updateImgShowColor(String actiProcInstId,List<String> inTaskKeyList, List<String> notInTaskKeyList,String imgShowColor);
/**
* 更新某一个流程下 任务是否展示。
* @param actiProcInstId 流程示例id
* @param inTaskKeyList in的流程定义key
* @param notInTaskKeyList notIn的流程定义key
* @param imgShowFlag 1展示 2不展示
*/
void updateImgShowFlag(String actiProcInstId, List<String> inTaskKeyList, List<String> notInTaskKeyList, String imgShowFlag);
} }
@@ -7,12 +7,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; 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.entity.*;
import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessHistoryMapper; 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.IBusProcessHistoryService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum; import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum; import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum;
import com.ydw.bat.wkflow.util.enums.TaskStatusEnum; import com.ydw.bat.wkflow.util.enums.TaskStatusEnum;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@@ -33,6 +35,9 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
@Autowired @Autowired
private IBusProcessNameService busProcessNameService; private IBusProcessNameService busProcessNameService;
@Autowired
private IBusProcessEntrustService iBusProcessEntrustService;
@Override @Override
public List<BusProcessHistory> queryFlowHistoryList(BusProcessHistory busProcessHistory) { public List<BusProcessHistory> queryFlowHistoryList(BusProcessHistory busProcessHistory) {
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>(); QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
@@ -154,6 +159,15 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
} else { } else {
userName = assignee.getData().getUname() + "(" + assignee.getData().getUsid() + ")"; 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 { } else {
userName = data.getUserId(); userName = data.getUserId();
} }
@@ -187,6 +201,15 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
if (StringUtils.isEmpty(busProcessHistory.getId())) { if (StringUtils.isEmpty(busProcessHistory.getId())) {
busProcessHistory.setId(UUID.randomUUID().toString()); busProcessHistory.setId(UUID.randomUUID().toString());
} }
String imgShowColor = "0";
if (StringUtils.isNotEmpty(busProcessHistory.getTaskStatus())) {
if (StringUtils.equals(busProcessHistory.getTaskStatus(),TaskStatusEnum.DONE.getValue())) {
imgShowColor = "2";
}
}
busProcessHistory.setImgShowColor(imgShowColor);
busProcessHistory.setImgShowFlag("1");
busProcessHistory.setCreateTime(new Date()); busProcessHistory.setCreateTime(new Date());
} }
this.saveBatch(busProcessHistoryList); this.saveBatch(busProcessHistoryList);
@@ -214,6 +237,7 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
BusProcessHistory busProcessHistory = bphList.get(0); BusProcessHistory busProcessHistory = bphList.get(0);
busProcessHistory.setTaskId(delegateTask.getId()); busProcessHistory.setTaskId(delegateTask.getId());
busProcessHistory.setTaskStatus(TaskStatusEnum.TODO.getValue()); busProcessHistory.setTaskStatus(TaskStatusEnum.TODO.getValue());
busProcessHistory.setImgShowColor("1");
super.updateById(busProcessHistory); super.updateById(busProcessHistory);
} }
} }
@@ -229,6 +253,7 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
busProcessHistory.setTaskStatus(TaskStatusEnum.DONE.getValue()); busProcessHistory.setTaskStatus(TaskStatusEnum.DONE.getValue());
busProcessHistory.setEndTime(new Date()); busProcessHistory.setEndTime(new Date());
busProcessHistory.setCommitText(jsonObject.getString("commentText")); busProcessHistory.setCommitText(jsonObject.getString("commentText"));
busProcessHistory.setImgShowColor("2");
}); });
this.updateBatch(bphList); this.updateBatch(bphList);
} }
@@ -275,6 +300,7 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>(); QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
this.setQueryCondition(busProcessHistory, bphQueryWrap); this.setQueryCondition(busProcessHistory, bphQueryWrap);
bphQueryWrap.lambda().eq(BusProcessHistory::getImgShowFlag,"1");
bphQueryWrap.orderByAsc("order_num", "create_time"); bphQueryWrap.orderByAsc("order_num", "create_time");
List<BusProcessHistory> bphList = this.list(bphQueryWrap); List<BusProcessHistory> bphList = this.list(bphQueryWrap);
this.disposeData(bphList,busProcessHistory.getActiProcInstId()); this.disposeData(bphList,busProcessHistory.getActiProcInstId());
@@ -307,6 +333,50 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
} }
} }
@Override
public void updateImgShowColor(String actiProcInstId, List<String> inTaskKeyList, List<String> notInTaskKeyList,String imgShowColor) {
if (CollectionUtils.isEmpty(inTaskKeyList) && CollectionUtils.isEmpty(notInTaskKeyList)) {
throw new ActivitiException("参数有误!");
}
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, actiProcInstId);
if (CollectionUtils.isNotEmpty(inTaskKeyList)) {
bphQueryWrap.lambda().in(BusProcessHistory::getTaskKey,inTaskKeyList);
}
if (CollectionUtils.isNotEmpty(notInTaskKeyList)) {
bphQueryWrap.lambda().notIn(BusProcessHistory::getTaskKey,notInTaskKeyList);
}
List<BusProcessHistory> bphList = this.list(bphQueryWrap);
if (CollectionUtils.isNotEmpty(bphList)) {
for (BusProcessHistory bph : bphList) {
bph.setImgShowColor(imgShowColor);
}
this.updateBatchById(bphList);
}
}
@Override
public void updateImgShowFlag(String actiProcInstId, List<String> inTaskKeyList, List<String> notInTaskKeyList, String imgShowFlag) {
if (CollectionUtils.isEmpty(inTaskKeyList) && CollectionUtils.isEmpty(notInTaskKeyList)) {
throw new ActivitiException("参数有误!");
}
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, actiProcInstId);
if (CollectionUtils.isNotEmpty(inTaskKeyList)) {
bphQueryWrap.lambda().in(BusProcessHistory::getTaskKey,inTaskKeyList);
}
if (CollectionUtils.isNotEmpty(notInTaskKeyList)) {
bphQueryWrap.lambda().notIn(BusProcessHistory::getTaskKey,notInTaskKeyList);
}
List<BusProcessHistory> bphList = this.list(bphQueryWrap);
if (CollectionUtils.isNotEmpty(bphList)) {
for (BusProcessHistory bph : bphList) {
bph.setImgShowFlag(imgShowFlag);
}
this.updateBatchById(bphList);
}
}
/** /**
* 获取标准征求意见流程图数据 * 获取标准征求意见流程图数据
* @param bphList * @param bphList
@@ -315,7 +385,8 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
private List<Map<String, Object>> getBzzqyjlcImgDataList(List<BusProcessHistory> bphList) { private List<Map<String, Object>> getBzzqyjlcImgDataList(List<BusProcessHistory> bphList) {
List<Map<String, Object>> result = new ArrayList<>(); List<Map<String, Object>> result = new ArrayList<>();
for (StandardCommentNewProcessNodeKeyEnum nodeKeyEnum : StandardCommentNewProcessNodeKeyEnum.values()) { List<StandardCommentNewProcessNodeKeyEnum> standardCommentNewProcessNodeKeyEnum = StandardCommentNewProcessNodeKeyEnum.getStandardCommentNewProcessNodeKeyEnum();
for (StandardCommentNewProcessNodeKeyEnum nodeKeyEnum : standardCommentNewProcessNodeKeyEnum) {
Map<String, Object> tasksMap = this.getTasksMap( Map<String, Object> tasksMap = this.getTasksMap(
bphList, bphList,
nodeKeyEnum.getValue(), nodeKeyEnum.getValue(),
@@ -334,8 +405,8 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
*/ */
private List<Map<String, Object>> getQbzxdJsbzImgDataList(List<BusProcessHistory> bphList) { private List<Map<String, Object>> getQbzxdJsbzImgDataList(List<BusProcessHistory> bphList) {
List<Map<String, Object>> result = new ArrayList<>(); List<Map<String, Object>> result = new ArrayList<>();
List<BussLibraryNodeKeyEnum> bussLibraryNodeKeyEnum = BussLibraryNodeKeyEnum.getBussLibraryNodeKeyEnum();
for (BussLibraryNodeKeyEnum nodeKeyEnum : BussLibraryNodeKeyEnum.values()) { for (BussLibraryNodeKeyEnum nodeKeyEnum : bussLibraryNodeKeyEnum) {
Map<String, Object> tasksMap = this.getTasksMap( Map<String, Object> tasksMap = this.getTasksMap(
bphList, bphList,
nodeKeyEnum.getValue(), nodeKeyEnum.getValue(),
@@ -377,20 +448,55 @@ public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistory
for (BusProcessHistory history : childList) { for (BusProcessHistory history : childList) {
busProcessHistory.setTaskId(busProcessHistory.getId()); busProcessHistory.setTaskId(busProcessHistory.getId());
busProcessHistory.setTaskStatus(TaskStatusEnum.DONE.getValue()); busProcessHistory.setTaskStatus(TaskStatusEnum.DONE.getValue());
if (StringUtils.equals(history.getTaskStatus(),TaskStatusEnum.TODO.getValue()) || StringUtils.equals(history.getTaskStatus(),TaskStatusEnum.RECEIVED.getValue())) { // if (StringUtils.equals(history.getTaskStatus(),TaskStatusEnum.TODO.getValue()) || StringUtils.equals(history.getTaskStatus(),TaskStatusEnum.RECEIVED.getValue())) {
busProcessHistory.setTaskStatus(TaskStatusEnum.TODO.getValue()); // busProcessHistory.setTaskStatus(TaskStatusEnum.TODO.getValue());
busProcessHistory.setTaskId(null); // busProcessHistory.setTaskId(null);
// break;
// }
if (StringUtils.equals(history.getImgShowColor(), "2")) {
busProcessHistory.setImgShowColor(history.getImgShowColor());
} else if (StringUtils.equals(history.getImgShowColor(), "1")) {
busProcessHistory.setImgShowColor(history.getImgShowColor());
break; break;
} else if (StringUtils.equals(history.getImgShowColor(), "0")) {
busProcessHistory.setImgShowColor(history.getImgShowColor());
continue;
} }
} }
} }
} }
if (StringUtils.isEmpty(busProcessHistory.getTaskId()) // if (StringUtils.isEmpty(busProcessHistory.getTaskId())
|| StringUtils.equals(busProcessHistory.getTaskStatus(), TaskStatusEnum.TODO.getValue()) // || StringUtils.equals(busProcessHistory.getTaskStatus(), TaskStatusEnum.TODO.getValue())
|| StringUtils.equals(busProcessHistory.getTaskStatus(), TaskStatusEnum.RECEIVED.getValue())) { // || StringUtils.equals(busProcessHistory.getTaskStatus(), TaskStatusEnum.RECEIVED.getValue())) {
taskStatus = TaskStatusEnum.TODO.getValue(); // taskStatus = TaskStatusEnum.TODO.getValue();
break; // 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;
// }
}
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); tasksMap.put("taskKey", taskKey);
@@ -222,16 +222,16 @@ public class StartSurveyAfter implements TaskListener {
rwffBph.setIsMany("2"); rwffBph.setIsMany("2");
bphList.add(rwffBph); bphList.add(rwffBph);
// 意见汇总审批 // // 意见汇总审批
BusProcessHistory yjhzspBph = new BusProcessHistory(); // BusProcessHistory yjhzspBph = new BusProcessHistory();
yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId()); // yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId());
yjhzspBph.setUserId(zrUserId); // yjhzspBph.setUserId(zrUserId);
yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue()); // yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue());
yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); // yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
yjhzspBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getOrderNum()); // yjhzspBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getOrderNum());
yjhzspBph.setIsSub("2"); // yjhzspBph.setIsSub("2");
yjhzspBph.setIsMany("2"); // yjhzspBph.setIsMany("2");
bphList.add(yjhzspBph); // bphList.add(yjhzspBph);
/*// 意见审批 /*// 意见审批
String spId = json.getString("spId"); String spId = json.getString("spId");
@@ -283,6 +283,35 @@ public class StartSurveyAfter implements TaskListener {
pzBph.setIsMany("2"); pzBph.setIsMany("2");
bphList.add(pzBph); bphList.add(pzBph);
// 审定
if (StringUtils.isNotEmpty(json.getString("directorUser"))) {
// 审定节点父节点信息
BusProcessHistory sdPBph = new BusProcessHistory();
String sdPBphId = UUID.randomUUID().toString();
sdPBph.setId(sdPBphId);
sdPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
sdPBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue());
sdPBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
sdPBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getOrderNum());
sdPBph.setIsSub("2");
sdPBph.setIsMany("1");
bphList.add(sdPBph);
List<String> directorUserList = Arrays.asList(json.getString("directorUser").split(","));
for (String sdUserId : directorUserList) {
BusProcessHistory sdBph = new BusProcessHistory();
sdBph.setActiProcInstId(delegateTask.getProcessInstanceId());
sdBph.setUserId(sdUserId);
sdBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue());
sdBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
sdBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getOrderNum());
sdBph.setIsSub("2");
sdBph.setIsMany("1");
sdBph.setManyPId(sdPBphId);
bphList.add(sdBph);
}
}
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
} }
} }
@@ -201,6 +201,14 @@ public class Step10After implements TaskListener {
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); 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.setIsSub("2");
yjfkBph.setIsMany("1"); yjfkBph.setIsMany("1");
yjfkBph.setManyPId(yjfkPBphId); yjfkBph.setManyPId(yjfkPBphId);
yjfkBph.setParentUserId(delegateTask.getAssignee());
bphList.add(yjfkBph); bphList.add(yjfkBph);
} }
@@ -4,13 +4,18 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; 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.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; 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.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.IBusProcessNameService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; 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.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil; 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.ActivitiException;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.delegate.TaskListener;
@@ -111,5 +116,43 @@ public class Step2After implements TaskListener {
busBean.save(busProcessNewNext); 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.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil; 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.FlowTypeEnum;
import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum; import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
@@ -128,6 +129,11 @@ public class Step4After implements TaskListener {
bphList.add(yjhzspBph); bphList.add(yjhzspBph);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); 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 { } else {
String bzfgId = json.getString("bzfgId"); String bzfgId = json.getString("bzfgId");
// 如果存在批准节点的数据,taskId为空。 不用添加,否则就是退回过 需要添加。 // 如果存在批准节点的数据,taskId为空。 不用添加,否则就是退回过 需要添加。
@@ -149,6 +155,7 @@ public class Step4After implements TaskListener {
glyBph.setOrderNum(orderNum + 1); glyBph.setOrderNum(orderNum + 1);
glyBph.setIsSub("2"); glyBph.setIsSub("2");
glyBph.setIsMany("2"); glyBph.setIsMany("2");
glyBph.setParentUserId(delegateTask.getAssignee());
bphList.add(glyBph); bphList.add(glyBph);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
} }
@@ -154,6 +154,12 @@ public class Step5After implements TaskListener {
bphList.add(yjhzspBph); bphList.add(yjhzspBph);
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); 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.setIsSub("2");
yjclBph.setIsMany("2"); yjclBph.setIsMany("2");
bphList.add(yjclBph); 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.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
//新征求意见流程!!!!! //新征求意见流程!!!!!
public class Step8After implements TaskListener { public class Step8After implements TaskListener {
@@ -148,6 +149,19 @@ public class Step8After implements TaskListener {
if (StringUtils.equals(bdFlag,"0")) { if (StringUtils.equals(bdFlag,"0")) {
// 审定 // 审定
if (CollectionUtils.isNotEmpty(sdUserIdList)) { if (CollectionUtils.isNotEmpty(sdUserIdList)) {
// 删除之前审定节点的信息。
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey,StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue());
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
List<BusProcessHistory> oldSdBphList = bphService.list(bphQueryWrap);
if (CollectionUtils.isNotEmpty(oldSdBphList)) {
if (oldSdBphList.size() > 1) {
List<String> oldSdBphIdList = oldSdBphList.stream().map(BusProcessHistory::getId).distinct().collect(Collectors.toList());
bphService.removeByIds(oldSdBphIdList);
}
}
// 审定节点父节点信息 // 审定节点父节点信息
BusProcessHistory sdPBph = new BusProcessHistory(); BusProcessHistory sdPBph = new BusProcessHistory();
String sdPBphId = UUID.randomUUID().toString(); String sdPBphId = UUID.randomUUID().toString();
@@ -185,6 +199,12 @@ public class Step8After implements TaskListener {
yjclBph.setIsSub("2"); yjclBph.setIsSub("2");
yjclBph.setIsMany("2"); yjclBph.setIsMany("2");
bphList.add(yjclBph); 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.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
@@ -176,6 +176,13 @@ public class Step9After implements TaskListener {
yjclBph.setIsSub("2"); yjclBph.setIsSub("2");
yjclBph.setIsMany("2"); yjclBph.setIsMany("2");
bphList.add(yjclBph); 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.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
@@ -3,24 +3,23 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; 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.entity.Datas;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService; import com.ydw.bat.wkflow.business_main.datas.service.*;
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.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum;
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
import org.activiti.engine.ActivitiException; import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.delegate.TaskListener;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.tomcat.util.digester.ArrayStack; import org.apache.tomcat.util.digester.ArrayStack;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Arrays; import java.util.*;
import java.util.Date;
import java.util.List;
/** /**
* 重新发起企标制修订流程后 * 重新发起企标制修订流程后
@@ -139,6 +138,46 @@ public class BLApplicantC1After implements TaskListener{
// 生成 模板 // 生成 模板
// busProcessModelHisService.saveBussTemplateFile(object,delegateTask.getProcessInstanceId()); // busProcessModelHisService.saveBussTemplateFile(object,delegateTask.getProcessInstanceId());
this.addBusProcessHistory(object,delegateTask);
}
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
List<BusProcessHistory> bphList = new ArrayList<>();
List<String> qcUserIdList = Arrays.asList(json.getString("qcUserId").split(","));
if (CollectionUtils.isNotEmpty(qcUserIdList)) {
// 企标编写节点父节点信息
BusProcessHistory qbbxPBph = new BusProcessHistory();
String qbbxPBphId = UUID.randomUUID().toString();
qbbxPBph.setId(qbbxPBphId);
qbbxPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
qbbxPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getValue());
qbbxPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(), BussLibraryNodeKeyEnum.BUSS_LIBRARY_C1.getValue());
qbbxPBph.setOrderNum(orderNum + 1);
qbbxPBph.setIsSub("2");
qbbxPBph.setIsMany("1");
bphList.add(qbbxPBph);
for (String qcUserId : qcUserIdList) {
// 企标编写子节点信息
BusProcessHistory qbbxBph = new BusProcessHistory();
qbbxBph.setActiProcInstId(delegateTask.getProcessInstanceId());
qbbxBph.setUserId(qcUserId);
qbbxBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getValue());
qbbxBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
qbbxBph.setOrderNum(orderNum + 1);
qbbxBph.setIsSub("2");
qbbxBph.setIsMany("1");
qbbxBph.setManyPId(qbbxPBphId);
bphList.add(qbbxBph);
}
delegateTask.setVariable("qcUserList",qcUserIdList);
}
bphService.insertBatch(bphList);
} }
private String verifyObj(String str){ private String verifyObj(String str){
@@ -163,6 +163,15 @@ public class BussLibrary10After implements TaskListener{
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size());
} }
// 退回到了 重新技术委员会评审 标准化复审、起草单位高级经理审核、标准法规部高级经理审核、审定 节点,设置为在流程图展示空白
List<String> qczhTaskKeyList = new ArrayList<>();
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0");
} }
} }
} }
@@ -164,6 +164,15 @@ public class BussLibrary11After implements TaskListener{
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size());
} }
// 退回到了 重新技术委员会评审 标准化复审、起草单位高级经理审核、标准法规部高级经理审核、审定、批准 节点,设置为在流程图展示空白
List<String> qczhTaskKeyList = new ArrayList<>();
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0");
} }
} }
} }
@@ -141,12 +141,12 @@ public class BussLibrary4After implements TaskListener{
Integer bzhFlag = (Integer) delegateTask.getVariable("bzhFlag"); Integer bzhFlag = (Integer) delegateTask.getVariable("bzhFlag");
if (bzhFlag == 1) { if (bzhFlag == 1) {
String chzUserId = json.getString("chzUserId"); String hzUserId = json.getString("hzUserId");
// 如果存在 重新企标编写汇总 节点的数据,taskId为空。 不用添加,否则需要添加。 // 如果存在 重新企标编写汇总 节点的数据,taskId为空。 不用添加,否则需要添加。
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>(); QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId()); bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,chzUserId); bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,hzUserId);
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY_C3.getValue()); bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY_C3.getValue());
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId); bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
@@ -156,7 +156,7 @@ public class BussLibrary4After implements TaskListener{
// 重新企标编写汇总 // 重新企标编写汇总
BusProcessHistory cxqbbzhzBph = new BusProcessHistory(); BusProcessHistory cxqbbzhzBph = new BusProcessHistory();
cxqbbzhzBph.setActiProcInstId(delegateTask.getProcessInstanceId()); cxqbbzhzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
cxqbbzhzBph.setUserId(chzUserId); cxqbbzhzBph.setUserId(hzUserId);
cxqbbzhzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY_C3.getValue()); cxqbbzhzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY_C3.getValue());
cxqbbzhzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue()); cxqbbzhzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
cxqbbzhzBph.setIsSub("2"); cxqbbzhzBph.setIsSub("2");
@@ -168,6 +168,11 @@ public class BussLibrary4After implements TaskListener{
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
} }
// 将标准化初审节点 设置为白色节点。
List<String> bzhcsTaskKeyList = new ArrayList<>();
bzhcsTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getValue());
bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),bzhcsTaskKeyList,null,"0");
} else { } else {
// 征求意见 // 征求意见
List<String> hqUserIdList = Arrays.asList(json.getString("hqUserId").split(",")); List<String> hqUserIdList = Arrays.asList(json.getString("hqUserId").split(","));
@@ -202,7 +207,7 @@ public class BussLibrary4After implements TaskListener{
zqyjPBph.setId(zqyjPBphId); zqyjPBph.setId(zqyjPBphId);
zqyjPBph.setActiProcInstId(delegateTask.getProcessInstanceId()); zqyjPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
zqyjPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getValue()); zqyjPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getValue());
zqyjPBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue()); zqyjPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
zqyjPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getOrderNum()); zqyjPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getOrderNum());
zqyjPBph.setIsSub("2"); zqyjPBph.setIsSub("2");
zqyjPBph.setIsMany("1"); zqyjPBph.setIsMany("1");
@@ -211,6 +211,11 @@ public class BussLibrary7After implements TaskListener{
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
} }
// 将 标准化复审 节点 设置为白色节点。
List<String> bzhfsTaskKeyList = new ArrayList<>();
bzhfsTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),bzhfsTaskKeyList,null,"0");
} }
} }
} }
@@ -165,6 +165,12 @@ public class BussLibrary8After implements TaskListener{
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size()); bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
} }
// 将 标准化复审、起草单位高级经理审核 节点 设置为白色节点。
List<String> bzhfsTaskKeyList = new ArrayList<>();
bzhfsTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
bzhfsTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue());
bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),bzhfsTaskKeyList,null,"0");
} }
} }
} }
@@ -193,6 +193,7 @@ public class BussLibrary9After implements TaskListener{
bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size());
} }
} else if (bzFlag == 1) { } else if (bzFlag == 1) {
// 用户退回时 选择了其他问题
String cxdUserId = (String) delegateTask.getVariable("cxdUserId"); String cxdUserId = (String) delegateTask.getVariable("cxdUserId");
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>(); QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId()); bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId());
@@ -218,7 +219,15 @@ public class BussLibrary9After implements TaskListener{
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size());
} }
// 退回到了 重新技术委员会评审 标准化复审、起草单位高级经理审核、标准法规部高级经理审核 节点,设置为在流程图展示空白
List<String> qczhTaskKeyList = new ArrayList<>();
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getValue());
bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0");
} else if (bzFlag == 2) { } else if (bzFlag == 2) {
// 用户退回时 选择了质量问题
String cfqUserId = (String) delegateTask.getVariable("cfqUserId"); String cfqUserId = (String) delegateTask.getVariable("cfqUserId");
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>(); QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId()); bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId());
@@ -244,6 +253,12 @@ public class BussLibrary9After implements TaskListener{
bphService.insertBatch(bphList); bphService.insertBatch(bphList);
bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size()); bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size());
} }
// 退回到了重新起草节点,需要将除了起草、重新起草其他的节点,全部设置为 流程图中展示空。
List<String> qczhTaskKeyList = new ArrayList<>();
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY1.getValue());
qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY_C1.getValue());
bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),null,qczhTaskKeyList,"0");
} }
} }
} }
@@ -6,9 +6,11 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessHistoryService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.delegate.TaskListener;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@@ -38,5 +40,10 @@ public class BussLibraryC3Before implements TaskListener{
} }
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class); IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
bphService.updateTaskInfo(delegateTask); bphService.updateTaskInfo(delegateTask);
// // 标准化初审节点,设置为在流程图展示空白
// List<String> qczhTaskKeyList = new ArrayList<>();
// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getValue());
// bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0");
} }
} }
@@ -113,6 +113,8 @@ public class BussLibraryC6After implements TaskListener{
BussUtils.evalSave(delegateTask, objectNew, prcName, delegateTask.getAssignee()); BussUtils.evalSave(delegateTask, objectNew, prcName, delegateTask.getAssignee());
} }
} }
this.addBusProcessHistory(objectNew,delegateTask);
} }
private String verifyObj(String str){ private String verifyObj(String str){
@@ -6,9 +6,11 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessHistoryService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_mq.service.CreateMQService;
import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.SpringContextUtil;
import com.ydw.bat.wkflow.util.enums.BussLibraryNodeKeyEnum;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener; import org.activiti.engine.delegate.TaskListener;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@@ -38,5 +40,14 @@ public class BussLibraryC6Before implements TaskListener{
} }
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class); IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
bphService.updateTaskInfo(delegateTask); bphService.updateTaskInfo(delegateTask);
//
// // 标准化复审节点,设置为在流程图展示空白
// List<String> qczhTaskKeyList = new ArrayList<>();
// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue());
// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getValue());
// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
// qczhTaskKeyList.add(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
// bphService.updateImgShowColor(delegateTask.getProcessInstanceId(),qczhTaskKeyList,null,"0");
} }
} }
@@ -2,36 +2,43 @@ package com.ydw.bat.wkflow.util.enums;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
/** /**
* 企标制修订-技术标准-任务节点定义key * 企标制修订-技术标准-任务节点定义key
*/ */
public enum BussLibraryNodeKeyEnum { public enum BussLibraryNodeKeyEnum {
BUSS_LIBRARY1("BussLibrary1","起草",1), BUSS_LIBRARY1("BussLibrary1","起草",1,true),
BUSS_LIBRARY2("BussLibrary2","企标编写",2), BUSS_LIBRARY2("BussLibrary2","企标编写",2,true),
BUSS_LIBRARY3("BussLibrary3","企标编写汇总",3), BUSS_LIBRARY3("BussLibrary3","企标编写汇总",3,true),
BUSS_LIBRARY4("BussLibrary4","标准化初审",4), BUSS_LIBRARY4("BussLibrary4","标准化初审",4,true),
BUSS_LIBRARY_C3("BussLibraryC3","重新企标编写汇总",5), BUSS_LIBRARY_C3("BussLibraryC3","重新企标编写汇总",5,false),
BUSS_LIBRARY5("BussLibrary5","征求意见",6), BUSS_LIBRARY5("BussLibrary5","征求意见",6,true),
BUSS_LIBRARY6("BussLibrary6","技术委员会评审、评审意见修改",7), BUSS_LIBRARY6("BussLibrary6","技术委员会评审、评审意见修改",7,true),
BUSS_LIBRARY7("BussLibrary7","标准化复审",8), BUSS_LIBRARY7("BussLibrary7","标准化复审",8,true),
BUSS_LIBRARY_C6("BussLibraryC6","重新技术委员会评审、评审意见修改",9), BUSS_LIBRARY_C6("BussLibraryC6","重新技术委员会评审、评审意见修改",9,false),
BUSS_LIBRARY8("BussLibrary8","起草单位高级经理审核",10), BUSS_LIBRARY8("BussLibrary8","起草单位高级经理审核",10,true),
BUSS_LIBRARY9("BussLibrary9","标准法规部高级经理审核",11), BUSS_LIBRARY9("BussLibrary9","标准法规部高级经理审核",11,true),
BUSS_LIBRARY_C1("BussLibraryC1","重新起草",12), BUSS_LIBRARY_C1("BussLibraryC1","重新起草",12,false),
BUSS_LIBRARY10("BussLibrary10","审定",13), BUSS_LIBRARY10("BussLibrary10","审定",13,true),
BUSS_LIBRARY11("BussLibrary11","批准",14), BUSS_LIBRARY11("BussLibrary11","批准",14,true),
BUSS_LIBRARY12("BussLibrary12","主起草人培训",15), BUSS_LIBRARY12("BussLibrary12","主起草人培训",15,true),
BUSS_LIBRARY13("BussLibrary13","发布",16), BUSS_LIBRARY13("BussLibrary13","发布",16,true),
; ;
private String value; private String value;
private String lable; private String lable;
private Integer orderNum; private Integer orderNum;
private boolean showFlag; // 节点是否展示,true展示,false
private BussLibraryNodeKeyEnum(String value, String lable, Integer orderNum) { private BussLibraryNodeKeyEnum(String value, String lable, Integer orderNum,boolean showFlag) {
this.value = value; this.value = value;
this.lable = lable; this.lable = lable;
this.orderNum = orderNum; this.orderNum = orderNum;
this.showFlag = showFlag;
} }
public String getValue() { public String getValue() {
return value; return value;
@@ -53,4 +60,14 @@ public enum BussLibraryNodeKeyEnum {
} }
return result; return result;
} }
public static List<BussLibraryNodeKeyEnum> getBussLibraryNodeKeyEnum(){
List<BussLibraryNodeKeyEnum> results = new ArrayList<>();
for (BussLibraryNodeKeyEnum nodeKeyEnum : BussLibraryNodeKeyEnum.values()) {
if (nodeKeyEnum.showFlag) {
results.add(nodeKeyEnum);
}
}
return results;
}
} }
@@ -2,32 +2,38 @@ package com.ydw.bat.wkflow.util.enums;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/** /**
* 标准征求意见流程-任务节点定义key * 标准征求意见流程-任务节点定义key
*/ */
public enum StandardCommentNewProcessNodeKeyEnum { public enum StandardCommentNewProcessNodeKeyEnum {
STAND_ASK_FOR_OPINION1("StandAskForOpinion1","起草",0), STAND_ASK_FOR_OPINION1("StandAskForOpinion1","起草",0,true),
// SUB_PROCESS("subProcess","子流程",1), // SUB_PROCESS("subProcess","子流程",1),
STAND_ASK_FOR_OPINION2("StandAskForOpinion2","任务分发",2), STAND_ASK_FOR_OPINION2("StandAskForOpinion2","任务分发",2,true),
STAND_ASK_FOR_OPINION3("StandAskForOpinion3","意见反馈",3), STAND_ASK_FOR_OPINION3("StandAskForOpinion3","意见反馈",3,true),
STAND_ASK_FOR_OPINION4("StandAskForOpinion4","意见汇总审批",4), STAND_ASK_FOR_OPINION4("StandAskForOpinion4","意见汇总审批",4,true),
STAND_ASK_FOR_OPINION5("StandAskForOpinion5","意见审批",5), STAND_ASK_FOR_OPINION5("StandAskForOpinion5","意见审批",5,true),
STAND_ASK_FOR_OPINION6("StandAskForOpinion6","管理员",6), STAND_ASK_FOR_OPINION6("StandAskForOpinion6","管理员",6,true),
STAND_ASK_FOR_OPINION7("StandAskForOpinion7","意见处理",7), STAND_ASK_FOR_OPINION7("StandAskForOpinion7","意见处理",7,true),
STAND_ASK_FOR_OPINION8("StandAskForOpinion8","会签",8), STAND_ASK_FOR_OPINION8("StandAskForOpinion8","会签",8,true),
STAND_ASK_FOR_OPINION9("StandAskForOpinion9","审核",9), STAND_ASK_FOR_OPINION9("StandAskForOpinion9","审核",9,true),
STAND_ASK_FOR_OPINION10("StandAskForOpinion10","审定",10), STAND_ASK_FOR_OPINION10("StandAskForOpinion10","审定",10,true),
STAND_ASK_FOR_OPINION11("StandAskForOpinion11","批准",11), STAND_ASK_FOR_OPINION11("StandAskForOpinion11","批准",11,true),
; ;
private String value; private String value;
private String lable; private String lable;
private Integer orderNum; private Integer orderNum;
private boolean showFlag;
private StandardCommentNewProcessNodeKeyEnum(String value, String lable,Integer orderNum) { private StandardCommentNewProcessNodeKeyEnum(String value, String lable,Integer orderNum,boolean showFlag) {
this.value = value; this.value = value;
this.lable = lable; this.lable = lable;
this.orderNum = orderNum; this.orderNum = orderNum;
this.showFlag = showFlag;
} }
public String getValue() { public String getValue() {
return value; return value;
@@ -49,4 +55,14 @@ public enum StandardCommentNewProcessNodeKeyEnum {
} }
return result; return result;
} }
public static List<StandardCommentNewProcessNodeKeyEnum> getStandardCommentNewProcessNodeKeyEnum(){
List<StandardCommentNewProcessNodeKeyEnum> results = new ArrayList<>();
for (StandardCommentNewProcessNodeKeyEnum nodeKeyEnum : StandardCommentNewProcessNodeKeyEnum.values()) {
if (nodeKeyEnum.showFlag) {
results.add(nodeKeyEnum);
}
}
return results;
}
} }
+5 -5
View File
@@ -36,7 +36,7 @@ spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://121.36.69.172:3307/foton-bat-wkflow-test?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 url: jdbc:mysql://39.98.140.126:3306/foton-bat-wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8
username: root username: root
password: hzwlsoft.com password: hzwlsoft.com
initialSize: 5 initialSize: 5
@@ -74,10 +74,10 @@ spring:
active: dev active: dev
# 相关服务配置同业务系统 # 相关服务配置同业务系统
rabbitmq: rabbitmq:
host: 121.36.69.172 host: 39.98.140.126
port: 5672 port: 5672
username: admin username: guest
password: hzwlsoft.com password: guest
listener: listener:
direct: direct:
# 默认加载 发版 需改为 true # 默认加载 发版 需改为 true
@@ -146,4 +146,4 @@ buss:
down: down:
file: file:
path: https://srms.foton.com.cn/file/ path: https://srms.foton.com.cn/file/
# path: http://foton.natapp1.cc/file/ # path: http://foton.natapp1.cc/file/