bug: 修改计划管控更名bug

This commit is contained in:
wxyclub
2023-11-20 08:59:55 +08:00
parent 8354de9af5
commit fceff66f48
2 changed files with 151 additions and 59 deletions
@@ -257,47 +257,72 @@ 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 null;
}
// 过滤出同一条企标
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;
}
}
}
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
@@ -27,6 +27,8 @@ import java.util.*;
*/
public class ProcessStep4After implements TaskListener {
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
//分发多个责任人
@Override
public void notify(DelegateTask delegateTask) {
@@ -37,7 +39,7 @@ public class ProcessStep4After implements TaskListener {
//流程信息
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
// LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class);
@@ -168,26 +170,12 @@ public class ProcessStep4After implements TaskListener {
}
}else if ("2".equals(object.getString("type"))){
EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO();
esRevisePlanDTO.setId(object.getString("esId"));
esRevisePlanDTO.setReleaseTime(object.getDate("yqReleaseTime"));
esRevisePlanDTO.setDraftTime(object.getDate("yqDraftTime"));
lawsUserInfoService.modPlan(esRevisePlanDTO);
planControlCancel(delegateTask,prcName,busBean,object,busProcessNameService);
}else if ("3".equals(object.getString("type"))){
EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO();
esRevisePlanDTO.setId(object.getString("esId"));
esRevisePlanDTO.setPlanStatus("3");
lawsUserInfoService.modPlan(esRevisePlanDTO);
delegateTask.setVariable("bzfgbzFlag",2);
planControlDelay(delegateTask,prcName,busBean,object,busProcessNameService);
}else if ("4".equals(object.getString("type"))){
EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO();
String bussSort = object.getString("bussSort");
if (bussSort.contains("[")) {
bussSort = bussSort.substring(2, bussSort.length() - 2);
}
esRevisePlanDTO.setBussSort(bussSort);
esRevisePlanDTO.setEsName(object.getString("renameEs"));
esRevisePlanDTO.setId(object.getString("esId"));
lawsUserInfoService.modPlan(esRevisePlanDTO);
planControlRename(delegateTask,prcName,busBean,object,busProcessNameService);
}else {
//立项
EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO();
@@ -253,11 +241,11 @@ public class ProcessStep4After implements TaskListener {
//截止时间 流程描述 创建人
String user = delegateTask.getVariable("prcCreateUser",String.class);
String username = delegateTask.getVariable("prcCreateUserName", String.class);
QueryWrapper queryWrapper2 = new QueryWrapper();
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
QueryWrapper queryWrapperInfo = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapperInfo = new QueryWrapper<>();
queryWrapperInfo.eq("TASK_ID", delegateTask.getId());
BusProcessNew oneInfo = busBean.getOne(queryWrapperInfo);
String mesg = oneInfo.getMesg();
@@ -279,7 +267,7 @@ public class ProcessStep4After implements TaskListener {
//存储当前节点意见
if (null != object.getString("commentText")) {
QueryWrapper queryWrapper3 = new QueryWrapper();
QueryWrapper<BusProcessNew> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.eq("TASK_ID", delegateTask.getId());
queryWrapper3.eq("USER_ID", delegateTask.getAssignee());
List<BusProcessNew> list = busBean.list(queryWrapper3);
@@ -406,7 +394,34 @@ public class ProcessStep4After implements TaskListener {
esPrcRelationService.delEsPrcRelation(esId1);
esPrcRelationService.delEsPrcRelation(esId2);
} else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
// } else if ("2".equals(type)){
// String esId = object.getString("esId");
// List<EsPrcRelation> esPrcRelationList = esPrcRelationService.list(esId);
// if (esPrcRelationList != null && !esPrcRelationList.isEmpty()) {
// String prcIdGk = esPrcRelationList.get(0).getPrcIdGk();
// List<Task> listGk = taskService.createTaskQuery().processInstanceId(esPrcRelationList.get(0).getPrcIdGk()).active().list();
// if (listGk != null && !listGk.isEmpty()) {
// String nowTaskInfo = listGk.get(0).getName();
// String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
// QueryWrapper queryWrapperGk = new QueryWrapper();
// queryWrapperGk.eq("PRC_ID", prcIdGk);
// BusProcessName one = busProcessNameService.getOne(queryWrapperGk);
// if (one != null) {
// one.setOverTime(OVERTIME);
// busProcessNameService.saveOrUpdate(one);
// }
// } else {
// String prcId = esPrcRelationList.get(0).getPrcId();
// List<Task> list = taskService.createTaskQuery().processInstanceId(prcId).active().list();
// if (list != null && !list.isEmpty()) {
// // 删除正在运行中的流程根据流程实例ID
// if(StringUtils.isNotBlank(prcId)) {
// runtimeService.deleteProcessInstance(prcId, "");
// }
// }
// }
// }
}else if("3".equals(type) || "4".equals(type)) {
String esId = object.getString("esId");
List<EsPrcRelation> esPrcRelationList = esPrcRelationService.list(esId);
if (esPrcRelationList != null && !esPrcRelationList.isEmpty()) {
@@ -467,4 +482,56 @@ public class ProcessStep4After implements TaskListener {
BussUtils.endFunAll(delegateTask, prcName, busBean, object, "0", busProcessNameService, "25");
}
}
/**
* 计划管控延期
* @param delegateTask
* @param prcName
* @param busBean
* @param object
* @param busProcessNameService
*/
public void planControlCancel(DelegateTask delegateTask, String prcName, IBusProcessNewService busBean, JSONObject object, IBusProcessNameService busProcessNameService) {
EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO();
esRevisePlanDTO.setId(object.getString("esId"));
esRevisePlanDTO.setReleaseTime(object.getDate("yqReleaseTime"));
esRevisePlanDTO.setDraftTime(object.getDate("yqDraftTime"));
lawsUserInfoService.modPlan(esRevisePlanDTO);
String esId = object.getString("esId");
}
/**
* 计划管控取消
* @param delegateTask
* @param prcName
* @param busBean
* @param object
* @param busProcessNameService
*/
public void planControlDelay(DelegateTask delegateTask, String prcName, IBusProcessNewService busBean, JSONObject object, IBusProcessNameService busProcessNameService) {
EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO();
esRevisePlanDTO.setId(object.getString("esId"));
esRevisePlanDTO.setPlanStatus("3");
lawsUserInfoService.modPlan(esRevisePlanDTO);
}
/**
* 计划管控更名
* @param delegateTask
* @param prcName
* @param busBean
* @param object
* @param busProcessNameService
*/
public void planControlRename(DelegateTask delegateTask, String prcName, IBusProcessNewService busBean, JSONObject object, IBusProcessNameService busProcessNameService) {
EsRevisePlanDTO esRevisePlan = new EsRevisePlanDTO();
String bussSort = object.getString("bussSort");
if (bussSort.contains("[")) {
bussSort = bussSort.substring(2, bussSort.length() - 2);
}
esRevisePlan.setBussSort(bussSort);
esRevisePlan.setEsName(object.getString("renameEs"));
esRevisePlan.setId(object.getString("esId"));
lawsUserInfoService.modPlan(esRevisePlan);
}
}