Compare commits
127
Commits
3b1972e138
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b09feb504a | ||
|
|
9660d901f9 | ||
|
|
862a4df2aa | ||
|
|
3348d32527 | ||
|
|
0929339284 | ||
|
|
508e966fad | ||
|
|
0091fd24dd | ||
|
|
4e782dcd17 | ||
|
|
d4e066996e | ||
|
|
7c40fc6b1d | ||
|
|
78e91de609 | ||
|
|
85f697894b | ||
|
|
52cc59ace7 | ||
|
|
8e2f49f12f | ||
|
|
ebfe05cdfc | ||
|
|
5352591652 | ||
|
|
68d164938c | ||
|
|
46022076c1 | ||
|
|
b6d4405e9c | ||
|
|
41d337d2b3 | ||
|
|
c2456486e4 | ||
|
|
942c19c271 | ||
|
|
66ab2fd86f | ||
|
|
c205381d52 | ||
|
|
3608c1e5e2 | ||
|
|
090beef0b1 | ||
|
|
bf14cab433 | ||
|
|
adfb662fcf | ||
|
|
4c52247cc9 | ||
|
|
6855940bee | ||
|
|
b307e99919 | ||
|
|
581610e750 | ||
|
|
979a7eeb13 | ||
|
|
be7bc047fc | ||
|
|
79ce56d7b0 | ||
|
|
00187403d3 | ||
|
|
4dcf5237d4 | ||
|
|
60be779dc8 | ||
|
|
42dd72bae2 | ||
|
|
04b7a6122c | ||
|
|
e4b6779e44 | ||
|
|
f4d97a1ddb | ||
|
|
4d7300233d | ||
|
|
f81f5ed3a4 | ||
|
|
1e8d858c85 | ||
|
|
12d3dc3f71 | ||
|
|
771ad389fa | ||
|
|
bb56ec4723 | ||
|
|
93a6ed894c | ||
|
|
0d19beba42 | ||
|
|
891748e42e | ||
|
|
a2ab82d3b0 | ||
|
|
75afa55e2c | ||
|
|
e5f4a3771f | ||
|
|
361d0eee2f | ||
|
|
f796fe9cef | ||
|
|
2902b27e56 | ||
|
|
271628bbdd | ||
|
|
bdb6af1168 | ||
|
|
d9455c1152 | ||
|
|
3534c46ba6 | ||
|
|
d89aea7559 | ||
|
|
4f9824103a | ||
|
|
e22e7c731d | ||
|
|
6027b0d691 | ||
|
|
c164653767 | ||
|
|
edc94e3709 | ||
|
|
1636746bb6 | ||
|
|
703ddd4a19 | ||
|
|
5025679ead | ||
|
|
9f72feb910 | ||
|
|
5e97b14f62 | ||
|
|
b62ad5c7b6 | ||
|
|
8e16da05a5 | ||
|
|
dab9d57c13 | ||
|
|
b6af89cd8e | ||
|
|
7b942f99cb | ||
|
|
4484a9abdb | ||
|
|
70d45f56bf | ||
|
|
538ccf2b22 | ||
|
|
0ec83e4b0d | ||
|
|
6850c7f18c | ||
|
|
10d4f00e04 | ||
|
|
e7ec18abe4 | ||
|
|
5e54e8769d | ||
|
|
18e3d9385b | ||
|
|
d0f0b8c6ab | ||
|
|
acd36ae6c3 | ||
|
|
3d8e6129c5 | ||
|
|
603b5c19ba | ||
|
|
13a79a5be9 | ||
|
|
2b89ad5e73 | ||
|
|
88344efad2 | ||
|
|
76c0c8fd3b | ||
|
|
4b42ab6800 | ||
|
|
43f9b40b52 | ||
|
|
9c332a4d1b | ||
|
|
4443dd534a | ||
|
|
72dc3aac25 | ||
|
|
c9561fde3b | ||
|
|
0cb3bca685 | ||
|
|
bef61f0af5 | ||
|
|
a457ae110a | ||
|
|
cc7ad3d6c0 | ||
|
|
e3a6eeba7e | ||
|
|
97a2aa05b0 | ||
|
|
be76631e84 | ||
|
|
f73ac8faea | ||
|
|
ea995edd58 | ||
|
|
c0df85601e | ||
|
|
7cb7ede855 | ||
|
|
27e773f646 | ||
|
|
dce23673a5 | ||
|
|
1115e7196b | ||
|
|
fceff66f48 | ||
|
|
63891c0b33 | ||
|
|
a7eb631b0b | ||
|
|
7e2a9df1d6 | ||
|
|
d28a95e26f | ||
|
|
9a9f1fe7b2 | ||
|
|
b023b323fb | ||
|
|
8354de9af5 | ||
|
|
789852e523 | ||
|
|
0721823cb7 | ||
|
|
1392c58727 | ||
|
|
5b8ed96ed8 | ||
|
|
fdca59bfe2 |
@@ -0,0 +1,10 @@
|
||||
ALTER TABLE `foton-bat-wkflow`.`bus_process_new`
|
||||
ADD INDEX `PROCESS_NEW_TASK_ID_INDEX`(`TASK_ID`) USING BTREE COMMENT 'TASK_ID索引',
|
||||
ADD INDEX `PROCESS_NEW_P_ID_INDEX`(`P_ID`) USING BTREE COMMENT 'P_ID索引',
|
||||
ADD INDEX `PROCESS_NEW_TASK_AND_P_ID_INDEX`(`TASK_ID`, `P_ID`) USING BTREE COMMENT 'TASK_ID和P_ID的联合索引';
|
||||
ADD INDEX `PROCESS_NEW_TASK_INFO_INDEX`(`TASK_INFO`) USING BTREE COMMENT 'TASK_INFO索引',
|
||||
ADD INDEX `PROCESS_NEW_TASK_ID_AND_INFO_INDEX`(`TASK_INFO`, `TASK_ID`) USING BTREE COMMENT 'TASK_ID和TASK_INFO的联合索引';
|
||||
ADD INDEX `PROCESS_NEW_RECEIVE_STATUS_INDEX`(`RECEIVE_STATUS`) USING BTREE COMMENT 'RECEIVE_STATUS索引';
|
||||
|
||||
ALTER TABLE `foton-bat-wkflow`.`bus_process_name`
|
||||
ADD INDEX `PROCESS_NAME_PRC_ID_INDEX`(`PRC_ID`) USING BTREE COMMENT 'PRC_ID索引';
|
||||
@@ -123,10 +123,14 @@ public class TaskController {
|
||||
historicTaskInstance.put("assignee", str);
|
||||
}
|
||||
}else{
|
||||
ResponseMessage<UserVO> assignee = lawsUserInfoService.getById(historicTaskInstance.get("assignee").toString());
|
||||
ResponseMessage<UserVO> assignee = lawsUserInfoService.getByIdFeignClientWithDisabled(historicTaskInstance.get("assignee").toString());
|
||||
|
||||
if(assignee.getData()!=null){
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname());
|
||||
if (assignee.getData().getDisableFlag() == 1) {
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname() + "("+ assignee.getData().getUsid() +")" + "(已禁用)");
|
||||
} else{
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname() + "("+ assignee.getData().getUsid() +")");
|
||||
}
|
||||
historicTaskInstance.put("assigneeId", assignee.getData().getUsid());
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id"));
|
||||
@@ -134,7 +138,7 @@ public class TaskController {
|
||||
List<BusProcessEntrust> list1 = iBusProcessEntrustService.list(queryWrapper2);
|
||||
String str = "";
|
||||
if(list1.size()>0){
|
||||
ResponseMessage<UserVO> assignee1 = lawsUserInfoService.getById(list1.get(0).getUserId());
|
||||
ResponseMessage<UserVO> assignee1 = lawsUserInfoService.getByIdFeignClientWithDisabled(list1.get(0).getUserId());
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 转办)");
|
||||
}
|
||||
}
|
||||
@@ -263,10 +267,14 @@ public class TaskController {
|
||||
historicTaskInstance.put("assignee", str);
|
||||
}
|
||||
}else{
|
||||
ResponseMessage<UserVO> assignee = lawsUserInfoService.getById(historicTaskInstance.get("assignee").toString());
|
||||
ResponseMessage<UserVO> assignee = lawsUserInfoService.getByIdFeignClientWithDisabled(historicTaskInstance.get("assignee").toString());
|
||||
|
||||
if(assignee.getData()!=null){
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname());
|
||||
if (assignee.getData().getDisableFlag() == 1) {
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname() + "(已禁用)");
|
||||
} else {
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname());
|
||||
}
|
||||
historicTaskInstance.put("assigneeId", assignee.getData().getUsid());
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id"));
|
||||
@@ -274,7 +282,7 @@ public class TaskController {
|
||||
List<BusProcessEntrust> list1 = iBusProcessEntrustService.list(queryWrapper2);
|
||||
String str = "";
|
||||
if(list1.size()>0){
|
||||
ResponseMessage<UserVO> assignee1 = lawsUserInfoService.getById(list1.get(0).getUserId());
|
||||
ResponseMessage<UserVO> assignee1 = lawsUserInfoService.getByIdFeignClientWithDisabled(list1.get(0).getUserId());
|
||||
historicTaskInstance.put("assignee", assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 转办)");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.ydw.bat.wkflow.business_oa.webService.service.impl.WebServiceOAServic
|
||||
import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto;
|
||||
import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService;
|
||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.TaskStatusEnum;
|
||||
import org.activiti.engine.*;
|
||||
import org.activiti.engine.history.*;
|
||||
import org.activiti.engine.repository.ProcessDefinition;
|
||||
@@ -112,6 +113,9 @@ public class TodoTaskController extends BaseAction {
|
||||
@Autowired
|
||||
private IZchgxxmscCpghbDataEOService zchgxxmscCpghbDataEOService;
|
||||
|
||||
@Autowired
|
||||
private IBusProcessHistoryService busProcessHistoryService;
|
||||
|
||||
@ApiOperation(value = "我的待办任务列表")
|
||||
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
|
||||
@ApiImplicitParam(name = "current", value = "当前页"),
|
||||
@@ -391,12 +395,18 @@ public class TodoTaskController extends BaseAction {
|
||||
List<String> list = Arrays.asList(taskId.split(","));
|
||||
for (String str : list) {
|
||||
if (str != null && !str.equals("")) {
|
||||
taskService.setAssignee(str, assignee);
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
try {
|
||||
taskService.setAssignee(str, assignee);
|
||||
} catch (ActivitiException e) {
|
||||
Wrapper<String> wrapper = WrapMapper.error("任务不存在");
|
||||
wrapper.setSuccess(false);
|
||||
return wrapper;
|
||||
}
|
||||
QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("PRC_ID", pId);
|
||||
BusProcessName one = iBusProcessNameService.getOne(queryWrapper);
|
||||
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("USER_ID", userId);
|
||||
queryWrapper1.eq("TASK_ID", str);
|
||||
queryWrapper1.eq("P_ID", pId);
|
||||
@@ -424,6 +434,8 @@ public class TodoTaskController extends BaseAction {
|
||||
} else if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCHGXXMSCLC.getValue())) {
|
||||
this.changeZchgxxmscFlowAssignee(assignee, userId, pId, str);
|
||||
}
|
||||
|
||||
this.busProcessHistoryService.changeUserIdByTaskId(str,assignee,userId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -650,7 +662,11 @@ public class TodoTaskController extends BaseAction {
|
||||
}catch (Exception e){
|
||||
logger.error(e.toString());
|
||||
}
|
||||
this.busProcessHistoryService.complete(busMes);
|
||||
|
||||
taskService.complete(busMes.getTaskId());
|
||||
} else {
|
||||
return WrapMapper.error("当前任务不存在");
|
||||
}
|
||||
return WrapMapper.ok(task.getProcessInstanceId());
|
||||
} else {
|
||||
@@ -680,7 +696,12 @@ public class TodoTaskController extends BaseAction {
|
||||
}catch (Exception e){
|
||||
logger.error(e.toString());
|
||||
}
|
||||
busMes.setTaskId(taskId);
|
||||
this.busProcessHistoryService.complete(busMes);
|
||||
|
||||
taskService.complete(taskId);
|
||||
} else {
|
||||
return WrapMapper.error("当前任务不存在");
|
||||
}
|
||||
}
|
||||
return WrapMapper.ok(prcid);
|
||||
@@ -877,20 +898,27 @@ public class TodoTaskController extends BaseAction {
|
||||
}
|
||||
|
||||
JSONObject object3 = JSONObject.parseObject(list.get(0).getMesg());
|
||||
|
||||
JSONArray arr2 = new JSONArray();
|
||||
object3.put("taskBreak", arr2);
|
||||
processNew.setMesg(object3.toJSONString());
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
QueryWrapper<OaTaskExec> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("TODO_ID",processNew.getId());
|
||||
wrapper.eq("EXEC_TYPE",2);
|
||||
wrapper.eq("EXEC_STATUS",0);
|
||||
long count = oaTaskExecService.count(wrapper);
|
||||
processNew.setCommitStatus(count);
|
||||
// 设置processNew表流程状态为已接收
|
||||
// 设置processNew表流程状态为已接收,已废弃
|
||||
LambdaUpdateWrapper<BusProcessNew> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.in(BusProcessNew::getTaskId,taskIdList);
|
||||
updateWrapper.set(BusProcessNew::getReceiveStatus,"已接收");
|
||||
iBusProcessNewService.update(updateWrapper);
|
||||
|
||||
LambdaUpdateWrapper<BusProcessHistory> bphUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
bphUpdateWrapper.in(BusProcessHistory::getTaskId,taskIdList);
|
||||
bphUpdateWrapper.ne(BusProcessHistory::getTaskStatus, TaskStatusEnum.DONE.getValue());
|
||||
bphUpdateWrapper.set(BusProcessHistory::getTaskStatus, TaskStatusEnum.RECEIVED.getValue());
|
||||
this.busProcessHistoryService.update(bphUpdateWrapper);
|
||||
return processNew;
|
||||
|
||||
}
|
||||
@@ -2458,9 +2486,9 @@ public class TodoTaskController extends BaseAction {
|
||||
if (list2.size() > 0) {
|
||||
for (Task task : list2) {
|
||||
if (task.getAssignee() != null && !task.getAssignee().equals("")) {
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(task.getAssignee());
|
||||
if (byId.getData() != null) {
|
||||
if (assignee.indexOf(byId.getData().getUname()) == -1) {
|
||||
ResponseMessage<UserVO> byId = lawsUserInfoService.getByIdFeignClientWithDisabled(task.getAssignee());
|
||||
if (byId.getData().getUname() != null) {
|
||||
if (!assignee.contains(byId.getData().getUname())) {
|
||||
assignee += ((byId.getData().getOrgName() != null && !byId.getData().getOrgName().equals("")) ? byId.getData().getOrgName() + "-" + byId.getData().getUname() : byId.getData().getUname()) + ",";
|
||||
}
|
||||
}
|
||||
@@ -2965,6 +2993,15 @@ public class TodoTaskController extends BaseAction {
|
||||
if(!list2.isEmpty() && "发布".equals(list2.get(0).getName())){
|
||||
lawsUserInfoService.modSnByProcess(list2.get(0).getId());
|
||||
}
|
||||
} else if ("34".equals(busProcessName.getPrcType())) {
|
||||
// 重点认证标准/政策合规性项目审查流程撤回,如果是从标准跟踪清单下发的流程 则将检查单状态改为未下发
|
||||
String mes = busProcessName.getMes();
|
||||
JSONObject jsonObject = JSONObject.parseObject(mes);
|
||||
JSONObject formJson = jsonObject.getJSONObject("form");
|
||||
String checklistId = formJson.getString("checklistId");
|
||||
if (StringUtils.isNotBlank(checklistId)) {
|
||||
lawsUserInfoService.processStatusChange(checklistId, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3313,4 +3350,14 @@ public class TodoTaskController extends BaseAction {
|
||||
return processNew;
|
||||
|
||||
}
|
||||
|
||||
@ApiOperation(value = "根据流程实例ID查询流程编号")
|
||||
@GetMapping("/getProcessNumByPrcId")
|
||||
Wrapper<String> getProcessNumByPrcId(@RequestParam("prcId") String prcId) {
|
||||
String processNum = iBusProcessNameService.getProcessNumByPrcId(prcId);
|
||||
if (StringUtils.isBlank(processNum)) {
|
||||
return WrapMapper.error("未找到流程编号");
|
||||
}
|
||||
return WrapMapper.ok(processNum);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +63,9 @@ public interface LawsUserInfoService {
|
||||
@GetMapping("sys/user/getById")
|
||||
public ResponseMessage<UserVO> getById(@RequestParam("id") String id);
|
||||
|
||||
@GetMapping("sys/user/getByIdWithDisabled")
|
||||
public ResponseMessage<UserVO> getByIdFeignClientWithDisabled(@RequestParam("id") String id);
|
||||
|
||||
@GetMapping("lawss/sarProductInfo/queryMap")
|
||||
public ResponseMessage<Map<String, List<String>>> queryMap();
|
||||
|
||||
@@ -191,6 +194,9 @@ public interface LawsUserInfoService {
|
||||
@GetMapping("/lawss/SarBussStandAttrInfo/getBussAttrInfo")
|
||||
public Map<String,Object> getBussAttrInfo(@RequestParam("standId") String standId);
|
||||
|
||||
@GetMapping("/att/attFile/getMultiFileInfos")
|
||||
public ResponseMessage<List<AttFileEO>> getAttInfoByAttIds(@RequestParam("fileIds") String fileIds);
|
||||
|
||||
|
||||
@PostMapping("/sarStandUnqualified/sar-stand-unqualified/updateBatch")
|
||||
public ResponseMessage<Object> updateBatch(@RequestBody List<SarStandUnqualified> sarStandUnqualified);
|
||||
@@ -221,4 +227,19 @@ public interface LawsUserInfoService {
|
||||
|
||||
@GetMapping("lawss/activiti/selectOnlineFile")
|
||||
ResponseMessage selectOnlineFile(@RequestParam("onlineFileId") String onlineFileId,@RequestParam("standName") String standName,@RequestParam("key") String key);
|
||||
|
||||
@GetMapping("lawss/sarBussionessStand/updateStandStatus")
|
||||
ResponseMessage<Boolean> changeStandStatus(@RequestParam("standId") String standId,
|
||||
@RequestParam("standCode") String standCode,
|
||||
@RequestParam("standtextStatus") String standtextStatus,
|
||||
@RequestParam("prcCreateUser") String prcCreateUser,
|
||||
@RequestParam("prcNum") String prcNum);
|
||||
/**
|
||||
* 流程状态变更, 用于流程结束或流程撤回后的状态变更
|
||||
* @param trackingChecklistId 跟踪清单ID
|
||||
* @param processStatus 流程状态, 0 未下发,1 进行中,2 已完成
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("standardTrackingCheckList/processStatusChange")
|
||||
ResponseMessage processStatusChange(@RequestParam("trackingChecklistId") String trackingChecklistId,@RequestParam("processStatus") Integer processStatus);
|
||||
}
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.controller;
|
||||
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessHistory;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessHistoryService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/datas/bus-process-history")
|
||||
public class BusProcessHistoryController {
|
||||
|
||||
@Autowired
|
||||
private IBusProcessHistoryService busProcessHistoryService;
|
||||
|
||||
/**
|
||||
* 查询流程历史列表
|
||||
* @param actiProcInstId
|
||||
* @param flowType
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/queryFlowHistoryList")
|
||||
public List<BusProcessHistory> queryFlowHistoryList(String actiProcInstId,String flowType,String userId) {
|
||||
BusProcessHistory busProcessHistory = new BusProcessHistory();
|
||||
busProcessHistory.setActiProcInstId(actiProcInstId);
|
||||
busProcessHistory.setFlowType(flowType);
|
||||
return this.busProcessHistoryService.queryFlowHistoryList(busProcessHistory,userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询流程图数据
|
||||
* @param actiProcInstId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getImgDataList")
|
||||
public List<Map<String,Object>> getImgDataList(String actiProcInstId, String flowType) {
|
||||
BusProcessHistory busProcessHistory = new BusProcessHistory();
|
||||
busProcessHistory.setActiProcInstId(actiProcInstId);
|
||||
busProcessHistory.setFlowType(flowType);
|
||||
return this.busProcessHistoryService.getImgDataList(busProcessHistory);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+23
-4
@@ -7,11 +7,9 @@ import com.ydw.bat.wkflow.util.http.ResponseMessage;
|
||||
import com.ydw.bat.wkflow.util.http.Result;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -28,5 +26,26 @@ public class PolicySolicitOpinionEOController {
|
||||
List<PolicySolicitOpinionEO> policySolicitOpinionEOList = this.policySolicitOpinionEOService.queryPolicitOpinionEOList(params);
|
||||
return Result.success(policySolicitOpinionEOList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增政策征求意见")
|
||||
@PostMapping("/insertPolicitOpinionEOList")
|
||||
public ResponseMessage<Boolean> insertPolicitOpinionEOList(@RequestBody PolicySolicitOpinionEO policySolicitOpinionEO) {
|
||||
boolean result = this.policySolicitOpinionEOService.save(policySolicitOpinionEO);
|
||||
return Result.success(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改政策征求意见")
|
||||
@PutMapping("/updatePolicitOpinionEOList")
|
||||
public ResponseMessage<Boolean> updatePolicitOpinionEOList(@RequestBody PolicySolicitOpinionEO policySolicitOpinionEO) {
|
||||
boolean result = this.policySolicitOpinionEOService.updateById(policySolicitOpinionEO);
|
||||
return Result.success(result);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "批量删除政策征求意见")
|
||||
@DeleteMapping("/deletePolicitOpinionEOList")
|
||||
public ResponseMessage<Boolean> deletePolicitOpinionEOList(@RequestBody List<String> ids) {
|
||||
boolean result = this.policySolicitOpinionEOService.removeByIds(ids);
|
||||
return Result.success(result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流程历史
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("bus_process_history")
|
||||
@ApiModel(value="BusProcessHistory对象", description="")
|
||||
public class BusProcessHistory {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId(value = "id")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "流程实例id")
|
||||
@TableField("acti_proc_inst_id")
|
||||
private String actiProcInstId;
|
||||
|
||||
@ApiModelProperty(value = "任务id")
|
||||
@TableField("task_id")
|
||||
private String taskId;
|
||||
|
||||
@ApiModelProperty(value = "用户id")
|
||||
@TableField("user_id")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "任务节点key")
|
||||
@TableField("task_key")
|
||||
private String taskKey;
|
||||
|
||||
@ApiModelProperty(value = "流程类型")
|
||||
@TableField("flow_type")
|
||||
private String flowType;
|
||||
|
||||
@ApiModelProperty(value = "是否是子流程:1是 2否")
|
||||
@TableField("is_sub")
|
||||
private String isSub;
|
||||
|
||||
@ApiModelProperty(value = "排序号")
|
||||
@TableField("order_num")
|
||||
private Integer orderNum;
|
||||
|
||||
@ApiModelProperty(value = "任务状态")
|
||||
@TableField("task_status")
|
||||
private String taskStatus;
|
||||
|
||||
@ApiModelProperty(value = "审批意见")
|
||||
@TableField("commit_text")
|
||||
private String commitText;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
@TableField("create_time")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "完成时间")
|
||||
@TableField("end_time")
|
||||
private Date endTime;
|
||||
|
||||
@ApiModelProperty(value = "父级id(仅限于子流程任务节点有)")
|
||||
@TableField("p_id")
|
||||
private String pId;
|
||||
|
||||
@ApiModelProperty(value = "是否是多实例任务节点:1是 2否")
|
||||
@TableField("is_many")
|
||||
private String isMany;
|
||||
|
||||
@ApiModelProperty(value = "多实例父节点id")
|
||||
@TableField("many_p_id")
|
||||
private String manyPId;
|
||||
|
||||
// 子流程数据数组
|
||||
@TableField(exist = false)
|
||||
private List<BusProcessHistory> children;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String userName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String taskStatusShow;
|
||||
@TableField(exist = false)
|
||||
private String taskKeyShow;
|
||||
@TableField(exist = false)
|
||||
private String bpnId;
|
||||
@TableField(exist = false)
|
||||
private String prcId;
|
||||
@TableField(exist = false)
|
||||
private String prcName;
|
||||
@TableField(exist = false)
|
||||
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;
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessHistory;
|
||||
|
||||
public interface BusProcessHistoryMapper extends BaseMapper<BusProcessHistory> {
|
||||
|
||||
}
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusMes;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessHistory;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface IBusProcessHistoryService extends IService<BusProcessHistory> {
|
||||
|
||||
List<BusProcessHistory> queryFlowHistoryList(BusProcessHistory busProcessHistory,String userId);
|
||||
|
||||
List<BusProcessHistory> queryByList(BusProcessHistory busProcessHistory);
|
||||
|
||||
void insertBatch(List<BusProcessHistory> busProcessHistoryList);
|
||||
|
||||
void updateBatch(List<BusProcessHistory> busProcessHistoryList);
|
||||
|
||||
// 更新任务信息
|
||||
void updateTaskInfo(DelegateTask delegateTask);
|
||||
|
||||
void complete(BusMes busMes);
|
||||
|
||||
// 获取最大排序号
|
||||
int getMaxOrderNum(String actiProcInstId, String taskKey);
|
||||
|
||||
// 更新排序号
|
||||
void updateOrderNum(String actiProcInstId, int orderNum,int dataNum);
|
||||
|
||||
List<Map<String,Object>> getImgDataList(BusProcessHistory busProcessHistory);
|
||||
|
||||
// 根据taskId修改用户id
|
||||
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);
|
||||
}
|
||||
+2
@@ -26,4 +26,6 @@ public interface IBusProcessNameService extends IService<BusProcessName> {
|
||||
String delDB(List<String> id);
|
||||
|
||||
BusProcessName selectById(String id);
|
||||
|
||||
String getProcessNumByPrcId(String prcId);
|
||||
}
|
||||
|
||||
+36
-4
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
@@ -122,9 +123,40 @@ public class BusProcessEvaluationHisServiceImpl extends ServiceImpl<BusProcessEv
|
||||
|
||||
@Override
|
||||
public List<BusProcessEvaluationHis> evaluationHisList(String pid){
|
||||
QueryWrapper wrapper = new QueryWrapper();
|
||||
wrapper.eq("P_ID",pid);
|
||||
wrapper.orderByDesc("CREATE_TIME","TASK_INFO");
|
||||
return this.baseMapper.selectList(wrapper);
|
||||
LambdaQueryWrapper<BusProcessEvaluationHis> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(BusProcessEvaluationHis::getPId,pid);
|
||||
wrapper.orderByDesc(BusProcessEvaluationHis::getCreateTime,BusProcessEvaluationHis::getTaskInfo);
|
||||
List<BusProcessEvaluationHis> busProcessEvaluationHis = this.baseMapper.selectList(wrapper);
|
||||
if(busProcessEvaluationHis.isEmpty()){
|
||||
return null;
|
||||
}
|
||||
Optional<BusProcessEvaluationHis> fushen = busProcessEvaluationHis.stream()
|
||||
.filter(each -> "标准化复审".equals(each.getTaskInfo()))
|
||||
.max(Comparator.comparing(BusProcessEvaluationHis::getCreateTime));
|
||||
Optional<BusProcessEvaluationHis> chongxinpinshen = busProcessEvaluationHis.stream()
|
||||
.filter(each -> "重新技术委员会评审、评审意见修改".equals(each.getTaskInfo()))
|
||||
.max(Comparator.comparing(BusProcessEvaluationHis::getCreateTime));
|
||||
Optional<BusProcessEvaluationHis> pinshen = busProcessEvaluationHis.stream()
|
||||
.filter(each -> "技术委员会评审、评审意见修改".equals(each.getTaskInfo()))
|
||||
.max(Comparator.comparing(BusProcessEvaluationHis::getCreateTime));
|
||||
Optional<BusProcessEvaluationHis> jinlishenhe = busProcessEvaluationHis.stream()
|
||||
.filter(each -> "标准法规部高级经理审核".equals(each.getTaskInfo()))
|
||||
.max(Comparator.comparing(BusProcessEvaluationHis::getCreateTime));
|
||||
List<BusProcessEvaluationHis> zhengqiuyijian = busProcessEvaluationHis.stream()
|
||||
.filter(each -> "征求意见".equals(each.getTaskInfo()))
|
||||
.collect(Collectors.toList());
|
||||
List<BusProcessEvaluationHis> finalEvaluationList = new ArrayList<>();
|
||||
if (chongxinpinshen.isPresent()) {
|
||||
fushen.ifPresent(finalEvaluationList::add);
|
||||
chongxinpinshen.ifPresent(finalEvaluationList::add);
|
||||
jinlishenhe.ifPresent(finalEvaluationList::add);
|
||||
finalEvaluationList.addAll(zhengqiuyijian);
|
||||
} else {
|
||||
fushen.ifPresent(finalEvaluationList::add);
|
||||
pinshen.ifPresent(finalEvaluationList::add);
|
||||
jinlishenhe.ifPresent(finalEvaluationList::add);
|
||||
finalEvaluationList.addAll(zhengqiuyijian);
|
||||
}
|
||||
return finalEvaluationList;
|
||||
}
|
||||
}
|
||||
|
||||
+12
@@ -1,5 +1,6 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_activiti.dto.TaskCommonQuery;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||
import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessNameMapper;
|
||||
@@ -49,4 +50,15 @@ public class BusProcessNameServiceImpl extends ServiceImpl<BusProcessNameMapper,
|
||||
return busProcessNameMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getProcessNumByPrcId(String prcId) {
|
||||
LambdaQueryWrapper<BusProcessName> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(BusProcessName::getPrcId,prcId);
|
||||
List<BusProcessName> busProcessNameList = list(wrapper);
|
||||
if (busProcessNameList.size()>0){
|
||||
return busProcessNameList.get(0).getPrcNum();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+74
-36
@@ -257,49 +257,87 @@ public class BusProcessNewServiceImpl extends ServiceImpl<BusProcessNewMapper, B
|
||||
// 获取企标的id
|
||||
QueryWrapper<BusProcessNew> busProcessNewQueryWrapper = new QueryWrapper<>();
|
||||
busProcessNewQueryWrapper.eq("PRC_NAME",prcName);
|
||||
String newPrcName = prcName.replace("计划立项","企标制修订");
|
||||
busProcessNewQueryWrapper.or().eq("PRC_NAME",newPrcName);
|
||||
List<BusProcessNew> busProcessNews = baseMapper.selectList(busProcessNewQueryWrapper);
|
||||
String log = "";
|
||||
if(!busProcessNews.isEmpty()){
|
||||
for (BusProcessNew newData:busProcessNews){
|
||||
//判断是否是同一条企标计划
|
||||
JSONObject jsonObject = JSON.parseObject(newData.getMesg());
|
||||
if (busProcessNews.isEmpty()) {
|
||||
return "成功"+"-"+esId;
|
||||
}
|
||||
// 过滤出同一条企标
|
||||
List<BusProcessNew> busProcessNewList = busProcessNews.stream().filter(busProcessNew -> {
|
||||
String mesg = busProcessNew.getMesg();
|
||||
if(StringUtils.isNotBlank(mesg)){
|
||||
JSONObject jsonObject = JSON.parseObject(mesg);
|
||||
String esIdMesg = jsonObject.getString("esId");
|
||||
if(StringUtils.isNotBlank(esIdMesg)){
|
||||
if(esIdMesg.contains(",")){
|
||||
String[] split = esIdMesg.split(",");
|
||||
for (String esById : split){
|
||||
if(esId.equals(esById)){
|
||||
webServiceOAService.deleteOAByPid(newData.getPId());
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(newData.getPId()).singleResult();
|
||||
if(processInstance!=null) {
|
||||
runtimeService.deleteProcessInstance(newData.getPId(), "原始数据已被更改");
|
||||
//更名流程 在这里有删除的情况下才进行发送没有则不发送
|
||||
log = esIdMesg;
|
||||
}else {
|
||||
log = esIdMesg;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if(esId.equals(esIdMesg)){
|
||||
webServiceOAService.deleteOAByPid(newData.getPId());
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(newData.getPId()).singleResult();
|
||||
if(processInstance!=null) {
|
||||
runtimeService.deleteProcessInstance(newData.getPId(), "原始数据已被更改");
|
||||
//更名流程 在这里有删除的情况下才进行发送没有则不发送
|
||||
log = esIdMesg;
|
||||
}else {
|
||||
log = esIdMesg;
|
||||
}
|
||||
if (StringUtils.isBlank(esIdMesg)) {
|
||||
esIdMesg = jsonObject.getString("nowEsId");
|
||||
}
|
||||
if (StringUtils.isBlank(esIdMesg)) {
|
||||
// 如果依然是null, 可能是表单嵌套问题,需要再次解析
|
||||
JSONObject form = jsonObject.getJSONObject("form");
|
||||
if (form!= null) {
|
||||
esIdMesg = form.getString("esId");
|
||||
if (StringUtils.isBlank(esIdMesg)) {
|
||||
esIdMesg = form.getString("nowEsId");
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
} else {
|
||||
log = esId;
|
||||
}
|
||||
return esIdMesg.equals(esId);
|
||||
}
|
||||
return false;
|
||||
}).collect(Collectors.toList());
|
||||
String log = "";
|
||||
if (busProcessNewList.size()>0) {
|
||||
for (BusProcessNew busProcessNew : busProcessNewList) {
|
||||
// webServiceOAService.deleteOAByPid(busProcessNew.getPId());
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(busProcessNew.getPId()).singleResult();
|
||||
if (processInstance != null) {
|
||||
runtimeService.deleteProcessInstance(busProcessNew.getPId(), "原始数据已被更改");
|
||||
}
|
||||
}
|
||||
}
|
||||
return "成功"+"-"+log;
|
||||
|
||||
// if(!busProcessNews.isEmpty()){
|
||||
// for (BusProcessNew newData:busProcessNews){
|
||||
// //判断是否是同一条企标计划
|
||||
// JSONObject jsonObject = JSON.parseObject(newData.getMesg());
|
||||
// String esIdMesg = jsonObject.getString("esId");
|
||||
// if(StringUtils.isNotBlank(esIdMesg)){
|
||||
// if(esIdMesg.contains(",")){
|
||||
// String[] split = esIdMesg.split(",");
|
||||
// for (String esById : split){
|
||||
// if(esId.equals(esById)){
|
||||
// webServiceOAService.deleteOAByPid(newData.getPId());
|
||||
// ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(newData.getPId()).singleResult();
|
||||
// if(processInstance!=null) {
|
||||
// runtimeService.deleteProcessInstance(newData.getPId(), "原始数据已被更改");
|
||||
// //更名流程 在这里有删除的情况下才进行发送没有则不发送
|
||||
// log = esIdMesg;
|
||||
// }else {
|
||||
// log = esIdMesg;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }else {
|
||||
// if(esId.equals(esIdMesg)){
|
||||
// webServiceOAService.deleteOAByPid(newData.getPId());
|
||||
// ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(newData.getPId()).singleResult();
|
||||
// if(processInstance!=null) {
|
||||
// runtimeService.deleteProcessInstance(newData.getPId(), "原始数据已被更改");
|
||||
// //更名流程 在这里有删除的情况下才进行发送没有则不发送
|
||||
// log = esIdMesg;
|
||||
// }else {
|
||||
// log = esIdMesg;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
return "成功"+"-"+esId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+569
@@ -0,0 +1,569 @@
|
||||
package com.ydw.bat.wkflow.business_main.datas.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||
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;
|
||||
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.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class IBusProcessHistoryServiceImpl extends ServiceImpl<BusProcessHistoryMapper, BusProcessHistory> implements IBusProcessHistoryService {
|
||||
|
||||
|
||||
@Autowired
|
||||
LawsUserInfoService lawsUserInfoService;
|
||||
|
||||
@Autowired
|
||||
private IBusProcessNameService busProcessNameService;
|
||||
|
||||
@Autowired
|
||||
private IBusProcessEntrustService iBusProcessEntrustService;
|
||||
|
||||
@Override
|
||||
public List<BusProcessHistory> queryFlowHistoryList(BusProcessHistory busProcessHistory,String userId) {
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
this.setQueryCondition(busProcessHistory, bphQueryWrap);
|
||||
bphQueryWrap.orderByAsc("order_num","create_time");
|
||||
// 验证当前操作用户,是否只是该流程中子流程中参与的人员(用户参与了外面的节点,也参与了子流程节点,这种情况不属于子流程用户)
|
||||
// 如果是,查询出非子流程节点所有数据,和他自己参与过的子流程数据,如果不是,查询所有的数据。
|
||||
boolean isChildProcess = this.checkUserIsChildProcess(busProcessHistory,userId);
|
||||
if (isChildProcess) {
|
||||
// 查询出,当前登录用户,所在的子流程数据id
|
||||
QueryWrapper<BusProcessHistory> childBphQueryWrap = new QueryWrapper<>();
|
||||
this.setQueryCondition(busProcessHistory, childBphQueryWrap);
|
||||
childBphQueryWrap.lambda().eq(BusProcessHistory::getUserId,userId);
|
||||
List<BusProcessHistory> childBpnList = this.list(childBphQueryWrap);
|
||||
List<String> manyPidList = childBpnList.stream().map(BusProcessHistory::getManyPId)
|
||||
.distinct().filter(manyPid -> StringUtils.isNotEmpty(manyPid)).collect(Collectors.toList());
|
||||
|
||||
bphQueryWrap.lambda().and(
|
||||
query -> query.isNull(BusProcessHistory::getTaskId).isNull(BusProcessHistory::getUserId)
|
||||
.eq(BusProcessHistory::getIsMany,"1")
|
||||
.notLike(BusProcessHistory::getTaskKey,StandardCommentNewProcessNodeKeyEnum.SUB_PROCESS.getLable())
|
||||
.or().in(BusProcessHistory::getId,manyPidList)
|
||||
.or().isNotNull(BusProcessHistory::getTaskId)
|
||||
);
|
||||
} else {
|
||||
bphQueryWrap.lambda().and(
|
||||
query -> query.isNull(BusProcessHistory::getTaskId)
|
||||
.isNull(BusProcessHistory::getUserId)
|
||||
.eq(BusProcessHistory::getIsMany,"1")
|
||||
.or().isNotNull(BusProcessHistory::getTaskId)
|
||||
);
|
||||
}
|
||||
// bphQueryWrap.isNotNull("task_id");
|
||||
List<BusProcessHistory> bphList = this.list(bphQueryWrap);
|
||||
this.disposeData(bphList,busProcessHistory.getActiProcInstId());
|
||||
List<BusProcessHistory> firstBphList = bphList.stream().filter(bph -> StringUtils.isEmpty(bph.getManyPId())).distinct().collect(Collectors.toList());
|
||||
for (BusProcessHistory processHistory : firstBphList) {
|
||||
if (StringUtils.equals(processHistory.getIsMany(),"1")) {
|
||||
List<BusProcessHistory> childList = bphList.stream().filter(bph -> StringUtils.equals(processHistory.getId(), bph.getManyPId())).distinct().collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(childList)) {
|
||||
String taskStatus = TaskStatusEnum.DONE.getValue();
|
||||
for (BusProcessHistory history : childList) {
|
||||
if (StringUtils.equals(history.getTaskStatus(),TaskStatusEnum.TODO.getValue()) || StringUtils.equals(history.getTaskStatus(),TaskStatusEnum.RECEIVED.getValue())) {
|
||||
taskStatus = TaskStatusEnum.TODO.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
Date endTime = null;
|
||||
if (StringUtils.equals(taskStatus,TaskStatusEnum.DONE.getValue())) {
|
||||
// Collections.sort(childList,new Comparator<BusProcessHistory>(){
|
||||
// @Override
|
||||
// public int compare(BusProcessHistory o1, BusProcessHistory o2) {
|
||||
// return o2.getEndTime().compareTo(o1.getEndTime());
|
||||
// }
|
||||
// });
|
||||
|
||||
endTime = childList.get(childList.size()-1).getEndTime();
|
||||
}
|
||||
|
||||
String userNames = childList.stream().map(BusProcessHistory::getUserName).distinct().collect(Collectors.joining(","));
|
||||
|
||||
processHistory.setUserName(userNames);
|
||||
processHistory.setCreateTime(childList.get(0).getCreateTime());
|
||||
processHistory.setEndTime(endTime);
|
||||
processHistory.setTaskStatus(taskStatus);
|
||||
processHistory.setTaskStatusShow(TaskStatusEnum.getLabelByValue(taskStatus));
|
||||
processHistory.setChildren(childList);
|
||||
}
|
||||
}
|
||||
}
|
||||
List<BusProcessHistory> results = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(firstBphList)) {
|
||||
results = firstBphList.stream().filter(bph -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(bph.getIsMany(),"2") || (StringUtils.equals(bph.getIsMany(),"1") && CollectionUtils.isNotEmpty(bph.getChildren()))) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).distinct().collect(Collectors.toList());
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证用户是否只是参与子流程的。
|
||||
* @param bph
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
public boolean checkUserIsChildProcess(BusProcessHistory bph,String userId){
|
||||
boolean result = false;
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
this.setQueryCondition(bph, bphQueryWrap);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,userId);
|
||||
List<BusProcessHistory> busProcessHistoryList = this.list(bphQueryWrap);
|
||||
if (CollectionUtils.isNotEmpty(busProcessHistoryList)) {
|
||||
for (BusProcessHistory busProcessHistory : busProcessHistoryList) {
|
||||
if (StringUtils.isNotEmpty(busProcessHistory.getManyPId())) {
|
||||
BusProcessHistory byId = this.getById(busProcessHistory.getManyPId());
|
||||
if (StringUtils.contains(byId.getTaskKey(),StandardCommentNewProcessNodeKeyEnum.SUB_PROCESS.getLable())) {
|
||||
result = true;
|
||||
continue;
|
||||
} else {
|
||||
result = false;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BusProcessHistory> queryByList(BusProcessHistory busProcessHistory) {
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
this.setQueryCondition(busProcessHistory, bphQueryWrap);
|
||||
List<BusProcessHistory> results = this.list(bphQueryWrap);
|
||||
return results;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置查询条件
|
||||
* @param busProcessHistory
|
||||
* @param bphQueryWrap
|
||||
*/
|
||||
private void setQueryCondition(BusProcessHistory busProcessHistory, QueryWrapper<BusProcessHistory> bphQueryWrap) {
|
||||
if (StringUtils.isNotEmpty(busProcessHistory.getActiProcInstId())) {
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, busProcessHistory.getActiProcInstId());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(busProcessHistory.getTaskId())) {
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskId, busProcessHistory.getTaskId());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(busProcessHistory.getUserId())) {
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId, busProcessHistory.getUserId());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(busProcessHistory.getTaskKey())) {
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, busProcessHistory.getTaskKey());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(busProcessHistory.getFlowType())) {
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getFlowType, busProcessHistory.getFlowType());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(busProcessHistory.getTaskStatus())) {
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskStatus, busProcessHistory.getTaskStatus());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(busProcessHistory.getPId())) {
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getPId, busProcessHistory.getPId());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数据
|
||||
*
|
||||
* @param datas
|
||||
*/
|
||||
private List<BusProcessHistory> disposeData(List<BusProcessHistory> datas,String actiProcInstId) {
|
||||
List<BusProcessHistory> results = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(datas)) {
|
||||
BusProcessName bpn = null;
|
||||
if (StringUtils.isNotEmpty(actiProcInstId)) {
|
||||
QueryWrapper<BusProcessName> bpnQueryWrap = new QueryWrapper<>();
|
||||
bpnQueryWrap.lambda().eq(BusProcessName::getPrcId,actiProcInstId);
|
||||
bpn = this.busProcessNameService.getOne(bpnQueryWrap);
|
||||
}
|
||||
|
||||
for (BusProcessHistory data : datas) {
|
||||
if (StringUtils.isNotEmpty(data.getUserId())) {
|
||||
ResponseMessage<UserVO> assignee = lawsUserInfoService.getByIdFeignClientWithDisabled(data.getUserId());
|
||||
String userName = "";
|
||||
if (assignee.getData() != null) {
|
||||
if (assignee.getData().getDisableFlag() == 1) {
|
||||
userName = assignee.getData().getUname() + "(" + assignee.getData().getUsid() + ")" + "(已禁用)";
|
||||
} 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();
|
||||
}
|
||||
data.setUserName(userName);
|
||||
}
|
||||
|
||||
data.setTaskStatusShow(TaskStatusEnum.getLabelByValue(data.getTaskStatus()));
|
||||
String taskKeyShow = "";
|
||||
if (StringUtils.equals(data.getFlowType(),FlowTypeEnum.BZZQYJLC.getValue())) {
|
||||
taskKeyShow = StandardCommentNewProcessNodeKeyEnum.getLableByValue(data.getTaskKey());
|
||||
} else if (StringUtils.equals(data.getFlowType(),FlowTypeEnum.QBZXD_JSBZ.getValue())) {
|
||||
taskKeyShow = BussLibraryNodeKeyEnum.getLableByValue(data.getTaskKey());
|
||||
}
|
||||
data.setTaskKeyShow(taskKeyShow);
|
||||
|
||||
if (ObjectUtils.isNotEmpty(bpn)) {
|
||||
data.setPrcName(bpn.getPrcName());
|
||||
data.setPrcId(bpn.getPrcId());
|
||||
data.setPrcNum(bpn.getPrcNum());
|
||||
data.setBpnId(bpn.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertBatch(List<BusProcessHistory> busProcessHistoryList) {
|
||||
if (CollectionUtils.isNotEmpty(busProcessHistoryList)) {
|
||||
for (BusProcessHistory busProcessHistory : busProcessHistoryList) {
|
||||
if (StringUtils.isEmpty(busProcessHistory.getId())) {
|
||||
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");
|
||||
if (null == busProcessHistory.getCreateTime()) {
|
||||
busProcessHistory.setCreateTime(new Date());
|
||||
}
|
||||
}
|
||||
this.saveBatch(busProcessHistoryList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateBatch(List<BusProcessHistory> busProcessHistoryList) {
|
||||
if (CollectionUtils.isNotEmpty(busProcessHistoryList)) {
|
||||
this.updateBatchById(busProcessHistoryList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTaskInfo(DelegateTask delegateTask) {
|
||||
BusProcessHistory bph = new BusProcessHistory();
|
||||
bph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
bph.setTaskKey(delegateTask.getTaskDefinitionKey());
|
||||
bph.setUserId(delegateTask.getAssignee());
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
this.setQueryCondition(bph, bphQueryWrap);
|
||||
bphQueryWrap.isNull("task_id");
|
||||
List<BusProcessHistory> bphList = this.list(bphQueryWrap);
|
||||
if (CollectionUtils.isNotEmpty(bphList)) {
|
||||
BusProcessHistory busProcessHistory = bphList.get(0);
|
||||
busProcessHistory.setTaskId(delegateTask.getId());
|
||||
busProcessHistory.setTaskStatus(TaskStatusEnum.TODO.getValue());
|
||||
busProcessHistory.setImgShowColor("1");
|
||||
super.updateById(busProcessHistory);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void complete(BusMes busMes) {
|
||||
BusProcessHistory bph = new BusProcessHistory();
|
||||
bph.setTaskId(busMes.getTaskId());
|
||||
List<BusProcessHistory> bphList = this.queryByList(bph);
|
||||
if (CollectionUtils.isNotEmpty(bphList)) {
|
||||
JSONObject jsonObject = JSONObject.parseObject(busMes.getJson());
|
||||
bphList.forEach(busProcessHistory -> {
|
||||
busProcessHistory.setTaskStatus(TaskStatusEnum.DONE.getValue());
|
||||
busProcessHistory.setEndTime(new Date());
|
||||
busProcessHistory.setCommitText(jsonObject.getString("commentText"));
|
||||
busProcessHistory.setImgShowColor("2");
|
||||
});
|
||||
this.updateBatch(bphList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxOrderNum(String actiProcInstId, String taskKey) {
|
||||
int result = 0;
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,actiProcInstId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey,taskKey);
|
||||
bphQueryWrap.orderByDesc("order_num");
|
||||
List<BusProcessHistory> list = this.list(bphQueryWrap);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
result = list.get(0).getOrderNum();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param actiProcInstId 流程实例id
|
||||
* @param orderNum 排序号
|
||||
* @param dataNum 数据数量
|
||||
*/
|
||||
@Override
|
||||
public void updateOrderNum(String actiProcInstId, int orderNum ,int dataNum) {
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,actiProcInstId);
|
||||
bphQueryWrap.lambda().gt(BusProcessHistory::getOrderNum,orderNum);
|
||||
bphQueryWrap.isNull("task_id");
|
||||
List<BusProcessHistory> list = this.list(bphQueryWrap);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
for (BusProcessHistory busProcessHistory : list) {
|
||||
busProcessHistory.setOrderNum(busProcessHistory.getOrderNum() + dataNum);
|
||||
}
|
||||
this.updateBatch(list);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String,Object>> getImgDataList(BusProcessHistory busProcessHistory) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
this.setQueryCondition(busProcessHistory, bphQueryWrap);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getImgShowFlag,"1");
|
||||
bphQueryWrap.orderByAsc("order_num", "create_time");
|
||||
List<BusProcessHistory> bphList = this.list(bphQueryWrap);
|
||||
this.disposeData(bphList,busProcessHistory.getActiProcInstId());
|
||||
|
||||
FlowTypeEnum flowTypeEnum = FlowTypeEnum.getFlowTypeEnumByValue(busProcessHistory.getFlowType());
|
||||
switch (flowTypeEnum) {
|
||||
case BZZQYJLC:
|
||||
result = this.getBzzqyjlcImgDataList(bphList);
|
||||
break;
|
||||
case QBZXD_JSBZ:
|
||||
result = this.getQbzxdJsbzImgDataList(bphList);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changeUserIdByTaskId(String taskId,String afterUserId,String frontUserId) {
|
||||
if (StringUtils.isNotEmpty(taskId) && StringUtils.isNotEmpty(afterUserId) && StringUtils.isNotEmpty(frontUserId)) {
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskId, taskId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,frontUserId);
|
||||
BusProcessHistory bph = this.getOne(bphQueryWrap);
|
||||
if (ObjectUtils.isNotEmpty(bph)) {
|
||||
bph.setUserId(afterUserId);
|
||||
this.updateById(bph);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@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
|
||||
* @return
|
||||
*/
|
||||
private List<Map<String, Object>> getBzzqyjlcImgDataList(List<BusProcessHistory> bphList) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
|
||||
List<StandardCommentNewProcessNodeKeyEnum> standardCommentNewProcessNodeKeyEnum = StandardCommentNewProcessNodeKeyEnum.getStandardCommentNewProcessNodeKeyEnum();
|
||||
for (StandardCommentNewProcessNodeKeyEnum nodeKeyEnum : standardCommentNewProcessNodeKeyEnum) {
|
||||
Map<String, Object> tasksMap = this.getTasksMap(
|
||||
bphList,
|
||||
nodeKeyEnum.getValue(),
|
||||
nodeKeyEnum.getLable()
|
||||
);
|
||||
if (ObjectUtils.isNotEmpty(tasksMap)) {
|
||||
result.add(tasksMap);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* 获取企标制修订-技术标准流程图数据
|
||||
* @param bphList
|
||||
* @return
|
||||
*/
|
||||
private List<Map<String, Object>> getQbzxdJsbzImgDataList(List<BusProcessHistory> bphList) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
List<BussLibraryNodeKeyEnum> bussLibraryNodeKeyEnum = BussLibraryNodeKeyEnum.getBussLibraryNodeKeyEnum();
|
||||
for (BussLibraryNodeKeyEnum nodeKeyEnum : bussLibraryNodeKeyEnum) {
|
||||
Map<String, Object> tasksMap = this.getTasksMap(
|
||||
bphList,
|
||||
nodeKeyEnum.getValue(),
|
||||
nodeKeyEnum.getLable()
|
||||
);
|
||||
if (ObjectUtils.isNotEmpty(tasksMap)) {
|
||||
result.add(tasksMap);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private Map<String, Object> getTasksMap(List<BusProcessHistory> bphList,String taskKey,String taskKeyName) {
|
||||
Map<String, Object> tasksMap = new HashMap<>();
|
||||
if (CollectionUtils.isNotEmpty(bphList)) {
|
||||
List<BusProcessHistory> bphListByTaskKey = bphList.stream().filter(bph -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(bph.getTaskKey(), taskKey)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).distinct().collect(Collectors.toList());
|
||||
String taskStatus = "";
|
||||
String userNames = "";
|
||||
if (CollectionUtils.isNotEmpty(bphListByTaskKey)) {
|
||||
userNames = bphListByTaskKey.stream().filter(bph -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.isNotEmpty(bph.getUserName())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(BusProcessHistory::getUserName).distinct().collect(Collectors.joining(","));
|
||||
taskStatus = TaskStatusEnum.DONE.getValue();
|
||||
for (BusProcessHistory busProcessHistory : bphListByTaskKey) {
|
||||
|
||||
if (StringUtils.equals(busProcessHistory.getIsMany(),"1")) {
|
||||
List<BusProcessHistory> childList = bphList.stream().filter(bph -> StringUtils.equals(busProcessHistory.getId(), bph.getManyPId())).distinct().collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(childList)) {
|
||||
for (BusProcessHistory history : childList) {
|
||||
busProcessHistory.setTaskId(busProcessHistory.getId());
|
||||
busProcessHistory.setTaskStatus(TaskStatusEnum.DONE.getValue());
|
||||
// if (StringUtils.equals(history.getTaskStatus(),TaskStatusEnum.TODO.getValue()) || StringUtils.equals(history.getTaskStatus(),TaskStatusEnum.RECEIVED.getValue())) {
|
||||
// busProcessHistory.setTaskStatus(TaskStatusEnum.TODO.getValue());
|
||||
// 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;
|
||||
} else if (StringUtils.equals(history.getImgShowColor(), "0")) {
|
||||
busProcessHistory.setImgShowColor(history.getImgShowColor());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// if (StringUtils.isEmpty(busProcessHistory.getTaskId())
|
||||
// || StringUtils.equals(busProcessHistory.getTaskStatus(), TaskStatusEnum.TODO.getValue())
|
||||
// || StringUtils.equals(busProcessHistory.getTaskStatus(), TaskStatusEnum.RECEIVED.getValue())) {
|
||||
// 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;
|
||||
// }
|
||||
}
|
||||
|
||||
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("taskKeyName", taskKeyName);
|
||||
tasksMap.put("userNames", userNames);
|
||||
// 任务状态
|
||||
tasksMap.put("taskStatus", taskStatus);
|
||||
tasksMap.put("taskList", bphListByTaskKey);
|
||||
}
|
||||
return tasksMap;
|
||||
}
|
||||
}
|
||||
@@ -144,7 +144,7 @@ public class SendDeleteMQService {
|
||||
private void restSendDoneTodo(String object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{
|
||||
// 发送失败连续持续3次, 如果在失败等待1个小时后重试3次
|
||||
if(againNumNew < 6){
|
||||
Thread.sleep(3000);
|
||||
Thread.sleep(600000);
|
||||
logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!");
|
||||
|
||||
}else {
|
||||
|
||||
@@ -140,7 +140,7 @@ public class SendDoneMQService {
|
||||
private void restSendDoneTodo(NotifyTodoSendContext object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{
|
||||
// 发送失败连续持续3次, 如果在失败等待1个小时后重试3次
|
||||
if(againNumNew < 6){
|
||||
Thread.sleep(3000);
|
||||
Thread.sleep(600000);
|
||||
logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!");
|
||||
|
||||
}else {
|
||||
|
||||
@@ -175,7 +175,7 @@ public class SendMQService {
|
||||
private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{
|
||||
// 失败次数小于6次,放入失败队列延迟消费
|
||||
if((againNumNew < 6)){
|
||||
Thread.sleep(3000);
|
||||
Thread.sleep(600000);
|
||||
logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!");
|
||||
}else {
|
||||
logger.info("发送失败连续持续"+againNumNew+"次!!");
|
||||
|
||||
@@ -134,7 +134,8 @@ public class SendToBeReadMQService {
|
||||
private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew, String operMesg) throws Exception {
|
||||
// 失败次数小于6次,放入失败队列延迟消费
|
||||
if ((againNumNew < 6)) {
|
||||
Thread.sleep(3000);
|
||||
// 延迟10分钟
|
||||
Thread.sleep(600000);
|
||||
logger.info("发送失败连续持续" + againNumNew + "次,存入延迟重试队列!!!!!!!!!");
|
||||
} else {
|
||||
logger.info("发送失败连续持续" + againNumNew + "次!!");
|
||||
|
||||
@@ -62,8 +62,8 @@ public class OkHttpConfig {
|
||||
.sslSocketFactory(sslSocketFactory(), x509TrustManager())
|
||||
.retryOnConnectionFailure(false)//是否开启缓存
|
||||
.connectionPool(pool())//连接池
|
||||
.connectTimeout(10L, TimeUnit.SECONDS)
|
||||
.readTimeout(10L, TimeUnit.SECONDS)
|
||||
.connectTimeout(2L, TimeUnit.MINUTES)
|
||||
.readTimeout(2L, TimeUnit.MINUTES)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Component
|
||||
public class OkHttpUtil {
|
||||
@@ -257,20 +258,14 @@ public class OkHttpUtil {
|
||||
requestBuilder.addHeader(entry.getKey(), entry.getValue());
|
||||
}
|
||||
Request request = requestBuilder.post(requestBody).build();
|
||||
Response response = null;
|
||||
try {
|
||||
response = okHttpClient.newCall(request).execute();
|
||||
try (Response response = okHttpClient.newCall(request).execute()) {
|
||||
int status = response.code();
|
||||
if (status == 200) {
|
||||
return response.body().string();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e));
|
||||
return "okhttp post error >> ex = {} "+ e.getMessage();
|
||||
} finally {
|
||||
if (response != null) {
|
||||
response.close();
|
||||
}
|
||||
return "okhttp post error >> ex = {} " + e.getMessage();
|
||||
}
|
||||
return responseBody;
|
||||
}
|
||||
|
||||
+52
-2
@@ -5,6 +5,7 @@ import java.util.*;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.tmsps.fk.common.util.JsonUtil;
|
||||
import com.ydw.bat.wkflow.business_activiti.dto.*;
|
||||
@@ -22,8 +23,11 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService;
|
||||
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.ISendTodoLogService;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.impl.SendTodoLogServiceImpl;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.SendOAContent;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||
import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto;
|
||||
import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService;
|
||||
@@ -69,8 +73,54 @@ public class WebServiceOAController extends BaseAction {
|
||||
|
||||
@ApiOperation(value = "发送待办接口(")
|
||||
@PostMapping("/sendTodo")
|
||||
public NotifyTodoAppResult sendTodo() throws Exception{
|
||||
return webServiceOAService.sendTodo(new BusProcessNew());
|
||||
public NotifyTodoAppResult sendTodo(@RequestBody BusProcessNew busProcessNew) throws Exception{
|
||||
return webServiceOAService.sendTodo(busProcessNew);
|
||||
}
|
||||
|
||||
@ApiOperation("代主服务发送OA请求")
|
||||
@PostMapping("/replaceSendOA")
|
||||
public Wrapper<String> replaceSendOA(@RequestBody SendOAContent sendOAContent) {
|
||||
logger.info("收到主服务请求------------------------------------");
|
||||
logger.info("请求参数:{}", JSON.toJSONString(sendOAContent));
|
||||
String result = webServiceOAService.replaceSendOA(sendOAContent);
|
||||
return WrapMapper.ok(result);
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private ISendTodoLogService sendTodoLogService;
|
||||
@ApiOperation(value = "OA发送失败的补发")
|
||||
@GetMapping("/reissueSendOA")
|
||||
public String reissueSendOA() throws Exception {
|
||||
LambdaQueryWrapper<SendTodoLog> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SendTodoLog::getOperMesg,"okhttp post error >> ex = {} sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target");
|
||||
wrapper.gt(SendTodoLog::getCreateTime,"2024-04-19 18:00:00");
|
||||
wrapper.orderByAsc(SendTodoLog::getCreateTime);
|
||||
List<SendTodoLog> sendTodoLogList = sendTodoLogService.list(wrapper);
|
||||
for (SendTodoLog sendTodoLog : sendTodoLogList) {
|
||||
String msgType = sendTodoLog.getMsgType();
|
||||
String mesg = sendTodoLog.getMesg();
|
||||
JSONObject jsonObject = JSONObject.parseObject(mesg);
|
||||
if ("0".equals(msgType)) {
|
||||
// 待办
|
||||
JSONObject processNewJsonObject = jsonObject.getJSONObject("mesg");
|
||||
BusProcessNew busProcessNew = JSONObject.toJavaObject(processNewJsonObject, BusProcessNew.class);
|
||||
webServiceOAService.sendTodo(busProcessNew);
|
||||
Thread.sleep(3000);
|
||||
} else if ("1".equals(msgType)) {
|
||||
// 已办
|
||||
JSONObject notifyTodoSendContextJsonObject = JSONObject.parseObject(mesg);
|
||||
NotifyTodoSendContext notifyTodoSendContext = JSONObject.toJavaObject(notifyTodoSendContextJsonObject, NotifyTodoSendContext.class);
|
||||
webServiceOAService.setTodoDone(notifyTodoSendContext);
|
||||
Thread.sleep(3000);
|
||||
} else if ("3".equals(msgType)) {
|
||||
// 删除
|
||||
String todoId = sendTodoLog.getTodoId();
|
||||
String userId = sendTodoLog.getUserId();
|
||||
webServiceOAService.deleteOAByMandatory(todoId,userId);
|
||||
Thread.sleep(3000);
|
||||
}
|
||||
}
|
||||
return "ok";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -2,12 +2,11 @@ package com.ydw.bat.wkflow.business_oa.webService.service;
|
||||
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.SendOAContent;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppDeleteResult;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||
import org.activiti.engine.task.Task;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface WebServiceOAService {
|
||||
|
||||
void deleteOAByPid(String pId);
|
||||
@@ -26,4 +25,5 @@ public interface WebServiceOAService {
|
||||
|
||||
NotifyTodoAppResult sendToBeRead(BusProcessNew busProcessNew) throws Exception;
|
||||
|
||||
String replaceSendOA(SendOAContent sendOAContent);
|
||||
}
|
||||
|
||||
+14
-4
@@ -16,6 +16,7 @@ import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.HEAD;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.JsonSend;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoContent.SendOAContent;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppDeleteResult;
|
||||
import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -241,7 +242,8 @@ public class WebServiceOAServiceImpl implements WebServiceOAService {
|
||||
JsonSend jsonSend = new JsonSend();
|
||||
HEAD head = new HEAD();
|
||||
head.setACCOUNT("OA");
|
||||
head.setBIZTRANSACTIONID("SYC_161320210206133219");
|
||||
// head.setBIZTRANSACTIONID("SYC_161320210206133219");
|
||||
head.setBIZTRANSACTIONID("SPRS" + System.currentTimeMillis());
|
||||
head.setCONSUMER("SPRS");
|
||||
head.setCOUNT("1");
|
||||
head.setPASSWORD("TEST_oa201611241710");
|
||||
@@ -330,7 +332,8 @@ public class WebServiceOAServiceImpl implements WebServiceOAService {
|
||||
JsonSend jsonSend = new JsonSend();
|
||||
HEAD head = new HEAD();
|
||||
head.setACCOUNT("OA");
|
||||
head.setBIZTRANSACTIONID("SYC_161320210206133219");
|
||||
// head.setBIZTRANSACTIONID("SYC_161320210206133219");
|
||||
head.setBIZTRANSACTIONID("SPRS" + System.currentTimeMillis());
|
||||
head.setCONSUMER("SPRS");
|
||||
head.setCOUNT("1");
|
||||
head.setPASSWORD("oa201611241710");
|
||||
@@ -382,7 +385,8 @@ public class WebServiceOAServiceImpl implements WebServiceOAService {
|
||||
JsonSend jsonSend = new JsonSend();
|
||||
HEAD head = new HEAD();
|
||||
head.setACCOUNT("OA");
|
||||
head.setBIZTRANSACTIONID("SYC_161320210206133219");
|
||||
// head.setBIZTRANSACTIONID("SYC_161320210206133219");
|
||||
head.setBIZTRANSACTIONID("SPRS" + System.currentTimeMillis());
|
||||
head.setCONSUMER("SPRS");
|
||||
head.setCOUNT("1");
|
||||
head.setPASSWORD("oa201611241710");
|
||||
@@ -502,7 +506,8 @@ public class WebServiceOAServiceImpl implements WebServiceOAService {
|
||||
JsonSend jsonSend = new JsonSend();
|
||||
HEAD head = new HEAD();
|
||||
head.setACCOUNT("OA");
|
||||
head.setBIZTRANSACTIONID("SYC_161320210206133219");
|
||||
// head.setBIZTRANSACTIONID("SYC_161320210206133219");
|
||||
head.setBIZTRANSACTIONID("SPRS" + System.currentTimeMillis());
|
||||
head.setCONSUMER("SPRS");
|
||||
head.setCOUNT("1");
|
||||
head.setPASSWORD("oa201611241710");
|
||||
@@ -556,5 +561,10 @@ public class WebServiceOAServiceImpl implements WebServiceOAService {
|
||||
}
|
||||
return notifyTodoAppResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String replaceSendOA(SendOAContent sendOAContent) {
|
||||
return okHttpUtil.postForJson(sendOAContent.getUrl(), sendOAContent.getJson(), sendOAContent.getHeaderParams());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package com.ydw.bat.wkflow.business_oa.webService.todoContent;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author wxyclub
|
||||
* @description
|
||||
* @date 2024-03-31
|
||||
*/
|
||||
@Data
|
||||
public class SendOAContent implements Serializable {
|
||||
|
||||
String url;
|
||||
|
||||
String json;
|
||||
|
||||
Map<String, String> headerParams;
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
package com.ydw.bat.wkflow.config;
|
||||
|
||||
import com.alibaba.druid.filter.Filter;
|
||||
import com.alibaba.druid.filter.logging.Slf4jLogFilter;
|
||||
import com.alibaba.druid.filter.stat.StatFilter;
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.support.http.StatViewServlet;
|
||||
import com.alibaba.druid.support.http.WebStatFilter;
|
||||
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
|
||||
import com.alibaba.druid.wall.WallConfig;
|
||||
import com.alibaba.druid.wall.WallFilter;
|
||||
import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator;
|
||||
import org.springframework.boot.context.properties.bind.BindResult;
|
||||
import org.springframework.boot.context.properties.bind.Binder;
|
||||
import org.springframework.boot.context.properties.source.ConfigurationPropertySources;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
||||
import org.springframework.context.EnvironmentAware;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
|
||||
@Configuration
|
||||
@EnableTransactionManagement
|
||||
public class DruidDataSourceConfig implements EnvironmentAware {
|
||||
private Properties propertyResolver;
|
||||
|
||||
private Properties configResolver;
|
||||
|
||||
public DruidDataSourceConfig() {
|
||||
}
|
||||
|
||||
public void setEnvironment(Environment env) {
|
||||
Iterable sources = ConfigurationPropertySources.get(env);
|
||||
Binder binder = new Binder(sources);
|
||||
BindResult<Properties> propertyResolverBind = binder.bind("spring.datasource", Properties.class);
|
||||
BindResult<Properties> configResolverBind = binder.bind("spring.profiles", Properties.class);
|
||||
|
||||
propertyResolver= propertyResolverBind.get();
|
||||
configResolver = configResolverBind.get();
|
||||
}
|
||||
|
||||
|
||||
@Bean(
|
||||
name = {"dataSource"}
|
||||
)
|
||||
public DataSource dataSource() throws SQLException {
|
||||
DruidDataSource datasource = new DruidDataSource();
|
||||
datasource.setUrl(this.propertyResolver.getProperty("url"));
|
||||
datasource.setDriverClassName(this.propertyResolver.getProperty("driver-class-name"));
|
||||
datasource.setUsername(this.propertyResolver.getProperty("username"));
|
||||
datasource.setPassword(this.propertyResolver.getProperty("password"));
|
||||
datasource.setInitialSize(Integer.valueOf(this.propertyResolver.getProperty("initialSize")));
|
||||
datasource.setMinIdle(Integer.valueOf(this.propertyResolver.getProperty("minIdle")));
|
||||
datasource.setMaxWait(Long.valueOf(this.propertyResolver.getProperty("maxWait")));
|
||||
datasource.setMaxActive(Integer.valueOf(this.propertyResolver.getProperty("maxActive")));
|
||||
datasource.setTimeBetweenEvictionRunsMillis(Long.valueOf(this.propertyResolver.getProperty("timeBetweenEvictionRunsMillis")));
|
||||
datasource.setMinEvictableIdleTimeMillis(Long.valueOf(this.propertyResolver.getProperty("minEvictableIdleTimeMillis")));
|
||||
// datasource.setRemoveAbandoned(Boolean.valueOf(this.propertyResolver.getProperty("removeAbandoned")));
|
||||
// datasource.setRemoveAbandonedTimeout(Integer.valueOf(this.propertyResolver.getProperty("removeAbandonedTimeout")));
|
||||
datasource.setTestOnBorrow(Boolean.valueOf(this.propertyResolver.getProperty("testOnBorrow")));
|
||||
datasource.setTestOnReturn(Boolean.valueOf(this.propertyResolver.getProperty("testOnReturn")));
|
||||
datasource.setTestWhileIdle(Boolean.valueOf(this.propertyResolver.getProperty("testWhileIdle")));
|
||||
datasource.setValidationQuery(this.propertyResolver.getProperty("validationQuery"));
|
||||
// datasource.setValidationQueryTimeout(Integer.valueOf(this.propertyResolver.getProperty("validationQueryTimeout")));
|
||||
// datasource.setKeepAlive(Boolean.valueOf(this.propertyResolver.getProperty("keepAlive")));
|
||||
// if("prd".equals(this.configResolver.getProperty("active"))){
|
||||
// datasource.setConnectProperties(this.connectionProper());
|
||||
// }
|
||||
// datasource.setConnectProperties(this.connectionProper());
|
||||
List<Filter> filters = new ArrayList();
|
||||
filters.add(this.wallFilter());
|
||||
filters.add(this.statFilter());
|
||||
filters.add(this.slf4jLogFilter());
|
||||
// if("prd".equals(this.configResolver.getProperty("active"))){
|
||||
// filters.add(new ConfigFilter());
|
||||
// }
|
||||
// filters.add(new ConfigFilter());
|
||||
datasource.setProxyFilters(filters);
|
||||
// 启动时自动初始化维护连接
|
||||
datasource.init();
|
||||
return datasource;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public StatFilter statFilter() {
|
||||
StatFilter statFilter = new StatFilter();
|
||||
statFilter.setMergeSql(Boolean.valueOf(this.propertyResolver.getProperty("mergeSql")));
|
||||
statFilter.setSlowSqlMillis(Long.valueOf(this.propertyResolver.getProperty("slowSqlMillis")));
|
||||
statFilter.setLogSlowSql(Boolean.valueOf(this.propertyResolver.getProperty("logSlowSql")));
|
||||
return statFilter;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public WallFilter wallFilter() {
|
||||
WallFilter wallFilter = new WallFilter();
|
||||
wallFilter.setLogViolation(true);
|
||||
wallFilter.setThrowException(false);
|
||||
wallFilter.setConfig(this.wallConfig());
|
||||
return wallFilter;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Slf4jLogFilter slf4jLogFilter() {
|
||||
Slf4jLogFilter slf4jLogFilter = new Slf4jLogFilter();
|
||||
return slf4jLogFilter;
|
||||
}
|
||||
|
||||
public Properties connectionProper(){
|
||||
Properties connection=new Properties();
|
||||
connection.setProperty("config.decrypt","true");
|
||||
connection.setProperty("config.decrypt.key",this.propertyResolver.getProperty("publicKey"));
|
||||
return connection;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ServletRegistrationBean druidServlet() {
|
||||
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
|
||||
servletRegistrationBean.setServlet(new StatViewServlet());
|
||||
servletRegistrationBean.addUrlMappings(new String[]{"/druid/*"});
|
||||
Map<String, String> initParameters = new HashMap();
|
||||
initParameters.put("resetEnable", "true");
|
||||
initParameters.put("loginUsername", "druid");
|
||||
initParameters.put("loginPassword", "druid");
|
||||
servletRegistrationBean.setInitParameters(initParameters);
|
||||
return servletRegistrationBean;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FilterRegistrationBean filterRegistrationBean() {
|
||||
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
|
||||
filterRegistrationBean.setFilter(new WebStatFilter());
|
||||
filterRegistrationBean.addUrlPatterns(new String[]{"/*"});
|
||||
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");
|
||||
return filterRegistrationBean;
|
||||
}
|
||||
|
||||
@Bean({"druid-stat-interceptor"})
|
||||
public DruidStatInterceptor DruidStatInterceptor() {
|
||||
DruidStatInterceptor druidStatInterceptor = new DruidStatInterceptor();
|
||||
return druidStatInterceptor;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public BeanNameAutoProxyCreator beanNameAutoProxyCreator() {
|
||||
BeanNameAutoProxyCreator beanNameAutoProxyCreator = new BeanNameAutoProxyCreator();
|
||||
beanNameAutoProxyCreator.setProxyTargetClass(true);
|
||||
beanNameAutoProxyCreator.setInterceptorNames(new String[]{"druid-stat-interceptor"});
|
||||
return beanNameAutoProxyCreator;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public WallConfig wallConfig() {
|
||||
WallConfig wallConfig = new WallConfig();
|
||||
wallConfig.setMultiStatementAllow(true);
|
||||
return wallConfig;
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ public class JSFApproveBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ public class JSFAuditBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -22,6 +22,7 @@ public class JSFFillinformationBefore implements TaskListener {
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -66,20 +67,21 @@ public class JSFstartAfter implements TaskListener {
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
if (null != object.getString("commentText")) {
|
||||
BusProcessNew busProcessNews = new BusProcessNew();
|
||||
busProcessNews.setMsgType("clause");
|
||||
busProcessNews.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNews.setMesg(object.toJSONString());
|
||||
busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNews.setFinishFlag("0");
|
||||
busProcessNews.setTaskInfo(delegateTask.getName());
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setUserId("start");
|
||||
busProcessNews.setPrcName(prcName);
|
||||
BusProcessNew busProcessNews = new BusProcessNew();
|
||||
busProcessNews.setMsgType("clause");
|
||||
busProcessNews.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNews.setMesg(object.toJSONString());
|
||||
busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNews.setFinishFlag("0");
|
||||
busProcessNews.setTaskInfo(delegateTask.getName());
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setUserId("start");
|
||||
busProcessNews.setPrcName(prcName);
|
||||
if (object.containsKey("commentText") && StringUtils.isNotBlank(object.getString("commentText"))) {
|
||||
busProcessNews.setCommitFlag("1");
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
busBean.save(busProcessNews);
|
||||
}
|
||||
busBean.save(busProcessNews);
|
||||
|
||||
if (nextUserList != null && !nextUserList.isEmpty()) {
|
||||
for (String nextUser : nextUserList) {
|
||||
|
||||
+1
@@ -21,6 +21,7 @@ public class PRFApproveBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -21,6 +21,7 @@ public class PRFEngineerreviewBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -21,6 +21,7 @@ public class PRFFillinformationBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -21,6 +21,7 @@ public class PRFReviewdockBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -21,6 +21,7 @@ public class PRFUnderengineerBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+16
-14
@@ -11,6 +11,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -33,7 +34,7 @@ public class PRFstartAfter implements TaskListener {
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson", object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
String ids=object.getString("dockUser");
|
||||
if(ids.contains(",")){
|
||||
nextUserList=new ArrayList<>(Arrays.asList(ids.split(",")));
|
||||
@@ -55,7 +56,7 @@ public class PRFstartAfter implements TaskListener {
|
||||
delegateTask.setVariable("prcCreateUserName", username);
|
||||
|
||||
String prcName = "参与外部标准制修订备案-备案任务下发";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
|
||||
@@ -67,20 +68,21 @@ public class PRFstartAfter implements TaskListener {
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
if (null != object.getString("commentText")) {
|
||||
BusProcessNew busProcessNews = new BusProcessNew();
|
||||
busProcessNews.setMsgType("clause");
|
||||
busProcessNews.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNews.setMesg(object.toJSONString());
|
||||
busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNews.setFinishFlag("0");
|
||||
busProcessNews.setTaskInfo(delegateTask.getName());
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setUserId("start");
|
||||
busProcessNews.setPrcName(prcName);
|
||||
BusProcessNew busProcessNews = new BusProcessNew();
|
||||
busProcessNews.setMsgType("clause");
|
||||
busProcessNews.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNews.setMesg(object.toJSONString());
|
||||
busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNews.setFinishFlag("0");
|
||||
busProcessNews.setTaskInfo(delegateTask.getName());
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setUserId("start");
|
||||
busProcessNews.setPrcName(prcName);
|
||||
if (object.containsKey("commentText") && StringUtils.isNotBlank(object.getString("commentText"))) {
|
||||
busProcessNews.setCommitFlag("1");
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
busBean.save(busProcessNews);
|
||||
}
|
||||
busBean.save(busProcessNews);
|
||||
|
||||
if (nextUserList != null && !nextUserList.isEmpty()) {
|
||||
for (String nextUser : nextUserList) {
|
||||
|
||||
@@ -21,6 +21,7 @@ public class RAApproveBefore implements TaskListener{
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ public class RAAuditAfter implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
JSONObject roleForm = object.getJSONObject("roleForm");
|
||||
delegateTask.setVariable("objectJson", object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
@@ -46,8 +47,8 @@ public class RAAuditAfter implements TaskListener {
|
||||
}
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String user = object.getString("prcCreateUser");
|
||||
String username = object.getString("prcCreateUserName");
|
||||
String user = roleForm.getString("prcCreateUser");
|
||||
String username = roleForm.getString("prcCreateUserName");
|
||||
delegateTask.setVariable("prcCreateUser", user);
|
||||
delegateTask.setVariable("prcCreateUserName", username);
|
||||
String prcName="";
|
||||
|
||||
@@ -21,6 +21,7 @@ public class RAAuditBefore implements TaskListener{
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+17
-7
@@ -12,6 +12,7 @@ import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class RAModifyInformationAfter implements TaskListener {
|
||||
@@ -31,19 +32,27 @@ public class RAModifyInformationAfter implements TaskListener {
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson", object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
|
||||
nextUserList.addAll(delegateTask.getVariable("leadershiplist",List.class));
|
||||
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String user = object.getString("prcCreateUser");
|
||||
String username = object.getString("prcCreateUserName");
|
||||
JSONObject roleForm = object.getJSONObject("roleForm");
|
||||
String user = roleForm.getString("prcCreateUser");
|
||||
String username = roleForm.getString("prcCreateUserName");
|
||||
String dockUser = roleForm.getString("dockUser");
|
||||
List<String> dockUserList = Arrays.asList(dockUser.split(","));
|
||||
delegateTask.setVariable("prcCreateUser", user);
|
||||
delegateTask.setVariable("prcCreateUserName", username);
|
||||
|
||||
// 赋值
|
||||
delegateTask.setVariable("leadershiplist", dockUserList);
|
||||
delegateTask.setVariable("statuteminister1", roleForm.getString("ministerUser"));
|
||||
delegateTask.setVariable("director1", roleForm.getString("directorUser"));
|
||||
delegateTask.setVariable("dean1", roleForm.getString("president"));
|
||||
delegateTask.setVariable("statuteengineer3", roleForm.getString("passUser"));
|
||||
nextUserList.addAll(dockUserList);
|
||||
|
||||
String prcName = "外部署名推荐批准-署名领导会签";
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
|
||||
@@ -52,6 +61,7 @@ public class RAModifyInformationAfter implements TaskListener {
|
||||
// one1.setPrcName(prcName);
|
||||
one1.setCreatUser(user);
|
||||
one1.setCreatUserName(username);
|
||||
one1.setMes(datas.getFormValsJson());
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
|
||||
+1
@@ -21,6 +21,7 @@ public class RAModifyInformationBefore implements TaskListener{
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ public class RASignAfter implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
JSONObject roleForm = object.getJSONObject("roleForm");
|
||||
delegateTask.setVariable("objectJson", object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
@@ -46,8 +47,8 @@ public class RASignAfter implements TaskListener {
|
||||
}
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String user = object.getString("prcCreateUser");
|
||||
String username = object.getString("prcCreateUserName");
|
||||
String user = roleForm.getString("prcCreateUser");
|
||||
String username = roleForm.getString("prcCreateUserName");
|
||||
delegateTask.setVariable("prcCreateUser", user);
|
||||
delegateTask.setVariable("prcCreateUserName", username);
|
||||
String prcName="";
|
||||
@@ -58,7 +59,7 @@ public class RASignAfter implements TaskListener {
|
||||
}
|
||||
|
||||
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ public class RASignBefore implements TaskListener{
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+5
-4
@@ -32,9 +32,10 @@ public class RAValidationAfter implements TaskListener {
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
JSONObject roleForm = object.getJSONObject("roleForm");
|
||||
delegateTask.setVariable("objectJson", object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
if(object.getString("signFlag").equals("1")) {
|
||||
delegateTask.setVariable("zrFlag", 1);
|
||||
@@ -47,8 +48,8 @@ public class RAValidationAfter implements TaskListener {
|
||||
}
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String user = object.getString("prcCreateUser");
|
||||
String username = object.getString("prcCreateUserName");
|
||||
String user = roleForm.getString("prcCreateUser");
|
||||
String username = roleForm.getString("prcCreateUserName");
|
||||
delegateTask.setVariable("prcCreateUser", user);
|
||||
delegateTask.setVariable("prcCreateUserName", username);
|
||||
|
||||
@@ -59,7 +60,7 @@ public class RAValidationAfter implements TaskListener {
|
||||
prcName = "外部署名推荐批准-修改信息";
|
||||
}
|
||||
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ public class RAValidationBefore implements TaskListener{
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -69,20 +71,22 @@ public class RAstartAfter implements TaskListener {
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
if (null != object.getString("commentText")) {
|
||||
BusProcessNew busProcessNews = new BusProcessNew();
|
||||
busProcessNews.setMsgType("clause");
|
||||
busProcessNews.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNews.setMesg(object.toJSONString());
|
||||
busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNews.setFinishFlag("0");
|
||||
busProcessNews.setTaskInfo(delegateTask.getName());
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setUserId("start");
|
||||
busProcessNews.setPrcName(prcName);
|
||||
BusProcessNew busProcessNews = new BusProcessNew();
|
||||
busProcessNews.setMsgType("clause");
|
||||
busProcessNews.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNews.setMesg(object.toJSONString());
|
||||
busProcessNews.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNews.setFinishFlag("0");
|
||||
busProcessNews.setTaskInfo(delegateTask.getName());
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setUserId("start");
|
||||
busProcessNews.setPrcName(prcName);
|
||||
if (object.containsKey("commentText") && StringUtils.isNotBlank(object.getString("commentText"))) {
|
||||
busProcessNews.setCommitFlag("1");
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
busBean.save(busProcessNews);
|
||||
}
|
||||
busBean.save(busProcessNews);
|
||||
|
||||
|
||||
if (nextUserList != null && !nextUserList.isEmpty()) {
|
||||
for (String nextUser : nextUserList) {
|
||||
|
||||
+184
@@ -5,18 +5,24 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.tmsps.fk.common.util.JsonUtil;
|
||||
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.business_slrs.dao.SarPublicIdea;
|
||||
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 com.ydw.bat.wkflow.util.http.ResponseMessage;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -96,6 +102,11 @@ public class StartSurveyAfter implements TaskListener {
|
||||
int i=0;
|
||||
for(String nextUser : nextUserList){
|
||||
object.put("onlyKey", i);
|
||||
// 定义一个子流程id,子流程id,就是子流程的发起人id + - + 流程实例id
|
||||
String subProcessKey = nextUser + "-" + delegateTask.getProcessInstanceId();
|
||||
String subProcessId = UUID.randomUUID().toString();
|
||||
delegateTask.setVariable(subProcessKey,subProcessId);
|
||||
object.put("subProcessId",subProcessId);
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
@@ -160,5 +171,178 @@ public class StartSurveyAfter implements TaskListener {
|
||||
if(!result.isOk()){
|
||||
throw new ActivitiException("发起公开征求意见失败");
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask){
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
|
||||
// 起草
|
||||
BusProcessHistory qcBph = new BusProcessHistory();
|
||||
qcBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
qcBph.setUserId(delegateTask.getAssignee());
|
||||
qcBph.setTaskId(delegateTask.getId());
|
||||
qcBph.setTaskKey(delegateTask.getTaskDefinitionKey());
|
||||
qcBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
qcBph.setIsSub("2");
|
||||
qcBph.setTaskStatus(TaskStatusEnum.DONE.getValue());
|
||||
qcBph.setEndTime(new Date());
|
||||
qcBph.setCommitText(json.getString("commentText"));
|
||||
qcBph.setIsMany("2");
|
||||
qcBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION1.getOrderNum());
|
||||
bphList.add(qcBph);
|
||||
|
||||
// 子流程
|
||||
// 子流程主键id
|
||||
// String subId = UUID.randomUUID().toString();
|
||||
// delegateTask.setVariable("subId",subId);
|
||||
//
|
||||
// BusProcessHistory zlcBph = new BusProcessHistory();
|
||||
// zlcBph.setId(subId);
|
||||
// zlcBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
// zlcBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
// zlcBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.SUB_PROCESS.getValue());
|
||||
// zlcBph.setIsSub("1");
|
||||
// bphList.add(zlcBph);
|
||||
|
||||
List<String> zrUserIdList = new ArrayList<>();
|
||||
if (json.getString("dockUserList").contains(",")){
|
||||
zrUserIdList.addAll(new ArrayList<>(Arrays.asList(json.getString("dockUserList").split(","))));
|
||||
}else {
|
||||
zrUserIdList.add(json.getString("dockUserList"));
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(zrUserIdList)) {
|
||||
int subProcessIndex = 1;
|
||||
for (String zrUserId : zrUserIdList) {
|
||||
// 任务分发
|
||||
// 获取在上面设置的子流程主键id
|
||||
String subProcessKey = zrUserId + "-" + delegateTask.getProcessInstanceId();
|
||||
String subProcessId = (String) delegateTask.getVariable(subProcessKey);
|
||||
|
||||
BusProcessHistory rwffBphP = new BusProcessHistory();
|
||||
rwffBphP.setId(subProcessId);
|
||||
rwffBphP.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
rwffBphP.setTaskKey(StandardCommentNewProcessNodeKeyEnum.SUB_PROCESS.getLable() + subProcessIndex);
|
||||
rwffBphP.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
rwffBphP.setOrderNum(StandardCommentNewProcessNodeKeyEnum.SUB_PROCESS.getOrderNum());
|
||||
rwffBphP.setIsSub("1");
|
||||
rwffBphP.setIsMany("1");
|
||||
rwffBphP.setCreateTime(new Date());
|
||||
bphList.add(rwffBphP);
|
||||
|
||||
BusProcessHistory rwffBph = new BusProcessHistory();
|
||||
rwffBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
rwffBph.setUserId(zrUserId);
|
||||
rwffBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION2.getValue());
|
||||
rwffBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
rwffBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION2.getOrderNum());
|
||||
rwffBph.setIsSub("2");
|
||||
rwffBph.setIsMany("2");
|
||||
rwffBph.setManyPId(subProcessId);
|
||||
rwffBph.setCreateTime(new Date());
|
||||
bphList.add(rwffBph);
|
||||
|
||||
// 停1秒钟,确保流程历史中的子流程没问题。
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
subProcessIndex ++;
|
||||
|
||||
// // 意见汇总审批
|
||||
// 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");
|
||||
BusProcessHistory yjspBph = new BusProcessHistory();
|
||||
yjspBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjspBph.setUserId(spId);
|
||||
yjspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getValue());
|
||||
yjspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
yjspBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getOrderNum());
|
||||
yjspBph.setIsSub("2");
|
||||
yjspBph.setIsMany("2");
|
||||
bphList.add(yjspBph);
|
||||
|
||||
// 管理员
|
||||
String bzfgId = json.getString("bzfgId");
|
||||
BusProcessHistory glyBph = new BusProcessHistory();
|
||||
glyBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
glyBph.setUserId(bzfgId);
|
||||
glyBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION6.getValue());
|
||||
glyBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
glyBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION6.getOrderNum());
|
||||
glyBph.setIsSub("2");
|
||||
glyBph.setIsMany("2");
|
||||
bphList.add(glyBph);*/
|
||||
}
|
||||
}
|
||||
|
||||
// 意见处理
|
||||
String bzfgIdSum = json.getString("startUser");
|
||||
BusProcessHistory yjclBph = new BusProcessHistory();
|
||||
yjclBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjclBph.setUserId(bzfgIdSum);
|
||||
yjclBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION7.getValue());
|
||||
yjclBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
yjclBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION7.getOrderNum());
|
||||
yjclBph.setIsSub("2");
|
||||
yjclBph.setIsMany("2");
|
||||
bphList.add(yjclBph);
|
||||
|
||||
// 批准
|
||||
String presidentUser = json.getString("presidentUser");
|
||||
BusProcessHistory pzBph = new BusProcessHistory();
|
||||
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pzBph.setUserId(presidentUser);
|
||||
pzBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION11.getValue());
|
||||
pzBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
pzBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION11.getOrderNum());
|
||||
pzBph.setIsSub("2");
|
||||
pzBph.setIsMany("2");
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
+46
-4
@@ -3,18 +3,21 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
|
||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||
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.entity.ResponseMessage;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.*;
|
||||
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.business_slrs.dao.SarPublicIdeaAll;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -168,5 +171,44 @@ public class Step10After implements TaskListener {
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加节点流程历史
|
||||
* @param json
|
||||
* @param delegateTask
|
||||
*/
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
String presidentFlag = (String) delegateTask.getVariable("presidentFlag");
|
||||
// 如果是驳回,流程走向意见处理节点,否则流程结束
|
||||
if (StringUtils.equals(presidentFlag,"1")) {
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION11.getValue());
|
||||
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 流程走向意见处理节点
|
||||
String bzfgIdSum = json.getString("startUser");
|
||||
BusProcessHistory yjclBph = new BusProcessHistory();
|
||||
yjclBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjclBph.setUserId(bzfgIdSum);
|
||||
yjclBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION7.getValue());
|
||||
yjclBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
yjclBph.setOrderNum(orderNum);
|
||||
yjclBph.setIsSub("2");
|
||||
yjclBph.setIsMany("2");
|
||||
bphList.add(yjclBph);
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -30,5 +31,8 @@ public class Step10Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,18 +3,24 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
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.business_slrs.dao.SarPublicIdea;
|
||||
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.http.ResponseMessage;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
@@ -121,5 +127,67 @@ public class Step1After implements TaskListener {
|
||||
busProcessNewNext.setUserId(delegateTask.getVariable("dockUser",String.class));
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
List<String> yjfkUserIdList = Arrays.asList(json.getString("responUserList").split(","));
|
||||
// 意见反馈
|
||||
if (CollectionUtils.isNotEmpty(yjfkUserIdList)) {
|
||||
String subProcessId = json.getString("subProcessId");
|
||||
if (StringUtils.isNotEmpty(subProcessId)) {
|
||||
for (String yjfkUserId : yjfkUserIdList) {
|
||||
BusProcessHistory yjfkBph = new BusProcessHistory();
|
||||
yjfkBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjfkBph.setUserId(yjfkUserId);
|
||||
yjfkBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION3.getValue());
|
||||
yjfkBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
yjfkBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION3.getOrderNum());
|
||||
yjfkBph.setIsSub("2");
|
||||
yjfkBph.setIsMany("1");
|
||||
yjfkBph.setManyPId(subProcessId);
|
||||
yjfkBph.setParentUserId(delegateTask.getAssignee());
|
||||
bphList.add(yjfkBph);
|
||||
}
|
||||
} else {
|
||||
String yjfkPBphId = (String) delegateTask.getVariable("yjfkPBphId");
|
||||
if (StringUtils.isEmpty(yjfkPBphId)) {
|
||||
BusProcessHistory yjfkPBph = new BusProcessHistory();
|
||||
yjfkPBphId = UUID.randomUUID().toString();
|
||||
yjfkPBph.setId(yjfkPBphId);
|
||||
yjfkPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjfkPBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION3.getValue());
|
||||
yjfkPBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
yjfkPBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION3.getOrderNum());
|
||||
yjfkPBph.setIsSub("2");
|
||||
yjfkPBph.setIsMany("1");
|
||||
bphList.add(yjfkPBph);
|
||||
}
|
||||
|
||||
for (String yjfkUserId : yjfkUserIdList) {
|
||||
BusProcessHistory yjfkBph = new BusProcessHistory();
|
||||
yjfkBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjfkBph.setUserId(yjfkUserId);
|
||||
yjfkBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION3.getValue());
|
||||
yjfkBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
yjfkBph.setOrderNum(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION3.getOrderNum());
|
||||
yjfkBph.setIsSub("2");
|
||||
yjfkBph.setIsMany("1");
|
||||
yjfkBph.setManyPId(yjfkPBphId);
|
||||
yjfkBph.setParentUserId(delegateTask.getAssignee());
|
||||
bphList.add(yjfkBph);
|
||||
}
|
||||
|
||||
delegateTask.setVariable("yjfkPBphId",yjfkPBphId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
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.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import com.ydw.bat.wkflow.util.enums.TaskStatusEnum;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -32,5 +36,9 @@ public class Step1Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,16 +4,22 @@ 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;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
@@ -111,5 +117,47 @@ 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<>();
|
||||
|
||||
String subProcessId = json.getString("subProcessId");
|
||||
// 意见汇总审批
|
||||
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");
|
||||
if (StringUtils.isNotEmpty(subProcessId)) {
|
||||
yjhzspBph.setManyPId(subProcessId);
|
||||
}
|
||||
bphList.add(yjhzspBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -32,5 +33,7 @@ public class Step2Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,15 +3,21 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
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 org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
@@ -87,5 +93,42 @@ public class Step3After implements TaskListener {
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
String spId = json.getString("spId");
|
||||
|
||||
// 如果存在批准节点的数据,taskId为空。 不用添加,否则就是退回过 需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,spId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 意见审批
|
||||
BusProcessHistory pzBph = new BusProcessHistory();
|
||||
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pzBph.setUserId(spId);
|
||||
pzBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getValue());
|
||||
pzBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
pzBph.setIsSub("2");
|
||||
pzBph.setIsMany("2");
|
||||
String subProcessId = json.getString("subProcessId");
|
||||
if (StringUtils.isNotEmpty(subProcessId)) {
|
||||
pzBph.setManyPId(subProcessId);
|
||||
}
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue());
|
||||
pzBph.setOrderNum(orderNum + 1);
|
||||
|
||||
bphList.add(pzBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -31,5 +32,7 @@ public class Step3Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,15 +3,22 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
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.BussLibraryNodeKeyEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
@@ -93,5 +100,73 @@ public class Step4After implements TaskListener {
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加节点流程历史
|
||||
* @param json
|
||||
* @param delegateTask
|
||||
*/
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
String spFlag = json.getString("spFlag");
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
|
||||
String subProcessId = json.getString("subProcessId");
|
||||
// 如果是驳回,流程走向意见处理节点,否则流程结束
|
||||
if (!StringUtils.equals(spFlag,"0")) {
|
||||
String zrUserId = json.getString("SKS");
|
||||
// 意见汇总审批
|
||||
BusProcessHistory yjhzspBph = new BusProcessHistory();
|
||||
yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjhzspBph.setUserId(zrUserId);
|
||||
yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue());
|
||||
yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getValue());
|
||||
yjhzspBph.setOrderNum(orderNum + 1);
|
||||
yjhzspBph.setIsSub("2");
|
||||
yjhzspBph.setIsMany("2");
|
||||
if (StringUtils.isNotEmpty(subProcessId)) {
|
||||
yjhzspBph.setManyPId(subProcessId);
|
||||
}
|
||||
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为空。 不用添加,否则就是退回过 需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,bzfgId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey,StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION6.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
// 管理员
|
||||
BusProcessHistory glyBph = new BusProcessHistory();
|
||||
glyBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
glyBph.setUserId(bzfgId);
|
||||
glyBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION6.getValue());
|
||||
glyBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION5.getValue());
|
||||
glyBph.setOrderNum(orderNum + 1);
|
||||
glyBph.setIsSub("2");
|
||||
glyBph.setIsMany("2");
|
||||
if (StringUtils.isNotEmpty(subProcessId)) {
|
||||
glyBph.setManyPId(subProcessId);
|
||||
}
|
||||
glyBph.setParentUserId(delegateTask.getAssignee());
|
||||
bphList.add(glyBph);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
}
|
||||
bphService.insertBatch(bphList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -31,5 +32,8 @@ public class Step4Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,15 +4,20 @@ 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 org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -121,5 +126,45 @@ public class Step5After implements TaskListener {
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加节点流程历史
|
||||
* @param json
|
||||
* @param delegateTask
|
||||
*/
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
String bzFlag = json.getString("bzFlag");
|
||||
// 如果是驳回,流程走向意见处理节点
|
||||
if (!StringUtils.equals(bzFlag,"0")) {
|
||||
String zrUserId = json.getString("SKS");
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
|
||||
String subProcessId = json.getString("subProcessId");
|
||||
// 意见汇总审批
|
||||
BusProcessHistory yjhzspBph = new BusProcessHistory();
|
||||
yjhzspBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjhzspBph.setUserId(zrUserId);
|
||||
yjhzspBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION4.getValue());
|
||||
yjhzspBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION6.getValue());
|
||||
yjhzspBph.setOrderNum(orderNum + 1);
|
||||
yjhzspBph.setIsSub("2");
|
||||
yjhzspBph.setIsMany("2");
|
||||
if (StringUtils.isNotEmpty(subProcessId)) {
|
||||
yjhzspBph.setManyPId(subProcessId);
|
||||
}
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -32,5 +33,8 @@ public class Step5Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,15 +3,20 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
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 org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -87,5 +92,43 @@ public class Step6After implements TaskListener {
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 会签
|
||||
List<String> hqUserIdList = delegateTask.getVariable("Step6", List.class);
|
||||
if (CollectionUtils.isNotEmpty(hqUserIdList)) {
|
||||
// 会签节点父节点信息
|
||||
BusProcessHistory hqPBph = new BusProcessHistory();
|
||||
String hqPBphId = UUID.randomUUID().toString();
|
||||
hqPBph.setId(hqPBphId);
|
||||
hqPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
hqPBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue());
|
||||
hqPBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION7.getValue());
|
||||
hqPBph.setOrderNum(orderNum + 1);
|
||||
hqPBph.setIsSub("2");
|
||||
hqPBph.setIsMany("1");
|
||||
bphList.add(hqPBph);
|
||||
|
||||
for (String hqUsserId : hqUserIdList) {
|
||||
BusProcessHistory hqBph = new BusProcessHistory();
|
||||
hqBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
hqBph.setUserId(hqUsserId);
|
||||
hqBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue());
|
||||
hqBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
hqBph.setOrderNum(orderNum + 1);
|
||||
hqBph.setIsSub("2");
|
||||
hqBph.setIsMany("1");
|
||||
hqBph.setManyPId(hqPBphId);
|
||||
bphList.add(hqBph);
|
||||
}
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
bphService.insertBatch(bphList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -31,5 +32,8 @@ public class Step6Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,16 +2,23 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
|
||||
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 org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@@ -126,5 +133,78 @@ public class Step7After implements TaskListener {
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask,nextUserList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加节点流程历史
|
||||
* @param json
|
||||
* @param delegateTask
|
||||
* @param shUserIdList
|
||||
*/
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask,List<String> shUserIdList) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class);
|
||||
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
|
||||
delegateTask.getProcessInstanceId(),
|
||||
delegateTask.getTaskDefinitionKey(),
|
||||
delegateTask.getId()
|
||||
);
|
||||
// 如果当前会签节点不存在任务了。
|
||||
if (!existTaskFlag) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION8.getValue());
|
||||
|
||||
String hqFlag = (String) delegateTask.getVariable("hqFlag");
|
||||
if (StringUtils.equals(hqFlag,"0")) {
|
||||
// 审核
|
||||
if (CollectionUtils.isNotEmpty(shUserIdList)) {
|
||||
// 审核节点父节点信息
|
||||
BusProcessHistory shPBph = new BusProcessHistory();
|
||||
String shPBphId = UUID.randomUUID().toString();
|
||||
shPBph.setId(shPBphId);
|
||||
shPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
shPBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION9.getValue());
|
||||
shPBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
shPBph.setOrderNum(orderNum + 1);
|
||||
shPBph.setIsSub("2");
|
||||
shPBph.setIsMany("1");
|
||||
bphList.add(shPBph);
|
||||
|
||||
for (String shUserId : shUserIdList) {
|
||||
BusProcessHistory shBph = new BusProcessHistory();
|
||||
shBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
shBph.setUserId(shUserId);
|
||||
shBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION9.getValue());
|
||||
shBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
shBph.setOrderNum(orderNum + 1);
|
||||
shBph.setIsSub("2");
|
||||
shBph.setIsMany("1");
|
||||
shBph.setManyPId(shPBphId);
|
||||
bphList.add(shBph);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 流程走向意见处理节点
|
||||
String bzfgIdSum = json.getString("startUser");
|
||||
BusProcessHistory yjclBph = new BusProcessHistory();
|
||||
yjclBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjclBph.setUserId(bzfgIdSum);
|
||||
yjclBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION7.getValue());
|
||||
yjclBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
yjclBph.setOrderNum(orderNum + 1);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -31,5 +32,8 @@ public class Step7Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,20 +2,29 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
|
||||
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 org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
//新征求意见流程!!!!!
|
||||
public class Step8After implements TaskListener {
|
||||
@@ -114,5 +123,91 @@ public class Step8After implements TaskListener {
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask,nextUserList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加节点流程历史
|
||||
* @param json
|
||||
* @param delegateTask
|
||||
* @param sdUserIdList
|
||||
*/
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask,List<String> sdUserIdList) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class);
|
||||
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
|
||||
delegateTask.getProcessInstanceId(),
|
||||
delegateTask.getTaskDefinitionKey(),
|
||||
delegateTask.getId()
|
||||
);
|
||||
// 如果当前审核节点不存在任务了。
|
||||
if (!existTaskFlag) {
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION9.getValue());
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
|
||||
String bdFlag = (String) delegateTask.getVariable("bdFlag");
|
||||
if (StringUtils.equals(bdFlag,"0")) {
|
||||
// 审定
|
||||
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();
|
||||
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(orderNum + 1);
|
||||
sdPBph.setIsSub("2");
|
||||
sdPBph.setIsMany("1");
|
||||
bphList.add(sdPBph);
|
||||
|
||||
for (String sdUserId : sdUserIdList) {
|
||||
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(orderNum + 1);
|
||||
sdBph.setIsSub("2");
|
||||
sdBph.setIsMany("1");
|
||||
sdBph.setManyPId(sdPBphId);
|
||||
bphList.add(sdBph);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 流程走向意见处理节点
|
||||
String bzfgIdSum = json.getString("startUser");
|
||||
BusProcessHistory yjclBph = new BusProcessHistory();
|
||||
yjclBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjclBph.setUserId(bzfgIdSum);
|
||||
yjclBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION7.getValue());
|
||||
yjclBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
yjclBph.setOrderNum(orderNum + 1);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -32,5 +33,8 @@ public class Step8Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,20 +2,28 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService;
|
||||
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 io.swagger.models.auth.In;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
//新征求意见流程!!!!!
|
||||
public class Step9After implements TaskListener {
|
||||
@@ -110,5 +118,74 @@ public class Step9After implements TaskListener {
|
||||
}
|
||||
}
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加节点流程历史
|
||||
* @param json
|
||||
* @param delegateTask
|
||||
*/
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class);
|
||||
boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey(
|
||||
delegateTask.getProcessInstanceId(),
|
||||
delegateTask.getTaskDefinitionKey(),
|
||||
delegateTask.getId()
|
||||
);
|
||||
// 如果当前审定节点不存在任务了。
|
||||
if (!existTaskFlag) {
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION10.getValue());
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
|
||||
String directorFlag = (String) delegateTask.getVariable("directorFlag");
|
||||
// 如果是通过,流程走向批准节点
|
||||
if (StringUtils.equals(directorFlag,"0")) {
|
||||
String presidentUser = json.getString("presidentUser");
|
||||
|
||||
// 如果存在批准节点的数据,taskId为空。 不用添加,否则就是退回过 需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,presidentUser);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey,StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION11.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
// 批准
|
||||
BusProcessHistory pzBph = new BusProcessHistory();
|
||||
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pzBph.setUserId(presidentUser);
|
||||
pzBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION11.getValue());
|
||||
pzBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
pzBph.setOrderNum(orderNum + 1);
|
||||
pzBph.setIsSub("2");
|
||||
pzBph.setIsMany("2");
|
||||
bphList.add(pzBph);
|
||||
}
|
||||
} else {
|
||||
// 流程走向意见处理节点
|
||||
String bzfgIdSum = json.getString("startUser");
|
||||
BusProcessHistory yjclBph = new BusProcessHistory();
|
||||
yjclBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
yjclBph.setUserId(bzfgIdSum);
|
||||
yjclBph.setTaskKey(StandardCommentNewProcessNodeKeyEnum.STAND_ASK_FOR_OPINION7.getValue());
|
||||
yjclBph.setFlowType(FlowTypeEnum.BZZQYJLC.getValue());
|
||||
yjclBph.setOrderNum(orderNum + 1);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentNewProcess;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
@@ -30,5 +31,8 @@ public class Step9Before implements TaskListener {
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ public class ChargeVerifyBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -23,6 +23,7 @@ public class DirectorChooseBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -23,6 +23,7 @@ public class EngineerReviseBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -23,6 +23,7 @@ public class EngineerReviseDoneBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ public class LeaderVerifyBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ public class ManageSignBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -23,6 +23,7 @@ public class PresidentVerifyBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+5
-4
@@ -61,7 +61,7 @@ public class WriteMaterialAfter implements TaskListener {
|
||||
String standName = object.getString("listName");
|
||||
delegateTask.setVariable("listName", standName);
|
||||
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if (one1 != null) {
|
||||
@@ -71,7 +71,6 @@ public class WriteMaterialAfter implements TaskListener {
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
if (null != object.getString("commentText")) {
|
||||
BusProcessNew busProcessNews = new BusProcessNew();
|
||||
busProcessNews.setMsgType("clause");
|
||||
busProcessNews.setPId(delegateTask.getProcessInstanceId());
|
||||
@@ -82,9 +81,11 @@ public class WriteMaterialAfter implements TaskListener {
|
||||
busProcessNews.setTaskId(delegateTask.getId());
|
||||
busProcessNews.setUserId("start");
|
||||
busProcessNews.setPrcName(prcName);
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
if (object.containsKey("commentText") && StringUtils.isNotBlank(object.getString("commentText"))) {
|
||||
busProcessNews.setCommitFlag("1");
|
||||
busProcessNews.setCommitText(object.getString("commentText"));
|
||||
}
|
||||
busBean.save(busProcessNews);
|
||||
}
|
||||
|
||||
|
||||
JSONObject object1 = object.getJSONObject("ch_pageData");
|
||||
|
||||
@@ -24,6 +24,7 @@ public class WriteMaterialBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
+1
@@ -23,6 +23,7 @@ public class WriteMemberInfoBefore implements TaskListener {
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew one1 = list.get(0);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
one1.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.*;
|
||||
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.business_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
@@ -29,29 +30,48 @@ public class ProcessStep6After implements TaskListener {
|
||||
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
||||
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
|
||||
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
|
||||
//根据流程id找到流程信息
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson", object);
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
//标准法规部业务经理Id ${sdFlag==0} bafzFlag
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
if ("0".equals(object.getString("bafzFlag"))){
|
||||
delegateTask.setVariable("bafzFlag","0");
|
||||
//入库"3lqnlgmgcn"
|
||||
if ("废止".equals(object.getString("nextStatus"))) {
|
||||
SarBussionessStand sarBussionessStand = new SarBussionessStand();
|
||||
sarBussionessStand.setTextStatusBuss(object.getString("standtextStatus"));
|
||||
sarBussionessStand.setId(object.getString("standId"));
|
||||
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
|
||||
Map<String,Object> bussAttrInfoMap = lawsUserInfoService.getBussAttrInfo(object.getString("standId"));
|
||||
if(bussAttrInfoMap != null){
|
||||
bussAttrInfoMap.replace("FZRQBUSS",dateFormat.format(new Date()));
|
||||
// SarBussionessStand sarBussionessStand = new SarBussionessStand();
|
||||
// sarBussionessStand.setTextStatusBuss(object.getString("standtextStatus"));
|
||||
// sarBussionessStand.setId(object.getString("standId"));
|
||||
// SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
|
||||
// Map<String,Object> bussAttrInfoMap = lawsUserInfoService.getBussAttrInfo(object.getString("standId"));
|
||||
// if(bussAttrInfoMap != null){
|
||||
// bussAttrInfoMap.replace("FZRQBUSS",dateFormat.format(new Date()));
|
||||
// }
|
||||
// String as = JSONObject.toJSONString(bussAttrInfoMap);
|
||||
// sarBussionessStand.setSarStandAttrEOStr(as);
|
||||
// lawsUserInfoService.updateSarBussionessStand(sarBussionessStand);
|
||||
String prcNum = null;
|
||||
if (one1 != null) {
|
||||
prcNum = one1.getPrcNum();
|
||||
}
|
||||
// 变更标准状态
|
||||
ResponseMessage<Boolean> result = lawsUserInfoService.changeStandStatus(
|
||||
object.getString("standId"),
|
||||
object.getString("standCode"),
|
||||
object.getString("standtextStatus"),
|
||||
object.getString("prcCreateUser"),
|
||||
prcNum);
|
||||
if(!result.getData()){
|
||||
throw new ActivitiException("标准状态变更失败");
|
||||
}
|
||||
String as = JSONObject.toJSONString(bussAttrInfoMap);
|
||||
sarBussionessStand.setSarStandAttrEOStr(as);
|
||||
lawsUserInfoService.updateSarBussionessStand(sarBussionessStand);
|
||||
}
|
||||
}else {
|
||||
delegateTask.setVariable("bafzFlag","1");
|
||||
@@ -68,9 +88,6 @@ public class ProcessStep6After implements TaskListener {
|
||||
prcName = "企标废止";
|
||||
}
|
||||
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if (one1 != null) {
|
||||
if ("0".equals(object.getString("bafzFlag"))){
|
||||
one1.setOverTime(OVERTIME);
|
||||
@@ -81,6 +98,24 @@ public class ProcessStep6After implements TaskListener {
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
String csrUserIds = object.getString("csrUserIds");
|
||||
if (StringUtils.isNotEmpty(csrUserIds)) {
|
||||
String[] csrUserIdList = csrUserIds.split(",");
|
||||
for (String csrUserId : csrUserIdList) {
|
||||
// 发送 oa 待阅
|
||||
BusProcessNew sendToBeReadBpn = new BusProcessNew();
|
||||
sendToBeReadBpn.setId(UUID.randomUUID().toString().substring(0, 20));
|
||||
sendToBeReadBpn.setTaskId(delegateTask.getId());
|
||||
sendToBeReadBpn.setTaskInfo(delegateTask.getName());
|
||||
sendToBeReadBpn.setLink("qbfzStep7?prcType=24&operate=view");
|
||||
sendToBeReadBpn.setTaskInfo(delegateTask.getName());
|
||||
sendToBeReadBpn.setUserId(csrUserId);
|
||||
sendToBeReadBpn.setPrcName(prcName);
|
||||
sendToBeReadBpn.setPId(delegateTask.getProcessInstanceId());
|
||||
|
||||
oaService.sendToBeReadMq(sendToBeReadBpn);
|
||||
}
|
||||
}
|
||||
|
||||
// 存储当前节点意见1
|
||||
if (null != object.getString("commentText")) {
|
||||
|
||||
@@ -8,19 +8,25 @@ import com.ydw.bat.wkflow.business_main.datas.mapper.EsTechRelationMapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.*;
|
||||
import com.ydw.bat.wkflow.listener.bussLibrary.Utils.FlowFinishEnum;
|
||||
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 com.ydw.bat.wkflow.util.enums.TaskStatusEnum;
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.util.JSONTokener;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.tomcat.util.digester.ArrayStack;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 发起企标制修订流程后
|
||||
@@ -42,8 +48,12 @@ public class BLApplicantAfter implements TaskListener{
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
@@ -53,9 +63,16 @@ public class BLApplicantAfter implements TaskListener{
|
||||
String username = object.getString("prcCreateUserName");
|
||||
String prcName = "";
|
||||
if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){
|
||||
String standSort = object.getString("standSort");
|
||||
if (standSort.contains("[")) {
|
||||
standSort = standSort.substring(2, standSort.length() - 2);
|
||||
// String standSort = object.getString("standSort");
|
||||
// if (standSort.contains("[")) {
|
||||
// standSort = standSort.substring(2, standSort.length() - 2);
|
||||
// }
|
||||
String standSort = "";
|
||||
Object json = new JSONTokener(object.getString("standSort")).nextValue();
|
||||
if(json instanceof JSONArray) {
|
||||
standSort = object.getJSONArray("standSort").get(0).toString();
|
||||
}else{
|
||||
standSort = object.getString("standSort");
|
||||
}
|
||||
prcName = standSort+"-"+object.getString("standName") + "-企标制修订";
|
||||
}else {
|
||||
@@ -104,7 +121,7 @@ public class BLApplicantAfter implements TaskListener{
|
||||
// throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户");
|
||||
// }
|
||||
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -121,14 +138,14 @@ public class BLApplicantAfter implements TaskListener{
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
// busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busBean.save(busProcessNew);
|
||||
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
if(!nextUserList.isEmpty()){
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
@@ -182,9 +199,230 @@ public class BLApplicantAfter implements TaskListener{
|
||||
}
|
||||
}
|
||||
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
private String verifyObj(String str){
|
||||
return (str == null || str.equals("")) ? "" : str;
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask){
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
|
||||
// 起草
|
||||
BusProcessHistory qcBph = new BusProcessHistory();
|
||||
qcBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
qcBph.setUserId(delegateTask.getAssignee());
|
||||
qcBph.setTaskId(delegateTask.getId());
|
||||
qcBph.setTaskKey(delegateTask.getTaskDefinitionKey());
|
||||
qcBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
qcBph.setIsSub("2");
|
||||
qcBph.setTaskStatus(TaskStatusEnum.DONE.getValue());
|
||||
qcBph.setEndTime(new Date());
|
||||
qcBph.setCommitText(json.getString("commentText"));
|
||||
qcBph.setIsMany("2");
|
||||
qcBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY1.getOrderNum());
|
||||
bphList.add(qcBph);
|
||||
|
||||
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());
|
||||
qbbxPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getOrderNum());
|
||||
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(BussLibraryNodeKeyEnum.BUSS_LIBRARY2.getOrderNum());
|
||||
qbbxBph.setIsSub("2");
|
||||
qbbxBph.setIsMany("1");
|
||||
qbbxBph.setManyPId(qbbxPBphId);
|
||||
bphList.add(qbbxBph);
|
||||
}
|
||||
}
|
||||
|
||||
// 企标编写汇总
|
||||
String hzUserId = json.getString("hzUserId");
|
||||
BusProcessHistory qbbxhzBph = new BusProcessHistory();
|
||||
qbbxhzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
qbbxhzBph.setUserId(hzUserId);
|
||||
qbbxhzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY3.getValue());
|
||||
qbbxhzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
qbbxhzBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY3.getOrderNum());
|
||||
qbbxhzBph.setIsSub("2");
|
||||
qbbxhzBph.setIsMany("2");
|
||||
bphList.add(qbbxhzBph);
|
||||
|
||||
// 标准化初审
|
||||
String bzhUserId = json.getString("bzhUserId");
|
||||
BusProcessHistory bzhcsBph = new BusProcessHistory();
|
||||
bzhcsBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
bzhcsBph.setUserId(bzhUserId);
|
||||
bzhcsBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getValue());
|
||||
bzhcsBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
bzhcsBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getOrderNum());
|
||||
bzhcsBph.setIsSub("2");
|
||||
bzhcsBph.setIsMany("2");
|
||||
bphList.add(bzhcsBph);
|
||||
|
||||
// 征求意见
|
||||
List<String> hqUserIdList = Arrays.asList(json.getString("hqUserId").split(","));
|
||||
if (CollectionUtils.isNotEmpty(hqUserIdList)) {
|
||||
// 企标编写节点父节点信息
|
||||
BusProcessHistory zqyjPBph = new BusProcessHistory();
|
||||
String zqyjPBphId = UUID.randomUUID().toString();
|
||||
zqyjPBph.setId(zqyjPBphId);
|
||||
zqyjPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
zqyjPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getValue());
|
||||
zqyjPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
zqyjPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getOrderNum());
|
||||
zqyjPBph.setIsSub("2");
|
||||
zqyjPBph.setIsMany("1");
|
||||
bphList.add(zqyjPBph);
|
||||
|
||||
for (String hqUserId : hqUserIdList) {
|
||||
BusProcessHistory zqyjBph = new BusProcessHistory();
|
||||
zqyjBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
zqyjBph.setUserId(hqUserId);
|
||||
zqyjBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getValue());
|
||||
zqyjBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
zqyjBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getOrderNum());
|
||||
zqyjBph.setIsSub("2");
|
||||
zqyjBph.setIsMany("1");
|
||||
zqyjBph.setManyPId(zqyjPBphId);
|
||||
bphList.add(zqyjBph);
|
||||
}
|
||||
}
|
||||
|
||||
// 技术委员会评审、评审意见修改
|
||||
String xdUserId = json.getString("xdUserId");
|
||||
BusProcessHistory psyjxgBph = new BusProcessHistory();
|
||||
psyjxgBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
psyjxgBph.setUserId(xdUserId);
|
||||
psyjxgBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY6.getValue());
|
||||
psyjxgBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
psyjxgBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY6.getOrderNum());
|
||||
psyjxgBph.setIsSub("2");
|
||||
psyjxgBph.setIsMany("2");
|
||||
bphList.add(psyjxgBph);
|
||||
|
||||
// 标准化复审
|
||||
String fggcsUserId = json.getString("fggcsUserId");
|
||||
BusProcessHistory hzhfsBph = new BusProcessHistory();
|
||||
hzhfsBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
hzhfsBph.setUserId(fggcsUserId);
|
||||
hzhfsBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
|
||||
hzhfsBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
hzhfsBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getOrderNum());
|
||||
hzhfsBph.setIsSub("2");
|
||||
hzhfsBph.setIsMany("2");
|
||||
bphList.add(hzhfsBph);
|
||||
|
||||
// 起草单位高级经理审核
|
||||
String jsfzrUserId = json.getString("jsfzrUserId");
|
||||
BusProcessHistory qcdwgjjlshBph = new BusProcessHistory();
|
||||
qcdwgjjlshBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
qcdwgjjlshBph.setUserId(jsfzrUserId);
|
||||
qcdwgjjlshBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue());
|
||||
qcdwgjjlshBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
qcdwgjjlshBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getOrderNum());
|
||||
qcdwgjjlshBph.setIsSub("2");
|
||||
qcdwgjjlshBph.setIsMany("2");
|
||||
bphList.add(qcdwgjjlshBph);
|
||||
|
||||
// 标准法规部高级经理审核
|
||||
String bzUserId = json.getString("bzUserId");
|
||||
BusProcessHistory bzfgbgjjlshBph = new BusProcessHistory();
|
||||
bzfgbgjjlshBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
bzfgbgjjlshBph.setUserId(bzUserId);
|
||||
bzfgbgjjlshBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getValue());
|
||||
bzfgbgjjlshBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
bzfgbgjjlshBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY9.getOrderNum());
|
||||
bzfgbgjjlshBph.setIsSub("2");
|
||||
bzfgbgjjlshBph.setIsMany("2");
|
||||
bphList.add(bzfgbgjjlshBph);
|
||||
|
||||
// 审定-起草单位中心主任
|
||||
String fzrUserId = json.getString("fzrUserId");
|
||||
BusProcessHistory sdBph = new BusProcessHistory();
|
||||
sdBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
sdBph.setUserId(fzrUserId);
|
||||
sdBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
|
||||
sdBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
sdBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getOrderNum());
|
||||
sdBph.setIsSub("2");
|
||||
sdBph.setIsMany("2");
|
||||
bphList.add(sdBph);
|
||||
|
||||
// 批准
|
||||
String zhrUserId = json.getString("zhrUserId");
|
||||
List<String> zhrUserIdList = Arrays.stream(zhrUserId.split(",")).filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(qcUserIdList)) {
|
||||
// 批准节点父节点信息
|
||||
BusProcessHistory pzPBph = new BusProcessHistory();
|
||||
String pzPBphId = UUID.randomUUID().toString();
|
||||
pzPBph.setId(pzPBphId);
|
||||
pzPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pzPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||
pzPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
pzPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getOrderNum());
|
||||
pzPBph.setIsSub("2");
|
||||
pzPBph.setIsMany("1");
|
||||
bphList.add(pzPBph);
|
||||
|
||||
for (String eachZhrUserId : zhrUserIdList) {
|
||||
// 批准子节点信息
|
||||
BusProcessHistory pzBph = new BusProcessHistory();
|
||||
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pzBph.setUserId(eachZhrUserId);
|
||||
pzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||
pzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
pzBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getOrderNum());
|
||||
pzBph.setIsSub("2");
|
||||
pzBph.setIsMany("1");
|
||||
pzBph.setManyPId(pzPBphId);
|
||||
bphList.add(pzBph);
|
||||
}
|
||||
}
|
||||
|
||||
// 培训
|
||||
String pxUserId = json.getString("pxUserId");
|
||||
BusProcessHistory pxBph = new BusProcessHistory();
|
||||
pxBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pxBph.setUserId(pxUserId);
|
||||
pxBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY12.getValue());
|
||||
pxBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
pxBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY12.getOrderNum());
|
||||
pxBph.setIsSub("2");
|
||||
pxBph.setIsMany("2");
|
||||
bphList.add(pxBph);
|
||||
|
||||
// 发布
|
||||
String fbUserId = json.getString("fbUserId");
|
||||
BusProcessHistory fbBph = new BusProcessHistory();
|
||||
fbBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
fbBph.setUserId(fbUserId);
|
||||
fbBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY13.getValue());
|
||||
fbBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
fbBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY13.getOrderNum());
|
||||
fbBph.setIsSub("2");
|
||||
fbBph.setIsMany("2");
|
||||
bphList.add(fbBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.BusProcessNew;
|
||||
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.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.business_main.datas.service.*;
|
||||
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.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.tomcat.util.digester.ArrayStack;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 重新发起企标制修订流程后
|
||||
@@ -35,7 +35,12 @@ public class BLApplicantC1After implements TaskListener{
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
@@ -93,7 +98,7 @@ public class BLApplicantC1After implements TaskListener{
|
||||
// throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户");
|
||||
// }
|
||||
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -106,18 +111,19 @@ public class BLApplicantC1After implements TaskListener{
|
||||
}
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if (list.isEmpty()) {
|
||||
throw new ActivitiException("流程实例不存在");
|
||||
}
|
||||
// 当前节点
|
||||
BusProcessNew busProcessNew = list.get(0);
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busBean.save(busProcessNew);
|
||||
busProcessNew.setTaskId(delegateTask.getName());
|
||||
busBean.saveOrUpdate(busProcessNew);
|
||||
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
if(!nextUserList.isEmpty()){
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
@@ -137,6 +143,46 @@ public class BLApplicantC1After implements TaskListener{
|
||||
|
||||
// 生成 模板
|
||||
// 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){
|
||||
|
||||
@@ -2,11 +2,14 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -18,7 +21,7 @@ public class BLApplicantC1Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -30,10 +33,21 @@ public class BLApplicantC1Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibraryC1?prcType=buss1");
|
||||
String link = "bussLibraryC1?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibraryC1&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,20 +2,30 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
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.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.BussLibraryNodeKeyEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.RepositoryService;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.repository.ProcessDefinition;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 专委会副主任/起草单位中心主任审定后
|
||||
@@ -23,18 +33,28 @@ import java.util.List;
|
||||
public class BussLibrary10After implements TaskListener{
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class);
|
||||
// 获取当前流程的流程定义
|
||||
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
|
||||
.processDefinitionId(delegateTask.getProcessDefinitionId())
|
||||
.singleResult();
|
||||
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString();
|
||||
String user = object.getString("prcCreateUser");
|
||||
@@ -45,7 +65,7 @@ public class BussLibrary10After implements TaskListener{
|
||||
}else {
|
||||
prcName = "企标制修订";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -59,12 +79,19 @@ public class BussLibrary10After implements TaskListener{
|
||||
|
||||
if(StringUtils.isNotBlank(approvalOpinion)){
|
||||
if ("0".equalsIgnoreCase(approvalOpinion)) {
|
||||
if(StringUtils.isNotBlank(object.getString("zhrUserId"))){
|
||||
String zhrUserId = object.getString("zhrUserId");
|
||||
if(StringUtils.isNotBlank(zhrUserId)){
|
||||
List<String> zhrUserIdList = Arrays.stream(zhrUserId.split(",")).filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
||||
// 对旧数据做兼容,如果流程定义版本低于13则是旧数据,批准节点是单人处理,之后的版本是多人处理
|
||||
if (processDefinition.getVersion() <= 13) {
|
||||
delegateTask.setVariable("zhrUserId",zhrUserIdList.get(0));
|
||||
} else {
|
||||
delegateTask.setVariable("zhrUserId",zhrUserIdList);
|
||||
}
|
||||
nextUserList.addAll(zhrUserIdList);
|
||||
|
||||
delegateTask.setVariable("zhrUserId",object.getString("zhrUserId"));
|
||||
nextUserList.add(object.getString("zhrUserId"));
|
||||
|
||||
BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
||||
// BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
||||
BussUtils.approvalFunc3(delegateTask, object, prcName, nextUserList);
|
||||
delegateTask.setVariable("fzrFlag", 0);
|
||||
}else {
|
||||
throw new ActivitiException("1#2副主任用户参数不存在,请配置相关用户");
|
||||
@@ -81,7 +108,7 @@ public class BussLibrary10After implements TaskListener{
|
||||
busProcessNew.setUserId(object.getString("xdUserId"));
|
||||
busProcessNew.setPrcName(prcName);
|
||||
busBean.save(busProcessNew);
|
||||
|
||||
busProcessNew.setCommitFlag("1");
|
||||
BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1");
|
||||
delegateTask.setVariable("cxdUserId",object.getString("xdUserId"));
|
||||
delegateTask.setVariable("fzrFlag", 1);
|
||||
@@ -92,9 +119,126 @@ public class BussLibrary10After implements TaskListener{
|
||||
}else {
|
||||
throw new ActivitiException("1#2 提交OR驳回参数不存在");
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask, processDefinition);
|
||||
}
|
||||
|
||||
private String verifyObj(String str){
|
||||
return (str == null || str.equals("")) ? "" : str;
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask, ProcessDefinition processDefinition) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
|
||||
Integer fzrFlag = (Integer) delegateTask.getVariable("fzrFlag");
|
||||
if (fzrFlag == 0) {
|
||||
String zhrUserId = json.getString("zhrUserId");
|
||||
List<String> zhrUserIdList = Arrays.stream(zhrUserId.split(",")).filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
||||
// 对旧数据做兼容,如果流程定义版本低于13则是旧数据,批准节点是单人处理,之后的版本是多人处理
|
||||
if (processDefinition.getVersion() <= 13) {
|
||||
// 如果存在 批准 节点的数据,taskId为空。 不用添加,否则需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId, zhrUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 批准
|
||||
BusProcessHistory pzBph = new BusProcessHistory();
|
||||
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pzBph.setUserId(zhrUserId);
|
||||
pzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||
pzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
pzBph.setIsSub("2");
|
||||
pzBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(), BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
|
||||
pzBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(pzBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size());
|
||||
}
|
||||
} else {
|
||||
if (CollectionUtils.isNotEmpty(zhrUserIdList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
|
||||
String pzPBphId = UUID.randomUUID().toString();
|
||||
for (String userId : zhrUserIdList) {
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,userId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
BusProcessHistory pzBph = new BusProcessHistory();
|
||||
pzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pzBph.setUserId(userId);
|
||||
pzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||
pzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
pzBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getOrderNum());
|
||||
pzBph.setIsSub("2");
|
||||
pzBph.setIsMany("1");
|
||||
pzBph.setManyPId(pzPBphId);
|
||||
pzBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(pzBph);
|
||||
}
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(bphList)) {
|
||||
BusProcessHistory pzPBph = new BusProcessHistory();
|
||||
pzPBph.setId(pzPBphId);
|
||||
pzPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pzPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||
pzPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
pzPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getOrderNum());
|
||||
pzPBph.setIsSub("2");
|
||||
pzPBph.setIsMany("1");
|
||||
pzPBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(pzPBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (fzrFlag == 1) {
|
||||
String cxdUserId = (String) delegateTask.getVariable("cxdUserId");
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId, cxdUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY_C6.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 重新技术委员会评审、评审意见修改
|
||||
BusProcessHistory psyjxgBph = new BusProcessHistory();
|
||||
psyjxgBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
psyjxgBph.setUserId(cxdUserId);
|
||||
psyjxgBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY_C6.getValue());
|
||||
psyjxgBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
psyjxgBph.setIsSub("2");
|
||||
psyjxgBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(), BussLibraryNodeKeyEnum.BUSS_LIBRARY10.getValue());
|
||||
psyjxgBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(psyjxgBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
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");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,14 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -18,7 +21,7 @@ public class BussLibrary10Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -30,10 +33,21 @@ public class BussLibrary10Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary10?prcType=buss1");
|
||||
String link = "bussLibrary10?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary10&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,32 @@
|
||||
package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.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.business_oa.webService.service.WebServiceOAService;
|
||||
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.HistoryService;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricTaskInstance;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 专委会主任/总院院长或主管副院长批准后
|
||||
@@ -26,15 +37,21 @@ public class BussLibrary11After implements TaskListener{
|
||||
IDatasService datasService = SpringContextUtil.getBean(IDatasService.class);
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
|
||||
WebServiceOAService webServiceOAService = SpringContextUtil.getBean(WebServiceOAService.class);
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString();
|
||||
String user = object.getString("prcCreateUser");
|
||||
@@ -45,7 +62,7 @@ public class BussLibrary11After implements TaskListener{
|
||||
}else {
|
||||
prcName = "企标制修订";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -64,13 +81,78 @@ public class BussLibrary11After implements TaskListener{
|
||||
delegateTask.setVariable("pxUserId",object.getString("pxUserId"));
|
||||
nextUserList.add(object.getString("pxUserId"));
|
||||
|
||||
BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
||||
// 存储当前节点意见
|
||||
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if (list.isEmpty()) {
|
||||
throw new ActivitiException("流程实例不存在");
|
||||
}
|
||||
// 当前节点
|
||||
BusProcessNew busProcessNew = list.get(0);
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(busProcessNew);
|
||||
|
||||
// 下一个节点
|
||||
try {
|
||||
Integer nrOfCompletedInstances = delegateTask.getVariable("nrOfCompletedInstances", Integer.class);
|
||||
if (nrOfCompletedInstances == 0) {
|
||||
for (String nextUser : nextUserList) {
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
} catch (NullPointerException e) {
|
||||
// 对旧数据做兼容,旧流程是单人处理节点没有 nrOfCompletedInstances
|
||||
for (String nextUser : nextUserList) {
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
|
||||
delegateTask.setVariable("zrFlag", 0);
|
||||
}else {
|
||||
throw new ActivitiException("1#2主起草人用户参数不存在,请配置相关用户");
|
||||
}
|
||||
} else {
|
||||
HistoryService historyService = SpringContextUtil.getBean(HistoryService.class);
|
||||
|
||||
// 改为多人处理节点后需要驳回需要删除未完成人员的待办OA
|
||||
List<HistoricTaskInstance> historicTaskInstanceList = historyService.createHistoricTaskInstanceQuery()
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())
|
||||
.taskDefinitionKey(delegateTask.getTaskDefinitionKey())
|
||||
.unfinished()
|
||||
.list();
|
||||
List<String> unFinishedTaskIdList = historicTaskInstanceList.stream()
|
||||
.map(HistoricTaskInstance::getId)
|
||||
.filter(taskId -> !Objects.equals(taskId, delegateTask.getId()))
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(unFinishedTaskIdList)) {
|
||||
LambdaQueryWrapper<BusProcessNew> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(BusProcessNew::getPId, delegateTask.getProcessInstanceId());
|
||||
wrapper.in(BusProcessNew::getTaskId, unFinishedTaskIdList);
|
||||
List<BusProcessNew> busProcessNewList = busBean.list(wrapper);
|
||||
for (BusProcessNew busProcessNew : busProcessNewList) {
|
||||
webServiceOAService.deleteOAByMandatory(busProcessNew.getId(), busProcessNew.getUserId());
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(object.getString("xdUserId"))) {
|
||||
// 驳回节点数据
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
@@ -92,9 +174,79 @@ public class BussLibrary11After implements TaskListener{
|
||||
}else {
|
||||
throw new ActivitiException("1#2 提交OR驳回参数不存在");
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
private String verifyObj(String str){
|
||||
return (str == null || str.equals("")) ? "" : str;
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
|
||||
Integer zrFlag = (Integer) delegateTask.getVariable("zrFlag");
|
||||
if (zrFlag == 0) {
|
||||
String pxUserId = json.getString("pxUserId");
|
||||
// 如果存在 批准 节点的数据,taskId为空。 不用添加,否则需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId, pxUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY12.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 培训
|
||||
BusProcessHistory pxBph = new BusProcessHistory();
|
||||
pxBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
pxBph.setUserId(pxUserId);
|
||||
pxBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY12.getValue());
|
||||
pxBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
pxBph.setIsSub("2");
|
||||
pxBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(), BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||
pxBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(pxBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(), orderNum + 1, bphList.size());
|
||||
}
|
||||
} else if (zrFlag == 1) {
|
||||
String cxdUserId = (String) delegateTask.getVariable("cxdUserId");
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId, delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId, cxdUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY_C6.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 重新技术委员会评审、评审意见修改
|
||||
BusProcessHistory psyjxgBph = new BusProcessHistory();
|
||||
psyjxgBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
psyjxgBph.setUserId(cxdUserId);
|
||||
psyjxgBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY_C6.getValue());
|
||||
psyjxgBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
psyjxgBph.setIsSub("2");
|
||||
psyjxgBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(), BussLibraryNodeKeyEnum.BUSS_LIBRARY11.getValue());
|
||||
psyjxgBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(psyjxgBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,14 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -18,7 +21,7 @@ public class BussLibrary11Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -30,10 +33,21 @@ public class BussLibrary11Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary11?prcType=buss1");
|
||||
String link = "bussLibrary11?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary11&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
@@ -12,6 +13,7 @@ import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -29,12 +31,17 @@ public class BussLibrary12After implements TaskListener{
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
if(StringUtils.isNotBlank(object.getString("fbUserId"))){
|
||||
delegateTask.setVariable("fbUserId",object.getString("fbUserId"));
|
||||
@@ -52,7 +59,7 @@ public class BussLibrary12After implements TaskListener{
|
||||
}else {
|
||||
prcName = "企标制修订";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -65,30 +72,29 @@ public class BussLibrary12After implements TaskListener{
|
||||
}
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if (list.isEmpty()) {
|
||||
throw new ActivitiException("流程实例不存在");
|
||||
}
|
||||
// 当前节点
|
||||
BusProcessNew busProcessNew = list.get(0);
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busBean.save(busProcessNew);
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busBean.saveOrUpdate(busProcessNew);
|
||||
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,11 +5,14 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -21,7 +24,7 @@ public class BussLibrary12Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -33,10 +36,21 @@ public class BussLibrary12Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary12?prcType=buss1");
|
||||
String link = "bussLibrary12?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary12&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -39,7 +40,12 @@ public class BussLibrary13After implements TaskListener{
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
@@ -2,11 +2,14 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -18,7 +21,7 @@ public class BussLibrary13Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -30,10 +33,21 @@ public class BussLibrary13Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary13?prcType=buss1");
|
||||
String link = "bussLibrary13?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary13&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,17 +2,24 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.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.BussLibraryNodeKeyEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.StandardCommentNewProcessNodeKeyEnum;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -33,12 +40,16 @@ public class BussLibrary2After implements TaskListener{
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
JSONArray fileList =delegateTask.getVariable("fileModelList", JSONArray.class);
|
||||
if (fileList==null) {
|
||||
@@ -69,7 +80,7 @@ public class BussLibrary2After implements TaskListener{
|
||||
}else {
|
||||
prcName = "企标制修订";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -82,34 +93,65 @@ public class BussLibrary2After implements TaskListener{
|
||||
}
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busBean.save(busProcessNew);
|
||||
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew busProcessNew = list.get(0);
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busBean.saveOrUpdate(busProcessNew);
|
||||
}
|
||||
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
// busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
// busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
private String verifyObj(String str){
|
||||
return (str == null || str.equals("")) ? "" : str;
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
String hzUserId = json.getString("hzUserId");
|
||||
|
||||
// 如果存在企标编写汇总节点的数据,taskId为空。 不用添加,否则需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,hzUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY3.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 企标编写汇总
|
||||
BusProcessHistory qbbxhzBph = new BusProcessHistory();
|
||||
qbbxhzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
qbbxhzBph.setUserId(hzUserId);
|
||||
qbbxhzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY3.getValue());
|
||||
qbbxhzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
qbbxhzBph.setIsSub("2");
|
||||
qbbxhzBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY_C1.getValue());
|
||||
qbbxhzBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(qbbxhzBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,16 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -19,7 +23,7 @@ public class BussLibrary2Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -38,8 +42,17 @@ public class BussLibrary2Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary2?prcType=buss1");
|
||||
String link = "bussLibrary2?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary2&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
@@ -63,5 +76,8 @@ public class BussLibrary2Before implements TaskListener{
|
||||
// hisService.saveOrUpdate(modelHis);
|
||||
// }
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.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.BussLibraryNodeKeyEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -31,12 +37,17 @@ public class BussLibrary3After implements TaskListener{
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
if(StringUtils.isNotBlank(object.getString("bzhUserId"))){
|
||||
delegateTask.setVariable("bzhUserId",object.getString("bzhUserId"));
|
||||
@@ -59,7 +70,7 @@ public class BussLibrary3After implements TaskListener{
|
||||
}else {
|
||||
prcName = "企标制修订";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -70,36 +81,65 @@ public class BussLibrary3After implements TaskListener{
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busBean.save(busProcessNew);
|
||||
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew busProcessNew = list.get(0);
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busBean.saveOrUpdate(busProcessNew);
|
||||
}
|
||||
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
private String verifyObj(String str){
|
||||
return (str == null || str.equals("")) ? "" : str;
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
String bzhUserId = json.getString("bzhUserId");
|
||||
|
||||
// 如果存在标准化初审节点的数据,taskId为空。 不用添加,否则需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,bzhUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 标准化初审
|
||||
BusProcessHistory bzhcsBph = new BusProcessHistory();
|
||||
bzhcsBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
bzhcsBph.setUserId(bzhUserId);
|
||||
bzhcsBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getValue());
|
||||
bzhcsBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
bzhcsBph.setIsSub("2");
|
||||
bzhcsBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY3.getValue());
|
||||
bzhcsBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(bzhcsBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,14 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -21,7 +24,7 @@ public class BussLibrary3Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -42,8 +45,17 @@ public class BussLibrary3Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary3?prcType=buss1");
|
||||
String link = "bussLibrary3?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary3&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
|
||||
@@ -66,5 +78,8 @@ public class BussLibrary3Before implements TaskListener{
|
||||
// modelHis.setEditFilePath(fileUrl);
|
||||
// hisService.save(modelHis);
|
||||
}
|
||||
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +1,32 @@
|
||||
package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.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.BussLibraryNodeKeyEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* 标准化员审批后
|
||||
* 初审,标准化员审批后
|
||||
*/
|
||||
public class BussLibrary4After implements TaskListener{
|
||||
@Override
|
||||
@@ -30,12 +37,17 @@ public class BussLibrary4After implements TaskListener{
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString();
|
||||
String user = object.getString("prcCreateUser");
|
||||
@@ -46,7 +58,7 @@ public class BussLibrary4After implements TaskListener{
|
||||
}else {
|
||||
prcName = "企标制修订";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -57,6 +69,14 @@ public class BussLibrary4After implements TaskListener{
|
||||
one1.setCreatUserName(username);
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if (list.isEmpty()) {
|
||||
throw new ActivitiException("流程实例不存在");
|
||||
}
|
||||
BusProcessNew busProcessNew = list.get(0);
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
|
||||
if(StringUtils.isNotBlank(approvalOpinion)){
|
||||
if ("0".equalsIgnoreCase(approvalOpinion)) {
|
||||
@@ -68,7 +88,7 @@ public class BussLibrary4After implements TaskListener{
|
||||
nextUserList.add(object.getString("hqUserId"));
|
||||
}
|
||||
|
||||
BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
||||
// BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
||||
// 配置多实例
|
||||
delegateTask.setVariable("hqUserList",nextUserList);
|
||||
delegateTask.addCandidateUsers(nextUserList);
|
||||
@@ -78,28 +98,131 @@ public class BussLibrary4After implements TaskListener{
|
||||
}
|
||||
} else {
|
||||
if(StringUtils.isNotBlank(object.getString("hzUserId"))) {
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setUserId(object.getString("hzUserId"));
|
||||
busProcessNew.setPrcName(prcName);
|
||||
busBean.save(busProcessNew);
|
||||
// BusProcessNew busProcessNew = new BusProcessNew();
|
||||
// busProcessNew.setMsgType("clause");
|
||||
// busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
// busProcessNew.setMesg(object.toJSONString());
|
||||
// busProcessNew.setFinishFlag("0");
|
||||
// busProcessNew.setUserId(object.getString("hzUserId"));
|
||||
// busProcessNew.setPrcName(prcName);
|
||||
// busBean.save(busProcessNew);
|
||||
busProcessNew.setFinishFlag("1");
|
||||
|
||||
BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1");
|
||||
// BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1");
|
||||
nextUserList.add(object.getString("hzUserId"));
|
||||
delegateTask.setVariable("chzUserId",object.getString("hzUserId"));
|
||||
delegateTask.setVariable("bzhFlag", 1);
|
||||
}else {
|
||||
throw new ActivitiException("1#2汇总用户参数不存在,请配置相关用户");
|
||||
}
|
||||
}
|
||||
|
||||
// 存储当前节点意见
|
||||
busBean.saveOrUpdate(busProcessNew);
|
||||
// 存储下一节点意见
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}else {
|
||||
throw new ActivitiException("1#2 提交OR驳回参数不存在");
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
private String verifyObj(String str){
|
||||
return (str == null || str.equals("")) ? "" : str;
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
|
||||
Integer bzhFlag = (Integer) delegateTask.getVariable("bzhFlag");
|
||||
if (bzhFlag == 1) {
|
||||
String hzUserId = json.getString("hzUserId");
|
||||
|
||||
// 如果存在 重新企标编写汇总 节点的数据,taskId为空。 不用添加,否则需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,hzUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY_C3.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 重新企标编写汇总
|
||||
BusProcessHistory cxqbbzhzBph = new BusProcessHistory();
|
||||
cxqbbzhzBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
cxqbbzhzBph.setUserId(hzUserId);
|
||||
cxqbbzhzBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY_C3.getValue());
|
||||
cxqbbzhzBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
cxqbbzhzBph.setIsSub("2");
|
||||
cxqbbzhzBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getValue());
|
||||
cxqbbzhzBph.setOrderNum(orderNum + 1);
|
||||
|
||||
bphList.add(cxqbbzhzBph);
|
||||
bphService.insertBatch(bphList);
|
||||
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 {
|
||||
// 征求意见
|
||||
List<String> hqUserIdList = Arrays.asList(json.getString("hqUserId").split(","));
|
||||
if (CollectionUtils.isNotEmpty(hqUserIdList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY4.getValue());
|
||||
String zqyjPBphId = UUID.randomUUID().toString();
|
||||
for (String userId : hqUserIdList) {
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,userId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
BusProcessHistory zqyjBph = new BusProcessHistory();
|
||||
zqyjBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
zqyjBph.setUserId(userId);
|
||||
zqyjBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getValue());
|
||||
zqyjBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
zqyjBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getOrderNum());
|
||||
zqyjBph.setIsSub("2");
|
||||
zqyjBph.setIsMany("1");
|
||||
zqyjBph.setManyPId(zqyjPBphId);
|
||||
zqyjBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(zqyjBph);
|
||||
}
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(bphList)) {
|
||||
BusProcessHistory zqyjPBph = new BusProcessHistory();
|
||||
zqyjPBph.setId(zqyjPBphId);
|
||||
zqyjPBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
zqyjPBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getValue());
|
||||
zqyjPBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
zqyjPBph.setOrderNum(BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getOrderNum());
|
||||
zqyjPBph.setIsSub("2");
|
||||
zqyjPBph.setIsMany("1");
|
||||
zqyjPBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(zqyjPBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,23 +2,26 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 标准化员审批前
|
||||
* 初审,标准化员审批前
|
||||
*/
|
||||
public class BussLibrary4Before implements TaskListener{
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -30,10 +33,21 @@ public class BussLibrary4Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary4?prcType=buss1");
|
||||
String link = "bussLibrary4?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary4&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,19 +2,17 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
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.IBusProcessEvaluationHisService;
|
||||
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.business_main.datas.entity.*;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.*;
|
||||
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.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -42,7 +40,7 @@ public class BussLibrary5After implements TaskListener{
|
||||
JSONObject object = JSONObject.parseObject(datasList.get(0).getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
JSONArray ideaList =delegateTask.getVariable("ideaList", JSONArray.class);
|
||||
if (ideaList==null) {
|
||||
@@ -68,7 +66,7 @@ public class BussLibrary5After implements TaskListener{
|
||||
}else {
|
||||
prcName = "企标制修订";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -81,37 +79,78 @@ public class BussLibrary5After implements TaskListener{
|
||||
}
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busBean.save(busProcessNew);
|
||||
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew busProcessNew = list.get(0);
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busBean.saveOrUpdate(busProcessNew);
|
||||
}
|
||||
// 存储当前节点意见
|
||||
// BusProcessNew busProcessNew = new BusProcessNew();
|
||||
// busProcessNew.setMsgType("clause");
|
||||
// busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
// busProcessNew.setMesg(object.toJSONString());
|
||||
// busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
// busProcessNew.setTaskId(delegateTask.getId());
|
||||
// busProcessNew.setCommitText(object.getString("commentText"));
|
||||
// busProcessNew.setFinishFlag("0");
|
||||
// busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
// busBean.save(busProcessNew);
|
||||
|
||||
// 评分存储
|
||||
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
|
||||
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
}
|
||||
|
||||
private String verifyObj(String str){
|
||||
return (str == null || str.equals("")) ? "" : str;
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
String xdUserId = json.getString("xdUserId");
|
||||
|
||||
// 如果存在 技术委员会评审、评审意见修改 节点的数据,taskId为空。 不用添加,否则需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,xdUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY6.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 技术委员会评审、评审意见修改
|
||||
BusProcessHistory psyjxgBph = new BusProcessHistory();
|
||||
psyjxgBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
psyjxgBph.setUserId(xdUserId);
|
||||
psyjxgBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY6.getValue());
|
||||
psyjxgBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
psyjxgBph.setIsSub("2");
|
||||
psyjxgBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY5.getValue());
|
||||
psyjxgBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(psyjxgBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,11 +3,14 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,7 +22,7 @@ public class BussLibrary5Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -37,10 +40,21 @@ public class BussLibrary5Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary5?prcType=buss1");
|
||||
String link = "bussLibrary5?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary5&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.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.BussLibraryNodeKeyEnum;
|
||||
import com.ydw.bat.wkflow.util.enums.FlowTypeEnum;
|
||||
import org.activiti.engine.ActivitiException;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -29,12 +35,17 @@ public class BussLibrary6After implements TaskListener{
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
if(StringUtils.isNotBlank(object.getString("fggcsUserId"))){
|
||||
delegateTask.setVariable("fggcsUserId",object.getString("fggcsUserId"));
|
||||
@@ -52,7 +63,7 @@ public class BussLibrary6After implements TaskListener{
|
||||
}else {
|
||||
prcName = "企标制修订";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -65,36 +76,77 @@ public class BussLibrary6After implements TaskListener{
|
||||
}
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busBean.save(busProcessNew);
|
||||
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
// 评分存储
|
||||
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
|
||||
// BusProcessNew busProcessNew = new BusProcessNew();
|
||||
// busProcessNew.setMsgType("clause");
|
||||
// busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
// busProcessNew.setMesg(object.toJSONString());
|
||||
// busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
// busProcessNew.setTaskId(delegateTask.getId());
|
||||
// busProcessNew.setCommitText(object.getString("commentText"));
|
||||
// busProcessNew.setFinishFlag("0");
|
||||
// busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
// busBean.save(busProcessNew);
|
||||
// 存储当前节点意见
|
||||
LambdaQueryWrapper<BusProcessNew> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(BusProcessNew::getTaskId,delegateTask.getId());
|
||||
List<BusProcessNew> list = busBean.list(queryWrapper1);
|
||||
if(!list.isEmpty()){
|
||||
BusProcessNew busProcessNew = list.get(0);
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busBean.saveOrUpdate(busProcessNew);
|
||||
}
|
||||
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
// 评分存储
|
||||
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
|
||||
}
|
||||
|
||||
private String verifyObj(String str){
|
||||
return (str == null || str.equals("")) ? "" : str;
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
String fggcsUserId = json.getString("fggcsUserId");
|
||||
|
||||
// 如果存在 技术委员会评审、评审意见修改 节点的数据,taskId为空。 不用添加,否则需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,fggcsUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 标准化复审
|
||||
BusProcessHistory hzhfsBph = new BusProcessHistory();
|
||||
hzhfsBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
hzhfsBph.setUserId(fggcsUserId);
|
||||
hzhfsBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
|
||||
hzhfsBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
hzhfsBph.setIsSub("2");
|
||||
hzhfsBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY6.getValue());
|
||||
hzhfsBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(hzhfsBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,14 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -21,7 +24,7 @@ public class BussLibrary6Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -43,10 +46,21 @@ public class BussLibrary6Before implements TaskListener{
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary5?prcType=buss1");
|
||||
String link = "bussLibrary6?prcType=buss1";
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary6&oldAndNew=new";
|
||||
}
|
||||
one1.setLink(link);
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,19 +2,17 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis;
|
||||
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.IBusProcessEvaluationHisService;
|
||||
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.business_main.datas.entity.*;
|
||||
import com.ydw.bat.wkflow.business_main.datas.service.*;
|
||||
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.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -37,12 +35,17 @@ public class BussLibrary7After implements TaskListener{
|
||||
|
||||
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
|
||||
Datas datas = datasService.getOne(queryWrapper);
|
||||
queryWrapper.orderByDesc("CREATE_TIME");
|
||||
List<Datas> datasList = datasService.list(queryWrapper);
|
||||
if (CollectionUtils.isEmpty(datasList)) {
|
||||
throw new ActivitiException("t_datas表中ACTI_TASK_ID为"+delegateTask.getId()+"的数据不存在");
|
||||
}
|
||||
Datas datas = datasList.get(0);
|
||||
|
||||
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
|
||||
delegateTask.setVariable("objectJson",object);
|
||||
|
||||
List<String> nextUserList = new ArrayList();
|
||||
List<String> nextUserList = new ArrayList<>();
|
||||
|
||||
//截止时间 流程描述 创建人
|
||||
String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString();
|
||||
@@ -54,7 +57,7 @@ public class BussLibrary7After implements TaskListener{
|
||||
}else {
|
||||
prcName = "企标制修订";
|
||||
}
|
||||
QueryWrapper queryWrapper2 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
|
||||
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
|
||||
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
|
||||
if(one1!=null){
|
||||
@@ -66,24 +69,34 @@ public class BussLibrary7After implements TaskListener{
|
||||
busProcessNameService.saveOrUpdate(one1);
|
||||
}
|
||||
|
||||
// 评分存储
|
||||
if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")){
|
||||
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(approvalOpinion)){
|
||||
// 通过
|
||||
if ("0".equalsIgnoreCase(approvalOpinion)) {
|
||||
if(StringUtils.isNotBlank(object.getString("jsfzrUserId"))){
|
||||
|
||||
delegateTask.setVariable("jsfzrUserId",object.getString("jsfzrUserId"));
|
||||
nextUserList.add(object.getString("jsfzrUserId"));
|
||||
|
||||
BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
||||
// 评分存储
|
||||
if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")){
|
||||
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
|
||||
}
|
||||
// BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList);
|
||||
// // 评分存储
|
||||
// if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")){
|
||||
// BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
|
||||
// }
|
||||
|
||||
// 存储当前节点意见
|
||||
BussUtils.approvalFunc3(delegateTask, object, prcName, nextUserList);
|
||||
|
||||
delegateTask.setVariable("fs7Flag", 0);
|
||||
}else {
|
||||
throw new ActivitiException("1#2部长用户参数不存在,请配置相关用户");
|
||||
}
|
||||
} else {
|
||||
// 驳回
|
||||
if(StringUtils.isNotBlank(object.getString("xdUserId"))) {
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
@@ -107,38 +120,107 @@ public class BussLibrary7After implements TaskListener{
|
||||
throw new ActivitiException("1#2 提交OR驳回参数不存在");
|
||||
}
|
||||
|
||||
this.addBusProcessHistory(object,delegateTask);
|
||||
|
||||
// 存储当前节点意见
|
||||
BusProcessNew busProcessNew = new BusProcessNew();
|
||||
busProcessNew.setMsgType("clause");
|
||||
busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNew.setMesg(object.toJSONString());
|
||||
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNew.setTaskId(delegateTask.getId());
|
||||
busProcessNew.setCommitText(object.getString("commentText"));
|
||||
busProcessNew.setFinishFlag("0");
|
||||
busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
busBean.save(busProcessNew);
|
||||
// BusProcessNew busProcessNew = new BusProcessNew();
|
||||
// busProcessNew.setMsgType("clause");
|
||||
// busProcessNew.setPId(delegateTask.getProcessInstanceId());
|
||||
// busProcessNew.setMesg(object.toJSONString());
|
||||
// busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
// busProcessNew.setTaskId(delegateTask.getId());
|
||||
// busProcessNew.setCommitText(object.getString("commentText"));
|
||||
// busProcessNew.setFinishFlag("0");
|
||||
// busProcessNew.setTaskInfo(delegateTask.getName());
|
||||
// busBean.save(busProcessNew);
|
||||
|
||||
// 存储当前节点意见
|
||||
// busBean.saveOrUpdate(busProcessNew);
|
||||
// 评分存储
|
||||
BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
|
||||
// BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee());
|
||||
|
||||
if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
for(String nextUser : nextUserList){
|
||||
BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
busProcessNewNext.setMsgType("clause");
|
||||
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
busProcessNewNext.setMesg(object.toJSONString());
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
busProcessNewNext.setFinishFlag("0");
|
||||
busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
busProcessNewNext.setUserId(nextUser);
|
||||
busProcessNewNext.setPrcName(prcName);
|
||||
busBean.save(busProcessNewNext);
|
||||
}
|
||||
}
|
||||
// if(nextUserList != null && !nextUserList.isEmpty()){
|
||||
// for(String nextUser : nextUserList){
|
||||
// BusProcessNew busProcessNewNext = new BusProcessNew();
|
||||
// busProcessNewNext.setMsgType("clause");
|
||||
// busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
|
||||
// busProcessNewNext.setMesg(object.toJSONString());
|
||||
// busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
|
||||
// busProcessNewNext.setFinishFlag("0");
|
||||
// busProcessNewNext.setTaskInfo(delegateTask.getName());
|
||||
// busProcessNewNext.setUserId(nextUser);
|
||||
// busProcessNewNext.setPrcName(prcName);
|
||||
// busBean.save(busProcessNewNext);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
private String verifyObj(String str){
|
||||
return (str == null || str.equals("")) ? "" : str;
|
||||
}
|
||||
|
||||
public void addBusProcessHistory(JSONObject json,DelegateTask delegateTask) {
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
|
||||
Integer fs7Flag = (Integer) delegateTask.getVariable("fs7Flag");
|
||||
if (fs7Flag == 0) {
|
||||
String jsfzrUserId = json.getString("jsfzrUserId");
|
||||
// 如果存在 起草单位高级经理审核 节点的数据,taskId为空。 不用添加,否则需要添加。
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,jsfzrUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 起草单位高级经理审核
|
||||
BusProcessHistory qcdwgjjlshBph = new BusProcessHistory();
|
||||
qcdwgjjlshBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
qcdwgjjlshBph.setUserId(jsfzrUserId);
|
||||
qcdwgjjlshBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY8.getValue());
|
||||
qcdwgjjlshBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
qcdwgjjlshBph.setIsSub("2");
|
||||
qcdwgjjlshBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
|
||||
qcdwgjjlshBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(qcdwgjjlshBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
bphService.updateOrderNum(delegateTask.getProcessInstanceId(),orderNum + 1,bphList.size());
|
||||
}
|
||||
}else {
|
||||
String cxdUserId = (String) delegateTask.getVariable("cxdUserId");
|
||||
QueryWrapper<BusProcessHistory> bphQueryWrap = new QueryWrapper<>();
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getActiProcInstId,delegateTask.getProcessInstanceId());
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getUserId,cxdUserId);
|
||||
bphQueryWrap.lambda().eq(BusProcessHistory::getTaskKey, BussLibraryNodeKeyEnum.BUSS_LIBRARY_C6.getValue());
|
||||
bphQueryWrap.lambda().isNull(BusProcessHistory::getTaskId);
|
||||
|
||||
List<BusProcessHistory> busProcessHistoryList = bphService.list(bphQueryWrap);
|
||||
if (CollectionUtils.isEmpty(busProcessHistoryList)) {
|
||||
List<BusProcessHistory> bphList = new ArrayList<>();
|
||||
// 重新技术委员会评审、评审意见修改
|
||||
BusProcessHistory psyjxgBph = new BusProcessHistory();
|
||||
psyjxgBph.setActiProcInstId(delegateTask.getProcessInstanceId());
|
||||
psyjxgBph.setUserId(cxdUserId);
|
||||
psyjxgBph.setTaskKey(BussLibraryNodeKeyEnum.BUSS_LIBRARY_C6.getValue());
|
||||
psyjxgBph.setFlowType(FlowTypeEnum.QBZXD_JSBZ.getValue());
|
||||
psyjxgBph.setIsSub("2");
|
||||
psyjxgBph.setIsMany("2");
|
||||
int orderNum = bphService.getMaxOrderNum(delegateTask.getProcessInstanceId(),BussLibraryNodeKeyEnum.BUSS_LIBRARY7.getValue());
|
||||
psyjxgBph.setOrderNum(orderNum + 1);
|
||||
bphList.add(psyjxgBph);
|
||||
|
||||
bphService.insertBatch(bphList);
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,11 +2,14 @@ package com.ydw.bat.wkflow.listener.bussLibrary;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
|
||||
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_mq.service.CreateMQService;
|
||||
import com.ydw.bat.wkflow.util.SpringContextUtil;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.history.HistoricProcessInstance;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -18,7 +21,7 @@ public class BussLibrary7Before implements TaskListener{
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
|
||||
CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class);
|
||||
QueryWrapper queryWrapper1 = new QueryWrapper();
|
||||
QueryWrapper<BusProcessNew> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
|
||||
queryWrapper1.eq("USER_ID",delegateTask.getAssignee());
|
||||
queryWrapper1.isNull("TASK_ID");
|
||||
@@ -31,9 +34,23 @@ public class BussLibrary7Before implements TaskListener{
|
||||
busBean.saveOrUpdate(one1);
|
||||
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
one1.setLink("bussLibrary7?prcType=buss1");
|
||||
String link = "bussLibrary7?prcType=buss1";
|
||||
ProcessEngine processEngine = SpringContextUtil.getBean(ProcessEngine.class);
|
||||
HistoricProcessInstance pi = processEngine.getHistoryService()//与历史数据(历史表)相关的Service
|
||||
.createHistoricProcessInstanceQuery()//创建历史流程实例查询
|
||||
.processInstanceId(delegateTask.getProcessInstanceId())//使用流程实例ID查询
|
||||
.singleResult();
|
||||
// 发送 oa 待办 设置 跳转页面 router ? 后面流程类型
|
||||
if (pi != null && pi.getStartTime().after(BussUtils.oldAndNew)) {
|
||||
link = link + "&taskDefinitionKey=bussLibrary7&oldAndNew=new";
|
||||
one1.setLink(link);
|
||||
} else {
|
||||
one1.setLink(link);
|
||||
}
|
||||
one1.setTaskInfo(delegateTask.getName());
|
||||
oaService.sendTodoMq(one1);
|
||||
}
|
||||
IBusProcessHistoryService bphService = SpringContextUtil.getBean(IBusProcessHistoryService.class);
|
||||
bphService.updateTaskInfo(delegateTask);
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user