From 3bde9b42f5c76159b9dcc553a0b6ea9f5ebbb78f Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Fri, 17 Feb 2023 16:35:49 +0800 Subject: [PATCH 01/11] =?UTF-8?q?OA=E6=B6=88=E6=81=AF=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TodoTaskController.java | 40 +++++++++++++++++++ .../datas/service/IBusProcessNameService.java | 2 + .../impl/BusProcessNameServiceImpl.java | 6 +++ 3 files changed, 48 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index 7e08490f..6219e311 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -2717,4 +2717,44 @@ public class TodoTaskController extends BaseAction { // public List findProcessNameByPrcNum(@RequestBody String taskId) { // return iBusProcessNameService.findBusProcessNameForEnd(taskId); // } + // + @ApiOperation(value = "取消OA消息通知") + @PostMapping("/cancelOAInform") + public String cancelOAInform(@RequestParam("id") String id) { + //查询出当前数据 + BusProcessName busProcessName = iBusProcessNameService.selectById(id); + //在mes字段中增添一个属性 用来关联是否oa提醒 + String mes = busProcessName.getMes(); + JSONObject jsonObject = JSONObject.parseObject(mes); + Map stringObjectMap = JsonUtil.objToMap(jsonObject); + stringObjectMap.put("oa_cancelOAInform","1"); + String s = JSON.toJSONString(stringObjectMap); + iBusProcessNameService.updateById(busProcessName); + return null; + } + + @ApiOperation(value = "我的待办任务列表速度优化项(首页OA提醒)") + @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), + @ApiImplicitParam(name = "current", value = "当前页"), + @ApiImplicitParam(name = "size", value = "每页条数"), + @ApiImplicitParam(name = "userId", value = "用户Id")}) + @PostMapping("/todoTaskListNewOAInform") + public List todoTaskListNewOAInform(@RequestBody TaskCommonQuery taskCommonQuery) { + // 创建查询对象 + List busProcessNames=new ArrayList<>(); + busProcessNames=iBusProcessNameService.todoTask(taskCommonQuery); + // 判断当前数据是否被取消OA提醒 + for (BusProcessName data: busProcessNames){ + String mes = data.getMes(); + JSONObject jsonObject = JSONObject.parseObject(mes); + Map stringObjectMap = JsonUtil.objToMap(jsonObject); + Object oa_cancelOAInform = stringObjectMap.get("oa_cancelOAInform"); + if(oa_cancelOAInform != null){ + //证明取消oa提醒 + busProcessNames.remove(data); + } + } + return busProcessNames; + } + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNameService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNameService.java index 4f4d534e..e599d138 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNameService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNameService.java @@ -24,4 +24,6 @@ public interface IBusProcessNameService extends IService { String delDB(List id); + + BusProcessName selectById(String id); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNameServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNameServiceImpl.java index ec1737e9..9943b9f3 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNameServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNameServiceImpl.java @@ -7,6 +7,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -43,4 +44,9 @@ public class BusProcessNameServiceImpl extends ServiceImpl Date: Wed, 22 Feb 2023 16:08:54 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=EF=BC=88=E6=B5=8B=E8=AF=95=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=EF=BC=891?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/quizOrAnswer/answerAfter.java | 100 +++++++++++++++++ .../listener/quizOrAnswer/answerBefore.java | 35 ++++++ .../listener/quizOrAnswer/quizAfter.java | 101 ++++++++++++++++++ .../listener/quizOrAnswer/quizBefore.java | 11 ++ 4 files changed, 247 insertions(+) create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizBefore.java diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java new file mode 100644 index 00000000..ea8bfd11 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java @@ -0,0 +1,100 @@ +package com.ydw.bat.wkflow.listener.quizOrAnswer; + +import com.alibaba.fastjson.JSONObject; +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; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +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.listener.bussLibrary.BussUtils; +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.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +//问答中心 答 后置 +public class answerAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + //默认流程数据接口 + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + //根据流程id找到流程信息 + QueryWrapper 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); + + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + + String[] split1 = object.getString("askQuestions").substring(1, object.getString("askQuestions").length() - 2).split(","); + List asList = Arrays.asList(split1); + String str = ""; + String bzstr = ""; + String namestr = ""; + for (int i = 0; i list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskInfo(delegateTask.getName()); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busProcessNews.setPrcName(prcName); + busBean.saveOrUpdate(busProcessNews); + } + } + // 提交时,结束流程,保存当前节点信息 + BussUtils.endFunAll(delegateTask, prcName, busBean, object, "0", busProcessNameService, "27"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java new file mode 100644 index 00000000..cac66f21 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.quizOrAnswer; + +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +//问答中心 答 前 +public class answerBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("?prcType="); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizAfter.java new file mode 100644 index 00000000..d8666bcd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizAfter.java @@ -0,0 +1,101 @@ +package com.ydw.bat.wkflow.listener.quizOrAnswer; + +import com.alibaba.fastjson.JSONObject; +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; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +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.listener.bussLibrary.BussUtils; +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.Collections; +import java.util.List; + +// 问答中心 问 后 +public class quizAfter implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper 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); + + String[] split = object.getString("questioner").substring(1, object.getString("questioner").length() - 2).split(","); + List nextUserList = Arrays.asList(split); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + + String[] split1 = object.getString("askQuestions").substring(1, object.getString("askQuestions").length() - 2).split(","); + List asList = Arrays.asList(split1); + String str = ""; + String bzstr = ""; + for (int i = 0; i objects = new ArrayList<>(); + 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.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + //切割引号 + String questioner = nextUser.substring(1, nextUser.length() -1); + busProcessNewNext.setUserId(questioner); + objects.add(questioner); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + + delegateTask.setVariable("questionerList",objects); + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizBefore.java new file mode 100644 index 00000000..d9a52c41 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/quizBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.quizOrAnswer; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +//问答中心 问 前 +public class quizBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + } +} From d7c319e6427d1cff599891bbf31fbc753aa7146d Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Thu, 23 Feb 2023 11:37:33 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/quizOrAnswer/answerAfter.java | 21 ++++----- .../listener/quizOrAnswer/quizAfter.java | 45 +++++++++++++------ 2 files changed, 40 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java index ea8bfd11..90a00879 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerAfter.java @@ -38,34 +38,31 @@ public class answerAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson", object); - - - + QueryWrapper queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one = busBean.getOne(queryWrapper1); + String mesg = one.getMesg(); + JSONObject jsonObject = JSONObject.parseObject(mesg); //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String user = delegateTask.getVariable("prcCreateUser", String.class); String username = delegateTask.getVariable("prcCreateUserName", String.class); - String[] split1 = object.getString("askQuestions").substring(1, object.getString("askQuestions").length() - 2).split(","); + String[] split1 = jsonObject.getString("askQuestions").substring(1, jsonObject.getString("askQuestions").length() - 2).split(","); List asList = Arrays.asList(split1); String str = ""; String bzstr = ""; - String namestr = ""; for (int i = 0; i nextUserList = Arrays.asList(split); //截止时间 流程描述 创建人 @@ -79,19 +79,36 @@ public class quizAfter implements TaskListener { busBean.save(busProcessNew); List objects = new ArrayList<>(); 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.setFinishFlag("0"); - busProcessNewNext.setTaskInfo(delegateTask.getName()); - //切割引号 - String questioner = nextUser.substring(1, nextUser.length() -1); - busProcessNewNext.setUserId(questioner); - objects.add(questioner); - busProcessNewNext.setPrcName(prcName); - busBean.save(busProcessNewNext); + if(nextUserList.size()==1){ + 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()); + //切割引号 + String questioner = nextUser.substring(1); + busProcessNewNext.setUserId(questioner); + objects.add(questioner); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + }else { + 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()); + //切割引号 + String questioner = nextUser.substring(1, nextUser.length() - 1); + busProcessNewNext.setUserId(questioner); + objects.add(questioner); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } } delegateTask.setVariable("questionerList",objects); From e97c5a4679d08e7ee6dfdfa8058761496f677ab5 Mon Sep 17 00:00:00 2001 From: SUNJIABIN Date: Thu, 23 Feb 2023 15:11:04 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=90=8D=E7=A7=B0=E4=B8=8D=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E7=9A=84=E5=88=A4=E6=96=AD=EF=BC=8C=E9=98=B2=E6=AD=A2=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E7=A9=BA=E6=8C=87=E9=92=88=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wkflow/business_activiti/task/TodoTaskController.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index 6219e311..173fe915 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -2230,8 +2230,10 @@ public class TodoTaskController extends BaseAction { if (task.getAssignee() != null && !task.getAssignee().equals("")) { ResponseMessage byId = lawsUserInfoService.getById(task.getAssignee()); if (byId.getData() != null) { - if (assignee.indexOf(byId.getData().getUname()) == -1) { - assignee += ((byId.getData().getOrgName() != null && !byId.getData().getOrgName().equals("")) ? byId.getData().getOrgName() + "-" + byId.getData().getUname() : byId.getData().getUname()) + ","; + if (byId.getData().getUname() != null){ + if (assignee.indexOf(byId.getData().getUname()) == -1) { + assignee += ((byId.getData().getOrgName() != null && !byId.getData().getOrgName().equals("")) ? byId.getData().getOrgName() + "-" + byId.getData().getUname() : byId.getData().getUname()) + ","; + } } } } From 31be1cefe833b6bf0c8f6089d8cb4417266e418c Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Wed, 22 Mar 2023 10:42:29 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=88=B6=E4=BF=AE?= =?UTF-8?q?=E8=AE=A2=E8=AE=A1=E5=88=92=E7=AE=A1=E6=8E=A7=EF=BC=88=E7=AB=8B?= =?UTF-8?q?=E9=A1=B9=EF=BC=89=E6=8E=A5=E6=94=B6=E4=BB=BB=E5=8A=A1=E6=94=BE?= =?UTF-8?q?=E7=BD=AE=E5=88=B0=E9=A6=96=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BusProcessNewController.java | 7 ++++++ .../datas/service/IBusProcessNewService.java | 1 + .../impl/BusProcessNewServiceImpl.java | 23 +++++++++++++++---- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessNewController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessNewController.java index d0638029..cad134c6 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessNewController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessNewController.java @@ -1,6 +1,7 @@ package com.ydw.bat.wkflow.business_main.datas.controller; +import com.baomidou.mybatisplus.extension.api.R; import com.tmsps.fk.common.base.action.BaseAction; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; @@ -61,6 +62,12 @@ public class BusProcessNewController extends BaseAction { return findtodotask; } + @ApiOperation(value = "首页流程计划立项查询mesg") + @GetMapping("/selectBusProcessNew") + public String selectBusProcessNew(String taskId) { + return iBusProcessNewService.selectBusProcessNew(taskId); + } + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java index 96d479ee..2a6378cf 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java @@ -36,4 +36,5 @@ public interface IBusProcessNewService extends IService { List everyDayTenOlock(); List everyDayTenOlockSAM(); + String selectBusProcessNew(String taskId); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java index 539cb7f2..b36fd699 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java @@ -1,5 +1,6 @@ package com.ydw.bat.wkflow.business_main.datas.service.impl; +import com.alibaba.fastjson.JSON; 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.mapper.BusProcessNewMapper; @@ -9,10 +10,7 @@ import org.activiti.engine.TaskService; import org.activiti.engine.task.Task; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.TreeSet; +import java.util.*; import java.util.stream.Collectors; /** @@ -89,4 +87,21 @@ public class BusProcessNewServiceImpl extends ServiceImpl busProcessNewQueryWrapper = new QueryWrapper<>(); + busProcessNewQueryWrapper.eq("TASK_id",taskId); + BusProcessNew busProcessNew = baseMapper.selectOne(busProcessNewQueryWrapper); + if(busProcessNew!=null){ + Map mapType = JSON.parseObject(busProcessNew.getMesg(),Map.class); + Object nowEsIdObject = mapType.get("nowEsId"); + if(nowEsIdObject!=null){ + String nowEsId = nowEsIdObject.toString(); + return nowEsId; + } + } + + return null; + } + } From d72fa443304059f4a2fcc14bcb53abef72694e36 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Fri, 24 Mar 2023 14:16:52 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=EF=BC=88=E6=B5=8B=E8=AF=95=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 843c8366..7854f46a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -14,8 +14,11 @@ logging: org.hibernate: info eureka: client: + allow-redirects: true + register-with-eureka: true + fetch-registry: true serviceUrl: - defaultZone: http://10.100.5.117:4201/eureka/ + defaultZone: http://127.0.0.1:8123/eureka/ instance: prefer-ip-address: true spring: @@ -33,9 +36,9 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://10.100.5.111:3306/foton_bat_wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 - username: tempuser - password: Fting&8g35g#geg2 + url: jdbc:mysql://121.36.69.172:3307/foton-bat-wkflow-test?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 + username: root + password: hzwlsoft.com activiti: database-schema-update: true # 自动部署验证设置:true-开启(默认)、false-关闭 @@ -44,10 +47,10 @@ spring: active: dev # 相关服务配置同业务系统 rabbitmq: - host: 10.100.5.119 + host: 121.36.69.172 port: 5672 username: admin - password: foton@admin + password: hzwlsoft.com listener: direct: # 默认加载 发版 需改为 true @@ -102,7 +105,7 @@ ribbon: # 配置 是否 启用 OA oa: - flag: true + flag: false # 配置前端服务全路径地址 如下 /#/ webUrl: https://srms.foton.com.cn/#/ @@ -116,5 +119,4 @@ buss: down: file: path: https://srms.foton.com.cn/file/ -# path: http://foton.natapp1.cc/file/ - +# path: http://foton.natapp1.cc/file/ \ No newline at end of file From 2e9e02ba3bb90044070f08b60689e063bb9992aa Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Fri, 24 Mar 2023 14:21:30 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=EF=BC=88=E6=B5=8B=E8=AF=95=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7854f46a..843c8366 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -14,11 +14,8 @@ logging: org.hibernate: info eureka: client: - allow-redirects: true - register-with-eureka: true - fetch-registry: true serviceUrl: - defaultZone: http://127.0.0.1:8123/eureka/ + defaultZone: http://10.100.5.117:4201/eureka/ instance: prefer-ip-address: true spring: @@ -36,9 +33,9 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://121.36.69.172:3307/foton-bat-wkflow-test?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 - username: root - password: hzwlsoft.com + url: jdbc:mysql://10.100.5.111:3306/foton_bat_wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 + username: tempuser + password: Fting&8g35g#geg2 activiti: database-schema-update: true # 自动部署验证设置:true-开启(默认)、false-关闭 @@ -47,10 +44,10 @@ spring: active: dev # 相关服务配置同业务系统 rabbitmq: - host: 121.36.69.172 + host: 10.100.5.119 port: 5672 username: admin - password: hzwlsoft.com + password: foton@admin listener: direct: # 默认加载 发版 需改为 true @@ -105,7 +102,7 @@ ribbon: # 配置 是否 启用 OA oa: - flag: false + flag: true # 配置前端服务全路径地址 如下 /#/ webUrl: https://srms.foton.com.cn/#/ @@ -119,4 +116,5 @@ buss: down: file: path: https://srms.foton.com.cn/file/ -# path: http://foton.natapp1.cc/file/ \ No newline at end of file +# path: http://foton.natapp1.cc/file/ + From acc98c329a1bc79f28730e1acba3d7321351bb81 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Fri, 24 Mar 2023 18:01:18 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java index cac66f21..162df115 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/quizOrAnswer/answerBefore.java @@ -27,7 +27,7 @@ public class answerBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("?prcType="); + one1.setLink("standQA?prcType=27"); one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } From 966e2d20eef63399f9573298f518fd0ad389fcda Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Sat, 25 Mar 2023 09:21:47 +0800 Subject: [PATCH 09/11] =?UTF-8?q?OA=E5=BE=85=E5=8A=9E=20=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=8F=91=E9=80=81=E6=92=A4=E5=9B=9E=E4=BF=A1=E6=81=AF=E6=8F=90?= =?UTF-8?q?=E9=86=92=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webService/service/impl/WebServiceOAServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java index b4b40e6c..18a86895 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -211,6 +211,11 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { map.put("list",notifyTodoSendContexts); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(map); oaService.setTodoDeleteMq(jsonObject.toString()); + try { + setTodoDelete(jsonObject.toString()); + } catch (Exception e) { + e.printStackTrace(); + } } } From 23ff58a619aa93e762f4088709110d71215dc4e8 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Sat, 25 Mar 2023 16:36:37 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=EF=BC=88OA=20=E5=88=9D=E7=A8=BF30?= =?UTF-8?q?=E5=A4=A9=E5=88=99=E5=8F=91=E9=80=81oa=E6=8F=90=E9=86=92=20?= =?UTF-8?q?=E4=B8=89=E5=A4=A9=E5=90=8E=E5=88=99=E5=8F=91=E9=80=81=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E6=8F=90=E9=86=92=EF=BC=8C=E6=A0=87=E5=87=86=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=97=B6=E9=97=B4=E4=B8=89=E5=A4=A9=E5=88=99=E5=8F=91?= =?UTF-8?q?=E9=80=81=E6=8F=90=E9=86=92=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business_auth/LawsUserInfoService.java | 3 + .../datas/entity/EsRevisePlanDTO.java | 9 ++ .../bat/wkflow/config/ScheduledJobEsPlan.java | 118 ++++++++++++++++++ 3 files changed, 130 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java b/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java index b2ac573c..2291476f 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java @@ -213,4 +213,7 @@ public interface LawsUserInfoService { @GetMapping("/esRevisePlan/es-revise-plan/getAllPlansByWk") public List getAllPlansByWk(@RequestParam("esName") String esName); + + @GetMapping("/esRevisePlan/es-revise-plan/oaUpdatePlans") + void updateEsRevisePlan(@RequestParam("esId")String esId, @RequestParam("date")Date date,@RequestParam("s") String s); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java index b7065703..064e26d2 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java @@ -113,4 +113,13 @@ public class EsRevisePlanDTO { @ApiModelProperty(value = "立项单") @TableField("LXD") private String lxd; + + @ApiModelProperty(value = "OA发送时间记录") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date oaDateIime; + + @ApiModelProperty(value = "OA是否已经发送") + @TableField("OA_IS_SEND") + private String oaIsSend; } diff --git a/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java index 6df44073..8cb64a76 100644 --- a/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java +++ b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java @@ -5,9 +5,11 @@ import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.EsPrcRelation; import com.ydw.bat.wkflow.business_main.datas.entity.EsRevisePlanDTO; +import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessNameMapper; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IEsPrcRelationService; import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.business_oa.webService.service.impl.WebServiceOAServiceImpl; import com.ydw.bat.wkflow.util.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.TaskService; @@ -15,6 +17,7 @@ import org.activiti.engine.task.Task; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.EnableScheduling; @@ -23,6 +26,7 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Calendar; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -35,6 +39,9 @@ public class ScheduledJobEsPlan { @Value("${isNotScheduled}") private boolean isNotScheduled; //是否开启定时器 + @Autowired + WebServiceOAServiceImpl webServiceOAService; + @Scheduled(cron = "0 0 2 * * ?") //每天的凌晨2点执行 @Async public void SchedulingTask() { @@ -83,6 +90,117 @@ public class ScheduledJobEsPlan { } } + @Scheduled(cron = "0 0 2 * * ?") //每天的凌晨2点执行 + @Async + public void SchedulingTaskInfo() { + if(isNotScheduled) { + logger.info("============企标计划定时任务开始==========="); + { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class); + TaskService taskService = SpringContextUtil.getBean(TaskService.class); + + List esRevisePlanDTOList = lawsUserInfoService.getAllPlansByWk(null); // 查询 制定中,修订中的企标计划 + //esRevisePlanDTOList 如果 计划标准初稿时间前一个月的企标计划 以前发送过, + if(!esRevisePlanDTOList.isEmpty()){ + for (EsRevisePlanDTO data : esRevisePlanDTOList) { + if(StringUtils.isNotBlank(data.getOaIsSend()) && data.getOaIsSend().equals("1")){ + //等于1 则证明已经发送了 三十天的OA信息 判断是否是已经发送三天 如果是 则撤回发送 + if(data.getOaDateIime()!=null){ + // 三天时间的时间戳 86400000 * 3 + long threeDay = 259200000; + long time1 = new Date().getTime(); + long oaTime = data.getOaDateIime().getTime(); + //long l = threeDay; + long l = time1 - oaTime; + if( l > threeDay || l == threeDay){ + //证明已经过了三天 则发送撤回信息 + List esPrcRelationList = esPrcRelationService.list(data.getId()); + if (!esPrcRelationList.isEmpty()) { + String esId = esPrcRelationList.get(0).getEsId(); + lawsUserInfoService.updateEsRevisePlan(esId,new Date(),"0"); + if(esPrcRelationList.get(0) != null && StringUtils.isNotBlank(esPrcRelationList.get(0).getPrcId())) { + webServiceOAService.deleteOAByPid(esPrcRelationList.get(0).getPrcId()); + } + } + } + } + } + } + } + // 计划标准初稿时间前一个月的企标计划 + SimpleDateFormat sdfQuery = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.MONTH, 1); + String endDate = sdfQuery.format(calendar.getTime()); + List esRevisePlanDTOList2 = esRevisePlanDTOList.stream() + .filter(e -> endDate.equals(sdfQuery.format(e.getDraftTime()))) + .collect(Collectors.toList()); + if (!esRevisePlanDTOList2.isEmpty()) { + for (EsRevisePlanDTO esRevisePlanDTO : esRevisePlanDTOList2) { + List esPrcRelationList = esPrcRelationService.list(esRevisePlanDTO.getId()); + if (esPrcRelationList.isEmpty()) { + continue; + } + String esId = esPrcRelationList.get(0).getEsId(); + String prcIdGk = esPrcRelationList.get(0).getPrcIdGk(); + String oaFlag = esPrcRelationList.get(0).getOaFlag(); + // 判断对应 管控流程是否还在 技术标准起草节点, 且之前点过接受任务 + if (StringUtils.isNotBlank(prcIdGk)) { + List list2 = taskService.createTaskQuery().processInstanceId(prcIdGk).active().list(); + if (!list2.isEmpty()) { + String nowTaskInfo = list2.get(0).getName(); + if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) { + // 再次发送待办 + logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"==========="); + sendOATodo(list2.get(0)); + // 更新 状态为待办 + esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null); + //存储 OA发的时间 和 修改是否发送过 + lawsUserInfoService.updateEsRevisePlan(esId,new Date(),"1"); + } + } + } + } + } + // 计划标准发布时间 前三天 + Calendar calendarTrid = Calendar.getInstance(); + calendarTrid.add(Calendar.DATE, 3); + String endDateTrid = sdfQuery.format(calendarTrid.getTime()); + List esRevisePlanDTOList3 = esRevisePlanDTOList.stream() + .filter(e -> endDateTrid.equals(sdfQuery.format(e.getReleaseTime()))) + .collect(Collectors.toList()); + if (!esRevisePlanDTOList3.isEmpty()) { + for (EsRevisePlanDTO esRevisePlanDTO : esRevisePlanDTOList3) { + List esPrcRelationList = esPrcRelationService.list(esRevisePlanDTO.getId()); + if (esPrcRelationList.isEmpty()) { + continue; + } + String esId = esPrcRelationList.get(0).getEsId(); + String prcIdGk = esPrcRelationList.get(0).getPrcIdGk(); + String oaFlag = esPrcRelationList.get(0).getOaFlag(); + // 判断对应 管控流程是否还在 技术标准起草节点, 且之前点过接受任务 + if (StringUtils.isNotBlank(prcIdGk)) { + List list2 = taskService.createTaskQuery().processInstanceId(prcIdGk).active().list(); + if (!list2.isEmpty()) { + String nowTaskInfo = list2.get(0).getName(); + if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) { + // 再次发送待办 + logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"==========="); + sendOATodo(list2.get(0)); + // 更新 状态为待办 + esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null); + } + } + } + } + } + //logger.info("============企标计划定时任务结束==========="); + } + logger.info("============企标计划定时任务结束==========="); + } + } + public void sendOATodo(Task delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); QueryWrapper queryWrapper1 = new QueryWrapper(); From 09ddb5a96c5ffecac77c9aa23abc0044608538e3 Mon Sep 17 00:00:00 2001 From: gaojiabao Date: Sun, 26 Mar 2023 10:11:45 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=EF=BC=88OA=E6=92=A4=E9=94=80=E6=8F=90?= =?UTF-8?q?=E9=86=92=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bat/wkflow/config/ScheduledJobEsPlan.java | 97 ++++++++++--------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java index 8cb64a76..0482ac14 100644 --- a/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java +++ b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java @@ -42,53 +42,53 @@ public class ScheduledJobEsPlan { @Autowired WebServiceOAServiceImpl webServiceOAService; - @Scheduled(cron = "0 0 2 * * ?") //每天的凌晨2点执行 - @Async - public void SchedulingTask() { - if(isNotScheduled) { - logger.info("============企标计划定时任务开始==========="); - LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); - IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class); - TaskService taskService = SpringContextUtil.getBean(TaskService.class); - - List esRevisePlanDTOList = lawsUserInfoService.getAllPlansByWk(null); // 查询 制定中,修订中的企标计划 - // 计划标准初稿时间前一个月的企标计划 - SimpleDateFormat sdfQuery = new SimpleDateFormat("yyyy-MM-dd"); - Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.MONTH, 1); - String endDate = sdfQuery.format(calendar.getTime()); - List esRevisePlanDTOList2 = esRevisePlanDTOList.stream() - .filter(e -> endDate.equals(sdfQuery.format(e.getDraftTime()))) - .collect(Collectors.toList()); - if (!esRevisePlanDTOList2.isEmpty()) { - for (EsRevisePlanDTO esRevisePlanDTO : esRevisePlanDTOList2) { - List esPrcRelationList = esPrcRelationService.list(esRevisePlanDTO.getId()); - if (esPrcRelationList.isEmpty()) { - continue; - } - String esId = esPrcRelationList.get(0).getEsId(); - String prcIdGk = esPrcRelationList.get(0).getPrcIdGk(); - String oaFlag = esPrcRelationList.get(0).getOaFlag(); - // 判断对应 管控流程是否还在 技术标准起草节点, 且之前点过接受任务 - if (StringUtils.isNotBlank(prcIdGk)) { - List list2 = taskService.createTaskQuery().processInstanceId(prcIdGk).active().list(); - if (!list2.isEmpty()) { - String nowTaskInfo = list2.get(0).getName(); - if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) { - // 再次发送待办 - logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"==========="); - sendOATodo(list2.get(0)); - - // 更新 状态为待办 - esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null); - } - } - } - } - } - logger.info("============企标计划定时任务结束==========="); - } - } +// @Scheduled(cron = "0 0 2 * * ?") //每天的凌晨2点执行 +// @Async +// public void SchedulingTask() { +// if(isNotScheduled) { +// logger.info("============企标计划定时任务开始==========="); +// LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); +// IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class); +// TaskService taskService = SpringContextUtil.getBean(TaskService.class); +// +// List esRevisePlanDTOList = lawsUserInfoService.getAllPlansByWk(null); // 查询 制定中,修订中的企标计划 +// // 计划标准初稿时间前一个月的企标计划 +// SimpleDateFormat sdfQuery = new SimpleDateFormat("yyyy-MM-dd"); +// Calendar calendar = Calendar.getInstance(); +// calendar.add(Calendar.MONTH, 1); +// String endDate = sdfQuery.format(calendar.getTime()); +// List esRevisePlanDTOList2 = esRevisePlanDTOList.stream() +// .filter(e -> endDate.equals(sdfQuery.format(e.getDraftTime()))) +// .collect(Collectors.toList()); +// if (!esRevisePlanDTOList2.isEmpty()) { +// for (EsRevisePlanDTO esRevisePlanDTO : esRevisePlanDTOList2) { +// List esPrcRelationList = esPrcRelationService.list(esRevisePlanDTO.getId()); +// if (esPrcRelationList.isEmpty()) { +// continue; +// } +// String esId = esPrcRelationList.get(0).getEsId(); +// String prcIdGk = esPrcRelationList.get(0).getPrcIdGk(); +// String oaFlag = esPrcRelationList.get(0).getOaFlag(); +// // 判断对应 管控流程是否还在 技术标准起草节点, 且之前点过接受任务 +// if (StringUtils.isNotBlank(prcIdGk)) { +// List list2 = taskService.createTaskQuery().processInstanceId(prcIdGk).active().list(); +// if (!list2.isEmpty()) { +// String nowTaskInfo = list2.get(0).getName(); +// if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) { +// // 再次发送待办 +// logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"==========="); +// sendOATodo(list2.get(0)); +// +// // 更新 状态为待办 +// esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null); +// } +// } +// } +// } +// } +// logger.info("============企标计划定时任务结束==========="); +// } +// } @Scheduled(cron = "0 0 2 * * ?") //每天的凌晨2点执行 @Async @@ -121,6 +121,7 @@ public class ScheduledJobEsPlan { lawsUserInfoService.updateEsRevisePlan(esId,new Date(),"0"); if(esPrcRelationList.get(0) != null && StringUtils.isNotBlank(esPrcRelationList.get(0).getPrcId())) { webServiceOAService.deleteOAByPid(esPrcRelationList.get(0).getPrcId()); + logger.info("============撤销OA待办消息==========="); } } } @@ -152,12 +153,12 @@ public class ScheduledJobEsPlan { String nowTaskInfo = list2.get(0).getName(); if ("技术标准起草".equals(nowTaskInfo) && "0".equals(oaFlag)) { // 再次发送待办 - logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"==========="); sendOATodo(list2.get(0)); // 更新 状态为待办 esPrcRelationService.modifyEsPrcRelation(esId, null, "1", null); //存储 OA发的时间 和 修改是否发送过 lawsUserInfoService.updateEsRevisePlan(esId,new Date(),"1"); + logger.info("============再次发送待办的企标计划" + esRevisePlanDTO.getEsName() +"==========="); } } }