diff --git a/doc/sql/20221114_流程名称字段加长.sql b/doc/sql/20221114_流程名称字段加长.sql new file mode 100644 index 00000000..5e9e6af4 --- /dev/null +++ b/doc/sql/20221114_流程名称字段加长.sql @@ -0,0 +1,14 @@ +ALTER TABLE `foton-bat-wkflow`.`bus_process_name` + MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '流程名称' AFTER `ID`; + +ALTER TABLE `foton-bat-wkflow`.`bus_process_new` + MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '流程名称' AFTER `SUB_ID`; + +ALTER TABLE `foton-bat-wkflow`.`bus_process_entrust` + MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL AFTER `TASK_NAME`; + +ALTER TABLE `foton-bat-wkflow`.`bus_process_model_his` + MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '流程名称' AFTER `P_ID`; + +ALTER TABLE `foton-bat-wkflow`.`bus_process_evaluation_his` + MODIFY COLUMN `PRC_NAME` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '流程名称' AFTER `P_ID`; \ No newline at end of file diff --git a/doc/sql/20221120_企标计划和企标制修订流程关联表.sql b/doc/sql/20221120_企标计划和企标制修订流程关联表.sql new file mode 100644 index 00000000..efa1539d --- /dev/null +++ b/doc/sql/20221120_企标计划和企标制修订流程关联表.sql @@ -0,0 +1,10 @@ +CREATE TABLE `es_prc_relation` ( + `id` varchar(32) NOT NULL, + `es_id` varchar(32) DEFAULT NULL COMMENT '企标计划ID', + `prc_id` varchar(33) DEFAULT NULL COMMENT '企标制修订技术标准流程实例ID', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '修改时间', + `oa_flag` varchar(2) DEFAULT NULL COMMENT 'OA待办标识 0-已办,1-待办', + `prc_id_gk` varchar(33) DEFAULT NULL COMMENT '企标计划管控流程的实例ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企标计划和企标制修订流程关联表'; \ No newline at end of file diff --git a/doc/sql/20221124_企标计划和技术标准流程关联表.sql b/doc/sql/20221124_企标计划和技术标准流程关联表.sql new file mode 100644 index 00000000..45791b48 --- /dev/null +++ b/doc/sql/20221124_企标计划和技术标准流程关联表.sql @@ -0,0 +1,8 @@ +CREATE TABLE `es_tech_relation` ( + `id` varchar(32) NOT NULL, + `es_id` varchar(32) DEFAULT NULL COMMENT '企标计划ID', + `prc_id` varchar(33) DEFAULT NULL COMMENT '复审流程实例ID', + `finish` varchar(10) DEFAULT NULL COMMENT '流程是否结束', + `prc_tech_id` varchar(33) DEFAULT NULL COMMENT '企标制修订技术标准流程实例ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/pom.xml b/pom.xml index 166f760d..05b23d50 100644 --- a/pom.xml +++ b/pom.xml @@ -29,17 +29,35 @@ fk-util 1.0.0 + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework + spring-context-support + org.springframework.cloud spring-cloud-starter-netflix-eureka-client 2.0.0.RELEASE + + org.springframework.boot + spring-boot-starter-amqp + + + org.springframework.amqp + spring-rabbit-test + test + org.springframework.cloud spring-cloud-starter-openfeign - 2.0.2.RELEASE + 2.2.0.RELEASE @@ -71,6 +89,29 @@ org.springframework.boot spring-boot-starter-web + + + org.apache.cxf + cxf-spring-boot-starter-jaxws + 3.3.0 + + + org.apache.cxf + cxf-rt-transports-http + 3.3.0 + + + org.apache.cxf + cxf-rt-features-logging + 3.3.0 + test + + + + com.squareup.okhttp3 + okhttp + 3.6.0 + org.projectlombok @@ -106,6 +147,13 @@ activiti-modeler ${activiti.version} + + + net.sf.json-lib + json-lib + 2.4 + jdk15 + + + + org.apache.poi + poi + 4.1.2 + + + org.apache.poi + poi-ooxml + 4.1.2 + + + org.apache.poi + poi-ooxml-schemas + 4.1.2 + + + xerces + xercesImpl + + + + + org.apache.poi + poi-scratchpad + 4.1.2 + + + com.deepoove + poi-tl + 1.9.1 + org.springframework.boot spring-boot-starter-test test + + com.google.code.gson + gson + 2.8.6 + diff --git a/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java b/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java index e2346002..5ae2a9eb 100644 --- a/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java +++ b/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java @@ -1,5 +1,7 @@ package com.ydw.bat.wkflow; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -18,8 +20,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; */ @EnableEurekaClient @EnableFeignClients -@SpringBootApplication -@EnableAutoConfiguration(exclude = { +@SpringBootApplication(exclude = { org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class, org.activiti.spring.boot.SecurityAutoConfiguration.class }) @MapperScan("com.ydw.bat.wkflow.business.*.mapper") @@ -28,6 +29,8 @@ public class BatWkflowApplication { public static void main(String[] args) { SpringApplication.run(BatWkflowApplication.class, args); +// JSONObject jsonObject= JSON.parseObject("{\"startUser\":\"WY8J26MH23\",\"engineer\":\"engineer\",\"dockUserList\":[{\"id\":\"zqazqazqa\"},{\"id\":\"xwsxwsxws\"},{\"id\":\"cedcedced\"}],\"actionFlag\":\"0\",\"responUserList\":[{\"id\":\"zqazqazqa\"},{\"id\":\"xwsxwsxws\"},{\"id\":\"cedcedced\"}]}"); +// System.out.println(jsonObject.toJSONString()); } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/define/ActivitDefineController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/define/ActivitDefineController.java index 8ba95299..7a367451 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/define/ActivitDefineController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/define/ActivitDefineController.java @@ -9,6 +9,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_activiti.dto.ProcessRollBackEO; 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.ResponseMessage; @@ -25,6 +26,8 @@ import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import com.tmsps.fk.common.base.action.BaseAction; @@ -124,7 +127,7 @@ public class ActivitDefineController extends BaseAction { // 创建查询对象 ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery(); // 使用流程定义的名称模糊查询 - processDefinitionQuery.processDefinitionCategory("4bdf0b396b4aa6ea10dd5e19956a1e22"); + processDefinitionQuery.processDefinitionCategory("e05707228fa5ed7b549198208ab19d97"); long total = processDefinitionQuery.count(); List list = processDefinitionQuery.orderByProcessDefinitionKey().asc().list(); List> definitions = ActivitiTools.turnProcessDefinitions(list); @@ -155,7 +158,7 @@ public class ActivitDefineController extends BaseAction { // 创建查询对象 ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery(); // 使用流程定义的名称模糊查询 - processDefinitionQuery.processDefinitionCategory("4bdf0b396b4aa6ea10dd5e19956a1e22"); + processDefinitionQuery.processDefinitionCategory("e05707228fa5ed7b549198208ab19d97"); long total = processDefinitionQuery.count(); List list = processDefinitionQuery.orderByProcessDefinitionKey().asc().list(); List> definitions = ActivitiTools.turnProcessDefinitions(list); @@ -182,37 +185,64 @@ public class ActivitDefineController extends BaseAction { ResponseMessage byId = lawsUserInfoService.getById(userId); busProcessName.setCreatUserName(byId.getData().getUname()); busProcessName.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date())); - if(id.equals("bzhyhhgllc")){ - String prcName = bpnId; - busProcessName.setPrcType("16"); - busProcessName.setPrcName(prcName); - } ibusprocessnameService.save(busProcessName); }else { - if (bpnId.indexOf("会议会后") != -1) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - BusProcessName busProcessName = new BusProcessName(); - busProcessName.setPrcId(pi.getId()); - busProcessName.setCreatTime(sdf.format(new Date())); - busProcessName.setCreatUser(userId); - ResponseMessage byId = lawsUserInfoService.getById(userId); - busProcessName.setCreatUserName(byId.getData().getUname()); - busProcessName.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date())); - if (id.equals("bzhyhhgllc")) { - String prcName = bpnId; - busProcessName.setPrcType("16"); - busProcessName.setPrcName(prcName); - } - ibusprocessnameService.save(busProcessName); - } else { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("ID", bpnId); - BusProcessName one = ibusprocessnameService.getOne(queryWrapper); - one.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date())); - one.setPrcId(pi.getId()); - ibusprocessnameService.saveOrUpdate(one); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ID", bpnId); + BusProcessName one = ibusprocessnameService.getOne(queryWrapper); + one.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date())); + one.setPrcId(pi.getId()); + ibusprocessnameService.saveOrUpdate(one); + } + logger.info("启动流程实例,获取id-->{},实例名称-->{}", pi.getId(), pd.getName()); + return WrapMapper.ok(task.getId()); + } + + @ApiOperation(value = "启动流程-以流程定义id") + @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "流程定义Id"), + @ApiImplicitParam(name = "userId", value = "流程发起人Id") }) + @PostMapping("/activiti_define_start_user_rollBack") + public Wrapper activiti_define_start_user_rollBack(@RequestBody ProcessRollBackEO processRollBackEO) { + // 创建查询对象 + ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery(); + // 使用流程定义的名称模糊查询 + processDefinitionQuery.processDefinitionCategory("e05707228fa5ed7b549198208ab19d97"); + long total = processDefinitionQuery.count(); + List list = processDefinitionQuery.orderByProcessDefinitionKey().asc().list(); + List> definitions = ActivitiTools.turnProcessDefinitions(list); + String pid = ""; + for(Map map:definitions){ + if(map.get("key").toString().equals(processRollBackEO.getId())){ + pid = map.get("id").toString(); } } + + ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().processDefinitionId(pid).singleResult(); + + ProcessInstance pi = runtimeService.startProcessInstanceById(pid); + Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).singleResult(); + task.setAssignee(processRollBackEO.getUserId()); + taskService.saveTask(task); + + if(processRollBackEO.getBpnId() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + BusProcessName busProcessName = new BusProcessName(); + busProcessName.setPrcId(pi.getId()); + busProcessName.setCreatTime(sdf.format(new Date())); + busProcessName.setCreatUser(processRollBackEO.getUserId()); + ResponseMessage byId = lawsUserInfoService.getById(processRollBackEO.getUserId()); + busProcessName.setCreatUserName(byId.getData().getUname()); + busProcessName.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date())); + busProcessName.setMes(processRollBackEO.getJson()); + ibusprocessnameService.save(busProcessName); + }else { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ID", processRollBackEO.getBpnId()); + BusProcessName one = ibusprocessnameService.getOne(queryWrapper); + one.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date())); + one.setPrcId(pi.getId()); + ibusprocessnameService.saveOrUpdate(one); + } logger.info("启动流程实例,获取id-->{},实例名称-->{}", pi.getId(), pd.getName()); return WrapMapper.ok(task.getId()); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProcessRollBackEO.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProcessRollBackEO.java new file mode 100644 index 00000000..970a20b2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProcessRollBackEO.java @@ -0,0 +1,17 @@ +package com.ydw.bat.wkflow.business_activiti.dto; + +import lombok.Data; + +@Data +public class ProcessRollBackEO { + + private String json; + + private String type; + + private String id; + + private String userId; + + private String bpnId; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProjectAssessDTO.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProjectAssessDTO.java index 3546038f..912cb691 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProjectAssessDTO.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/dto/ProjectAssessDTO.java @@ -22,7 +22,7 @@ public class ProjectAssessDTO { private String saleMarket; private Date modifyTime; private String targetMarket; -// private Children children; +// private PCAchildren children; private List children; private String id; private String productType; diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/instance/service/InstanceService.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/instance/service/InstanceService.java index ddc2896d..8f9c4488 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/instance/service/InstanceService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/instance/service/InstanceService.java @@ -4,6 +4,7 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import org.activiti.bpmn.model.BpmnModel; import org.activiti.engine.HistoryService; import org.activiti.engine.RepositoryService; @@ -11,6 +12,7 @@ import org.activiti.engine.history.HistoricActivityInstance; import org.activiti.engine.history.HistoricProcessInstance; import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity; import org.activiti.image.impl.DefaultProcessDiagramGenerator; +import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +22,7 @@ import org.springframework.stereotype.Service; public class InstanceService { protected Logger logger = LoggerFactory.getLogger(this.getClass()); - + @Autowired private RepositoryService repositoryService; @@ -48,7 +50,9 @@ public class InstanceService { int index = 1; logger.info("获取已经执行的节点ID"); for (HistoricActivityInstance activityInstance : historicActivityInstanceList) { - executedActivityIdList.add(activityInstance.getActivityId()); + if (ObjectUtils.isNotEmpty(activityInstance.getEndTime())) { + executedActivityIdList.add(activityInstance.getActivityId()); + } logger.info("第[" + index + "]个已执行节点=" + activityInstance.getActivityId() + " : " + activityInstance.getActivityName()); index++; diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java index e2e7dc0b..602178f3 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java @@ -3,13 +3,10 @@ package com.ydw.bat.wkflow.business_activiti.task; import java.text.SimpleDateFormat; import java.util.*; -import com.baomidou.mybatisplus.core.conditions.Wrapper; 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.*; -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.*; import org.activiti.engine.HistoryService; import org.activiti.engine.history.HistoricTaskInstance; import org.activiti.engine.history.HistoricTaskInstanceQuery; @@ -42,9 +39,46 @@ public class TaskController { private IBusProcessNameService iBusProcessNameService; @Autowired private IBusProcessNewService iBusProcessNewService; + @Autowired + private IOaTaskExecService oaTaskExecService; + @Autowired + private ISendTodoLogService sendTodoLogService; @Autowired private IBusProcessEntrustService iBusProcessEntrustService; + @ApiOperation(value = "流程实例明细验证是否完成") + @GetMapping("/get_verify_by_instance") + public Map get_verify_by_instance(String taskId,String pId) { + Map map = new TreeMap<>(); + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(pId).taskId(taskId).finished(); + List list = historicTaskInstanceQuery.list(); + long count = 0; + if(!list.isEmpty()){ + count = list.size(); + } + map.put("hisCount",count); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("TASK_ID",taskId); + queryWrapper.eq("P_ID",pId); + List list1 = iBusProcessNewService.list(queryWrapper); + long count1 = 0; + if(!list1.isEmpty()){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",list1.get(0).getId()); + count1 = oaTaskExecService.count(wrapper); + } + map.put("commitStatus",count1); + // OA 流程 是否置为 已办 (用于干活流程 接收逻辑) + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",list1.get(0).getId()); + wrapper.eq("MSG_TYPE","1"); + long count2 = sendTodoLogService.count(wrapper); + map.put("isNotFinished",count2); + return map; + + } + @ApiOperation(value = "流程实例明细列表") @ApiImplicitParam(name = "prcNum", value = "流程实例id") @GetMapping("/get_list_by_instance") @@ -53,8 +87,16 @@ public class TaskController { queryWrapper.eq("PRC_NUM",prcNum); BusProcessName one = iBusProcessNameService.getOne(queryWrapper); HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() - .processInstanceId(one.getPrcId()).orderByTaskCreateTime().asc(); + .processInstanceId(one.getPrcId()).orderByHistoricTaskInstanceEndTime().asc(); List list2 = historicTaskInstanceQuery.list(); + List middle =new ArrayList<>(); + list2.forEach(historicTaskInstance -> { + if (null==historicTaskInstance.getEndTime()){ + middle.add(historicTaskInstance); + } + }); + list2.removeAll(middle); + list2.addAll(middle); List> list = ActivitiTools.turnHistoricTaskInstance(list2); for (Map historicTaskInstance : list) { // if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) { @@ -65,9 +107,13 @@ public class TaskController { // if(ChkUtil.isNotNull(map)) { // historicTaskInstance.put("assignee", map.get("USR_NAME")); // } + if(StringUtils.isNotBlank(one.getId())){ + historicTaskInstance.put("bpnId",one.getId()); + } if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) { - ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); - if(listUser.getData()!=null){ +// ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); + ResponseMessage> listUser = new ResponseMessage<>(); + if(false){ List qbgcs = new ArrayList<>(); for (OrgEO orgEO : listUser.getData()) { qbgcs.add(orgEO.getUserName()); @@ -83,12 +129,12 @@ public class TaskController { historicTaskInstance.put("assigneeId", assignee.getData().getUsid()); QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id")); - queryWrapper2.orderByAsc("CREATE_TIME"); + queryWrapper2.orderByDesc("CREATE_TIME"); List list1 = iBusProcessEntrustService.list(queryWrapper2); String str = ""; if(list1.size()>0){ ResponseMessage assignee1 = lawsUserInfoService.getById(list1.get(0).getUserId()); - historicTaskInstance.put("assignee", assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 委托)"); + historicTaskInstance.put("assignee", assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 转办)"); } } } @@ -97,8 +143,10 @@ public class TaskController { historicTaskInstance.put("prcNum",one.getPrcNum()); QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("TASK_ID",historicTaskInstance.get("id")); + queryWrapper1.eq("TASK_INFO",historicTaskInstance.get("name")); + queryWrapper1.isNotNull("COMMIT_TEXT"); List list1 = iBusProcessNewService.list(queryWrapper1); - if(list1.size()>0){ + if(!list1.isEmpty()){ historicTaskInstance.put("comment",list1.get(0).getCommitFlag()); historicTaskInstance.put("commentText",list1.get(0).getCommitText()); }else{ @@ -130,4 +178,140 @@ public class TaskController { } return list; } -} \ No newline at end of file + @ApiOperation(value = "流程实例汇总列表") + @ApiImplicitParam(name = "prcNum", value = "流程实例id") + @GetMapping("/get_gather_by_instance") + public List> get_gather_by_instance(String prcNum,String sortWord,String shunxu) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("PRC_NUM",prcNum); + Boolean isGather=false; + Integer index=-1; + Map typeData=new HashMap<>(); + typeData.put("1","起草");// 标准入库流程数据 + typeData.put("buss1","批准");//企标入库 + typeData.put("buss2","意见汇总修订");//企标入库 + typeData.put("buss3","汇总");//企标复审 + typeData.put("4","起草");//标准清单发布流程数据 + typeData.put("5","批准");//标准项目合规评估 + typeData.put("6","批准");//标准项目合规评估 项目维度 + typeData.put("8","合规排查(上传合规举证材料)");// 未符合项整改 + typeData.put("9","批准");// 标准解读流程 + typeData.put("2","调研结果处理");//标准调研流程 + typeData.put("3","意见处理");//标准征求意见 + typeData.put("10","清单发布");//项目清单确认 + typeData.put("24","起草人修改标准状态");//企标废止 + typeData.put("25","起草");//企标制修订计划管控 + typeData.put("26","起草");//企标制修订立项计划 + typeData.put("23","汇总");//企标复审 + BusProcessName one = iBusProcessNameService.getOne(queryWrapper); + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(one.getPrcId()).orderByHistoricTaskInstanceEndTime().asc(); + List list2 = historicTaskInstanceQuery.list(); + List middle =new ArrayList<>(); + list2.forEach(historicTaskInstance -> { + if (null==historicTaskInstance.getEndTime()){ + middle.add(historicTaskInstance); + } + }); + list2.removeAll(middle); + list2.addAll(middle); + List> list = ActivitiTools.turnHistoricTaskInstance(list2); + for(int i=0;i historicTaskInstance= list.get(i); +// if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) { +// continue; +// } + //需要修改 根据当前表结构查询 +// Map map = jt.queryForMap("select t.USR_NAME from view_t_au_usr t where t.OBJECT_ID=?", historicTaskInstance.get("assignee")); +// if(ChkUtil.isNotNull(map)) { +// historicTaskInstance.put("assignee", map.get("USR_NAME")); +// } + if(StringUtils.isNotBlank(one.getId())){ + historicTaskInstance.put("bpnId",one.getId()); + } + if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) { +// ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); + ResponseMessage> listUser = new ResponseMessage<>(); + if(false){ + List qbgcs = new ArrayList<>(); + for (OrgEO orgEO : listUser.getData()) { + qbgcs.add(orgEO.getUserName()); + } + String str= StringUtils.join(qbgcs, ","); + historicTaskInstance.put("assignee", str); + } + }else{ + ResponseMessage assignee = lawsUserInfoService.getById(historicTaskInstance.get("assignee").toString()); + + if(assignee.getData()!=null){ + historicTaskInstance.put("assignee", assignee.getData().getUname()); + historicTaskInstance.put("assigneeId", assignee.getData().getUsid()); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id")); + queryWrapper2.orderByDesc("CREATE_TIME"); + List list1 = iBusProcessEntrustService.list(queryWrapper2); + String str = ""; + if(list1.size()>0){ + ResponseMessage assignee1 = lawsUserInfoService.getById(list1.get(0).getUserId()); + historicTaskInstance.put("assignee", assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 转办)"); + } + } + } + historicTaskInstance.put("prcType",one.getPrcType()); + historicTaskInstance.put("prcName",one.getPrcName()); + historicTaskInstance.put("prcNum",one.getPrcNum()); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",historicTaskInstance.get("id")); + queryWrapper1.eq("TASK_INFO",historicTaskInstance.get("name")); + queryWrapper1.isNotNull("COMMIT_TEXT"); + List list1 = iBusProcessNewService.list(queryWrapper1); + if(!list1.isEmpty()){ + historicTaskInstance.put("comment",list1.get(0).getCommitFlag()); + historicTaskInstance.put("commentText",list1.get(0).getCommitText()); + }else{ + historicTaskInstance.put("comment",""); + historicTaskInstance.put("commentText",""); + } + //判断是否可汇总功能 + String prcType=historicTaskInstance.get("prcType").toString(); + String name=historicTaskInstance.get("name").toString(); + Boolean endTime=historicTaskInstance.get("endTime")!=null; + if (typeData.get(prcType).equals(name)) { + if(endTime) { + isGather = true; + index = i; + }else{ + isGather=false; + index=-1; + } + } + } + if(StringUtils.isNotBlank(sortWord)){ + Collections.sort(list, new Comparator>() { + public int compare(Map o1, Map o2) { + String id1=""; + String id2=""; + if(sortWord.equals("startTime")){ + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + id1 = df.format(o1.get(sortWord)); + id2 = df.format(o2.get(sortWord)); + }else{ + id1 = (String) o1.get(sortWord); + id2 = (String) o2.get(sortWord); + } + if(shunxu.equals("desc")){ + return id2.compareTo(id1); + }else{ + return id1.compareTo(id2); + } + } + }); + } + Map m=new HashMap<>(); + m.put("isGather",isGather); + m.put("index",index); + list.add(m); + return list; + } + +} 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 33090bb4..7e08490f 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 @@ -22,8 +22,16 @@ 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.IOaTaskExecService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +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.todoResult.NotifyTodoAppResult; 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.SpringContextUtil; +import org.activiti.bpmn.model.BpmnModel; +import org.activiti.bpmn.model.FlowNode; import org.activiti.engine.*; import org.activiti.engine.history.*; import org.activiti.engine.repository.ProcessDefinition; @@ -34,10 +42,9 @@ import org.activiti.engine.task.Task; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.web.bind.annotation.*; import com.tmsps.fk.common.base.action.BaseAction; import com.tmsps.fk.common.util.ChkUtil; @@ -55,6 +62,9 @@ import io.swagger.annotations.ApiOperation; @RestController public class TodoTaskController extends BaseAction { + @Value("${oa.flag}") + private Boolean oaFlag; + @Autowired private TaskService taskService; @Autowired @@ -83,6 +93,15 @@ public class TodoTaskController extends BaseAction { @Autowired private LawsUserInfoService lawsUserInfoService; + @Autowired + private IOaTaskExecService oaTaskExecService; + + @Autowired + private WebServiceOAService webServiceOAService; + + @Autowired + private CreateMQService mqService; + @ApiOperation(value = "我的待办任务列表") @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), @ApiImplicitParam(name = "current", value = "当前页"), @@ -144,21 +163,44 @@ public class TodoTaskController extends BaseAction { BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper); String taskIds = ""; for (Map map : entry.getValue()) { - taskIds += map.get("id").toString() + ","; - } - if (busProcessName != null) { - busProcessName.setTaskIds(taskIds); - busProcessName.setTaskInfo(entry.getValue().get(0).get("name").toString()); - busProcessName.setMes(null); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String data = sdf.format(entry.getValue().get(0).get("createTime")); - busProcessName.setAcceptTime(data); - todoList.add(busProcessName); + if (busProcessName != null) { + BusProcessName res=new BusProcessName(); + BeanUtils.copyProperties(busProcessName,res); + res.setTaskIds(map.get("id").toString()); + res.setTaskInfo(entry.getValue().get(0).get("name").toString()); + res.setTaskAssignee(entry.getValue().get(0).get("assignee").toString()); + res.setMes(null); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String data = sdf.format(entry.getValue().get(0).get("createTime")); + res.setAcceptTime(data); +// //获取新的流程名称 +// QueryWrapper queryWrapper1=new QueryWrapper<>(); +// queryWrapper1.eq("P_ID",res.getPrcId()); +// queryWrapper1.eq("TASK_ID",res.getTaskIds()); +// BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1); +// res.setPrcName(busProcessNew != null ? (StringUtils.isNotBlank(busProcessNew.getPrcName()) ? busProcessNew.getPrcName() : "") : "" ); + todoList.add(res); + } } + } return todoList; } + + @ApiOperation(value = "我的待办任务列表速度优化项") + @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), + @ApiImplicitParam(name = "current", value = "当前页"), + @ApiImplicitParam(name = "size", value = "每页条数"), + @ApiImplicitParam(name = "userId", value = "用户Id")}) + @PostMapping("/todoTaskListNew") + public List todoTaskListByUserIdNew(@RequestBody TaskCommonQuery taskCommonQuery) { + // 创建查询对象 + List busProcessNames=new ArrayList<>(); + busProcessNames=iBusProcessNameService.todoTask(taskCommonQuery); + return busProcessNames; + } + @ApiOperation(value = "改派任务") @ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"), @ApiImplicitParam(name = "assignee", value = "改派人员")}) @@ -192,6 +234,7 @@ public class TodoTaskController extends BaseAction { List list1 = iBusProcessNewService.list(queryWrapper1); if (list1.size() > 0) { for (BusProcessNew busProcessNew : list1) { + webServiceOAService.deleteOAByTaskIdResetTodo(busProcessNew,assignee); busProcessNew.setUserId(assignee); iBusProcessNewService.saveOrUpdate(busProcessNew); } @@ -209,86 +252,86 @@ public class TodoTaskController extends BaseAction { } //发送邮件 - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PRC_ID", pId); - BusProcessName name = iBusProcessNameService.getOne(queryWrapper); - String type = name.getPrcType(); - Integer typeInt = 99; - if (StringUtils.isNotEmpty(type)){ - typeInt = Integer.valueOf(type); - } - switch (typeInt){ - case 1: - type = "法规入库及评估流程"; - break; - case 2: - type = "标准法规技术储备评估流程"; - break; - case 3: - type = "项目评估流程"; - break; - case 4: - type = "企标制修订流程"; - break; - case 5: - type = "未符合项跟踪流程"; - break; - case 6: - type = "企标制修订申请流程"; - break; - case 7: - type = "企标废止流程"; - break; - case 8: - type = "企标延期制修订申请流程"; - break; - case 9: - type = "标准采购流程"; - break; - case 10: - type = "工作组会前申请流程"; - break; - case 11: - type = "企标制修订评估流程"; - break; - case 12: - type = "企标勘误流程"; - break; - case 13: - type = "行政管理要求评估流程"; - break; - case 14: - type = "政策入库及评估流程"; - break; - case 15: - type = "标准翻译申请流程"; - break; - case 16: - type = "工作组会后管理流程"; - break; - case 17: - type = "企标备案流程"; - break; - case 18: - type = "标准法规清单发布/更新流程"; - break; - case 19: - type = "企标复审流程"; - break; - default: - break; - } - ResponseMessage userVOResponseMessage = lawsUserInfoService.getById(userId); - UserVO userVO = userVOResponseMessage.getData(); - String userName = ""; - if (null != userVO) { - userName = userVO.getUname(); - } - String content = "您好,"+name.getPrcNum()+"-"+ name.getPrcName() +" "+ userName +"委托您处理待办任务 ,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter )。\n" + - " ——来自 全球标准法规管理系统"; - lawsUserInfoService.sendEmail(userId,content,"GSRM——【待办任务】["+type+"]有您的待办任务"); - - logger.info("task {} find " + taskId); +// QueryWrapper queryWrapper = new QueryWrapper(); +// queryWrapper.eq("PRC_ID", pId); +// BusProcessName name = iBusProcessNameService.getOne(queryWrapper); +// String type = name.getPrcType(); +// Integer typeInt = 99; +// if (StringUtils.isNotEmpty(type)){ +// typeInt = Integer.valueOf(type); +// } +// switch (typeInt){ +// case 1: +// type = "法规入库及评估流程"; +// break; +// case 2: +// type = "标准法规技术储备评估流程"; +// break; +// case 3: +// type = "项目评估流程"; +// break; +// case 4: +// type = "企标制修订流程"; +// break; +// case 5: +// type = "未符合项跟踪流程"; +// break; +// case 6: +// type = "企标制修订申请流程"; +// break; +// case 7: +// type = "企标废止流程"; +// break; +// case 8: +// type = "企标延期制修订申请流程"; +// break; +// case 9: +// type = "标准采购流程"; +// break; +// case 10: +// type = "工作组会前申请流程"; +// break; +// case 11: +// type = "企标制修订评估流程"; +// break; +// case 12: +// type = "企标勘误流程"; +// break; +// case 13: +// type = "行政管理要求评估流程"; +// break; +// case 14: +// type = "政策入库及评估流程"; +// break; +// case 15: +// type = "标准翻译申请流程"; +// break; +// case 16: +// type = "工作组会后管理流程"; +// break; +// case 17: +// type = "企标备案流程"; +// break; +// case 18: +// type = "标准法规清单发布/更新流程"; +// break; +// case 19: +// type = "企标复审流程"; +// break; +// default: +// break; +// } +// ResponseMessage userVOResponseMessage = lawsUserInfoService.getById(userId); +// UserVO userVO = userVOResponseMessage.getData(); +// String userName = ""; +// if (null != userVO) { +// userName = userVO.getUname(); +// } +// String content = "您好,"+name.getPrcNum()+"-"+ name.getPrcName() +" "+ userName +"委托您处理待办任务 ,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter )。\n" + +// " ——来自 全球标准法规管理系统"; +// lawsUserInfoService.sendEmail(userId,content,"GSRM——【待办任务】["+type+"]有您的待办任务"); +// +// logger.info("task {} find " + taskId); return WrapMapper.ok("改派成功"); } @@ -299,10 +342,12 @@ public class TodoTaskController extends BaseAction { public Wrapper completeTaskByUserId(@RequestBody BusMes busMes) { logger.info("!!!!!!!!!!!!!TaskId!!!!!!!!!!!!!!!"+busMes.getTaskId()); logger.info("!!!!!!!!!!!!!!TaskIds!!!!!!!!!!!!!!"+busMes.getTaskIds()); + if (busMes.getTaskId() != null && !busMes.getTaskId().equals("")) { if (busMes.getTaskId().indexOf(",") > -1) { String taskIdsrc = busMes.getTaskId().substring(0, busMes.getTaskId().length() - 1); busMes.setTaskId(taskIdsrc); + } logger.info("taskId--> " + busMes.getTaskId()); Task task = taskService.createTaskQuery().taskId(busMes.getTaskId()).singleResult(); @@ -317,6 +362,15 @@ public class TodoTaskController extends BaseAction { formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); + //发送OA已办 + try { + if(oaFlag){ + //发送OA已办 + webServiceOAService.completeOA(task); + } + }catch (Exception e){ + logger.error(e.toString()); + } taskService.complete(busMes.getTaskId()); } return WrapMapper.ok(task.getProcessInstanceId()); @@ -337,11 +391,62 @@ public class TodoTaskController extends BaseAction { formSubmitDto.setForm(busMes.getJson()); formSubmitDto.setTask_id(taskId); formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); + + try { + if(oaFlag){ + //发送OA已办 + webServiceOAService.completeOA(task); + } + + }catch (Exception e){ + logger.error(e.toString()); + } taskService.complete(taskId); } } return WrapMapper.ok(prcid); } +// +// if(notifyTodoAppResult != null){ +// if(notifyTodoAppResult.getSIGN().equals("0") && notifyTodoAppResult.getMASSAGE().equals("操作成功")){ +// +// }else { +// logger.error("SIGN: "+notifyTodoAppResult.getSIGN()+",MASSAGE: "+notifyTodoAppResult.getMASSAGE()); +// return WrapMapper.error("ESP 发送待办任务异常 :" +notifyTodoAppResult.getMASSAGE()); +// } +// }else { +// logger.error("--------------------ESP 发送待办任务异常----------------------"); +// } +// return WrapMapper.error("ESP 发送待办任务异常"); + } + + + @ApiOperation(value = "完成任务", notes = "流程单个节点任务,直接完成任务,外加部分特殊处理节点更改草稿内容") + @ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"), + @ApiImplicitParam(name = "userId", value = "完成任务用户Id")}) + @PostMapping("/completeTaskNew") + public Wrapper completeTaskByUserIdNew(@RequestBody BusMesSpecial busMes) { + BusMes busMes1=new BusMes(); + BeanUtils.copyProperties(busMes,busMes1); + QueryWrapper queryWrapper=new QueryWrapper<>(); + if (null!=busMes.getTaskId() && !busMes.getTaskId().isEmpty()){ + queryWrapper.eq("TASK_ID",busMes.getTaskId()); + }else { + queryWrapper.eq("TASK_ID",busMes.getTaskIds()); + } + BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper); + if (null!=busMes.getSpecialJson()){ + QueryWrapper queryWrapper1=new QueryWrapper<>(); + queryWrapper1.eq("PRC_ID",busProcessNew.getPId()); + BusProcessName busProcessName=iBusProcessNameService.getOne(queryWrapper1); + busProcessName.setMes(busMes.getSpecialJson()); + iBusProcessNameService.update(busProcessName,queryWrapper1); + } + return this.completeTaskByUserId(busMes1); + } + + private void completeOA(Task task){ + } @ApiOperation(value = "查询流程编号", notes = "根据流程实例ID查询流程编号") @@ -477,6 +582,7 @@ public class TodoTaskController extends BaseAction { public BusProcessNew inboundLiaisonDetail(String taskIds, String pId) { List taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(","))); + List list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList); if (list.isEmpty()) { return null; @@ -484,56 +590,25 @@ public class TodoTaskController extends BaseAction { BusProcessNew processNew = new BusProcessNew(); BeanUtils.copyProperties(list.get(0), processNew); + if(StringUtils.isNotBlank(pId)){ + List list2 = taskService.createTaskQuery().processInstanceId(pId).active().list(); + if(!list2.isEmpty()){ + processNew.setNowTaskInfo(list2.get(0).getName()); + } + } + JSONObject object3 = JSONObject.parseObject(list.get(0).getMesg()); JSONArray arr2 = new JSONArray(); object3.put("taskBreak", arr2); processNew.setMesg(object3.toJSONString()); - for (BusProcessNew busProcessNew : list) { - JSONObject object = JSONObject.parseObject(busProcessNew.getMesg()); - JSONArray array = object.getJSONArray("taskBreak"); - JSONArray itemsList = ((JSONObject) array.get(0)).getJSONArray("itemsList"); - if (itemsList != null && itemsList.size() > 0) { - - itemsList.getJSONObject(0).put("taskId", busProcessNew.getTaskId()); - JSONObject objectOld = JSONObject.parseObject(processNew.getMesg()); - for (Object obj : objectOld.getJSONArray("taskBreak")) { - if (((Map) obj).get("id").toString().equals(((JSONObject) array.get(0)).getString("id"))) { - JSONArray itemsList1 = ((JSONObject) obj).getJSONArray("itemsList"); - itemsList1.add(itemsList.get(0)); - } - } - - if (objectOld.getJSONArray("taskBreak").size() == 0) { - object.put("itemsList", array); - JSONObject object2 = JSONObject.parseObject(processNew.getMesg()); - JSONArray arr = object2.getJSONArray("taskBreak"); - arr.add(array.get(0)); - processNew.setMesg(object2.toJSONString()); - } else { - processNew.setMesg(objectOld.toJSONString()); - } - } else { - JSONArray array1 = object.getJSONArray("taskBreak"); - ((JSONObject) array1.get(0)).put("taskId", busProcessNew.getTaskId()); - JSONObject object2 = JSONObject.parseObject(processNew.getMesg()); - JSONArray arr = object2.getJSONArray("taskBreak"); - Task task = taskService.createTaskQuery().taskId(busProcessNew.getTaskId()).singleResult(); - if(task!=null){ - if(task.getName().equals("再次下发")){ -// if(arr.size()==0){ - arr.add(array1.get(0)); -// } - }else{ - arr.add(array1.get(0)); - } - }else{ - arr.add(array1.get(0)); - } - processNew.setMesg(object2.toJSONString()); - } - - } + QueryWrapper 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); return processNew; + } /** @@ -770,7 +845,7 @@ public class TodoTaskController extends BaseAction { } ProjectAssessDTO projectAssess = projectAssessDTOList.get(0); projectAssess.setChildren(children); -// List childrenList = projectAssess.getChildren(); +// List childrenList = projectAssess.getChildren(); // childrenList.get(0).setItemsList(itemsLists); // projectAssess.setChildren(childrenList); projectAssessResultList.add(projectAssess); @@ -1700,6 +1775,120 @@ public class TodoTaskController extends BaseAction { } } + private Double itemNumPro(String str){ + String temp=""; + Boolean flag=true; + if(str==null||str.isEmpty())return Double.MAX_VALUE; + for (int i = 0; i < str.length(); i++) { + if(str.charAt(i)>='0'&&str.charAt(i)<='9'){ + temp+=str.charAt(i); + }else if(flag && str.charAt(i)=='.'){ + temp+=str.charAt(i); + flag=false; + } + } + if(temp.isEmpty()){ + return Double.MAX_VALUE; + } + return Double.valueOf(temp); + } + @ApiOperation(value = "解读流程汇总详情") + @GetMapping("/decodeDetail") + public BusProcessNew Detail(String taskIds, String pId) { + QueryWrapper q=new QueryWrapper<>(); + Set msgData =new HashSet<>(); + List listData = iBusProcessNewService.list(q.eq("P_ID", pId)); + //取出此任务中所有审核mesg数据 + for (BusProcessNew bpn:listData) { + String mesg = bpn.getMesg(); + JSONObject object = JSONObject.parseObject(mesg); + String resolveFlag = object.getString("resolveFlag"); + if(bpn.getTaskInfo().equals("审核")&&resolveFlag.equals("1")){ + msgData.add(object); + } + } + //将所有mesg数据进行整合 + JSONArray jsonArray=new JSONArray(); + for (JSONObject jo:msgData) { + jsonArray.addAll(jo.getJSONArray("itemList")); + } + //将mesg数据进行去重 +// for (int i = 0; i < jsonArray.size()-1; i++) { //双循环法 +// for (int j = i+1; j < jsonArray.size(); j++) { +// if(jsonArray.get(i).equals(jsonArray.get(j))){ +// jsonArray.remove(j); +// } +// } +// } + Set set = new HashSet<>();//hashset法 + for(int i = 0 ; iitemNumN){ + JSONObject temp=jsonArray.getJSONObject(j); + jsonArray.set(j,jsonArray.getJSONObject(j+1)); + jsonArray.set(j+1,temp); + f=true; + } + } + if(!f){break;} + } + //后处理 + List taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(","))); + List list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList); + if (list.isEmpty()) { + return null; + } + BusProcessNew processNew = new BusProcessNew(); + BeanUtils.copyProperties(list.get(0), processNew); + if(StringUtils.isNotBlank(pId)){ + List list2 = taskService.createTaskQuery().processInstanceId(pId).active().list(); + if(!list2.isEmpty()){ + processNew.setNowTaskInfo(list2.get(0).getName()); + } + } + + JSONObject object3 = JSONObject.parseObject(list.get(0).getMesg()); + JSONArray arr2 = new JSONArray(); + object3.put("taskBreak", arr2); + object3.put("itemList",jsonArray); + processNew.setMesg(object3.toJSONString()); + QueryWrapper 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); + return processNew; + } + + /** + * 查询 taskIds项 + * @param prcId + * @return + */ + @ApiOperation(value = "查询汇总项") + @GetMapping("/queryTaskIndex") + public BusProcessNew queryTaskIndex(String prcId,String taskIds) { + QueryWrapper q=new QueryWrapper<>(); + List list = iBusProcessNewService.list(q.eq("P_ID", prcId)); + if (list.size()>0) { + for (BusProcessNew bpn:list) { + if (bpn.getTaskId().equals(taskIds)) return bpn; + } + } else { + return null; + } + return null; + } + /** * 查询草稿 * @@ -1843,7 +2032,15 @@ public class TodoTaskController extends BaseAction { return "0"; } }else { - return "0"; + QueryWrapper queryWrapper2 = new QueryWrapper<>(); + queryWrapper2.eq("PRC_ID", pId); + queryWrapper2.isNotNull("OVER_TIME"); + BusProcessName one = iBusProcessNameService.getOne(queryWrapper2); + if (null!=one){ + return "1"; + }else { + return "0"; + } } } else { return "1"; @@ -1917,19 +2114,32 @@ public class TodoTaskController extends BaseAction { // } // } // } - String end = this.isEnd(busProcessName.getPrcId()); - if(end.equals("0")){ - ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); - if(listUser.getData()!=null){ -// List qbgcs = new ArrayList<>(); - for (OrgEO orgEO : listUser.getData()) { - assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName(); - } -// String str= StringUtils.join(qbgcs, ","); -// assignee+=str; - } - } +// String end = this.isEnd(busProcessName.getPrcId()); +// if(end.equals("0")){ +// ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); +// if(listUser.getData()!=null){ +//// List qbgcs = new ArrayList<>(); +// for (OrgEO orgEO : listUser.getData()) { +// assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName(); +// } +//// String str= StringUtils.join(qbgcs, ","); +//// assignee+=str; +// } +// } } +// //获取新的流程名称· +// QueryWrapper queryWrapper1=new QueryWrapper<>(); +// queryWrapper1.eq("P_ID",busProcessName.getPrcId()); +// queryWrapper1.eq("TASK_ID",task.getId()); +// BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1); +// if (null!=busProcessNew) { +// if (null != busProcessNew.getPrcName()) { +// busProcessName.setPrcName(busProcessNew.getPrcName()); +// } else { +// busProcessNew.setPrcName(""); +// } +// } + } } if (assignee != null && !assignee.equals("")) { @@ -2024,20 +2234,34 @@ public class TodoTaskController extends BaseAction { assignee += ((byId.getData().getOrgName() != null && !byId.getData().getOrgName().equals("")) ? byId.getData().getOrgName() + "-" + byId.getData().getUname() : byId.getData().getUname()) + ","; } } - }else{ - String end = this.isEnd(busProcessName.getPrcId()); - if(end.equals("0")){ - ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); - if(listUser.getData()!=null){ + } + else{ +// String end = this.isEnd(busProcessName.getPrcId()); +// if(end.equals("0")){ +//// ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); +// ResponseMessage> listUser=new ResponseMessage<>(); +// if(false){ // List qbgcs = new ArrayList<>(); - for (OrgEO orgEO : listUser.getData()) { - assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName(); - } +// for (OrgEO orgEO : listUser.getData()) { +// assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName(); +// } // String str= StringUtils.join(qbgcs, ","); // assignee+=str; - } - } +// } +// } } +// //获取新的流程名称· +// QueryWrapper queryWrapper1=new QueryWrapper<>(); +// queryWrapper1.eq("P_ID",busProcessName.getPrcId()); +// queryWrapper1.eq("TASK_ID",task.getId()); +// BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1); +// if (null!=busProcessNew) { +// if (null != busProcessNew.getPrcName()) { +// busProcessName.setPrcName(busProcessNew.getPrcName()); +// } else { +// busProcessNew.setPrcName(""); +// } +// } } } if (assignee != null && !assignee.equals("")) { @@ -2124,24 +2348,24 @@ public class TodoTaskController extends BaseAction { for (Task task : list2) { if (task.getAssignee() != null && !task.getAssignee().equals("")) { ResponseMessage byId = lawsUserInfoService.getById(task.getAssignee()); - if (byId.getData() != null) { + if (byId.getData() != null && 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()) + ","; } } }else{ - String end = this.isEnd(busProcessName.getPrcId()); - if(end.equals("0")){ - ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); - if(listUser.getData()!=null){ -// List qbgcs = new ArrayList<>(); - for (OrgEO orgEO : listUser.getData()) { - assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName(); - } -// String str= StringUtils.join(qbgcs, ","); -// assignee+=str; - } - } +// String end = this.isEnd(busProcessName.getPrcId()); +// if(end.equals("0")){ +// ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); +// if(listUser.getData()!=null){ +//// List qbgcs = new ArrayList<>(); +// for (OrgEO orgEO : listUser.getData()) { +// assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName(); +// } +//// String str= StringUtils.join(qbgcs, ","); +//// assignee+=str; +// } +// } } } } @@ -2233,7 +2457,34 @@ public class TodoTaskController extends BaseAction { @ApiOperation(value = "强制撤回", notes = "强制撤回") @GetMapping("/forceRecall") public Wrapper forceRecall(String prcId) { + + List list2 = taskService.createTaskQuery().processInstanceId(prcId).active().list(); + + QueryWrapper wrapper=new QueryWrapper<>(); + wrapper.eq("PRC_ID",prcId); + List busProcessNames=iBusProcessNameService.list(wrapper); + if (!busProcessNames.isEmpty()){ + BusProcessName busProcessName=busProcessNames.get(0); + if ("3".equals(busProcessName.getPrcType())){ + QueryWrapper wrapper1=new QueryWrapper<>(); + wrapper1.eq("P_ID",prcId).eq("TASK_INFO","起草"); + List list=iBusProcessNewService.list(wrapper1); + if (!list.isEmpty()){ + JSONObject object=JSONObject.parseObject(list.get(0).getMesg()); + lawsUserInfoService.deletePublicIdea(object.getString("uniques")); + } + }else if("buss1".equals(busProcessName.getPrcType()) || "buss2".equals(busProcessName.getPrcType())){ + if(!list2.isEmpty() && "发布".equals(list2.get(0).getName())){ + lawsUserInfoService.modSnByProcess(list2.get(0).getId()); + } + } + } + runtimeService.deleteProcessInstance(prcId, "用户强制撤回"); + if(StringUtils.isNotBlank(prcId)){ + webServiceOAService.deleteOAByPid(prcId); + } + Map map = new HashMap(); map.put("P_ID", prcId); iBusProcessNewService.removeByMap(map); @@ -2447,6 +2698,19 @@ public class TodoTaskController extends BaseAction { } + @ApiOperation(value = "删除草稿") + @PostMapping("/delCG") + public String delCG(@RequestParam("id") String id) { + List strings=new ArrayList<>(); + if (id.contains(",")){ + strings.addAll(new ArrayList<>(Arrays.asList(id.split(",")))); + }else { + strings.add(id); + } + return iBusProcessNameService.delDB(strings); + } + + // @ApiOperation(value = "查询流程信息", notes = "根据流程流程编号查询名称等信息") // @ApiImplicitParams({@ApiImplicitParam(name = "prcNum", value = "流程编号")}) // @PostMapping("/findProcessNameByPrcNum") 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 c989be2e..b2ac573c 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 @@ -1,25 +1,34 @@ package com.ydw.bat.wkflow.business_auth; -import com.github.pagehelper.PageInfo; -import com.tmsps.fk.common.wrapper.Wrapper; + +import com.ydw.bat.wkflow.business_main.datas.dto.*; +import com.ydw.bat.wkflow.business_main.datas.dto.WG.BusinessDeptIssue; +import com.ydw.bat.wkflow.business_main.datas.dto.WG.NewsFeed; +import com.ydw.bat.wkflow.business_main.datas.dto.WG.ProductDeptIssue; +import com.ydw.bat.wkflow.business_main.datas.dto.WG.WgWorkGroupShowDTO; import com.ydw.bat.wkflow.business_main.datas.entity.*; -import feign.Headers; -import feign.Param; +import com.ydw.bat.wkflow.business_main.datas.entity.standState.ModelData; +import com.ydw.bat.wkflow.business_slrs.dao.*; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; -import javax.validation.constraints.NotNull; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; @Component -@FeignClient(value = "LAWSSystem2",path="/api",url="") +//@FeignClient(value = "FotonLAWSSystem-qk",path="/api",url="") +//线上部署用 +@FeignClient(value = "FotonLAWSSystem",path="/api",url="") @RequestMapping("/") public interface LawsUserInfoService { + @GetMapping("/sarBussStandSn/sar-buss-stand-sn/modSnByProcess") + public ResponseMessage modSnByProcess(@RequestParam("taskId") String taskId); + @GetMapping("sys/org/getManagerByOrgId") public ResponseMessage> getManagerByOrgId(@RequestParam("roleName") String currentUsrId, @RequestParam("orgId") String orgId); @@ -28,7 +37,17 @@ public interface LawsUserInfoService { /** * 废止(企标复审) - * @param standCode + * @param + * @param page + * @return + */ + @PostMapping("/lawss/sarBussionessStandState/getSarBussionessStandStateProcessList") + public List getSarBussionessStandStateProcessList(SarBussionessStandStatePage page); + + + /** + * 废止(企标复审) + * @param * @param standName * @return */ @@ -84,4 +103,114 @@ public interface LawsUserInfoService { @GetMapping("lawss/mail/sendMailByUserIdFeign") public ResponseMessage sendEmail(@RequestParam("userId") String userId, @RequestParam("msg") String msg, @RequestParam("title") String title); + + @PutMapping("sarLawsDetailedList/sar-laws-detailed-list/updateList") + public ResponseMessage updateLaws(@RequestBody DetailedUpDto addDetailedDto); + + //合规评估流程 + + @PostMapping("sarStandUnqualified/sar-stand-unqualified/add") + public ResponseMessage addsarStandUnqualified(@RequestBody List sarStandUnqualifieds); + + @PostMapping("sarStandardComplianceAssessResult/add") + public ResponseMessage addProduct(@RequestBody List sarStandardComplianceProductAssesses); + + + @PostMapping(value = "sarLawsDetailedList/sar-laws-detailed-list/getStandById") + public SarLawsDetailedList getStandById(@RequestParam("id") String id); + + @PostMapping("slrs/sar-public-idea/addSarPublicIdea") + public com.ydw.bat.wkflow.util.http.ResponseMessage addSarPublicIdea(@RequestBody SarPublicIdea sarPublicIdea); + + @GetMapping("slrs/sar-public-idea-all/getAllStandById") + public List getAllStandById(@RequestParam("ideaId") String ideaId); + + @PostMapping("slrs/sar-public-idea-all/saveBatchByWk") + public com.ydw.bat.wkflow.util.http.ResponseMessage savePublicIdeaBatch(@RequestBody List sarPublicIdea); + + + + @PostMapping("/SarStandItems/sar-stand-items/saveBatch") + public String sarStandItemsSaveBatch(@RequestBody List sarStandItems); + + + @PostMapping("/sarStandardComplianceAssessResult/sar-interpretation-national-standard/saveBatch") + public String SarInterpretationNationalStandardSaveBatch(@RequestBody List standards); + + + @PostMapping("/lawss/sarFileSplitInfo/updateSarFileSplitInfo") + public String updateSarFileSplitInfo(@RequestBody SarFileSplitInfoEO standards); + + + @PostMapping("/sarStandProjectLibrary/batchInsert") + public String batchInsert(@RequestBody List standProjectRelationDtos); + + + @PostMapping("/WgDept/saveBatch") + public String wgDeptSaveBatch(@RequestBody List wgdepts); + /** + * 日历显示会议日程--流程结束生成会议 (标准化活动,政策课题组) + * @param sapMeeting (id, title, type, ...) type: 1,标准化活动;2,政策课题组 + * @return 是否插入成功 int + */ + @PostMapping("/sapMeetInfo/addMeeting") + int addMeeting(@RequestBody SapMeeting sapMeeting); + + + @GetMapping("/sapMeetInfo/getMeetingsByMonth") + public List getMeetingsByMonth(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date); + + @GetMapping("/sapMeetInfo/getMeetingsByMonthType") + public List getMeetingsByMonthType(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@RequestParam("type") int type); + + @GetMapping("/sapMeetInfo/getMeetingsByDate") + public List getMeetingsByDate(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@RequestParam("type") int type); + + @GetMapping("/sapMeetInfo/getOneById") + public SapMeeting getOneById(@RequestParam("id") String id); + + @PostMapping("/sapMeetInfo/getDateMeeting") + public int getDateMeeting(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@RequestParam("id") String id,@RequestParam("type") int type); + + @PostMapping("/esRevisePlan/es-revise-plan/modPlanByWk") + public ResponseMessage modPlan(@RequestBody EsRevisePlanDTO esRevisePlan); + + @PostMapping("/esRevisePlan/es-revise-plan/modPlanByProcess") + public ResponseMessage modStatePlan(@RequestBody EsRevisePlanDTO esRevisePlan); + + @PostMapping("/esRevisePlan/es-revise-plan/addPlanByWk") + public ResponseMessage addPlan(@RequestBody EsRevisePlanDTO esRevisePlan); + + @GetMapping("/esRevisePlan/es-revise-plan/delPlanByWk") + public ResponseMessage delPlan(@RequestParam("id") String id); + + + @GetMapping("/lawss/sarBussionessStand/updateSarBussionessStand") + public ResponseMessage updateSarBussionessStand(@RequestBody SarBussionessStand sarBussionessStandEO); + + @GetMapping("/lawss/SarBussStandAttrInfo/getBussAttrInfo") + public Map getBussAttrInfo(@RequestParam("standId") String standId); + + + @PostMapping("/sarStandUnqualified/sar-stand-unqualified/updateBatch") + public ResponseMessage updateBatch(@RequestBody List sarStandUnqualified); + + @PostMapping("/wg_work_group/updateDataByWk") + public ResponseMessage wg_work_group_update(@RequestBody WgWorkGroupShowDTO wgWorkGroupShowDTO); + + @GetMapping("/slrs/sar-public-idea/deletePublicIdea") + public ResponseMessage deletePublicIdea(@RequestParam("id") String id); + + @PostMapping("/sarStandUnqualified/businessDeptIssue/saveBatch") + public ResponseMessage businessDeptIssueSaveBatch(@RequestBody List issue); + + + @RequestMapping(value = "/sarStandUnqualified/productDeptIssue/saveBatch",method = RequestMethod.POST) + public ResponseMessage productDeptIssue(@RequestBody List issue); + + @PostMapping(value = "/lawss/NewsFeed/insertNewsFeed") + public ResponseMessage insertNewsFeed(NewsFeed newsFeed); + + @GetMapping("/esRevisePlan/es-revise-plan/getAllPlansByWk") + public List getAllPlansByWk(@RequestParam("esName") String esName); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessEvaluationHisController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessEvaluationHisController.java new file mode 100644 index 00000000..eafc5c51 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessEvaluationHisController.java @@ -0,0 +1,53 @@ +package com.ydw.bat.wkflow.business_main.datas.controller; + + +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService; +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.RestController; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 流程评分历史表 前端控制器 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@RestController +@RequestMapping("/busProcessEvaluation") +public class BusProcessEvaluationHisController { + + @Autowired + private IBusProcessEvaluationHisService busProcessEvaluationHisService; + + @GetMapping("/evaluationHisListRepSum") + public Map evaluationHisListRepSum(String pid) { + return busProcessEvaluationHisService.evaluationHisListRepSum(pid); + } + + @GetMapping("/evaluationHisListByOne") + public BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo) { + BusProcessEvaluationHis processEvaluationHis = busProcessEvaluationHisService.evaluationHisListByOne(pid,taskInfo); + return processEvaluationHis; + } + + @GetMapping("/evaluationHisListRep") + public List evaluationHisListRep(String pid) { + List processEvaluationHis = busProcessEvaluationHisService.evaluationHisListRep(pid); + return processEvaluationHis; + } + + @GetMapping("/evaluationHisList") + public List evaluationHisList(String pid) { + List processEvaluationHis = busProcessEvaluationHisService.evaluationHisList(pid); + return processEvaluationHis; + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java new file mode 100644 index 00000000..c7ce232b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/BusProcessModelHisController.java @@ -0,0 +1,236 @@ +package com.ydw.bat.wkflow.business_main.datas.controller; + + +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService; +import com.ydw.bat.wkflow.util.Utils; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +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.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Scanner; +import java.util.UUID; + +/** + *

+ * 流程模块历史表 前端控制器 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@RestController +@RequestMapping("/busProcessModel") +public class BusProcessModelHisController { + + private static final Logger logger = LoggerFactory.getLogger(BusProcessModelHisController.class); + + @Value("${buss.edit.file.path}") + private String standEditFilePath;//文件存储路径 + + @Autowired + private IBusProcessModelHisService busProcessModelHisService; + + @ApiOperation(value = "|onlyOffice接收文件") + @PostMapping("/recieveFile") + public void recieveFile(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String fileId){ + logger.info("**********进入onlyoffice接收文档接口************"); + try { + PrintWriter writer = response.getWriter(); + String body = ""; + try { + Scanner scanner = new Scanner(request.getInputStream()); + scanner.useDelimiter("\\A"); + body = scanner.hasNext() ? scanner.next() : ""; + scanner.close(); + } catch (Exception ex) { + writer.write("get request.getInputStream error:" + ex.getMessage()); + return; + } + + if (body.isEmpty()) { + writer.write("empty request.getInputStream"); + return; + } + + net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(body); + logger.info("**********onlyoffice接收文档接口获得结果body************" + body); + int status = (Integer) jsonObj.get("status"); + + int saved = 0; + if (status == 2 || status == 3)//MustSave, Corrupted + { + String downloadUri = (String) jsonObj.get("url"); + + try { + logger.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri); + if (StringUtils.isNotEmpty(downloadUri)) { + StringBuilder builder=new StringBuilder(); + builder.append(standEditFilePath); + builder.append(standNo).append("/"); + builder.append(fileNm); + String saveFileUrl = builder.toString(); + File file = new File(saveFileUrl); + downloadNetFile(downloadUri, file); + // 更新在线编辑当前节点编辑状态 + busProcessModelHisService.modelHisOneUpdStatusById(fileId); + } + } catch (Exception ex) { + saved = 1; + logger.info("**********onlyoffice接收文档接口异常************" + ex.getMessage()); + logger.error(ex.getMessage(),ex); + } + } else if (status == 4) { + logger.info("**********onlyoffice接收文档接口开始修改文件状态状态4************"); + + logger.info("**********onlyoffice接收文档接口修改文件状态成功状态4************"); + } + logger.info("onlyoffice编辑完成--------------"); + writer.write("{\"error\":" + saved + "}"); + + } catch (IOException e) { + logger.info("**********onlyoffice接收文档接口异常************" + e.getMessage()); + logger.error(e.getMessage(),e); + return; + } + } + + @ApiOperation(value = "|onlyOffice接收文件") + @PostMapping("/recieveFileBefore") + public void recieveFileBefore(HttpServletRequest request, HttpServletResponse response, String fileNm, String standNo, String pid, String taskId){ + logger.info("**********进入onlyoffice接收文档接口************"); + try { + PrintWriter writer = response.getWriter(); + String body = ""; + try { + Scanner scanner = new Scanner(request.getInputStream()); + scanner.useDelimiter("\\A"); + body = scanner.hasNext() ? scanner.next() : ""; + scanner.close(); + } catch (Exception ex) { + writer.write("get request.getInputStream error:" + ex.getMessage()); + return; + } + + if (body.isEmpty()) { + writer.write("empty request.getInputStream"); + return; + } + + net.sf.json.JSONObject jsonObj = net.sf.json.JSONObject.fromObject(body); + logger.info("**********onlyoffice接收文档接口获得结果body************" + body); + int status = (Integer) jsonObj.get("status"); + + int saved = 0; + if (status == 2 || status == 3)//MustSave, Corrupted + { + String downloadUri = (String) jsonObj.get("url"); + + try { + logger.info("**********onlyoffice接收文档接口获得downloadUri************" + downloadUri); + if (StringUtils.isNotEmpty(downloadUri)) { + StringBuilder builder=new StringBuilder(); + builder.append(standEditFilePath); + builder.append(standNo).append("/"); + builder.append(fileNm); + String saveFileUrl = builder.toString(); + File file = new File(saveFileUrl); + downloadNetFile(downloadUri, file); + // 更新在线编辑当前节点编辑状态 + busProcessModelHisService.modelHisOneUpdStatus(pid,taskId); + } + } catch (Exception ex) { + saved = 1; + logger.info("**********onlyoffice接收文档接口异常************" + ex.getMessage()); + logger.error(ex.getMessage(),ex); + } + } else if (status == 4) { + logger.info("**********onlyoffice接收文档接口开始修改文件状态状态4************"); + + logger.info("**********onlyoffice接收文档接口修改文件状态成功状态4************"); + } + logger.info("onlyoffice编辑完成--------------"); + writer.write("{\"error\":" + saved + "}"); + + } catch (IOException e) { + logger.info("**********onlyoffice接收文档接口异常************" + e.getMessage()); + logger.error(e.getMessage(),e); + return; + } + } + + public void downloadNetFile(String downloadUrl, File file) { + try { + FileOutputStream fileOutputStream = new FileOutputStream(file); + URL url = new URL(downloadUrl); + URLConnection connection = url.openConnection(); + InputStream inputStream = connection.getInputStream(); + int length = 0; + byte[] bytes = new byte[1024]; + while ((length = inputStream.read(bytes)) != -1) { + fileOutputStream.write(bytes, 0, length); + } + fileOutputStream.close(); + inputStream.close(); + } catch (IOException e) { + logger.error("download error ! url :{}, exception:{}", downloadUrl, e); + } + } + + @GetMapping("/processEditFile") + public BusProcessModelHis processEditFile(String id) { + BusProcessModelHis modelHisOne = busProcessModelHisService.processEditFile(id); + return modelHisOne; + } + + @ApiOperation(value = "|model| 传入 模板文档名称(不带后缀)默认 docx") + @GetMapping("/saveEditFile") + public BusProcessModelHis saveEditFile(String model) { + return busProcessModelHisService.saveEditFile(model); + } + + @GetMapping("/processModelHisOneUpdStatus") + public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId) { + BusProcessModelHis modelHisOne = busProcessModelHisService.modelHisOneUpdStatus(pid,taskId); + return modelHisOne; + } + + @GetMapping("/processModelHisOneCount") + public BusProcessModelHis modelHisOneCount(String pid) { + BusProcessModelHis modelHisOne = busProcessModelHisService.modelHisOneCount(pid); + return modelHisOne; + } + + @GetMapping("/processModelHisOne") + public BusProcessModelHis modelHisOne(String pid,String taskId) { + BusProcessModelHis modelHisOne = busProcessModelHisService.modelHisOne(pid,taskId); + return modelHisOne; + } + + @GetMapping("/processModelHisList") + public List evaluationHisList(String pid) { + List processModelHisList = busProcessModelHisService.modelHisList(pid); + return processModelHisList; + } +} + 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 44064b20..d0638029 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 @@ -47,5 +47,20 @@ public class BusProcessNewController extends BaseAction { return findtodotask; } + @ApiOperation(value = "每天十点需要启动 政策课题后续流程") + @GetMapping("/everyDayTenOlock") + public List everyDayTenOlock() { + List findtodotask = iBusProcessNewService.everyDayTenOlock(); + return findtodotask; + } + + @ApiOperation(value = "每天十点需要启动 标准化活动参会流程") + @GetMapping("/everyDayTenOlockSAM") + public List everyDayTenOlockSAM() { + List findtodotask = iBusProcessNewService.everyDayTenOlockSAM(); + return findtodotask; + } + + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/EsPrcRelationController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/EsPrcRelationController.java new file mode 100644 index 00000000..9d7ff749 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/EsPrcRelationController.java @@ -0,0 +1,119 @@ +package com.ydw.bat.wkflow.business_main.datas.controller; + +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +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.service.IEsPrcRelationService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.activiti.engine.TaskService; +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.util.ObjectUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.List; +import java.util.stream.Collectors; + +@Api(description = "管控流程接受任务") +@RestController +@RequestMapping("/esPrcRelation") +public class EsPrcRelationController { + private static final Logger logger = LoggerFactory.getLogger(EsPrcRelationController.class); + + @Value("${oa.flag}") + private Boolean OAFlag; + + @Autowired + private TaskService taskService; + @Autowired + private IEsPrcRelationService esPrcRelationService; + @Autowired + private WebServiceOAService webServiceOAService; + + @ApiOperation(value = "接受任务") + @GetMapping("/acceptTask") + public Integer acceptTack(String nowEsId, String oaFlag, String taskId) { + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if(task!=null) { + //发送OA已办 + try { + if (OAFlag) { + //发送OA已办 + webServiceOAService.completeOA(task); + } + } catch (Exception e) { + logger.error(e.toString()); + } + } + + return esPrcRelationService.modifyEsPrcRelation(nowEsId, null, oaFlag, null); + } + + @ApiOperation(value = "判断是否已经接受任务") + @GetMapping("/judgeAcceptTask") + public Boolean judgeAcceptTask(String nowEsId, String oaFlag, String prcIdGk) { + + EsPrcRelation esPrcRelation = new EsPrcRelation(); + esPrcRelation.setEsId(nowEsId); + esPrcRelation.setOaFlag(oaFlag); + esPrcRelation.setPrcIdGk(prcIdGk); + return esPrcRelationService.listJudge(esPrcRelation); + } + + @ApiOperation(value = "定时任务调试") + @GetMapping("/testAcceptTack") + public String testAcceptTack() { + 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 -> !ObjectUtils.isEmpty(e.getDraftTime()) && 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); + } + } + } + } + } + return "定时任务完成"; + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/EsTechRelationController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/EsTechRelationController.java new file mode 100644 index 00000000..0af7b7d0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/EsTechRelationController.java @@ -0,0 +1,48 @@ +package com.ydw.bat.wkflow.business_main.datas.controller; + +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.entity.EsTechRelation; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IEsTechRelationService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/esTechRelation") +public class EsTechRelationController { + private static final Logger logger = LoggerFactory.getLogger(EsPrcRelationController.class); + + @Autowired + private IEsTechRelationService esTechRelationService; + + + @PostMapping("/setRelation") + public void setRelation(String esPlanId, String prcId, String finish) { + EsTechRelation esTechRelation = new EsTechRelation(); + esTechRelation.setEsId(esPlanId); + esTechRelation.setPrcId(prcId); + esTechRelation.setFinish(finish); + esTechRelationService.save(esTechRelation); + } + + @GetMapping("/getEsByWk") + public String getEsByWk(String prcId) { + QueryWrapper esTechRelationQueryWrapper = new QueryWrapper<>(); + esTechRelationQueryWrapper.eq("prc_id", prcId); + List list = esTechRelationService.list(esTechRelationQueryWrapper); + if (list!=null&&list.size()>0) { + return list.get(0).getEsId(); + } + return null; + } + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java new file mode 100644 index 00000000..5d309a8d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java @@ -0,0 +1,44 @@ +package com.ydw.bat.wkflow.business_main.datas.controller; + + +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +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.RestController; + +import java.util.Map; + +/** + *

+ * OA 干活任务执行表 前端控制器 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +@RestController +@RequestMapping("/oaTaskExec") +public class OaTaskExecController { + + @Autowired + private IOaTaskExecService oaTaskExecService; + + @ApiOperation(value = "查询历史") + @GetMapping("/queryEndTime") + public String queryEndTime(String pId) { + String endTime = oaTaskExecService.endTime(pId); + return endTime; + } + + @ApiOperation(value = "接受任务") + @GetMapping("/execTask") + public Map execTask(String todoId) { + Map map = oaTaskExecService.execTask(todoId); + return map; + } + +} + diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/SendTodoLogController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/SendTodoLogController.java new file mode 100644 index 00000000..2fed7a97 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/SendTodoLogController.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.business_main.datas.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * OA日志表 前端控制器 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@RestController +@RequestMapping("/sendTodoLog") +public class SendTodoLogController { + +} + diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/TbTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/TbTaskController.java new file mode 100644 index 00000000..f8f3b1b8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/TbTaskController.java @@ -0,0 +1,94 @@ +package com.ydw.bat.wkflow.business_main.datas.controller; + + +import com.ydw.bat.wkflow.business_main.datas.entity.TbTask; +import com.ydw.bat.wkflow.business_main.datas.service.ITbTaskService; +import com.ydw.bat.wkflow.config.SchedulerConf; +import io.swagger.annotations.Api; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; + +/** +*

+ * 动态定时任务表 前端控制器 + *

+* +* @author super_liu +* @since 2022-05-27 +*/ +@RestController +@Api(tags = "动态定时任务表") +@RequestMapping("/tsTask") +public class TbTaskController{ + + @Autowired + private SchedulerConf schedulerConf; + + @Autowired + private ITbTaskService iTbTaskService; + + /** + * 启动一个动态定时任务 + * http://localhost:10085/tbTask/start/2 + */ + @GetMapping("start/{taskId}") + public String start(@PathVariable("taskId") String taskId){ + schedulerConf.start(taskId); + return "操作成功"; + } + + /** + * 停止一个动态定时任务 + * http://localhost:10085/tbTask/stop/2 + */ + @GetMapping("stop/{taskId}") + public String stop(@PathVariable("taskId") String taskId){ + schedulerConf.stop(taskId); + return "操作成功"; + } + + /** + * 更新一个动态定时任务 + * http://localhost:10085/tbTask/save?taskId=2&taskExp=0/2 * * * * ?&taskClass=cn.huanzi.qch.springboottimer.task.MyRunnable3 + */ + @PostMapping("save") + public String save(TbTask task) throws IllegalAccessException { + //先更新表数据 + TbTask tbTask = iTbTaskService.getById(task.getId()); + + //null值忽略 + List ignoreProperties = new ArrayList<>(7); + + //反射获取Class的属性(Field表示类中的成员变量) + for (Field field : task.getClass().getDeclaredFields()) { + //获取授权 + field.setAccessible(true); + //属性名称 + String fieldName = field.getName(); + //属性的值 + Object fieldValue = field.get(task); + + //找出值为空的属性,我们复制的时候不进行赋值 + if(null == fieldValue){ + ignoreProperties.add(fieldName); + } + } + + //org.springframework.beans BeanUtils.copyProperties(A,B):A中的值付给B + BeanUtils.copyProperties(task, tbTask,ignoreProperties.toArray(new String[0])); + iTbTaskService.updateById(tbTask); + schedulerConf.tasks.clear(); + + //停止旧任务 + schedulerConf.stop(tbTask.getId()); + + //重新启动 + schedulerConf.start(tbTask.getId()); + return "操作成功"; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/AddDetailedDto.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/AddDetailedDto.java new file mode 100644 index 00000000..0d9a7917 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/AddDetailedDto.java @@ -0,0 +1,45 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +/** + * //TODO 添加类、接口描述 + * + * @author ZhangZhiYuan + * @date 2021-06-24 + */ +@Data +public class AddDetailedDto { + + @ApiModelProperty(value = "国家或地区") + private String countryArea; + @ApiModelProperty(value = "项目名称") + private String projectName; + @ApiModelProperty(value = "清单类别") + private String detailedList; + @ApiModelProperty(value = "区分,国家地区为1,项目名称为2,清单类别为3") + private String sortKey; + @ApiModelProperty(value = "清单名称") + private String detailedListName; + + @ApiModelProperty(value = "清单详情") + private String remark; + + @ApiModelProperty(value = "清单状态,1为未发布,2为发布") + private String detailedListState; + @ApiModelProperty(value = "适用领域") + private String applicationScope; + @ApiModelProperty(value = "更新人") + private String updatePeople; + @ApiModelProperty(value = "上传的附件") + private MultipartFile[] files; + @ApiModelProperty(value = "要添加的清单id") + private String[] lawsIds; + + + public MultipartFile getFiles(int i) { + return files[i]; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/BreakdownList.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/BreakdownList.java new file mode 100644 index 00000000..9267eb40 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/BreakdownList.java @@ -0,0 +1,96 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * Auto-generated: 2021-07-09 16:11:32 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class BreakdownList { + + private String id; + private String svpps; + private String standId; + private String itemsNum; + private String claimType; + private String itemsName; + private String applyArctic; + private String busStandCover; + private String responsibleUnit; + private String responsibleEngineer; + private String technicalRequir; + private String changePoint; + private String xcxssrq; + private String zccssrq; + public void setId(String id) { + this.id = id; + } + public String getId() { + return id; + } + + public void setSvpps(String svpps) { + this.svpps = svpps; + } + public String getSvpps() { + return svpps; + } + + public void setStandId(String standId) { + this.standId = standId; + } + public String getStandId() { + return standId; + } + + public void setItemsNum(String itemsNum) { + this.itemsNum = itemsNum; + } + public String getItemsNum() { + return itemsNum; + } + + public void setClaimType(String claimType) { + this.claimType = claimType; + } + public String getClaimType() { + return claimType; + } + + public void setItemsName(String itemsName) { + this.itemsName = itemsName; + } + public String getItemsName() { + return itemsName; + } + + public void setApplyArctic(String applyArctic) { + this.applyArctic = applyArctic; + } + public String getApplyArctic() { + return applyArctic; + } + + public void setBusStandCover(String busStandCover) { + this.busStandCover = busStandCover; + } + public String getBusStandCover() { + return busStandCover; + } + + public void setResponsibleUnit(String responsibleUnit) { + this.responsibleUnit = responsibleUnit; + } + public String getResponsibleUnit() { + return responsibleUnit; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DataList.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DataList.java new file mode 100644 index 00000000..8aedd552 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DataList.java @@ -0,0 +1,77 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * Auto-generated: 2021-07-09 16:11:32 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class DataList { + + private String uname; + private String productLine; + private String distributePerson; + private String distributePersonId; + private String projectManager; + + //合规评估添加的数据 + + private String itemNum; + private String xCXSSRQ; + private String zCCSSRQ; + private String itemsName; + private String standName; + private String implementer; + private String projectName; + private String standNumber; + private String noCompliance; + private String implementerId; + private String projectNumber; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date completionTime; + private String zcNoCompliance; + private String countermeasures; + private String qualityEngineer; + private String responsibleUnit; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date zcCompletionTime; + private String certifiedEngineer; + private String complianceReasons; + private String zcCountermeasures; + private String responsibleEngineer; + private String zcComplianceReasons; + private String technicalRequir; + private String changePoint; + + private List sarStandProjectLibraries; + public void setUname(String uname) { + this.uname = uname; + } + public String getUname() { + return uname; + } + + public void setProductLine(String productLine) { + this.productLine = productLine; + } + public String getProductLine() { + return productLine; + } + + public void setSarStandProjectLibraries(List sarStandProjectLibraries) { + this.sarStandProjectLibraries = sarStandProjectLibraries; + } + public List getSarStandProjectLibraries() { + return sarStandProjectLibraries; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java new file mode 100644 index 00000000..4bc96606 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java @@ -0,0 +1,69 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * //TODO 添加类、接口描述 + * + * @author ZhangZhiYuan + * @date 2021-06-25 + */ +@Data +public class DetailedUpDto { + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "国家或地区") + private String countryArea; + + @ApiModelProperty(value = "项目名称") + private String projectName; + + @ApiModelProperty(value = "清单类别") + private String detailedList; + + @ApiModelProperty(value = "区分,国家地区为1,项目名称为2,清单类别为3") + private String sortKey; + + @ApiModelProperty(value = "清单名称") + private String detailedListName; + + @ApiModelProperty(value = "清单状态,1为未发布,2为发布") + private String detailedListState; + + @ApiModelProperty(value = "清单版本,默认V0") + private String detailedListVision; + + @ApiModelProperty(value = "适用领域") + private String applicationScope; + + @ApiModelProperty(value = "附件id") + private String fileIds; + + + @ApiModelProperty(value = "更新时间") + private Date reNewTime; + + @ApiModelProperty(value = "更新人") + private String reNewPeople; + + @ApiModelProperty(value = "要添加的清单id") + private String inforlist; + + @ApiModelProperty(value = "清单详情") + private String remark; + + @ApiModelProperty(value = "实施时间") + private String inforlist1; + + @ApiModelProperty(value = "在产车实施时间") + private String inforlist2; + + @ApiModelProperty(value = "新车型实施时间") + private String inforlist3; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAbreakdownList.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAbreakdownList.java new file mode 100644 index 00000000..4b215769 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAbreakdownList.java @@ -0,0 +1,31 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto.PCA; +import lombok.Data; + +import java.util.Date; + +/** + * Auto-generated: 2021-07-22 18:56:38 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class PCAbreakdownList { + + private String id; + private String svpps; + private String standId; + private String xcxssrq; + private String zccssrq; + private String itemsNum; + private String claimType; + private String itemsName; + private String applyArctic; + private String busStandCover; + private String responsibleUnit; + private String responsibleEngineer; + private String productLine; +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java new file mode 100644 index 00000000..388d438a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java @@ -0,0 +1,36 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto.PCA; +import lombok.Data; + +import java.util.Date; + +/** + * Auto-generated: 2021-07-27 14:7:5 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class PCAchildren { + private String id; + private String key; + private String standId; + private String itemsNum; + private String itemsName; + private String workPeople; + private String workPeopleId; + + private String noCompliance; + private String zcNoCompliance; + private String complianceReasons; + private String countermeasures; + private String zcCountermeasures; + private Date zcCompletionTime; + private Date completionTime; + private String zcComplianceReasons; + private String typeId; + private String xcxssrq; + private String zccssrq; +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java new file mode 100644 index 00000000..ab5577a6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java @@ -0,0 +1,56 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto.PCA; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * Auto-generated: 2021-07-22 18:56:38 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class PCAdataList { + + private String ssrq; + private String zrbm; + private String standId; + private String productLineId; + private String productId; + private String productName; + private String standType; + private String standSort; + private String standNumber; + private String standYear; + private String cycvppsbm; + private String cycvppscn; + private String kccvppsbm; + private String kccvppscn; + private String standName; + private String xcxssrq; + private String zccssrq; + private String standEnName; + private String liablePeople; + private String liablePeopleId; + private String workPeople; + private String workPeopleId; + private List children; + + private String noCompliance; + private String zcNoCompliance; + private String complianceReasons; + private String countermeasures; + private String zcCountermeasures; + private Date zcCompletionTime; + private Date completionTime; + private String zcComplianceReasons; + private String itemNum; + private String itemsName; + + private String typeId; + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAtotal.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAtotal.java new file mode 100644 index 00000000..609f93ba --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAtotal.java @@ -0,0 +1,41 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto.PCA; +import lombok.Data; + +import java.util.List; + +/** + * Auto-generated: 2021-07-22 18:56:38 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class PCAtotal { + + private String BZFlag; + private String jgUser; + private List dataList; + private String jgUserId; + private String startUser; + private List taskBreak; + private String commentText; + private String projectName; + private List breakdownList; + private String prcCreateUser; + private String projectNumber; + private String projectLine; + private String productLine; + private String startUserName; + private String serviceManager; + private String statuteMinister; + private String prcCreateUserName; + private String engineeringManager; + private String serviceManagerName; + private String statuteMinisterName; + private String engineeringManagerName; + private String bZFlag; + private List children; +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPDTO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPDTO.java new file mode 100644 index 00000000..7dc22821 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPDTO.java @@ -0,0 +1,134 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class PEPDTO { + + private String id; + private List dataList; + private SarStandProjectLibraries sarStandProjectLibraries; + private String jlUserId; + private String passFlag; + private String zrUserId; + private String standName; + private String standNumber; + private List breakdownList; + private String prcCreateUser; + private String applyUpdUserId; + private String approvalOpinion; + private String qualityEngineer; + private String qualityEngineerName; + private String certifiedEngineer; + private String certifiedEngineerName; + private String prcCreateUserName; + //返回分发责任人 + private String distributePerson; + private String distributePersonId; + private String uname; + private String projectManager; + //责任人 (对应到每条数据一个责任人) + private String workPeople; + //在研在产字段!!! 待定中 下发落实人需要使用 + //时间字段 + private String ZCCSSRQ; + private String XCXSSRQ; + + private String commentText; + + private List step3DTOS; + public void setId(String id) { + this.id = id; + } + public String getId() { + return id; + } + + public void setDataList(List dataList) { + this.dataList = dataList; + } + public List getDataList() { + return dataList; + } + + public void setJlUserId(String jlUserId) { + this.jlUserId = jlUserId; + } + public String getJlUserId() { + return jlUserId; + } + + public void setZrUserId(String zrUserId) { + this.zrUserId = zrUserId; + } + public String getZrUserId() { + return zrUserId; + } + + public void setStandName(String standName) { + this.standName = standName; + } + public String getStandName() { + return standName; + } + + public void setStandNumber(String standNumber) { + this.standNumber = standNumber; + } + public String getStandNumber() { + return standNumber; + } + + public void setBreakdownList(List breakdownList) { + this.breakdownList = breakdownList; + } + public List getBreakdownList() { + return breakdownList; + } + + public void setPrcCreateUser(String prcCreateUser) { + this.prcCreateUser = prcCreateUser; + } + public String getPrcCreateUser() { + return prcCreateUser; + } + + public void setApplyUpdUserId(String applyUpdUserId) { + this.applyUpdUserId = applyUpdUserId; + } + public String getApplyUpdUserId() { + return applyUpdUserId; + } + + public void setApprovalOpinion(String approvalOpinion) { + this.approvalOpinion = approvalOpinion; + } + public String getApprovalOpinion() { + return approvalOpinion; + } + + public void setQualityEngineer(String qualityEngineer) { + this.qualityEngineer = qualityEngineer; + } + public String getQualityEngineer() { + return qualityEngineer; + } + + public void setCertifiedEngineer(String certifiedEngineer) { + this.certifiedEngineer = certifiedEngineer; + } + public String getCertifiedEngineer() { + return certifiedEngineer; + } + + public void setPrcCreateUserName(String prcCreateUserName) { + this.prcCreateUserName = prcCreateUserName; + } + public String getPrcCreateUserName() { + return prcCreateUserName; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPres.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPres.java new file mode 100644 index 00000000..fbe1621e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PEPres.java @@ -0,0 +1,14 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class PEPres { + + private List pepdtos; + + + private List step3DTOS; + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarLawsDetailedList.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarLawsDetailedList.java new file mode 100644 index 00000000..95035112 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarLawsDetailedList.java @@ -0,0 +1,71 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + *

+ * + *

+ * + * @author szc + * @since 2021-06-15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@ApiModel(value="SarLawsDetailedList对象", description="") +public class SarLawsDetailedList { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("id") + private String id; + + @ApiModelProperty(value = "国家或地区") + private String countryArea; + + @ApiModelProperty(value = "项目名称") + private String projectName; + + @ApiModelProperty(value = "清单类别") + private String detailedList; + + @ApiModelProperty(value = "区分,国家地区为1,项目名称为2,清单类别为3") + private String sortKey; + + @ApiModelProperty(value = "清单名称") + private String detailedListName; + + @ApiModelProperty(value = "清单状态,1为未发布,2为发布") + private String detailedListState; + + @ApiModelProperty(value = "清单版本,默认V0") + private String detailedListVision; + + @ApiModelProperty(value = "适用领域") + private String applicationScope; + + @ApiModelProperty(value = "清单列表") + private String remark; + + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + @ApiModelProperty(value = "更新人") + private String updatePeople; + + @ApiModelProperty(value = "附件id") + private String fileId; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandProjectLibraries.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandProjectLibraries.java new file mode 100644 index 00000000..88751424 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandProjectLibraries.java @@ -0,0 +1,127 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto; +import java.util.Date; + +/** + * Auto-generated: 2021-07-09 16:11:32 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +public class SarStandProjectLibraries { + + private String id; + private String uname; + private String currentNode; + private String productLine; + private String projectName; + private String projectGroup; + private String projectLevel; + private String projectNumber; + private String projectStatus; + private Date projectEndDate; + private String projectManager; + private String projectPlatfor; + private Date projectStartDate; + private String projectClassification; + public void setId(String id) { + this.id = id; + } + public String getId() { + return id; + } + + public void setUname(String uname) { + this.uname = uname; + } + public String getUname() { + return uname; + } + + public void setCurrentNode(String currentNode) { + this.currentNode = currentNode; + } + public String getCurrentNode() { + return currentNode; + } + + public void setProductLine(String productLine) { + this.productLine = productLine; + } + public String getProductLine() { + return productLine; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + public String getProjectName() { + return projectName; + } + + public void setProjectGroup(String projectGroup) { + this.projectGroup = projectGroup; + } + public String getProjectGroup() { + return projectGroup; + } + + public void setProjectLevel(String projectLevel) { + this.projectLevel = projectLevel; + } + public String getProjectLevel() { + return projectLevel; + } + + public void setProjectNumber(String projectNumber) { + this.projectNumber = projectNumber; + } + public String getProjectNumber() { + return projectNumber; + } + + public void setProjectStatus(String projectStatus) { + this.projectStatus = projectStatus; + } + public String getProjectStatus() { + return projectStatus; + } + + public void setProjectEndDate(Date projectEndDate) { + this.projectEndDate = projectEndDate; + } + public Date getProjectEndDate() { + return projectEndDate; + } + + public void setProjectManager(String projectManager) { + this.projectManager = projectManager; + } + public String getProjectManager() { + return projectManager; + } + + public void setProjectPlatfor(String projectPlatfor) { + this.projectPlatfor = projectPlatfor; + } + public String getProjectPlatfor() { + return projectPlatfor; + } + + public void setProjectStartDate(Date projectStartDate) { + this.projectStartDate = projectStartDate; + } + public Date getProjectStartDate() { + return projectStartDate; + } + + public void setProjectClassification(String projectClassification) { + this.projectClassification = projectClassification; + } + public String getProjectClassification() { + return projectClassification; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandUnqualified.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandUnqualified.java new file mode 100644 index 00000000..1c6f7b4f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandUnqualified.java @@ -0,0 +1,107 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.sql.Timestamp; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-06-15 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="SarStandUnqualified对象", description="") +public class SarStandUnqualified { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "产品线编号") + private String productId; + + @ApiModelProperty(value = "标准ID") + private String standId; + + @ApiModelProperty(value = "标准号") + @TableField("STAND_SERIAL_NUMBER") + private String standSerialNumber; + + @ApiModelProperty(value = "标准名称") + private String standName; + + @ApiModelProperty(value = "条款号") + private String itemsNum; + + @ApiModelProperty(value = "条款名称") + private String itemsName; + + @ApiModelProperty(value = "产品线") + @TableField("PRODUCT_LINE") + private String productLine; + + @ApiModelProperty(value = "责任部门") + private String responsibleUnit; + + @ApiModelProperty(value = "项目名称") + private String productName; + + @ApiModelProperty(value = "创建部门") + private String createDeptId; + + @ApiModelProperty(value = "创建人") + private String createById; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "关闭状态(1为开启,2为关闭)") + @TableField("CLOSE_STATE") + private Integer closeState; + + @ApiModelProperty(value = "实际关闭时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date actualCloseTime; + + @ApiModelProperty(value = "计划关闭时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date planCloseTime; + + @ApiModelProperty(value = "未符合原因") + private String reason; + + @ApiModelProperty(value = "质量工程师") + @TableField("QA_ENGINEER") + private String qaEngineer; + + @ApiModelProperty(value = "认证工程师") + @TableField("AUTH_ENGINEER") + private String authEngineer; + + @ApiModelProperty(value = "责任工程师") + @TableField("DUTY_ENGINEER") + private String dutyEngineer; + +// @ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)") +// private String productType; + + @ApiModelProperty(value = "主键") + private String id; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandardComplianceProductAssess.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandardComplianceProductAssess.java new file mode 100644 index 00000000..daf00c98 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandardComplianceProductAssess.java @@ -0,0 +1,137 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + *

+ * + *

+ * + * @author zyl + * @since 2021-06-18 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="SarStandardComplianceProductAssess对象", description="") +public class SarStandardComplianceProductAssess { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "'产品线'") + private String productLineId; + + @ApiModelProperty(value = "'项目id'") + private String productId; + + @ApiModelProperty(value = "'项目名称'") + private String productName; + + @ApiModelProperty(value = "标准ID") + @TableField("STAND_ID") + private String standId; + + @ApiModelProperty(value = "标准编号") + @TableField("STAND_NUMBER") + private String standNumber; + + @ApiModelProperty(value = "'标准名称'") + @TableField("STAND_NAME") + private String standName; + + @ApiModelProperty(value = "'标准章条'") + private String standardItem; + + @ApiModelProperty(value = "标准类型") + @TableField("STAND_TYPE") + private String standType; + + @ApiModelProperty(value = "标准主要内容") + private String standardInfo; + + @ApiModelProperty(value = "1是在产,0是在研") + private Integer productType; + + @ApiModelProperty(value = "在研产品实施时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date researchImplementationTime; + + @ApiModelProperty(value = "在研产品合规信息") + private String researchCompliance; + + @ApiModelProperty(value = "在研产品不合规项目") + private String researchNonCompliance; + + @ApiModelProperty(value = "在研产品不合规应对措施") + private String researchCountermeasures; + + @ApiModelProperty(value = "在研产品不合规完成时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date researchCompletionTime; + + @ApiModelProperty(value = "在产产品实施时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date productionImplementationTime; + + @ApiModelProperty(value = "在产产品合规信息") + private String productionCompliance; + + @ApiModelProperty(value = "在产产品不合规信息") + @TableField("production_non_compliance") + private String productionNonCompliance; + + @ApiModelProperty(value = "在产产品不合规应对措施") + private String productionCountermeasures; + + @ApiModelProperty(value = "在产产品不合规完成时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date productionCompletionTime; + + @ApiModelProperty(value = "审查状态") + @TableField("INTERPRETATION_STATE") + private String interpretationState; + + @ApiModelProperty(value = "审查时间") + @TableField("INTERPRETATION_TIME") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date interpretationTime; + + @ApiModelProperty(value = "条款名称") + @TableField("clause_name") + private String clauseName; + + @ApiModelProperty(value = "流程UUID") + @TableField("type") + private String type; + + @ApiModelProperty(value = "评估时间") + @TableField("evaluation_time") + private String evaluationTime; + + @ApiModelProperty(value = "评估人") + @TableField("evaluation_people") + private String evaluationPeople; + + @ApiModelProperty(value = "评估人") + @TableField("evaluation_people_name") + private String evaluationPeopleName; + + @ApiModelProperty(value = "不涉及理由") + @TableField("no_involve") + private String noInvolve; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/Step3DTO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/Step3DTO.java new file mode 100644 index 00000000..f14718d8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/Step3DTO.java @@ -0,0 +1,47 @@ +/** + * Copyright 2021 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.dto; +import lombok.Data; +/** + * Auto-generated: 2021-07-12 17:52:47 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class Step3DTO { + + private String id; + private String uname; + private String itemNum; + private String itemsName; + private String standName; + private String implementer; + private String productLine; + private String projectName; + private String standNumber; + private String implementerId; + private String projectNumber; + private String projectManager; + private String qualityEngineer; + private String qualityEngineerName; + private String qaEngineer; + private String distributePerson; + private String certifiedEngineer; + private String certifiedEngineerName; + private String authEngineer; + private String distributePersonId; + private String zCCSSRQ; + private String xCXSSRQ; + private String responsibleUnit; + private String responsibleEngineer; + private String dutyEngineer; + private String standId; + private String standardInfo; + private String typeId; + + private String technicalRequir; + private String changePoint; + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/BusinessDeptIssue.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/BusinessDeptIssue.java new file mode 100644 index 00000000..3777bec0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/BusinessDeptIssue.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BusinessDeptIssue implements Serializable { + + @TableId(value = "id", type = IdType.UUID) + private String id; + + + @TableField("law_id") + private String lawId; + + + @TableField(exist = false) + private String lawNumber; + + + @TableField(exist = false) + private String lawName; + + + @TableField("product_type") + private String productType; + + + @TableField("impl_time") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd") + private Date implTime; + + + @TableField("impl_require") + private String implRequire; + + + @TableField("conform_situation") + private String conformSituation; + + + @TableField("dev_scheme") + private String devScheme; + + + @TableField("sop_time") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd") + private Date sopTime; + + + @TableField("complete_situation") + private String completeSituation; + + + @TableField("timeout_situation") + private String timeoutSituation; + + + @TableLogic(value = "0", delval = "1") + @TableField("del_flag") + private String delFlag; + + + @TableField("response_dept") + private String responseDept; + + + @TableField("response_people") + private String responsePeople; + + + @TableField("is_close") + private String isClose; + + + @TableField("is_risk") + private String isRisk; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/NewsFeed.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/NewsFeed.java new file mode 100644 index 00000000..14e569e8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/NewsFeed.java @@ -0,0 +1,65 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * @Author: qk + * @Date: 2022/5/23 0023 14:47 + * @Version 1.0 + */ + +@Data +@Accessors(chain = true) +@ApiModel(value="NewsFeed对象", description="") +public class NewsFeed { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "主键") + private String id; + + @TableField("RESOURCE_TYPE") + @ApiModelProperty(value = "资源类型") + private String resourceType; + + @TableField("MESSAGE_TYPE") + @ApiModelProperty(value = "消息类型") + private String messageType; + + @TableField("STANDARD_ID") + @ApiModelProperty(value = "标准类型") + private String standardId; + + @TableField("STANDARD") + @ApiModelProperty(value = "标准号") + private String standard; + + @TableField("STANDARD_NAME") + @ApiModelProperty(value = "标准名称") + private String standardName; + + @TableField("RELEASE_DATE") + @ApiModelProperty(value = "发布日期") + private String releaseDate; + + @TableField("TEXT_STATE") + @ApiModelProperty(value = "文本状态") + private String textState; + + @TableField("RENEW_TIME") + @ApiModelProperty(value = "更新时间") + private Date renewTime; + + + + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/ProductDeptIssue.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/ProductDeptIssue.java new file mode 100644 index 00000000..505452e1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/ProductDeptIssue.java @@ -0,0 +1,76 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("product_dept_issue") +public class ProductDeptIssue implements Serializable { + + @TableId + private String id; + + @TableField("law_id") + private String lawId; + + @TableField(exist = false) + private String lawsNumber; + + @TableField(exist = false) + private String lawsName; + + @TableField("product_business") + private String productBusiness; + + @TableField("platform") + private String platform; + + @TableField("poj_name") + private String pojName; + + @TableField("poj_description") + private String pojDescription; + + @TableField("current_node") + private String currentNode; + +// 概念状态 + @TableField("conceptual_state") + private String conceptualState; +// 概念时间 + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-mm-dd") + @TableField("scheduled_issuance_time") + private Date scheduledIssuanceTime; +//概念修订计划 + @TableField("revised_plan") + private String revisedPlan; + +// 其他说明 + @TableField("explanation") + private String explanation; + + @TableField("response_dept") + private String responseDept; + + @TableLogic(value = "0",delval = "1") + @TableField("del_flag") + private String delFlag; + + @TableField("is_close") + private String isClose; + + @TableField(exist = false) + private Integer page; + + @TableField(exist = false) + private Integer pageSize; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgDeptShow.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgDeptShow.java new file mode 100644 index 00000000..950ed285 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgDeptShow.java @@ -0,0 +1,71 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + *

+ * 集团参与情况 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="WgDept对象", description="集团参与情况") +public class WgDeptShow { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "我司在工作组排名顺序") + @TableField("dept_order") + private String deptOrder; + + @ApiModelProperty(value = "我司人员") + @TableField("dept_people_id") + private String deptPeopleId; + + @ApiModelProperty(value = "身份") + @TableField("identity") + private String identity; + + @ApiModelProperty(value = "资料") + @TableField("joinfile") + private String joinfile; + + @ApiModelProperty(value = "中文名") + private String name; + + @ApiModelProperty(value = "单位名称") + private String unit; + + @ApiModelProperty(value = "单位") + private String unitId; + + @ApiModelProperty(value = "电话") + private String phone; + + @ApiModelProperty(value = "邮箱") + private String email; + + @ApiModelProperty(value = "部门Id") + private String deptId; + + @ApiModelProperty(value = "部门名称") + private String deptName; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgMeetingInfo.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgMeetingInfo.java new file mode 100644 index 00000000..3399d31b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgMeetingInfo.java @@ -0,0 +1,73 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 参会记录及资料 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="WgMeetingInfo对象", description="参会记录及资料") +@TableName("wg_meeting_info") +public class WgMeetingInfo { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "参会时间") + @TableField("meeting_time") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date meetingTime; + + @ApiModelProperty(value = "会议名称") + @TableField("meeting_name") + private String meetingName; + + + @ApiModelProperty(value = "会议报告") + @TableField("meeting_report") + private String meetingReport; + + @ApiModelProperty(value = "会议资料") + @TableField("joinfile") + private String joinfile; + + @ApiModelProperty(value = "前端id") + @TableField("join_id") + private String joinId; + + @ApiModelProperty(value = "人员信息") + @TableField(exist = false) + private List meetingPeople; + + @TableField(exist = false) + private List joinMeetingPeopleInfo; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgMeetingUserRelationShow.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgMeetingUserRelationShow.java new file mode 100644 index 00000000..b7e6dae9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgMeetingUserRelationShow.java @@ -0,0 +1,33 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-11-09 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="WgMeetingUserRelation对象", description="") +public class WgMeetingUserRelationShow { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "会议id") + private String meetingId; + + @ApiModelProperty(value = "人员id") + private String userId; + + @ApiModelProperty(value = "人员名称") + private String name; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgNetInfoDTO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgNetInfoDTO.java new file mode 100644 index 00000000..9dbef079 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgNetInfoDTO.java @@ -0,0 +1,61 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + +import com.baomidou.mybatisplus.annotation.IdType; +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.experimental.Accessors; + +/** + *

+ * 工作组秘书联系方式 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="WgNetInfo对象", description="工作组秘书联系方式") +@TableName("wg_net_info") +public class WgNetInfoDTO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "人员id") + @TableField("net_id") + private String netId; + + + @ApiModelProperty(value = "前端id") + @TableField("join_id") + private String joinId; + + @ApiModelProperty(value = "中文名") + private String name; + + @ApiModelProperty(value = "单位名称") + private String unit; + + @ApiModelProperty(value = "单位") + private String unitId; + + @ApiModelProperty(value = "电话") + private String phone; + + @ApiModelProperty(value = "邮箱") + private String email; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgPayInfo.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgPayInfo.java new file mode 100644 index 00000000..b127ec5a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgPayInfo.java @@ -0,0 +1,68 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + +import com.baomidou.mybatisplus.annotation.IdType; +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.experimental.Accessors; + +/** + *

+ * 支付信息 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="WgPayInfo对象", description="支付信息") +@TableName("wg_pay_info") +public class WgPayInfo { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "价格") + @TableField("price") + private String price; + + @ApiModelProperty(value = "年份") + @TableField("year") + private String year; + + @ApiModelProperty(value = "支付状态(0:未支付,1:已支付)") + @TableField("status") + private String status; + + @ApiModelProperty(value = "是否计划内(0:计划内,1:计划外)") + @TableField("inplan") + private String inplan; + + @ApiModelProperty(value = "支付方式") + @TableField("pay_way") + private String payWay; + + @ApiModelProperty(value = "支付资料") + @TableField("joinfile") + private String joinfile; + + @ApiModelProperty(value = "费用列支") + @TableField("pay_info") + private String payInfo; + + @ApiModelProperty(value = "前端id") + @TableField("join_id") + private String joinId; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgStandorpolicyInfo.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgStandorpolicyInfo.java new file mode 100644 index 00000000..b2979a29 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgStandorpolicyInfo.java @@ -0,0 +1,79 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + +import com.baomidou.mybatisplus.annotation.IdType; +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.experimental.Accessors; + +/** + *

+ * 标准/政策 -信息 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="WgStandorpolicyInfo对象", description="标准/政策 -信息") +@TableName("wg_standorpolicy_info") +public class WgStandorpolicyInfo { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "关联标准政策id") + @TableField("stand_id") + private String standId; + + @ApiModelProperty(value = "政策/标准 类别") + @TableField(exist = false) + private String categary; + + @ApiModelProperty(value = "政策/标准 编号") + @TableField(exist = false) + private String number; + + @ApiModelProperty(value = "政策/标准 年份") + @TableField(exist = false) + private String year; + + @ApiModelProperty(value = "政策标准 名称") + @TableField(exist = false) + private String name; + + @ApiModelProperty(value = "政策/标准 英文名称") + @TableField(exist = false) + private String usname; + + @ApiModelProperty(value = "文本状态") + @TableField(exist = false) + private String status; + + @ApiModelProperty(value = "参与制定情况") + @TableField(exist = false) + private String joinDevelop; + + @ApiModelProperty(value = "相关材料") + @TableField(exist = false) + private String netDatum; + + @ApiModelProperty(value = "相关材料") + @TableField(exist = false) + private String dataType; + + + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgWorkGroupShowDTO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgWorkGroupShowDTO.java new file mode 100644 index 00000000..972a24af --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/WG/WgWorkGroupShowDTO.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.business_main.datas.dto.WG; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + *

+ * 工作组主表 + *

+ * + * @author super_liu + * @since 2021-11-04 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="WgWorkGroup对象", description="工作组主表") +public class WgWorkGroupShowDTO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "工作组id") + private String id; + + @ApiModelProperty(value = "父级id") + private String pid; + + @ApiModelProperty(value = "编号") + private String number; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "性质(0:标委会,1:分标委,2:工作组,3:政策)") + private String nature; + + @ApiModelProperty(value = "状态(0:流程中,1:流程已通过)") + private String status; + + @ApiModelProperty(value = "换届时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date changeTime; + + @ApiModelProperty(value = "标准化工作领域") + private String standerArea; + + @ApiModelProperty(value = "备注") + private String mark; + + @ApiModelProperty(value = "0:标准化流程 1:政策课题组") + private String types; + + private String level; + + //支付信息 + List wgPayInfos; + + private String wgPayInfosDel; + + //标准政策 + List wgStandorpolicyInfos; + + //集团参与情况 + List wgDepts; + + private String wgDeptsDel; + + //秘书联系方式 + List wgNetInfos; + + private String wgNetInfosDel; + + //参会记录及资料 + List wgMeetingInfos; + + private String wgMeetingInfosDel; + + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusMesSpecial.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusMesSpecial.java new file mode 100644 index 00000000..1407fa0b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusMesSpecial.java @@ -0,0 +1,119 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import lombok.Data; + +@Data +public class BusMesSpecial { + + private String userId; + + private String taskId; + + private String json; + + private String specialJson; + + private String taskIds; + + private String pId; + + private String prcType; + + private String createUser; + + private String createUserName; + + public String getDept() { + return dept; + } + + public void setDept(String dept) { + this.dept = dept; + } + + private String dept; + + private String userName; + + private String id; + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getTaskId() { + return taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + public String getJson() { + return json; + } + + public void setJson(String json) { + this.json = json; + } + + public String getTaskIds() { + return taskIds; + } + + public void setTaskIds(String taskIds) { + this.taskIds = taskIds; + } + + public String getpId() { + return pId; + } + + public void setpId(String pId) { + this.pId = pId; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getPrcType() { + return prcType; + } + + public void setPrcType(String prcType) { + this.prcType = prcType; + } + + public String getCreateUserName() { + return createUserName; + } + + public void setCreateUserName(String createUserName) { + this.createUserName = createUserName; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessEvaluationHis.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessEvaluationHis.java new file mode 100644 index 00000000..f94891b2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessEvaluationHis.java @@ -0,0 +1,82 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * 流程评分历史表 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="BusProcessEvaluationHis对象", description="流程评分历史表") +public class BusProcessEvaluationHis implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "标准id") + @TableField("STAND_ID") + private String standId; + + @ApiModelProperty(value = "处理人") + @TableField("USER_ID") + private String userId; + + @ApiModelProperty(value = "信息") + @TableField("MESG") + private String mesg; + + @ApiModelProperty(value = "节点信息") + @TableField("TASK_INFO") + private String taskInfo; + + @ApiModelProperty(value = "任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty(value = "流程实例id") + @TableField("P_ID") + private String pId; + + @ApiModelProperty(value = "流程名称") + @TableField("PRC_NAME") + private String prcName; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String createTime; + + @ApiModelProperty(value = "更新时间") + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String updateTime; + + @ApiModelProperty(value = "逻辑状态") + @TableField("FLAG") + private String flag; + + @ApiModelProperty(value = "处理人姓名") + @TableField(exist = false) + private String userName; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessModelHis.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessModelHis.java new file mode 100644 index 00000000..c9058a3d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessModelHis.java @@ -0,0 +1,92 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * 流程模块历史表 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="BusProcessModelHis对象", description="流程模块历史表") +public class BusProcessModelHis implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "标准id") + @TableField("STAND_ID") + private String standId; + + @ApiModelProperty(value = "处理人") + @TableField("USER_ID") + private String userId; + + @ApiModelProperty(value = "信息") + @TableField("MESG") + private String mesg; + + @ApiModelProperty(value = "节点信息") + @TableField("TASK_INFO") + private String taskInfo; + + @ApiModelProperty(value = "任务id") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty(value = "流程实例id") + @TableField("P_ID") + private String pId; + + @ApiModelProperty(value = "流程名称") + @TableField("PRC_NAME") + private String prcName; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String createTime; + + @ApiModelProperty(value = "更新时间") + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String updateTime; + + @ApiModelProperty(value = "onlyOffice 是否编辑 0 未编辑 1 已编辑") + @TableField("EDIT_STATUS") + private String editStatus; + + @ApiModelProperty(value = "onlyOffice 编辑文件存储路径") + @TableField("EDIT_FILE_PATH") + private String editFilePath; + + @ApiModelProperty(value = "onlyOffice 编辑类型 node 节点编辑 count 汇总编辑") + @TableField("EDIT_TYPE") + private String editType; + + @ApiModelProperty(value = "逻辑状态") + @TableField("FLAG") + private String flag; + + @ApiModelProperty(value = "onlyOffice 访问编辑文件全路径") + @TableField(exist = false) + private String downLoadUrl; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java index c2cd07ab..0d30fc4b 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessName.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; + +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -47,6 +49,7 @@ public class BusProcessName implements Serializable { private String prcNum; @TableField("CREAT_TIME") + @JsonFormat(timezone = "GMT+8") private String creatTime; @TableField("CREAT_USER") diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java index 2b315f98..21efa8f1 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java @@ -6,6 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -84,4 +87,37 @@ public class BusProcessNew implements Serializable { @ApiModelProperty(value = "子流程ID") @TableField("SUB_ID") private String subId; + + @ApiModelProperty(value = "流程名称") + @TableField("PRC_NAME") + private String prcName; + + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @TableField( exist = false) + @ApiModelProperty(value = "OA link") + private String link; + + @TableField( exist = false) + @ApiModelProperty(value = "干活任务截止时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String endTime; + + @TableField( exist = false) + @ApiModelProperty(value = "任务状态 0 默认 1 审批任务 2 干活任务") + private int taskStatus; + + @TableField( exist = false) + @ApiModelProperty(value = "提交状态 0 提交 其它 接受 ") + private long commitStatus; + + @TableField( exist = false) + @ApiModelProperty(value = "当前节点信息") + private String nowTaskInfo; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsPrcRelation.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsPrcRelation.java new file mode 100644 index 00000000..c9cd4a43 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsPrcRelation.java @@ -0,0 +1,47 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +@Data +@Accessors(chain = true) +@ApiModel(value="EsPrcRelation对象", description="企标计划和技术标准流程关联表") +public class EsPrcRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "企标计划ID") + private String esId; + + @ApiModelProperty(value = "流程ID") + private String prcId; + + @ApiModelProperty(value = "创建时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @ApiModelProperty(value = "OA待办标识") + private String oaFlag; // 0-已办 1-待办 + + @ApiModelProperty(value = "企标计划管控流程的实例ID") + private String prcIdGk; +} \ No newline at end of file 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 new file mode 100644 index 00000000..b7065703 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java @@ -0,0 +1,116 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + *

+ * 企标制修订计划 + *

+ * + * @author zcr + * @since 2021-11-14 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="EsRevisePlan对象", description="企标制修订计划") +public class EsRevisePlanDTO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "企标名称") + private String esName; + + @ApiModelProperty(value = "计划状态") + private String planStatus; + + @ApiModelProperty(value = "制修订状态") + private String reviseStatus; + + @ApiModelProperty(value = "起草人") + private String drafter; + + @ApiModelProperty(value = "评审责任人") + private String resPerson; + + @ApiModelProperty(value = "工作组组长") + private String wgLeader; + + + @ApiModelProperty(value = "起草人姓名") + private String drafterName; + + @ApiModelProperty(value = "评审责任人姓名") + private String resPersonName; + + @ApiModelProperty(value = "工作组组长姓名") + private String wgLeaderName; + + @ApiModelProperty(value = "计划标准初稿完成时间") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date draftTime; + + @ApiModelProperty(value = "计划标准发布时间") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date releaseTime; + + @ApiModelProperty(value = "起草责任单位") + private String unit; + + @ApiModelProperty(value = "起草责任单位ID") + private String unitName; + + @ApiModelProperty(value = "引入企业标准json(标准id)") + private String rqbJson; + @ApiModelProperty(value = "引入企业标准json(标准名称)") + private String rqbName; + @ApiModelProperty(value = "引入企业标准json(标准编号)") + private String rqbCode; + @ApiModelProperty(value = "体系结构树(id存储方式是逗号拼接)") + private String tsJson; + @ApiModelProperty(value = "体系结构树(名称逗号拼接展示)") + private String tsJsonName; + @ApiModelProperty(value = "标准范围") + private String area; + @ApiModelProperty(value = "标准范围") + private String areaName; + //企标类别 + private String standType; + + @ApiModelProperty(value = "企标类别") + private String esMatingRelations; + private String esStandRelations; + @ApiModelProperty(value = "是否引用标准") + @TableField("is_relate") + private String isRelate; + + @ApiModelProperty(value = "采用程度") + @TableField("use_level") + private String useLevel; + + private String useLevelName; + + @ApiModelProperty(value = "简述技术指标依据") + @TableField("technologic") + private String technologic; + + @ApiModelProperty(value = "企标类别") + @TableField("buss_sort") + private String bussSort; + + @ApiModelProperty(value = "立项单") + @TableField("LXD") + private String lxd; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsTechRelation.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsTechRelation.java new file mode 100644 index 00000000..49778985 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsTechRelation.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + + +@Data +@Accessors(chain = true) +@ApiModel(value="EsTechRelation对象", description="企标计划和技术标准流程关联表") +public class EsTechRelation { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "企标计划ID") + private String esId; + + @ApiModelProperty(value = "复审流程实例ID") + private String prcId; + + @ApiModelProperty(value = "流程是否结束") + private String finish; + + @ApiModelProperty(value = "企标制修订技术标准流程实例ID") + private String prcTechId; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java new file mode 100644 index 00000000..d0d3ac29 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java @@ -0,0 +1,86 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * OA 干活任务执行表 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="OaTaskExec对象", description="OA 干活任务执行表") +public class OaTaskExec implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "执行维度 1 3天内 2 3天外 3 超时") + @TableField("EXEC_TYPE") + private int execType; + + @ApiModelProperty(value = "待办ID") + @TableField("TODO_ID") + private String todoId; + + @ApiModelProperty(value = "待办用户ID") + @TableField("USER_ID") + private String userId; + + @ApiModelProperty(value = "待办对象JSON") + @TableField("MESG") + private String mesg; + + @ApiModelProperty(value = "执行状态 0 未启动 1 已启动 2 已完成") + @TableField("EXEC_STATUS") + private int execStatus; + + @ApiModelProperty(value = "执行时间") + @TableField("EXEC_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String execTime; + + @ApiModelProperty(value = "截止时间") + @TableField("END_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String endTime; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String createTime; + + @ApiModelProperty(value = "更新时间") + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String updateTime; + + @ApiModelProperty(value = "参数1") + @TableField("PARAM1") + private int param1; + + @ApiModelProperty(value = "参数2") + @TableField("PARAM2") + private String param2; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SarBussionessStand.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SarBussionessStand.java new file mode 100644 index 00000000..53aa397c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SarBussionessStand.java @@ -0,0 +1,528 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.*; + +/** + *

+ * 企业标准信息表 + *

+ * + * @author super_liu + * @since 2021-07-13 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="SarBussionessStand对象", description="企业标准信息表") +public class SarBussionessStand { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "企标标准号") + @TableField("STAND_CODE") + private String standCode; + + @ApiModelProperty(value = "标准编号") + @TableField("STAND_NUMBER") + private String standNumber; + + @ApiModelProperty(value = "标准名称") + @TableField("STAND_NAME") + private String standName; + + @ApiModelProperty(value = "标准英文名称") + @TableField("STAND_EN_NAME") + private String standEnName; + + @ApiModelProperty(value = "发布日期") + @TableField("ISSUE_TIME") + private String issueTime; + + @ApiModelProperty(value = "实施日期") + @TableField("PUT_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String putTime; + + @ApiModelProperty(value = "代替标准号") + @TableField("REPLACE_STAND_NUM") + private String replaceStandNum; + + @ApiModelProperty(value = "被代替标准号") + @TableField("REPLACED_STAND_NUM") + private String replacedStandNum; + + @ApiModelProperty(value = "标准状态") + @TableField("STAND_STATUS") + private String standStatus; + + @ApiModelProperty(value = "适用国家/地区") + @TableField("APPLY_COUNTRY") + private String applyCountry; + + @ApiModelProperty(value = "标准性质") + @TableField("STAND_NATURE") + private String standNature; + + @ApiModelProperty(value = "标准类别") + @TableField("STAND_SORT") + private String standSort; + + @ApiModelProperty(value = "标准年份") + @TableField("STAND_YEAR") + private String standYear; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + // 新添加字段 + @ApiModelProperty(value = "文本状态") + @TableField("TEXT_STATUS_BUSS") + private String textStatusBuss; + + + // 非表字段 + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String firstPutTime; + + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String putTimeShow; + + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String issueTimeShow; + + @TableField(exist = false) + private String issueTimeStr; + + @TableField(exist = false) + private String putTimeStr; + + //目录ID 非标准信息表中的字段 + @TableField(exist = false) + private String menuId; + + @TableField(exist = false) + private String menuParentId; + + @TableField(exist = false) + private String standStatusShow; // 标准状态下拉框 --单选 + + @TableField(exist = false) + private String standNatrueShow; + + @TableField(exist = false) + private String standSortShow; + + @TableField(exist = false) + private String applyCountryShow; + + @TableField(exist = false) + private List standFileList = new ArrayList(); + + @TableField(exist = false) + private List opinionFilesList = new ArrayList(); + + @TableField(exist = false) + private List relevanceFileList = new ArrayList(); + + @TableField(exist = false) + private String collectId; + + //文件的类型 + @TableField(exist = false) + private String standFileClassify; + + //文件的下载id + @TableField(exist = false) + private String attId; + + //记录是否修改了替代文件号 + @TableField(exist = false) + private int upReplaceNumFlag; + //记录是否修改了文件号 + @TableField(exist = false) + private int upNumFlag; + // 数据库新加的字段 + + @TableField(exist = false) + private String remark;//备注 + + @TableField(exist = false) + private Map attrInfoMap = new LinkedHashMap<>(); //属性表字段与值 + + @TableField(exist = false) + private Map attrInfoCaseMap = new LinkedHashMap<>(); //属性表字段与值小写前端带入渲染 + + @TableField(exist = false) + private String sarStandAttrEOStr; //新增修改时属性表信息 + + @TableField(exist = false) + private String fileIds; //全部文件ID + + @TableField(exist = false) + private List attrInfoList = new ArrayList<>(); + + public static long getSerialVersionUID() { + return serialVersionUID; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getStandCode() { + return standCode; + } + + public void setStandCode(String standCode) { + this.standCode = standCode; + } + + public String getStandName() { + return standName; + } + + public void setStandName(String standName) { + this.standName = standName; + } + + public String getStandEnName() { + return standEnName; + } + + public void setStandEnName(String standEnName) { + this.standEnName = standEnName; + } + + public String getIssueTime() { + return issueTime; + } + + public void setIssueTime(String issueTime) { + this.issueTime = issueTime; + } + + public String getPutTime() { + return putTime; + } + + public void setPutTime(String putTime) { + this.putTime = putTime; + } + + public String getReplaceStandNum() { + return replaceStandNum; + } + + public void setReplaceStandNum(String replaceStandNum) { + this.replaceStandNum = replaceStandNum; + } + + public String getReplacedStandNum() { + return replacedStandNum; + } + + public void setReplacedStandNum(String replacedStandNum) { + this.replacedStandNum = replacedStandNum; + } + + public String getStandStatus() { + return standStatus; + } + + public void setStandStatus(String standStatus) { + this.standStatus = standStatus; + } + + public String getApplyCountry() { + return applyCountry; + } + + public void setApplyCountry(String applyCountry) { + this.applyCountry = applyCountry; + } + + public String getStandNature() { + return standNature; + } + + public void setStandNature(String standNature) { + this.standNature = standNature; + } + + public String getStandSort() { + return standSort; + } + + public void setStandSort(String standSort) { + this.standSort = standSort; + } + + public String getStandYear() { + return standYear; + } + + public void setStandYear(String standYear) { + this.standYear = standYear; + } + + public Integer getValidFlag() { + return validFlag; + } + + public void setValidFlag(Integer validFlag) { + this.validFlag = validFlag; + } + + public Date getCreationTime() { + return creationTime; + } + + public void setCreationTime(Date creationTime) { + this.creationTime = creationTime; + } + + public Date getModifyTime() { + return modifyTime; + } + + public void setModifyTime(Date modifyTime) { + this.modifyTime = modifyTime; + } + + public String getTextStatusBuss() { + return textStatusBuss; + } + + public void setTextStatusBuss(String textStatusBuss) { + this.textStatusBuss = textStatusBuss; + } + + public String getFirstPutTime() { + return firstPutTime; + } + + public void setFirstPutTime(String firstPutTime) { + this.firstPutTime = firstPutTime; + } + + public String getPutTimeShow() { + return putTimeShow; + } + + public void setPutTimeShow(String putTimeShow) { + this.putTimeShow = putTimeShow; + } + + public String getIssueTimeShow() { + return issueTimeShow; + } + + public void setIssueTimeShow(String issueTimeShow) { + this.issueTimeShow = issueTimeShow; + } + + public String getIssueTimeStr() { + return issueTimeStr; + } + + public void setIssueTimeStr(String issueTimeStr) { + this.issueTimeStr = issueTimeStr; + } + + public String getPutTimeStr() { + return putTimeStr; + } + + public void setPutTimeStr(String putTimeStr) { + this.putTimeStr = putTimeStr; + } + + public String getMenuId() { + return menuId; + } + + public void setMenuId(String menuId) { + this.menuId = menuId; + } + + public String getMenuParentId() { + return menuParentId; + } + + public void setMenuParentId(String menuParentId) { + this.menuParentId = menuParentId; + } + + public String getStandStatusShow() { + return standStatusShow; + } + + public void setStandStatusShow(String standStatusShow) { + this.standStatusShow = standStatusShow; + } + + public String getStandNatrueShow() { + return standNatrueShow; + } + + public void setStandNatrueShow(String standNatrueShow) { + this.standNatrueShow = standNatrueShow; + } + + public String getStandSortShow() { + return standSortShow; + } + + public void setStandSortShow(String standSortShow) { + this.standSortShow = standSortShow; + } + + public String getApplyCountryShow() { + return applyCountryShow; + } + + public void setApplyCountryShow(String applyCountryShow) { + this.applyCountryShow = applyCountryShow; + } + + public List getStandFileList() { + return standFileList; + } + + public void setStandFileList(List standFileList) { + this.standFileList = standFileList; + } + + public List getOpinionFilesList() { + return opinionFilesList; + } + + public void setOpinionFilesList(List opinionFilesList) { + this.opinionFilesList = opinionFilesList; + } + + public List getRelevanceFileList() { + return relevanceFileList; + } + + public void setRelevanceFileList(List relevanceFileList) { + this.relevanceFileList = relevanceFileList; + } + + public String getCollectId() { + return collectId; + } + + public void setCollectId(String collectId) { + this.collectId = collectId; + } + + public String getStandFileClassify() { + return standFileClassify; + } + + public void setStandFileClassify(String standFileClassify) { + this.standFileClassify = standFileClassify; + } + + public String getAttId() { + return attId; + } + + public void setAttId(String attId) { + this.attId = attId; + } + + public int getUpReplaceNumFlag() { + return upReplaceNumFlag; + } + + public void setUpReplaceNumFlag(int upReplaceNumFlag) { + this.upReplaceNumFlag = upReplaceNumFlag; + } + + public int getUpNumFlag() { + return upNumFlag; + } + + public void setUpNumFlag(int upNumFlag) { + this.upNumFlag = upNumFlag; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public Map getAttrInfoMap() { + return attrInfoMap; + } + + public void setAttrInfoMap(Map attrInfoMap) { + this.attrInfoMap = attrInfoMap; + } + + public Map getAttrInfoCaseMap() { + return attrInfoCaseMap; + } + + public void setAttrInfoCaseMap(Map attrInfoCaseMap) { + this.attrInfoCaseMap = attrInfoCaseMap; + } + + public String getSarStandAttrEOStr() { + return sarStandAttrEOStr; + } + + public void setSarStandAttrEOStr(String sarStandAttrEOStr) { + this.sarStandAttrEOStr = sarStandAttrEOStr; + } + + public String getFileIds() { + return fileIds; + } + + public void setFileIds(String fileIds) { + this.fileIds = fileIds; + } + + public List getAttrInfoList() { + return attrInfoList; + } + + public void setAttrInfoList(List attrInfoList) { + this.attrInfoList = attrInfoList; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SarBussionessStandStatePage.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SarBussionessStandStatePage.java new file mode 100644 index 00000000..ffbc88b9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SarBussionessStandStatePage.java @@ -0,0 +1,72 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + *

+ * 企业标准信息复审表 + *

+ * + * @author super_liu + * @since 2022-01-23 + */ +@Data +@ApiModel(value="SarBussionessStandStatePage对象", description="企业标准信息复审表分页") +public class SarBussionessStandStatePage{ + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键/企业标准信息主键") + private String id; + + @ApiModelProperty(value = "企标ID") + private String standId; + + @ApiModelProperty(value = "名称") + private String standName; + + @ApiModelProperty(value = "企标编号") + private String standCode; + + @ApiModelProperty(value = "复审时间") + private Date reviewTime; + + @ApiModelProperty(value = "发布日期") + private Date issueTime; + + @ApiModelProperty(value = "复审结果 1 修订、2 废止、3 继续有效") + private Integer reviewResults; + + @ApiModelProperty(value = "复审关联流程编号") + private String reviewProcessNum; + + @ApiModelProperty(value = "创建日期") + private Date creationTime; + + @ApiModelProperty(value = "更新日期") + private Date modifyTime; + + private Integer validFlag; + + @ApiModelProperty(value = "参数1") + private Integer param1; + + @ApiModelProperty(value = "参数2") + private String param2; + + private String reviewTimeStart; + private String reviewTimeEnd; + + private String issueTimeStart; + private String issueTimeEnd; + + private String QCDW; + private String QCRBUSS; + private String standSort; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SendTodoLog.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SendTodoLog.java new file mode 100644 index 00000000..0cdb1b53 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SendTodoLog.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * OA日志表 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="SendTodoLog对象", description="OA日志表") +public class SendTodoLog implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "主键") + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "类型 0 待办, 1已办, 2 取消, 3 删除") + @TableField("MSG_TYPE") + private String msgType; + + @ApiModelProperty(value = "待办ID") + @TableField("TODO_ID") + private String todoId; + + @ApiModelProperty(value = "待办用户ID") + @TableField("USER_ID") + private String userId; + + @ApiModelProperty(value = "邮箱用户ID") + @TableField("EMAIL_USER_ID") + private String emailUserId; + + @ApiModelProperty(value = "待办对象JSON") + @TableField("MESG") + private String mesg; + + @ApiModelProperty(value = "状态 1 待发送 2 成功 3 失败 4 无需发送") + @TableField("MSG_STATUS") + private String msgStatus; + + @ApiModelProperty(value = "失败次数") + @TableField("ERR_NUM") + private int errNum; + + @ApiModelProperty(value = "操作信息") + @TableField("OPER_MESG") + private String operMesg; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String createTime; + + @ApiModelProperty(value = "更新时间") + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String updateTime; + + @ApiModelProperty(value = "参数1") + @TableField("PARAM1") + private String param1; + + @ApiModelProperty(value = "参数2") + @TableField("PARAM2") + private String param2; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/TbTask.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/TbTask.java new file mode 100644 index 00000000..faa10c45 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/TbTask.java @@ -0,0 +1,58 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 动态定时任务表 + *

+ * + * @author super_liu + * @since 2022-05-27 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="TbTask对象", description="动态定时任务表") +public class TbTask implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "定时任务id") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "定时任务名称") + private String taskName; + + @ApiModelProperty(value = "定时任务描述") + private String taskDesc; + + @ApiModelProperty(value = "定时任务Cron表达式") + private String taskExp; + + @ApiModelProperty(value = "定时任务状态,0停用 1启用") + private Integer taskStatus; + + @ApiModelProperty(value = "定时任务的Runnable任务类完整路径") + private String taskClass; + + @ApiModelProperty(value = "更新时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date updateTime; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date createTime; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/ModelData.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/ModelData.java new file mode 100644 index 00000000..fbdcadac --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/ModelData.java @@ -0,0 +1,46 @@ +/** + * Copyright 2022 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.entity.standState; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * Auto-generated: 2022-06-23 15:31:2 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +@Data +public class ModelData { + + private String id; + private String standId; + private String standName; + private String standCode; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String reviewTime; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String issueTime; + private String reviewResults; + private String reviewProcessNum; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String creationTime; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String modifyTime; + private int validFlag; + private String param1; + private String param2; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String putTime; + private String standSort; + private String qcdw; + private String fsrqbuss; + private String qcrbuss; + private String processStatus; + private String bussFsSubUser1; + private String bussFsSubUser1Name; + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/QbfsForm.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/QbfsForm.java new file mode 100644 index 00000000..e05401c5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/QbfsForm.java @@ -0,0 +1,95 @@ +/** + * Copyright 2022 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.entity.standState; +import java.util.List; + +/** + * Auto-generated: 2022-06-23 15:31:2 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +public class QbfsForm { + + private List modelData; + private String entNumber= ""; + private String cnName= ""; + private String enName= ""; + private String entCategory= ""; + private String replaceNumber= ""; + private String replacedNumber= ""; + private String releaseDate= ""; + private String implementDate= ""; + private String reviewDate= ""; + public void setModelData(List modelData) { + this.modelData = modelData; + } + public List getModelData() { + return modelData; + } + + public void setEntNumber(String entNumber) { + this.entNumber = entNumber; + } + public String getEntNumber() { + return entNumber; + } + + public void setCnName(String cnName) { + this.cnName = cnName; + } + public String getCnName() { + return cnName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + public String getEnName() { + return enName; + } + + public void setEntCategory(String entCategory) { + this.entCategory = entCategory; + } + public String getEntCategory() { + return entCategory; + } + + public void setReplaceNumber(String replaceNumber) { + this.replaceNumber = replaceNumber; + } + public String getReplaceNumber() { + return replaceNumber; + } + + public void setReplacedNumber(String replacedNumber) { + this.replacedNumber = replacedNumber; + } + public String getReplacedNumber() { + return replacedNumber; + } + + public void setReleaseDate(String releaseDate) { + this.releaseDate = releaseDate; + } + public String getReleaseDate() { + return releaseDate; + } + + public void setImplementDate(String implementDate) { + this.implementDate = implementDate; + } + public String getImplementDate() { + return implementDate; + } + + public void setReviewDate(String reviewDate) { + this.reviewDate = reviewDate; + } + public String getReviewDate() { + return reviewDate; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/RoleForm.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/RoleForm.java new file mode 100644 index 00000000..98b184ea --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/RoleForm.java @@ -0,0 +1,110 @@ +/** + * Copyright 2022 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.entity.standState; + +/** + * Auto-generated: 2022-06-23 15:31:2 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +public class RoleForm { + + private String prcCreateUserName = ""; + private String prcCreateUser= ""; + private String dockUser= ""; + private String dockUserName= ""; + private String bussFsSubUser2= ""; + private String bussFsSubUser2Name= ""; + private String bussFsUser2= ""; + private String bussFsUser2Name= ""; + private String bussFsUserC2= ""; + private String bussFsUserC2Name= ""; + private String bussFsUser3= ""; + private String bussFsUser3Name= ""; + public void setPrcCreateUserName(String prcCreateUserName) { + this.prcCreateUserName = prcCreateUserName; + } + public String getPrcCreateUserName() { + return prcCreateUserName; + } + + public void setPrcCreateUser(String prcCreateUser) { + this.prcCreateUser = prcCreateUser; + } + public String getPrcCreateUser() { + return prcCreateUser; + } + + public void setDockUser(String dockUser) { + this.dockUser = dockUser; + } + public String getDockUser() { + return dockUser; + } + + public void setDockUserName(String dockUserName) { + this.dockUserName = dockUserName; + } + public String getDockUserName() { + return dockUserName; + } + + public void setBussFsSubUser2(String bussFsSubUser2) { + this.bussFsSubUser2 = bussFsSubUser2; + } + public String getBussFsSubUser2() { + return bussFsSubUser2; + } + + public void setBussFsSubUser2Name(String bussFsSubUser2Name) { + this.bussFsSubUser2Name = bussFsSubUser2Name; + } + public String getBussFsSubUser2Name() { + return bussFsSubUser2Name; + } + + public void setBussFsUser2(String bussFsUser2) { + this.bussFsUser2 = bussFsUser2; + } + public String getBussFsUser2() { + return bussFsUser2; + } + + public void setBussFsUser2Name(String bussFsUser2Name) { + this.bussFsUser2Name = bussFsUser2Name; + } + public String getBussFsUser2Name() { + return bussFsUser2Name; + } + + public void setBussFsUserC2(String bussFsUserC2) { + this.bussFsUserC2 = bussFsUserC2; + } + public String getBussFsUserC2() { + return bussFsUserC2; + } + + public void setBussFsUserC2Name(String bussFsUserC2Name) { + this.bussFsUserC2Name = bussFsUserC2Name; + } + public String getBussFsUserC2Name() { + return bussFsUserC2Name; + } + + public void setBussFsUser3(String bussFsUser3) { + this.bussFsUser3 = bussFsUser3; + } + public String getBussFsUser3() { + return bussFsUser3; + } + + public void setBussFsUser3Name(String bussFsUser3Name) { + this.bussFsUser3Name = bussFsUser3Name; + } + public String getBussFsUser3Name() { + return bussFsUser3Name; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/StandStateDraft.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/StandStateDraft.java new file mode 100644 index 00000000..4b887ee3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/standState/StandStateDraft.java @@ -0,0 +1,46 @@ +/** + * Copyright 2022 bejson.com + */ +package com.ydw.bat.wkflow.business_main.datas.entity.standState; + +/** + * Auto-generated: 2022-06-23 15:31:2 + * + * @author bejson.com (i@bejson.com) + * @website http://www.bejson.com/java2pojo/ + */ +public class StandStateDraft { + + private String taskInfo="起草"; + private RoleForm roleForm; + private QbfsForm qbfsForm; + private String commentText= ""; + public void setTaskInfo(String taskInfo) { + this.taskInfo = taskInfo; + } + public String getTaskInfo() { + return taskInfo; + } + + public void setRoleForm(RoleForm roleForm) { + this.roleForm = roleForm; + } + public RoleForm getRoleForm() { + return roleForm; + } + + public void setQbfsForm(QbfsForm qbfsForm) { + this.qbfsForm = qbfsForm; + } + public QbfsForm getQbfsForm() { + return qbfsForm; + } + + public void setCommentText(String commentText) { + this.commentText = commentText; + } + public String getCommentText() { + return commentText; + } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessEvaluationHisMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessEvaluationHisMapper.java new file mode 100644 index 00000000..c0060053 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessEvaluationHisMapper.java @@ -0,0 +1,18 @@ +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.BusProcessEvaluationHis; +import org.springframework.stereotype.Repository; + +/** + *

+ * 流程评分历史表 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Repository +public interface BusProcessEvaluationHisMapper extends BaseMapper { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessModelHisMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessModelHisMapper.java new file mode 100644 index 00000000..53d795c0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessModelHisMapper.java @@ -0,0 +1,19 @@ +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.BusProcessEvaluationHis; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis; +import org.springframework.stereotype.Repository; + +/** + *

+ * 流程模块历史表 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Repository +public interface BusProcessModelHisMapper extends BaseMapper { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNameMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNameMapper.java index 9abffa86..eda674e8 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNameMapper.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNameMapper.java @@ -1,5 +1,6 @@ package com.ydw.bat.wkflow.business_main.datas.mapper; +import com.ydw.bat.wkflow.business_activiti.dto.TaskCommonQuery; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -19,4 +20,6 @@ public interface BusProcessNameMapper extends BaseMapper { //查询符合要求的 name 信息 List findBusProcessNameForEnd(String taskId); + List todoTask(@Param("task") TaskCommonQuery taskCommonQuery); + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java index fedd1769..9743050e 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/BusProcessNewMapper.java @@ -26,4 +26,12 @@ public interface BusProcessNewMapper extends BaseMapper { List findNoExecuteBusProcessNewForEnd(@Param("taskIds")List taskIds); // String queryTaskName(@Param("id")String id); + List findLastworkPeople(@Param("key")String key,@Param("pId")String pId); + + List findLastworkPeople2(@Param("key")String key,@Param("pId")String pId); + + List everyDayTenOlock(); + + List everyDayTenOlockSAM(); + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/EsPrcRelationMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/EsPrcRelationMapper.java new file mode 100644 index 00000000..28f4ae56 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/EsPrcRelationMapper.java @@ -0,0 +1,18 @@ +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.EsPrcRelation; +import org.springframework.stereotype.Repository; + +/** + *

+ * 企标计划和技术标准流程关联表 Mapper 接口 + *

+ * + * @author iyawei + * @since 2022-11-18 + */ +@Repository +public interface EsPrcRelationMapper extends BaseMapper { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/EsTechRelationMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/EsTechRelationMapper.java new file mode 100644 index 00000000..2f395eea --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/EsTechRelationMapper.java @@ -0,0 +1,9 @@ +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.EsTechRelation; +import org.springframework.stereotype.Repository; + +@Repository +public interface EsTechRelationMapper extends BaseMapper { +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/OaTaskExecMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/OaTaskExecMapper.java new file mode 100644 index 00000000..10f7b6e4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/OaTaskExecMapper.java @@ -0,0 +1,16 @@ +package com.ydw.bat.wkflow.business_main.datas.mapper; + +import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * OA 干活任务执行表 Mapper 接口 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +public interface OaTaskExecMapper extends BaseMapper { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/SendTodoLogMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/SendTodoLogMapper.java new file mode 100644 index 00000000..fb6d03b2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/SendTodoLogMapper.java @@ -0,0 +1,18 @@ +package com.ydw.bat.wkflow.business_main.datas.mapper; + +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + *

+ * OA日志表 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Repository +public interface SendTodoLogMapper extends BaseMapper { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/TbTaskMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/TbTaskMapper.java new file mode 100644 index 00000000..284cd61a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/TbTaskMapper.java @@ -0,0 +1,18 @@ +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.TbTask; +import org.springframework.stereotype.Repository; + +/** + *

+ * 动态定时任务表 Mapper 接口 + *

+ * + * @author super_liu + * @since 2022-05-27 + */ +@Repository +public interface TbTaskMapper extends BaseMapper { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessEvaluationHisService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessEvaluationHisService.java new file mode 100644 index 00000000..cb96b3f7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessEvaluationHisService.java @@ -0,0 +1,26 @@ +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.BusProcessEvaluationHis; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 流程评分历史表 服务类 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +public interface IBusProcessEvaluationHisService extends IService { + + Map evaluationHisListRepSum(String pid); + + BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo); + + List evaluationHisListRep(String pid); + + List evaluationHisList(String pid); +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java new file mode 100644 index 00000000..2d83050d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessModelHisService.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis; + +import java.util.List; + +/** + *

+ * 流程模块历史表 服务类 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +public interface IBusProcessModelHisService extends IService { + + BusProcessModelHis modelHisOneUpdStatusById(String id); + + BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId); + + BusProcessModelHis modelHisOneCount(String pid); + + BusProcessModelHis processEditFile(String id); + + BusProcessModelHis modelHisOne(String pid,String taskId); + + BusProcessModelHis saveEditFile(String model); + + List modelHisList(String pid); + + String saveBussModelFile(String pid, String taskId); + + String mergeModelFile(String pid, String taskId,String fileSuffix); + + void saveBussTemplateFile(JSONObject object, String pid); +} 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 ef1a600f..4f4d534e 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 @@ -1,5 +1,6 @@ package com.ydw.bat.wkflow.business_main.datas.service; +import com.ydw.bat.wkflow.business_activiti.dto.TaskCommonQuery; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.beans.factory.annotation.Autowired; @@ -17,4 +18,10 @@ import java.util.List; public interface IBusProcessNameService extends IService { List findBusProcessNameForEnd(String prcNum); + + //新查询代办接口 初步测试中 + List todoTask(TaskCommonQuery taskCommonQuery); + + + String delDB(List id); } 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 d97452f8..96d479ee 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 @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.business_main.datas.service; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.baomidou.mybatisplus.extension.service.IService; import org.activiti.engine.task.Task; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -28,5 +29,11 @@ public interface IBusProcessNewService extends IService { List findTaskDetailByTaskIds(List taskIdList); List findNoExecuteBusProcessNewForEnd(List taskIdList); + //子流程 获取 阶段数据 专用 BY yzh + List findLastworkPeople(@Param("key")String key, @Param("pId")String pId); + List findLastworkPeople2(@Param("key")String key, @Param("pId")String pId); + + List everyDayTenOlock(); + List everyDayTenOlockSAM(); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IEsPrcRelationService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IEsPrcRelationService.java new file mode 100644 index 00000000..b3577bec --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IEsPrcRelationService.java @@ -0,0 +1,45 @@ +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.EsPrcRelation; + +import java.util.List; + +public interface IEsPrcRelationService extends IService { + /** + * + * @param esId + * @return + */ + List list(String esId); + + /** + * + * @return + */ + Boolean listJudge(EsPrcRelation esPrcRelation); + + /** + * + * @param esId + * @param prcId + * @return + */ + int addEsPrcRelation(String esId, String prcId, String prcIdGk); + + /** + * + * @param esId + * @param prcId + * @param oaFlag + * @return + */ + int modifyEsPrcRelation(String esId, String prcId, String oaFlag, String prcIdGk); + + /** + * + * @param esId + * @return + */ + int delEsPrcRelation(String esId); +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IEsTechRelationService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IEsTechRelationService.java new file mode 100644 index 00000000..552a01ea --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IEsTechRelationService.java @@ -0,0 +1,8 @@ +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.EsTechRelation; + +public interface IEsTechRelationService extends IService { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java new file mode 100644 index 00000000..394d3f6c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + *

+ * OA 干活任务执行表 服务类 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +public interface IOaTaskExecService extends IService { + + Map execTask(String todoId); + + String endTime(String pId); +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/ISendTodoLogService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/ISendTodoLogService.java new file mode 100644 index 00000000..46c0fed2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/ISendTodoLogService.java @@ -0,0 +1,16 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * OA日志表 服务类 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +public interface ISendTodoLogService extends IService { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/ITbTaskService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/ITbTaskService.java new file mode 100644 index 00000000..27ba3271 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/ITbTaskService.java @@ -0,0 +1,16 @@ +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.TbTask; + +/** + *

+ * 动态定时任务表 服务类 + *

+ * + * @author super_liu + * @since 2022-05-27 + */ +public interface ITbTaskService extends IService { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java new file mode 100644 index 00000000..7f32880b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessEvaluationHisServiceImpl.java @@ -0,0 +1,130 @@ +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.QueryWrapper; +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.BusProcessEvaluationHis; +import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage; +import com.ydw.bat.wkflow.business_main.datas.entity.UserVO; +import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessEvaluationHisMapper; +import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService; +import com.ydw.bat.wkflow.util.Utils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + *

+ * 流程评分历史表 服务实现类 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Service +public class BusProcessEvaluationHisServiceImpl extends ServiceImpl implements IBusProcessEvaluationHisService { + + @Autowired + private LawsUserInfoService lawsUserInfoService; + + @Override + public BusProcessEvaluationHis evaluationHisListByOne(String pid,String taskInfo){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.like("TASK_INFO",taskInfo); + wrapper.orderByDesc("CREATE_TIME","TASK_INFO"); + List list = this.baseMapper.selectList(wrapper); + BusProcessEvaluationHis his = new BusProcessEvaluationHis(); + if(!list.isEmpty()){ + his = list.get(0); + } + return his; + } + + @Override + public Map evaluationHisListRepSum(String pid){ + Map map = new HashMap<>(); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.orderByDesc("CREATE_TIME","TASK_INFO"); + List list = this.baseMapper.selectList(wrapper); + List evaluationHis = new ArrayList<>(); + Map> listMap = new TreeMap<>(); + + // 按 相同数据分组 + listMap = list.stream().collect( + Collectors.groupingBy(a -> Utils.format("{0}#{1}#{2}", a.getPId(),a.getTaskInfo(),a.getUserId()))); + + if(!listMap.isEmpty()){ + listMap.forEach((key, value) -> { + if(!value.isEmpty()){ + evaluationHis.add(value.get(0)); + } + }); + } + + Map> listMapFilter = new TreeMap<>(); + listMapFilter = evaluationHis.stream().collect( + Collectors.groupingBy(a -> Utils.format("{0}#{1}", a.getPId(),a.getTaskInfo()))); + if(!listMapFilter.isEmpty()){ + listMapFilter.forEach((key, value) -> { + if(!value.isEmpty()){ + int sum = 0; + for (BusProcessEvaluationHis his : value) { + List valueArr = JSONArray.parseArray(his.getMesg(),JSONObject.class); + if(!valueArr.isEmpty()){ + sum = sum + Integer.parseInt(valueArr.get(0).getString("sum").trim()); + } + } + String keyV = value.get(0).getTaskInfo(); + int ave = value.size(); + map.put(keyV,sum/ave); + } + }); + } + return map; + } + + @Override + public List evaluationHisListRep(String pid){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.orderByDesc("CREATE_TIME","TASK_INFO"); + List list = this.baseMapper.selectList(wrapper); + List evaluationHis = new ArrayList<>(); + Map> listMap = new TreeMap<>(); + + // 按 相同数据分组 + listMap = list.stream().collect( + Collectors.groupingBy(a -> Utils.format("{0}#{1}#{2}", a.getPId(),a.getTaskInfo(),a.getUserId()))); + + if(!listMap.isEmpty()){ + listMap.forEach((key, value) -> { + if(!value.isEmpty()){ + ResponseMessage byId = lawsUserInfoService.getById(value.get(0).getUserId()); + value.get(0).setUserName(byId == null ? "" : byId.getData().getUname()); + evaluationHis.add(value.get(0)); + } + }); + } + + if(!evaluationHis.isEmpty()){ + evaluationHis.sort(Comparator.comparing(BusProcessEvaluationHis::getCreateTime).reversed().thenComparing(BusProcessEvaluationHis::getTaskInfo)); + } + return evaluationHis; + } + + @Override + public List evaluationHisList(String pid){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.orderByDesc("CREATE_TIME","TASK_INFO"); + return this.baseMapper.selectList(wrapper); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java new file mode 100644 index 00000000..200e9d04 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessModelHisServiceImpl.java @@ -0,0 +1,259 @@ +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.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessEvaluationHis; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessModelHis; +import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessEvaluationHisMapper; +import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessModelHisMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEvaluationHisService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessModelHisService; +import com.ydw.bat.wkflow.listener.bussLibrary.Utils.PoiUtil; +import com.ydw.bat.wkflow.listener.bussLibrary.Utils.PoiWord; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +/** + *

+ * 流程模块历史表 服务实现类 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Service +public class BusProcessModelHisServiceImpl extends ServiceImpl implements IBusProcessModelHisService { + + private static final Logger logger = LoggerFactory.getLogger(BusProcessModelHisServiceImpl.class); + + + @Value("${buss.edit.file.path}") + private String filePath;//文件存储路径 + + /** + * 文件下载路径 + */ + @Value("${buss.down.file.path}") + private String downloadUrl; + + @Override + public BusProcessModelHis saveEditFile(String model){ + BusProcessModelHis modelHis = new BusProcessModelHis(); + try { + + String preUuid2 = UUID.randomUUID().toString(); + String changUuid = preUuid2.substring(0,8); + String taskId = "task_"+changUuid; + String topId = "top_"+changUuid; + + StringBuilder builderModel=new StringBuilder(); + builderModel.append("model").append("/"); + builderModel.append("model").append("/"); + + + File dir = new File(filePath+builderModel.toString()); + if (!dir.exists()) { + dir.mkdirs(); + } + String sourcePath = builderModel.toString()+model+".docx"; + + StringBuilder builder=new StringBuilder(); + builder.append("model").append("/"); + builder.append(taskId).append("/"); + + File file = new File(filePath+builder.toString()); + if (!file.exists()) { + file.mkdirs(); + } + + String targetPath = builder.toString()+taskId+"_"+topId+"_node.docx"; + + File sourceFile = new File(filePath+sourcePath); + File targetFile = new File(filePath+targetPath); + FileUtils.copyFile(sourceFile, targetFile); + + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + modelHis.setTaskId(taskId); + modelHis.setPId(topId); + modelHis.setEditFilePath(targetPath); + modelHis.setCreateTime(sdf.format(new Date())); + modelHis.setUpdateTime(sdf.format(new Date())); + this.baseMapper.insert(modelHis); + }catch (Exception e){ + logger.error(e.getMessage()); + } + return modelHis; + } + + @Override + public String mergeModelFile(String pid, String taskId,String fileSuffix){ + + String fileSavePath = "bussEdit"+ getUUIDPath(pid,taskId); + + StringBuilder builder=new StringBuilder(); + builder.append(filePath); + builder.append("buss").append("/"); + builder.append(pid).append("/"); + String saveFileUrl = builder.toString(); + String modelPath = saveFileUrl+"model.docx"; + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.eq("EDIT_TYPE","node"); + List hisList = this.baseMapper.selectList(wrapper); + String newFileName = ""; + try { + if(!hisList.isEmpty()){ + newFileName = fileSavePath+taskId + "_" + pid + "_count." + fileSuffix; + String changeFile = filePath + newFileName; + for (int i = 0; i < hisList.size(); i++) { + if(i == 0){ + PoiWord.wordRedDocument(filePath+hisList.get(i).getEditFilePath(),null,changeFile,modelPath); + }else { + PoiWord.wordRedDocument(filePath+hisList.get(i).getEditFilePath(),null,changeFile,changeFile); + } + + } + + } + }catch (Exception e){ + logger.error(e.getMessage()); + } + + return newFileName; + } + + @Override + public String saveBussModelFile(String pid, String taskId){ + return saveProcessFile(filePath,pid,taskId,"docx"); + } + + @Override + public void saveBussTemplateFile(JSONObject object,String pid){ + PoiWord.writeWordModel(filePath, object, pid); + } + + /** + * 企标流程文件存储 + * @param pid + * @param taskId + * @param fileSuffix + * @param filePath 文件存储路径 + * @throws IOException + */ + public String saveProcessFile(String filePath,String pid,String taskId,String fileSuffix){ + + String fileSavePath = "bussEdit"+ getUUIDPath(pid,taskId); + String newFileName = ""; + try { + + File dir = new File(fileSavePath); + if (!dir.exists()) { + dir.mkdirs(); + } + + newFileName = fileSavePath + taskId + "_" + pid + "_node." + fileSuffix; + File saveFile = new File(filePath + newFileName); + FileUtils.write(saveFile, "","UTF-8"); + + + }catch (Exception e){ + logger.error(e.getMessage(),e); + } + return newFileName; + } + + public static String getUUIDPath(String pid,String taskId){ + StringBuilder builder=new StringBuilder(); + builder.append("/"); + builder.append(pid).append("/"); +// builder.append(taskId).append("/"); + return builder.toString(); + } + + @Override + public BusProcessModelHis modelHisOneUpdStatusById(String id){ + BusProcessModelHis modelHis = new BusProcessModelHis(); + modelHis.setId(id); + modelHis.setEditStatus("1"); + this.baseMapper.updateById(modelHis); + return modelHis; + } + + @Override + public BusProcessModelHis modelHisOneUpdStatus(String pid,String taskId){ + BusProcessModelHis modelHis = new BusProcessModelHis(); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.eq("TASK_ID",taskId); + List hisList = this.baseMapper.selectList(wrapper); + if(!hisList.isEmpty()){ + modelHis = hisList.get(0); + modelHis.setEditStatus("1"); + this.baseMapper.updateById(modelHis); + } + return modelHis; + } + + @Override + public BusProcessModelHis modelHisOneCount(String pid){ + BusProcessModelHis modelHis = new BusProcessModelHis(); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.eq("EDIT_TYPE","count"); + List hisList = this.baseMapper.selectList(wrapper); + if(!hisList.isEmpty()){ + modelHis = hisList.get(0); + StringBuffer downloadFileUrl = new StringBuffer(); + downloadFileUrl.append(downloadUrl).append(modelHis.getEditFilePath() == null ? "" : modelHis.getEditFilePath()); + modelHis.setDownLoadUrl(downloadFileUrl.toString()); + } + return modelHis; + } + + @Override + public BusProcessModelHis processEditFile(String id){ + BusProcessModelHis modelHis = this.baseMapper.selectById(id); + if(StringUtils.isNotBlank(modelHis.getId())){ + StringBuffer downloadFileUrl = new StringBuffer(); + downloadFileUrl.append(downloadUrl).append(modelHis.getEditFilePath() == null ? "" : modelHis.getEditFilePath()); + modelHis.setDownLoadUrl(downloadFileUrl.toString()); + } + return modelHis; + } + + @Override + public BusProcessModelHis modelHisOne(String pid,String taskId){ + BusProcessModelHis modelHis = new BusProcessModelHis(); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + wrapper.eq("TASK_ID",taskId); + List hisList = this.baseMapper.selectList(wrapper); + if(!hisList.isEmpty()){ + modelHis = hisList.get(0); + StringBuffer downloadFileUrl = new StringBuffer(); + downloadFileUrl.append(downloadUrl).append(modelHis.getEditFilePath() == null ? "" : modelHis.getEditFilePath()); + modelHis.setDownLoadUrl(downloadFileUrl.toString()); + } + return modelHis; + } + + @Override + public List modelHisList(String pid){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("P_ID",pid); + return this.baseMapper.selectList(wrapper); + } +} 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 6b082b8a..ec1737e9 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 @@ -1,5 +1,6 @@ package com.ydw.bat.wkflow.business_main.datas.service.impl; +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; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; @@ -28,4 +29,18 @@ public class BusProcessNameServiceImpl extends ServiceImpl todoTask(TaskCommonQuery taskCommonQuery) { + return busProcessNameMapper.todoTask(taskCommonQuery); + } + + @Override + public String delDB(List id) { + if (busProcessNameMapper.deleteBatchIds(id)>0) { + return "success"; + }else { + return "error"; + } + } + } 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 0615c20b..539cb7f2 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 @@ -68,4 +68,25 @@ public class BusProcessNewServiceImpl extends ServiceImpl findNoExecuteBusProcessNewForEnd(List taskIdList) { return baseMapper.findNoExecuteBusProcessNewForEnd(taskIdList); } + + @Override + public List findLastworkPeople(String key, String pId) { + return baseMapper.findLastworkPeople(key,pId); + } + + @Override + public List findLastworkPeople2(String key, String pId) { + return baseMapper.findLastworkPeople2(key,pId); + } + + @Override + public List everyDayTenOlock() { + return baseMapper.everyDayTenOlock(); + } + + @Override + public List everyDayTenOlockSAM() { + return baseMapper.everyDayTenOlockSAM(); + } + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/EsPrcRelationServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/EsPrcRelationServiceImpl.java new file mode 100644 index 00000000..324b95ab --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/EsPrcRelationServiceImpl.java @@ -0,0 +1,86 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.EsPrcRelation; +import com.ydw.bat.wkflow.business_main.datas.mapper.EsPrcRelationMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IEsPrcRelationService; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +@Service +public class EsPrcRelationServiceImpl extends ServiceImpl implements IEsPrcRelationService { + + @Override + public List list(String esId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(EsPrcRelation::getEsId, esId); + return this.baseMapper.selectList(queryWrapper); + } + + @Override + public Boolean listJudge(EsPrcRelation esPrcRelation) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(EsPrcRelation::getEsId, esPrcRelation.getEsId()); + queryWrapper.lambda().eq(EsPrcRelation::getOaFlag, esPrcRelation.getOaFlag()); + queryWrapper.lambda().eq(EsPrcRelation::getPrcIdGk, esPrcRelation.getPrcIdGk()); + List list = this.baseMapper.selectList(queryWrapper); + if (list != null && !list.isEmpty()) { + return true; + } else { + return false; + } + } + + @Override + public int addEsPrcRelation(String esId, String prcId, String prcIdGk) { + EsPrcRelation esPrcRelation = new EsPrcRelation(); + esPrcRelation.setEsId(esId); + esPrcRelation.setOaFlag("1"); // 待办 + Date date = new Date(); + esPrcRelation.setCreateTime(date); + esPrcRelation.setUpdateTime(date); + + if (StringUtils.isNotBlank(prcId)) { + esPrcRelation.setPrcId(prcId); + } + + if (StringUtils.isNotBlank(prcIdGk)) { + esPrcRelation.setPrcIdGk(prcIdGk); + } + return this.baseMapper.insert(esPrcRelation); + } + + @Override + public int modifyEsPrcRelation(String esId, String prcId, String oaFlag, String prcIdGk) { + EsPrcRelation esPrcRelation = new EsPrcRelation(); + esPrcRelation.setEsId(esId); + Date date = new Date(); + esPrcRelation.setUpdateTime(date); + + if (StringUtils.isNotBlank(oaFlag)) { + esPrcRelation.setOaFlag(oaFlag); + } + + if (StringUtils.isNotBlank(prcId)) { + esPrcRelation.setPrcId(prcId); + } + + if (StringUtils.isNotBlank(prcIdGk)) { + esPrcRelation.setPrcIdGk(prcIdGk); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(EsPrcRelation::getEsId, esPrcRelation.getEsId()); + return this.baseMapper.update(esPrcRelation, queryWrapper); + } + + @Override + public int delEsPrcRelation(String esId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(EsPrcRelation::getEsId, esId); + return this.baseMapper.delete(queryWrapper); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/EsTechRelationServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/EsTechRelationServiceImpl.java new file mode 100644 index 00000000..799e0405 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/EsTechRelationServiceImpl.java @@ -0,0 +1,12 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.EsTechRelation; +import com.ydw.bat.wkflow.business_main.datas.mapper.EsTechRelationMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IEsTechRelationService; +import org.springframework.stereotype.Service; + +@Service +public class EsTechRelationServiceImpl extends ServiceImpl implements IEsTechRelationService { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java new file mode 100644 index 00000000..62331c5e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java @@ -0,0 +1,156 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import org.activiti.engine.HistoryService; +import org.activiti.engine.TaskService; +import org.activiti.engine.history.HistoricTaskInstance; +import org.activiti.engine.history.HistoricTaskInstanceQuery; +import org.activiti.engine.impl.persistence.entity.TaskEntity; +import org.activiti.engine.task.Task; +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.entity.OaTaskExec; +import com.ydw.bat.wkflow.business_main.datas.mapper.OaTaskExecMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +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.util.Utils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + *

+ * OA 干活任务执行表 服务实现类 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +@Service +public class OaTaskExecServiceImpl extends ServiceImpl implements IOaTaskExecService { + + @Autowired + private IOaTaskExecService oaTaskExecService; + + @Autowired + private WebServiceOAService webServiceOAService; + + @Autowired + private CreateMQService oaService; + + @Autowired + private TaskService taskService; + + @Autowired + private HistoryService historyService; + + @Autowired + private IBusProcessNewService iBusProcessNewService; + + @Override + public String endTime(String pId){ + String endTime = ""; + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(pId).orderByTaskCreateTime().asc(); + List list = historicTaskInstanceQuery.list(); + if(!list.isEmpty()){ + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",list.get(0).getId()); + queryWrapper1.eq("P_ID",pId); + List processNews = iBusProcessNewService.list(queryWrapper1); + if(!processNews.isEmpty()){ + JSONObject object = JSONObject.parseObject(processNews.get(0).getMesg()); + endTime = object.getString("endTime"); + }else { + if(list.size() >1){ + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("TASK_ID",list.get(1).getId()); + queryWrapper2.eq("P_ID",pId); + List processNews1 = iBusProcessNewService.list(queryWrapper2); + if(!processNews1.isEmpty()){ + JSONObject object = JSONObject.parseObject(processNews1.get(0).getMesg()); + endTime = object.getString("endTime"); + } + } + } + + } + return endTime; + } + + @Override + public Map execTask(String todoId){ + Map map = new TreeMap<>(); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",todoId); + wrapper.eq("EXEC_TYPE",2); + List taskExecs = oaTaskExecService.list(wrapper); + if(!taskExecs.isEmpty()){ + OaTaskExec oaTaskExec = taskExecs.get(0); + BusProcessNew object = JSONObject.parseObject(oaTaskExec.getMesg(),BusProcessNew.class); + + int days = Utils.subDayNum(oaTaskExec.getEndTime()); + if(days > 3){ + // 3天外处理 更改执行状态 1 进入定时任务 不发送OA待办 + updateOaTaskExec(taskExecs,1,2); + + // 但发送OA已办 接受任务 置为已办 + Task task = taskService.createTaskQuery().taskId(object.getTaskId()).singleResult(); + webServiceOAService.completeOA(task); + + getSuccess(map, "0", "操作成功"); + }else { + if(days < 0){ + // 超时处理 + updateOaTaskExec(taskExecs,0,3); + Task task = taskService.createTaskQuery().taskId(object.getTaskId()).singleResult(); + webServiceOAService.completeOA(task); + + // 直接发送OA待办 重置任务状态 0 + object.setTaskStatus(0); + oaService.sendTodoMq(object); + + getSuccess(map, "0", "操作成功"); + }else { + // 3天内处理 + updateOaTaskExec(taskExecs,0,1); + + Task task = taskService.createTaskQuery().taskId(object.getTaskId()).singleResult(); + webServiceOAService.completeOA(task); + + // 直接发送OA待办 重置任务状态 0 + object.setTaskStatus(0); + oaService.sendTodoMq(object); + getSuccess(map, "0", "操作成功"); + } + } + + } + return map; + } + + private void getSuccess(Map map, String sign, String message) { + map.put("sign",sign); + map.put("message",message); + } + + private void updateOaTaskExec(List taskExecs, int execStatus, int execType){ + List updateList = new ArrayList<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + updateList.addAll(taskExecs); + updateList.forEach(taskExec -> { + // 任务修改为 启动状态 + taskExec.setExecStatus(execStatus); + taskExec.setExecType(execType); + taskExec.setUpdateTime(sdf.format(new Date())); + }); + oaTaskExecService.updateBatchById(updateList); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/SendTodoLogServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/SendTodoLogServiceImpl.java new file mode 100644 index 00000000..2e01d0ae --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/SendTodoLogServiceImpl.java @@ -0,0 +1,24 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_main.datas.service.ISendTodoLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + *

+ * OA日志表 服务实现类 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Service +public class SendTodoLogServiceImpl extends ServiceImpl implements ISendTodoLogService { + + @Autowired + private SendTodoLogMapper sendTodoLogMapper; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/TbTaskServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/TbTaskServiceImpl.java new file mode 100644 index 00000000..ecafaef1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/TbTaskServiceImpl.java @@ -0,0 +1,20 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.TbTask; +import com.ydw.bat.wkflow.business_main.datas.mapper.TbTaskMapper; +import com.ydw.bat.wkflow.business_main.datas.service.ITbTaskService; +import org.springframework.stereotype.Service; + +/** + *

+ * 动态定时任务表 服务实现类 + *

+ * + * @author super_liu + * @since 2022-05-27 + */ +@Service +public class TbTaskServiceImpl extends ServiceImpl implements ITbTaskService { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java new file mode 100644 index 00000000..b1f8ea9e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java @@ -0,0 +1,62 @@ +package com.ydw.bat.wkflow.business_mq.service; + +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; +import org.apache.commons.lang3.StringUtils; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +@Component +public class CreateMQService { + @Autowired + private AmqpTemplate rabbitTemplate; + + @Value("${oa.flag}") + private Boolean oaFlag; + + + /** + * @author: super_liu + * @date: 2021年09月17日 14:40 + **/ + public void setTodoDeleteMq(String object){ + + if(oaFlag){ + //发送消息队列 + this.rabbitTemplate.convertAndSend("sendDelete-exchange_MQ_GSAR", "sendDelete-key_MQ_GSAR", object); + + } + } + + /** + * @author: super_liu + * @date: 2021年09月17日 14:40 + **/ + public void setTodoDoneMq(NotifyTodoSendContext object){ + + if(oaFlag){ + //发送消息队列 + this.rabbitTemplate.convertAndSend("sendDone-exchange_MQ_GSAR_RELEASE", "sendDone-key_MQ_GSAR_RELEASE", object); + + } + } + + /** + * @author: super_liu + * @date: 2021年09月17日 14:40 + **/ + public void sendTodoMq(BusProcessNew object){ + + if(oaFlag) { + //发送消息队列 + this.rabbitTemplate.convertAndSend("send-exchange_MQ_GSAR_RELEASE", "send-key_MQ_GSAR_RELEASE", object); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDeleteMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDeleteMQService.java new file mode 100644 index 00000000..c44ee1d3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDeleteMQService.java @@ -0,0 +1,181 @@ +package com.ydw.bat.wkflow.business_mq.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.rabbitmq.client.Channel; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage; +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.entity.UserVO; +import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_main.datas.service.ISendTodoLogService; +import com.ydw.bat.wkflow.business_oa.utils.EmailUtils; +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.todoResult.NotifyTodoAppDeleteResult; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; +import net.sf.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.support.AmqpHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Component +public class SendDeleteMQService { + + private static final Logger logger = LoggerFactory.getLogger(SendDeleteMQService.class); + + @Autowired + private CreateMQService convertMq; + + @Autowired + private EmailUtils emailUtils; + + @Autowired + private WebServiceOAService webServiceOAService; + + @Autowired + private SendTodoLogMapper sendTodoLogMapper; + + @Autowired + private LawsUserInfoService lawsUserInfoService; + + @RabbitListener(bindings = @QueueBinding( + value = @Queue(value = "createMQDelete_SQ_GSAR", durable = "true"), + exchange = @Exchange(value = "sendDelete-exchange_MQ_GSAR", ignoreDeclarationExceptions = "true"), + key = "sendDelete-key_MQ_GSAR")) + public void createMQDone(String object, Message message, Channel channel) throws Exception{ + try{ + try{ + Thread.sleep(5000); + insertOrUpdateInfo(object); + }catch(InterruptedException e){ + logger.error(e.toString()); + Thread.currentThread().interrupt(); + } + } catch (Exception e) { + logger.error("消息队列进入添加数据方法前失败!"); + logger.error(e.getMessage(),e); + }finally { + Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); + channel.basicAck(tag,false); + logger.debug("消息确认成功!!!!!!!!!"); + } + + } + + public void insertOrUpdateInfo(String object) throws Exception { + Map objectMap = JSONObject.fromObject(object); + String todoId = objectMap.get("todoId").toString(); + try { + NotifyTodoAppDeleteResult todoAppResult = webServiceOAService.setTodoDelete(object); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + + if(todoAppResult.getSign().equals("0") || todoAppResult.getMassage().equals("操作成功")){ + logger.info("--------------------------成功删除 ESP 已办任务----------------------------"); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",todoId); + wrapper.eq("MSG_TYPE","3"); + List list = sendTodoLogMapper.selectList(wrapper); + if(!list.isEmpty()) { + SendTodoLog sendTodoLog = list.get(0); + sendTodoLog.setOperMesg(todoAppResult.getMassage()); + sendTodoLog.setMsgStatus("3"); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.updateById(sendTodoLog); + }else { + sendTodoSave(object,todoId, sdf, "2",todoAppResult.getMassage()); + } + }else { + logger.error("ESP 发送删除任务异常 :" + "SIGN: "+todoAppResult.getSign()+",MASSAGE: "+todoAppResult.getMassage()); + // 重试发送待办 + logger.info("重试发送待办"); + this.restartSendMq(object,todoId,todoAppResult.getMassage()); + } + }catch (Exception e){ + logger.error(e.getMessage(),e); + this.restartSendMq(object,todoId, e.getMessage()); + } + } + + public void restartSendMq(String object,String todoId,String operMesg) throws Exception{ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",todoId); + wrapper.eq("MSG_TYPE","3"); + List list = sendTodoLogMapper.selectList(wrapper); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + if(!list.isEmpty()){ + SendTodoLog sendTodoLog = list.get(0); + int againNumNew = Integer.valueOf(sendTodoLog.getErrNum()); + if(againNumNew >= 6){ + // 发送待办 或 发送给管理员邮箱 + logger.info("发送失败6次,发送给管理员邮箱"); + List emailList = new ArrayList<>(); + ResponseMessage byId = lawsUserInfoService.getById("WY8J26MH23"); + // 占时指定admin用户邮箱 + emailList.add(byId == null ? "" : (byId.getData().getEmail() != null ? byId.getData().getEmail() : "")); + String[] arr = emailList.toArray(new String[emailList.size()]); + String title = "OA请求发送失败6次"; + String countText = "

您好:

" + + ""+"OA请求发送失败6次,请线下协调处理"+"
"; + emailUtils.sendMsgFeign(arr,title,countText); + + }else { + restSendDoneTodo(object, sdf, sendTodoLog, againNumNew,operMesg); + } + + }else { + sendTodoSave(object,todoId, sdf, "3",operMesg); + } + } + + private void restSendDoneTodo(String object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{ + // 发送失败连续持续3次, 如果在失败等待1个小时后重试3次 + if(againNumNew < 6){ + Thread.sleep(3000); + logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!"); + + }else { + logger.info("发送失败连续持续"+againNumNew+"次!!"); + } + sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLog.setOperMesg(operMesg); + sendTodoLogMapper.updateById(sendTodoLog); + convertMq.setTodoDeleteMq(object); + logger.info("已重新加入延迟队列"); + } + + private void sendTodoSave(String object, String todoId, SimpleDateFormat sdf, String s,String operMesg) { + SendTodoLog sendTodoLog = new SendTodoLog(); + sendTodoLog.setMsgType("3"); + sendTodoLog.setTodoId(todoId); + sendTodoLog.setMesg(object); + sendTodoLog.setMsgStatus(s); + sendTodoLog.setErrNum(1); + sendTodoLog.setOperMesg(operMesg); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.insert(sendTodoLog); + if(s.equals("2")){ + logger.info("发送成功,存入OA日志"); + }else{ + convertMq.setTodoDeleteMq(object); + logger.info("已重新加入延迟队列"); + } + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java new file mode 100644 index 00000000..59cabdfc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java @@ -0,0 +1,179 @@ +package com.ydw.bat.wkflow.business_mq.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.rabbitmq.client.Channel; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage; +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.entity.UserVO; +import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_oa.utils.EmailUtils; +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.todoResult.NotifyTodoAppResult; +import net.sf.json.JSONObject; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.support.AmqpHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Component +public class SendDoneMQService { + + private static final Logger logger = LoggerFactory.getLogger(SendDoneMQService.class); + + @Autowired + private CreateMQService convertMq; + + @Autowired + private EmailUtils emailUtils; + + @Autowired + private WebServiceOAService webServiceOAService; + + @Autowired + private SendTodoLogMapper sendTodoLogMapper; + + @Autowired + private LawsUserInfoService lawsUserInfoService; + + @RabbitListener(bindings = @QueueBinding( + value = @Queue(value = "createMQDone_SQ_GSAR_RELEASE", durable = "true"), + exchange = @Exchange(value = "sendDone-exchange_MQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"), + key = "sendDone-key_MQ_GSAR_RELEASE")) + public void createMQDone(NotifyTodoSendContext object, Message message, Channel channel) throws Exception{ + try{ + try{ + Thread.sleep(5000); + insertOrUpdateInfo(object); + }catch(InterruptedException e){ + logger.error(e.toString()); + Thread.currentThread().interrupt(); + } + } catch (Exception e) { + logger.error("消息队列进入添加数据方法前失败!"); + logger.error(e.getMessage(),e); + }finally { + Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); + channel.basicAck(tag,false); + logger.debug("消息确认成功!!!!!!!!!"); + } + + } + + public void insertOrUpdateInfo(NotifyTodoSendContext object) throws Exception { + try { + NotifyTodoAppResult todoAppResult = webServiceOAService.setTodoDone(object); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + + if(todoAppResult.getSIGN().equals("0") || todoAppResult.getMASSAGE().equals("操作成功")){ + logger.info("--------------------------成功发送 ESP 已办任务----------------------------"); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",object.getModelId()); + wrapper.eq("MSG_TYPE","1"); + List list = sendTodoLogMapper.selectList(wrapper); + if(!list.isEmpty()) { + SendTodoLog sendTodoLog = list.get(0); + sendTodoLog.setOperMesg(todoAppResult.getMASSAGE()); + sendTodoLog.setMsgStatus("2"); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.updateById(sendTodoLog); + }else { + sendTodoSave(object, sdf, "2",todoAppResult.getMASSAGE()); + } + }else { + logger.error("ESP 发送待办任务异常 :" + "SIGN: "+todoAppResult.getSIGN()+",MASSAGE: "+todoAppResult.getMASSAGE()); + // 重试发送待办 + logger.info("重试发送待办"); + this.restartSendMq(object,todoAppResult.getMASSAGE()); + } + }catch (Exception e){ + logger.error(e.getMessage(),e); + this.restartSendMq(object, e.getMessage()); + } + } + + public void restartSendMq(NotifyTodoSendContext object,String operMesg) throws Exception{ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",object.getModelId()); + wrapper.eq("MSG_TYPE","1"); + List list = sendTodoLogMapper.selectList(wrapper); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + if(!list.isEmpty()){ + SendTodoLog sendTodoLog = list.get(0); + int againNumNew = Integer.valueOf(sendTodoLog.getErrNum()); + if(againNumNew >= 6){ + // 发送待办 或 发送给管理员邮箱 + logger.info("发送失败6次,发送给管理员邮箱"); + List emailList = new ArrayList<>(); + ResponseMessage byId = lawsUserInfoService.getById("WY8J26MH23"); + // 占时指定admin用户邮箱 + emailList.add(byId == null ? "" : (byId.getData().getEmail() != null ? byId.getData().getEmail() : "")); + String[] arr = emailList.toArray(new String[emailList.size()]); + String title = "OA请求发送失败6次"; + String countText = "

您好:

" + + ""+"OA请求发送失败6次,请线下协调处理"+"
"; + emailUtils.sendMsgFeign(arr,title,countText); + + }else { + restSendDoneTodo(object, sdf, sendTodoLog, againNumNew,operMesg); + } + + }else { + sendTodoSave(object, sdf, "3",operMesg); + } + } + + private void restSendDoneTodo(NotifyTodoSendContext object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{ + // 发送失败连续持续3次, 如果在失败等待1个小时后重试3次 + if(againNumNew < 6){ + Thread.sleep(3000); + logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!"); + + }else { + logger.info("发送失败连续持续"+againNumNew+"次!!"); + } + sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLog.setOperMesg(operMesg); + sendTodoLogMapper.updateById(sendTodoLog); + convertMq.setTodoDoneMq(object); + logger.info("已重新加入延迟队列"); + } + + private void sendTodoSave(NotifyTodoSendContext object, SimpleDateFormat sdf, String s,String operMesg) { + SendTodoLog sendTodoLog = new SendTodoLog(); + sendTodoLog.setMsgType("1"); + JSONObject json = JSONObject.fromObject(object); + sendTodoLog.setTodoId(object.getModelId()); + sendTodoLog.setMesg(json.toString()); + sendTodoLog.setMsgStatus(s); + sendTodoLog.setErrNum(1); + sendTodoLog.setOperMesg(operMesg); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLog.setUserId(object.getUserId()); + sendTodoLogMapper.insert(sendTodoLog); + if(s.equals("2")){ + logger.info("发送成功,存入OA日志"); + }else{ + convertMq.setTodoDoneMq(object); + logger.info("已重新加入延迟队列"); + } + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java new file mode 100644 index 00000000..f6635a85 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java @@ -0,0 +1,212 @@ +package com.ydw.bat.wkflow.business_mq.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.rabbitmq.client.Channel; +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.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import com.ydw.bat.wkflow.business_oa.utils.EmailUtils; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; +import com.ydw.bat.wkflow.util.Utils; +import net.sf.json.JSONObject; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.support.AmqpHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Component +public class SendMQService { + + private static final Logger logger = LoggerFactory.getLogger(SendMQService.class); + + @Autowired + private CreateMQService convertMq; + + @Autowired + private EmailUtils emailUtils; + + @Autowired + private WebServiceOAService webServiceOAService; + + @Autowired + private SendTodoLogMapper sendTodoLogMapper; + + @Autowired + private IOaTaskExecService oaTaskExecService; + + @Autowired + private LawsUserInfoService lawsUserInfoService; + + @RabbitListener(bindings = @QueueBinding( + value = @Queue(value = "createMQ_SQ_GSAR_RELEASE", durable = "true"), + exchange = @Exchange(value = "send-exchange_MQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"), + key = "send-key_MQ_GSAR_RELEASE")) + public void createMQ(BusProcessNew object, Message message, Channel channel) throws Exception{ + try{ + try{ + Thread.sleep(5000); + if(object.getTaskStatus() == 2 && object.getEndTime() != null && StringUtils.isNotBlank(object.getEndTime())){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + int days = Utils.subDayNum(object.getEndTime()); + // 3 天 外 + if(days > 3){ + // 执行日期 + String execTime = Utils.subDay(object.getEndTime(),3); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(object); + + // 执行任务对象 默认存储 + OaTaskExec oaTaskExec = new OaTaskExec(); + oaTaskExec.setExecType(2); + oaTaskExec.setTodoId(object.getId()); + oaTaskExec.setUserId(object.getUserId()); + oaTaskExec.setMesg(json.toString()); + oaTaskExec.setCreateTime(sdf.format(new Date())); + oaTaskExec.setUpdateTime(sdf.format(new Date())); + oaTaskExec.setExecTime(execTime); + oaTaskExec.setEndTime(object.getEndTime()); + oaTaskExec.setExecStatus(0); + oaTaskExecService.save(oaTaskExec); + object.setPrcName(object.getPrcName()); + + // 3 天 外 发送 OA 接受待办 + insertOrUpdateInfo(object); + }else { + // 3 天 内 发送 OA 待办 + insertOrUpdateInfo(object); + } + }else { + // 正常逻辑发送 OA 待办 + insertOrUpdateInfo(object); + } + }catch(InterruptedException e){ + logger.error(e.toString()); + Thread.currentThread().interrupt(); + } + } catch (Exception e) { + logger.error("消息队列进入添加数据方法前失败!"); + logger.error(e.getMessage(),e); + }finally { + Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); + channel.basicAck(tag,false); + logger.debug("消息确认成功!!!!!!!!!"); + } + + } + + public void insertOrUpdateInfo(BusProcessNew object) throws Exception { + try { + NotifyTodoAppResult todoAppResult = webServiceOAService.sendTodo(object); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + + if(todoAppResult.getSIGN().equals("0") || todoAppResult.getMASSAGE().equals("操作成功")){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",object.getId()); + wrapper.eq("MSG_TYPE","0"); + List list = sendTodoLogMapper.selectList(wrapper); + if(!list.isEmpty()) { + SendTodoLog sendTodoLog = list.get(0); + sendTodoLog.setMsgStatus("2"); + sendTodoLog.setOperMesg(todoAppResult.getMASSAGE()); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.updateById(sendTodoLog); + }else { + sendTodoSave(object, sdf, "2",todoAppResult.getMASSAGE()); + } + }else { + // 重试发送待办 + logger.info("重试发送待办"); + this.restartSendMq(object,todoAppResult.getMASSAGE()); + } + + }catch (Exception e){ + logger.error(e.getMessage(),e); + this.restartSendMq(object, e.getMessage()); + } + } + + public void restartSendMq(BusProcessNew object,String operMesg) throws Exception{ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",object.getId()); + wrapper.eq("MSG_TYPE","0"); + List list = sendTodoLogMapper.selectList(wrapper); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + if(!list.isEmpty()){ + SendTodoLog sendTodoLog = list.get(0); + int againNumNew = Integer.valueOf(sendTodoLog.getErrNum()); + if(againNumNew >= 6){ + ResponseMessage byId = lawsUserInfoService.getById("WY8J26MH23"); + // 发送待办 或 发送给管理员邮箱 + List emailList = new ArrayList<>(); + // 占时指定admin用户邮箱 + emailList.add(byId == null ? "" : (byId.getData().getEmail() == null ? "" : byId.getData().getEmail())); + String[] arr = emailList.toArray(new String[emailList.size()]); + String title = "OA请求发送失败6次"; + String countText = "

您好:

" + + ""+"OA请求发送失败6次,请线下协调处理"+"
"; + emailUtils.sendMsgFeign(arr,title,countText); + logger.info("发送失败6次,发送给管理员邮箱"); + }else { + restSendTodo(object, sdf, sendTodoLog, againNumNew,operMesg); + } + }else { + sendTodoSave(object, sdf, "3",operMesg); + } + } + + private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{ + // 失败次数小于6次,放入失败队列延迟消费 + if((againNumNew < 6)){ + Thread.sleep(3000); + logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!"); + }else { + logger.info("发送失败连续持续"+againNumNew+"次!!"); + } + sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLog.setOperMesg(operMesg); + sendTodoLogMapper.updateById(sendTodoLog); + convertMq.sendTodoMq(object); + logger.info("已重新加入延迟队列"); + } + + private void sendTodoSave(BusProcessNew object, SimpleDateFormat sdf, String s,String operMesg) { + SendTodoLog sendTodoLog = new SendTodoLog(); + sendTodoLog.setMsgType("0"); + sendTodoLog.setTodoId(object.getId()); + sendTodoLog.setUserId(object.getUserId()); + JSONObject json = JSONObject.fromObject(object); + sendTodoLog.setMesg(json.toString()); + sendTodoLog.setMsgStatus(s); + sendTodoLog.setErrNum(1); + sendTodoLog.setOperMesg(operMesg); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.insert(sendTodoLog); + if(s.equals("2")){ + logger.info("发送成功,存入OA日志"); + }else{ + convertMq.sendTodoMq(object); + logger.info("已重新加入延迟队列"); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/common/WebServiceConf.java b/src/main/java/com/ydw/bat/wkflow/business_oa/common/WebServiceConf.java new file mode 100644 index 00000000..a3f179e8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/common/WebServiceConf.java @@ -0,0 +1,66 @@ +package com.ydw.bat.wkflow.business_oa.common; + +import com.ydw.bat.wkflow.business_oa.exception.CommonException; +import org.apache.commons.lang3.StringUtils; +import org.apache.cxf.endpoint.Client; +import org.apache.cxf.frontend.ClientProxy; +import org.apache.cxf.interceptor.LoggingInInterceptor; +import org.apache.cxf.interceptor.LoggingOutInterceptor; +import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; +import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; +import org.apache.cxf.transport.http.HTTPConduit; +import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; +import org.springframework.stereotype.Service; + +import java.util.ResourceBundle; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 14:40 + */ + +@Service +public class WebServiceConf { + + /** + * 调用webservice 接口 + * + * @param method 调用方法名 + * @param params 接口传入参数 + * @return + */ + public static synchronized Object[] invoke(String wsdlUrl, String method, Object[] params) throws Exception { + Object[] objectArr = null; + //创建动态客户端 + JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory + .newInstance(); + Client client = dcf.createClient(wsdlUrl); + try { + //如果返回的address不是远程服务地址,重新制定地址 + //添加发送请求拦截器 + if (StringUtils.isEmpty(method)) { + throw new CommonException("cxf 调用webservice 执行方法名缺失:method 未传入"); + } + + + // cxf 调用webservice method paramsStr + HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); // 策略 + httpClientPolicy.setConnectionTimeout(36000); //连接超时 + httpClientPolicy.setAllowChunking(false); + httpClientPolicy.setReceiveTimeout(10000); //接收超时 + HTTPConduit http = (HTTPConduit) client.getConduit(); + http.setClient(httpClientPolicy); + + + objectArr = client.invoke(method, params); + + } catch (Exception e) { + throw new CommonException("cxf 调用webservice 执行错误:" + e.toString()); + }finally { + client.close(); + } + + return objectArr; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/config/OkHttpConfig.java b/src/main/java/com/ydw/bat/wkflow/business_oa/config/OkHttpConfig.java new file mode 100644 index 00000000..cd3db618 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/config/OkHttpConfig.java @@ -0,0 +1,69 @@ +package com.ydw.bat.wkflow.business_oa.config; + +import okhttp3.ConnectionPool; +import okhttp3.OkHttpClient; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.concurrent.TimeUnit; + +@Configuration +public class OkHttpConfig { + + @Bean + public X509TrustManager x509TrustManager() { + return new X509TrustManager() { + @Override + public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { + } + @Override + public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { + } + @Override + public X509Certificate[] getAcceptedIssuers() { + return new X509Certificate[0]; + } + }; + } + @Bean + public SSLSocketFactory sslSocketFactory() { + try { + //信任任何链接 + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(null, new TrustManager[]{x509TrustManager()}, new SecureRandom()); + return sslContext.getSocketFactory(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (KeyManagementException e) { + e.printStackTrace(); + } + return null; + } + /** + * Create a new connection pool with tuning parameters appropriate for a single-user application. + * The tuning parameters in this pool are subject to change in future OkHttp releases. Currently + */ + @Bean + public ConnectionPool pool() { + return new ConnectionPool(200, 5, TimeUnit.MINUTES); + } + @Bean + public OkHttpClient okHttpClient() { + return new OkHttpClient.Builder() + .sslSocketFactory(sslSocketFactory(), x509TrustManager()) + .retryOnConnectionFailure(false)//是否开启缓存 + .connectionPool(pool())//连接池 + .connectTimeout(10L, TimeUnit.SECONDS) + .readTimeout(10L, TimeUnit.SECONDS) + .build(); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/exception/CommonException.java b/src/main/java/com/ydw/bat/wkflow/business_oa/exception/CommonException.java new file mode 100644 index 00000000..f159a030 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/exception/CommonException.java @@ -0,0 +1,12 @@ +package com.ydw.bat.wkflow.business_oa.exception; + +/** + * 自定义简单异常 + * + */ +public class CommonException extends RuntimeException { + + public CommonException(String message) { + super(message); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/utils/EmailUtils.java b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/EmailUtils.java new file mode 100644 index 00000000..f14be1d7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/EmailUtils.java @@ -0,0 +1,342 @@ +package com.ydw.bat.wkflow.business_oa.utils; + +import org.apache.avalon.framework.service.ServiceException; +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.mail.MailException; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.mail.javamail.JavaMailSenderImpl; +import org.springframework.mail.javamail.MimeMessageHelper; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +import javax.mail.MessagingException; +import javax.mail.internet.MimeMessage; +import java.io.File; +import java.io.UnsupportedEncodingException; + +@Component +public class EmailUtils { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + /** + * The Mail sender. + */ + @Autowired + JavaMailSenderImpl mailSender; + + @Value("${mail.valid}") + private boolean mailValid; + + @Value("${spring.mail.username}") + private String userName; + + @Value("${spring.mail.password}") + private String mailPwd; + + /** + * Send simple email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param subject the subject + * @param content the content + * @throws ServiceException the service exception + */ + public void sendSimpleEmail(String deliver,String personName, String receiver, String subject, String content) throws ServiceException { + if(mailValid){ + String[] receivers = {receiver}; + sendSimpleEmail(deliver,personName, receivers, null, subject, content); + } + } + + + + /** + * Send simple email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param carbonCopy the carbon copy + * @param subject the subject + * @param content the content + * @throws ServiceException the service exception + */ + public void sendSimpleEmail(String deliver,String personName, String[] receiver, String[] carbonCopy, String subject, String content) throws ServiceException { + + long startTimestamp = System.currentTimeMillis(); + logger.info("Start send mail ... "); + + try { + SimpleMailMessage message = new SimpleMailMessage(); + personName=javax.mail.internet.MimeUtility.encodeText(personName); + message.setFrom(personName + "<"+deliver+">"); + message.setTo(receiver); + if(carbonCopy!=null && carbonCopy.length>0){ + message.setCc(carbonCopy); + } + message.setSubject(subject); + message.setText(content); + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp); + } catch (MailException e) { + logger.error("Send mail failed, error message is : {} \n", e.getMessage()); + logger.error(e.getMessage(),e); + throw new ServiceException(e.getMessage()); + } catch (UnsupportedEncodingException e) { + logger.error("Send mail failed, error message is : {} \n", e.getMessage()); + logger.error(e.getMessage(),e); + throw new ServiceException(e.getMessage()); + } + } + + + + /** + * Send html email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param subject the subject + * @param content the content + * @throws ServiceException the service exception + */ + public void sendHtmlEmail(String deliver, String receiver, String subject, String content) throws ServiceException { + String[] receivers = {receiver}; + sendHtmlEmail(deliver, receivers, null, subject, content, true); + } + + /** + * Send html email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param carbonCopy the carbon copy + * @param subject the subject + * @param content the content + * @param isHtml the is html + * @throws ServiceException the service exception + */ + public void sendHtmlEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String content, boolean isHtml) throws ServiceException { + long startTimestamp = System.currentTimeMillis(); + logger.info("Start send email ..."); + + try { + MimeMessage message = mailSender.createMimeMessage(); + MimeMessageHelper messageHelper = new MimeMessageHelper(message); + + messageHelper.setFrom(deliver); + messageHelper.setTo(receiver); + if (null != carbonCopy) { + messageHelper.setCc(carbonCopy); + } + messageHelper.setSubject(subject); + messageHelper.setText(content, isHtml); + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + logger.info("Send email success, cost {} million seconds", System.currentTimeMillis() - startTimestamp); + } catch (MessagingException e) { + logger.error("Send email failed, error message is {} \n", e.getMessage()); + logger.error(e.getMessage(),e); + throw new ServiceException(e.getMessage()); + } + } + + /** + * Send attachment file email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param subject the subject + * @param content the content + * @param fileName the file name + * @param file the file + * @throws ServiceException the service exception + */ + public void sendAttachmentFileEmail(String deliver, String receiver, String subject, String content, String fileName, File file) throws ServiceException { + String[] receivers = {receiver}; + sendAttachmentFileEmail(deliver, receivers, null, subject, content, true, fileName, file); + } + + /** + * Send attachment file mail. + * + * @param deliver the deliver + * @param receiver the receiver + * @param carbonCopy the carbon copy + * @param subject the subject + * @param content the content + * @param isHtml the is html + * @param fileName the file name + * @param file the file + * @throws ServiceException the service exception + */ + public void sendAttachmentFileEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String content, boolean isHtml, String fileName, File file) throws ServiceException { + long startTimestamp = System.currentTimeMillis(); + logger.info("Start send mail ..."); + + try { + MimeMessage message = mailSender.createMimeMessage(); + MimeMessageHelper messageHelper = new MimeMessageHelper(message, true); + + messageHelper.setFrom(deliver); + messageHelper.setTo(receiver); + messageHelper.setCc(carbonCopy); + messageHelper.setSubject(subject); + messageHelper.setText(content, isHtml); + messageHelper.addAttachment(fileName, file); + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp); + } catch (MessagingException e) { + logger.error("Send mail failed, error message is {}\n", e.getMessage()); + logger.error(e.getMessage(),e); + throw new ServiceException(e.getMessage()); + } + } + + /* *//** + * Send template email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param subject the subject + * @param template the template + * @param context the context + * @throws ServiceException the service exception + *//* + public void sendTemplateEmail(String deliver, String receiver, String subject, String template, Context context) throws ServiceException { + String[] receivers = {receiver}; + sendTemplateEmail(deliver, receivers, null, subject, template, context); + }*/ + + /* *//** + * Send template mail. + * @throws ServiceException the service exception + *//* + public void sendTemplateEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String template, Context context) throws ServiceException { + long startTimestamp = System.currentTimeMillis(); + logger.info("Start send mail ..."); + + try { + MimeMessage message = mailSender.createMimeMessage(); + MimeMessageHelper messageHelper = new MimeMessageHelper(message); + + String content = templateEngine.process(template, context); + messageHelper.setFrom(deliver); + messageHelper.setTo(receiver); + messageHelper.setCc(carbonCopy); + messageHelper.setSubject(subject); + messageHelper.setText(content, true); + + mailSender.send(message); + logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp); + } catch (MessagingException e) { + logger.error("Send mail failed, error message is {} \n", e.getMessage()); + e.printStackTrace(); + throw new ServiceException(e.getMessage()); + } + }*/ + + @Async + public void sendMsg(String[] tos,String msg){ + //创建简单邮件消息 + SimpleMailMessage message = new SimpleMailMessage(); + //谁发的 + message.setFrom(userName); + //谁要接收 + message.setTo(tos); + //邮件标题 + message.setSubject(msg); + //邮件内容 + message.setText(msg); + try { + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + } catch (MailException e) { + logger.error(e.getMessage(),e); + } + } + + @Async + public void sendMsgNew(String[] tos,String msg,String title){ + //创建简单邮件消息 + SimpleMailMessage message = new SimpleMailMessage(); + //谁发的 + message.setFrom(userName); + //谁要接收 + message.setTo(tos); + //邮件标题 + message.setSubject(title); + //邮件内容 + message.setText(msg); + try { + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + } catch (MailException e) { + logger.error(e.getMessage(),e); + } + } + + @Async + public void sendMsgFeign(String[] tos,String title, String msg){ + //创建简单邮件消息 + SimpleMailMessage message = new SimpleMailMessage(); + //谁发的 + message.setFrom(userName); + //谁要接收 + message.setTo(tos); + //邮件标题 + message.setSubject(title); + //邮件内容 + message.setText(msg); + try { + if (null != tos){ + for (String to :tos){ + sendHtmlEmail( userName, to, title, msg); + } + } + + } catch (ServiceException e) { + e.printStackTrace(); + } + } + + @Async + public void sendMsgWithCC(String[] tos,String[] cc,String msg){ + //创建简单邮件消息 + SimpleMailMessage message = new SimpleMailMessage(); + //谁发的 + message.setFrom(userName); + //谁要接收 + message.setTo(tos); + //抄送 + message.setCc(cc); + //邮件标题 + message.setSubject(msg); + //邮件内容 + message.setText(msg); + try { + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + } catch (MailException e) { + logger.error(e.getMessage(),e); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java new file mode 100644 index 00000000..3789a964 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java @@ -0,0 +1,323 @@ +package com.ydw.bat.wkflow.business_oa.utils; + +import okhttp3.*; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +@Component +public class OkHttpUtil { + private static final Logger logger = LoggerFactory.getLogger(OkHttpUtil.class); + + @Autowired + private OkHttpClient okHttpClient; + /** + * get + * + * @param url 请求的url + * @param queries 请求的参数,在浏览器?后面的数据,没有可以传null + * @return + */ + public String get(String url, Map queries, Map headerParams) { + String responseBody = ""; + StringBuffer sb = new StringBuffer(url); + if (queries != null && queries.keySet().size() > 0) { + boolean firstFlag = true; + Iterator iterator = queries.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry entry = (Map.Entry) iterator.next(); + if (firstFlag) { + sb.append("?" + entry.getKey() + "=" + entry.getValue()); + firstFlag = false; + } else { + sb.append("&" + entry.getKey() + "=" + entry.getValue()); + } + } + } + + Request.Builder requestBuilder = new Request.Builder().url(url); + + if(headerParams != null){ + for(Map.Entry entry : headerParams.entrySet()) { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + } + + + Request request = requestBuilder.url(sb.toString()) + .build(); + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + int status = response.code(); + if (status == 200) { + return response.body().string(); + } + } catch (Exception e) { + logger.error("okhttp put error >> ex = {}", ExceptionUtils.getStackTrace(e)); + } finally { + if (response != null) { + response.close(); + } + } + return responseBody; + } + /** + * post + * + * @param url 请求的url + * @param params post form 提交的参数 + * @return + */ + public String post(String url, Map params, Map headerParams) { + String responseBody = ""; + FormBody.Builder builder = new FormBody.Builder(); + //添加参数 + if (params != null && params.keySet().size() > 0) { + for (String key : params.keySet()) { + builder.add(key, params.get(key)); + } + } + + Request.Builder requestBuilder = new Request.Builder().url(url); + + for(Map.Entry entry : headerParams.entrySet()) { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + + Request request = requestBuilder.post(builder.build()).build(); + Response response = null; + try { + 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)); + } finally { + if (response != null) { + response.close(); + } + } + return responseBody; + } + + /** + 47 + * 同步GET请求 带Authorization认证 + 48 + */ + + public String getAuthorization(String get_url, String json, String[] auth_base){ + + + final String credential = Credentials.basic(auth_base[0], auth_base[1]); + String result = ""; + String data_url = get_url + "?" + json; + Request request = new Request.Builder() + .url(data_url) + .header("Authorization", credential) + .get() + .build(); + Response response = null; + try { + 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)); + } finally { + if (response != null) { + response.close(); + } + } + return result; + + } + + /** + * Post请求 带Authorization认证 + * */ + public String postAuthorization(String get_url, HashMap getData, String[] authBase){ + + String result = ""; + + final String credential = Credentials.basic(authBase[0], authBase[1]); + + RequestBody fromBody = generateParametersForPost(getData).build(); + + Request request = new Request.Builder() + .url(get_url) + .header("Authorization", credential) + .post(fromBody) + .build(); + + Response response = null; + try { + 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)); + } finally { + if (response != null) { + response.close(); + } + } + return result; + + } + + //拼接参数 + private static String generateParameters(HashMap parameters) { + + String urlAttachment = ""; + + if(parameters.size()>0){ + + urlAttachment = "?"; + + Object[] keys = parameters.keySet().toArray(); + + for(Object key : keys) + + urlAttachment += key.toString() + "=" + parameters.get(key).toString() + "&"; + + urlAttachment = urlAttachment.substring(0,urlAttachment.length()-1); + } + + return urlAttachment; + } + + //拼接参数用于POST请求 + + private static FormBody.Builder generateParametersForPost(HashMap parameters) { + + FormBody.Builder builder = new FormBody.Builder(); + + if(parameters.size()>0){ + Object[] keys = parameters.keySet().toArray(); + + for(Object key : keys){ + Object ff = parameters.get(key); + String aa = parameters.get(key).toString(); + + builder.add(key.toString(),parameters.get(key).toString()); + } + } + + return builder; + } + + /** + * 发送私密API请求 + * + * @paramget_url请求地址 + * @paramget_data 请求参数列表 + * @return 返回JSON数据 + */ + private String auth_get(){ + String result = ""; + String api_key = "apikey"; + String api_secret = "apisecret"; + //认证信息 + String[] baseAuth = {api_key,api_secret}; + //请求的URL的参数 + HashMap get_data = new HashMap<>(); + get_data.put("page","1"); //page参数 + get_data.put("name","test"); //name参数 +// result = getAuthorization("http://www.superl.org/page-about.html", get_data, baseAuth); + return result; + } + + /** + * post + * + * @param url 请求的url + * @param headerParams post form 提交的参数 + * @return + */ + public String postForJson(String url, String json, Map headerParams){ + RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), json); + String responseBody = ""; + Request.Builder requestBuilder = new Request.Builder().url(url); + for(Map.Entry entry : headerParams.entrySet()) { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + Request request = requestBuilder.post(requestBody).build(); + Response response = null; + try { + 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 responseBody; + } + + /** + * post 上传文件 + * + * @param url + * @param params + * @param fileType + * @return + */ + public String postFile(String url, Map params, String fileType, Map headerParams) { + String responseBody = ""; + MultipartBody.Builder builder = new MultipartBody.Builder(); + //添加参数 + if (params != null && params.keySet().size() > 0) { + for (String key : params.keySet()) { + if (params.get(key) instanceof File) { + File file = (File) params.get(key); + builder.addFormDataPart(key, file.getName(), RequestBody.create(MediaType.parse(fileType), file)); + continue; + } + builder.addFormDataPart(key, params.get(key).toString()); + } + } + + Request.Builder requestBuilder = new Request.Builder(); + for(Map.Entry entry : headerParams.entrySet()) { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + + Request request = requestBuilder.url(url).post(builder.build()).build(); + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + int status = response.code(); + if (status == 200) { + return response.body().string(); + } + } catch (Exception e) { + logger.error("okhttp postFile error >> ex = {}", ExceptionUtils.getStackTrace(e)); + } finally { + if (response != null) { + response.close(); + } + } + return responseBody; + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java new file mode 100644 index 00000000..d138b8c0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java @@ -0,0 +1,76 @@ +package com.ydw.bat.wkflow.business_oa.webService.controller; + +import java.text.SimpleDateFormat; +import java.util.*; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.tmsps.fk.common.util.JsonUtil; +import com.ydw.bat.wkflow.business_activiti.dto.*; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.alibaba.fastjson.JSONArray; +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_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; +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; +import org.activiti.engine.*; +import org.activiti.engine.history.*; +import org.activiti.engine.repository.ProcessDefinition; +import org.activiti.engine.runtime.ProcessInstance; +import org.activiti.engine.runtime.ProcessInstanceQuery; +import org.activiti.engine.task.NativeTaskQuery; +import org.activiti.engine.task.Task; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import com.tmsps.fk.common.base.action.BaseAction; +import com.tmsps.fk.common.util.ChkUtil; +import com.tmsps.fk.common.wrapper.WrapMapper; +import com.tmsps.fk.common.wrapper.Wrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +import com.ydw.bat.wkflow.util.activiti.ActivitiTools; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; + +@Api(description = "WebService管理") +@RestController +public class WebServiceOAController extends BaseAction { + + @Autowired + private WebServiceOAService webServiceOAService; + + @ApiOperation(value = "强制删除OA待办", notes = "强制删除OA待办") + @GetMapping("/deleteOAByMandatory") + public void deleteOAByMandatory(String todoId,String assignee) { + webServiceOAService.deleteOAByMandatory(todoId,assignee); + } + + @ApiOperation(value = "发送待办接口(") + @PostMapping("/sendTodo") + public NotifyTodoAppResult sendTodo() throws Exception{ + return webServiceOAService.sendTodo(new BusProcessNew()); + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java new file mode 100644 index 00000000..97c4410b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java @@ -0,0 +1,27 @@ +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.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); + + void deleteOAByMandatory(String todoId,String assignee); + + void deleteOAByTaskIdResetTodo(BusProcessNew busProcessNew,String assignee); + + void completeOA(Task task); + + NotifyTodoAppResult sendTodo(BusProcessNew busProcessNew) throws Exception; + + NotifyTodoAppResult setTodoDone(NotifyTodoSendContext notifyTodoSendContext) throws Exception; + + NotifyTodoAppDeleteResult setTodoDelete(String object) throws Exception; + +} 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 new file mode 100644 index 00000000..b4b40e6c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -0,0 +1,403 @@ +package com.ydw.bat.wkflow.business_oa.webService.service.impl; + +import com.alibaba.fastjson.JSON; +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.*; +import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +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_mq.service.CreateMQService; +import com.ydw.bat.wkflow.business_oa.common.WebServiceConf; +import com.ydw.bat.wkflow.business_oa.utils.OkHttpUtil; +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.todoResult.NotifyTodoAppDeleteResult; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import net.sf.json.JSONArray; +import okhttp3.Credentials; +import org.activiti.engine.task.Task; +import org.apache.commons.lang.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.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 15:02 + */ +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class WebServiceOAServiceImpl implements WebServiceOAService { + private static final Logger log = LoggerFactory.getLogger(WebServiceOAServiceImpl.class); + + private String sonar = "sonar"; + private String info = "info:{},{}"; + private String errMes = "异常信息:"; + + private String api_key = "OA"; + private String api_secret = "oa201611241710"; + + @Value("${webUrl}") + private String webUrl; + //认证信息 + private String[] baseAuth = {api_key,api_secret}; + private String credentials = ""; + + @Autowired + private OkHttpUtil okHttpUtil; + + @Autowired + private SendTodoLogMapper sendTodoLogMapper; + + @Autowired + private LawsUserInfoService lawsUserInfoService; + + @Autowired + private IBusProcessNewService iBusProcessNewService; + + @Autowired + private IBusProcessNameService iBusProcessNameService; + + public WebServiceOAServiceImpl(){ + credentials = Credentials.basic(api_key,api_secret); + } + + /** + * 单个删除OA待办 业务处理 + */ + @Override + @Async + public void deleteOAByMandatory(String todoId,String assignee){ + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + log.info("--------------------------ESP 发送单个删除OA待办----------------------------"); + + if(StringUtils.isNotBlank(todoId) && StringUtils.isNotBlank(assignee)){ + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",todoId); + wrapper.eq("MSG_TYPE","0"); + List list = sendTodoLogMapper.selectList(wrapper); + if(!list.isEmpty()){ + net.sf.json.JSONObject fromObject = net.sf.json.JSONObject.fromObject(list.get(0).getMesg()); + net.sf.json.JSONObject jsonObjectFilter = net.sf.json.JSONObject.fromObject(list.get(0).getMesg()); + jsonObjectFilter = jsonObjectFilter.discard("PId"); + jsonObjectFilter.remove("createTime"); + jsonObjectFilter.remove("updateTime"); + jsonObjectFilter.put("pid",fromObject.getString("PId")); + BusProcessNew object = JSON.parseObject(jsonObjectFilter.toString(),BusProcessNew.class); + + List notifyTodoSendContexts = new ArrayList<>(); + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + notifyTodoSendContext.setAppName("SRMS"); + notifyTodoSendContext.setModelId(todoId); + notifyTodoSendContext.setModelName(object.getTaskInfo()); + notifyTodoSendContext.setType("1"); + notifyTodoSendContext.setOptType("2"); + Map map = new HashMap<>(); + ResponseMessage byId = lawsUserInfoService.getById(assignee); + map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); + JSONObject jsonLoginName = new JSONObject(map); + notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); + notifyTodoSendContext.setUserId(assignee); + notifyTodoSendContexts.add(notifyTodoSendContext); + Map objectMap = new TreeMap<>(); + objectMap.put("todoId",todoId); + objectMap.put("list",notifyTodoSendContexts); + net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(objectMap); + log.info("=================发送单个删除OA待办:"+jsonObject.toString()); + oaService.setTodoDeleteMq(jsonObject.toString()); + } + } + } + + /** + * 单个删除OA待办 及 重发待办 + */ + @Override + @Async + public void deleteOAByTaskIdResetTodo(BusProcessNew busProcessNew,String assignee){ + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + log.info("--------------------------ESP 发送删除待办任务 及 再次发送待办----------------------------"); + + if(busProcessNew != null && StringUtils.isNotBlank(busProcessNew.getId())){ + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",busProcessNew.getId()); + wrapper.eq("MSG_TYPE","0"); + List list = sendTodoLogMapper.selectList(wrapper); + if(!list.isEmpty()){ + net.sf.json.JSONObject fromObject = net.sf.json.JSONObject.fromObject(list.get(0).getMesg()); + net.sf.json.JSONObject jsonObjectFilter = net.sf.json.JSONObject.fromObject(list.get(0).getMesg()); + jsonObjectFilter = jsonObjectFilter.discard("PId"); + jsonObjectFilter.remove("createTime"); + jsonObjectFilter.remove("updateTime"); + jsonObjectFilter.put("pid",fromObject.getString("PId")); + BusProcessNew object = JSON.parseObject(jsonObjectFilter.toString(),BusProcessNew.class); + + List notifyTodoSendContexts = new ArrayList<>(); + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + notifyTodoSendContext.setAppName("SRMS"); + notifyTodoSendContext.setModelId(busProcessNew.getId()); + notifyTodoSendContext.setModelName(object.getTaskInfo()); + notifyTodoSendContext.setType("1"); + notifyTodoSendContext.setOptType("2"); + Map map = new HashMap<>(); + ResponseMessage byId = lawsUserInfoService.getById(busProcessNew.getUserId()); + map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); + JSONObject jsonLoginName = new JSONObject(map); + notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); + notifyTodoSendContext.setUserId(busProcessNew.getUserId()); + notifyTodoSendContexts.add(notifyTodoSendContext); + Map objectMap = new TreeMap<>(); + objectMap.put("todoId",busProcessNew.getId()); + objectMap.put("list",notifyTodoSendContexts); + net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(objectMap); + oaService.setTodoDeleteMq(jsonObject.toString()); + log.info("=================ESP 发送删除待办任务 及 再次发送待办:"+jsonObject.toString()); + + // 重新发送OA待办 + object.setUserId(assignee); + oaService.sendTodoMq(object); + } + } + } + + /** + * 批量删除OA待办 + * @param pId + */ + @Override + @Async + public void deleteOAByPid(String pId){ + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + log.info("--------------------------ESP 批量发送删除待办任务----------------------------"); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",pId); + List list = iBusProcessNewService.list(queryWrapper1); + if(!list.isEmpty()){ + List notifyTodoSendContexts = new ArrayList<>(); + list.forEach(busProcessNew -> { + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + notifyTodoSendContext.setAppName("SRMS"); + notifyTodoSendContext.setModelId(busProcessNew.getId()); + notifyTodoSendContext.setModelName(busProcessNew.getTaskInfo()); + notifyTodoSendContext.setType("1"); + notifyTodoSendContext.setOptType("2"); + Map map = new HashMap<>(); + ResponseMessage byId = lawsUserInfoService.getById(busProcessNew.getUserId()); + map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); + JSONObject jsonLoginName = new JSONObject(map); + notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); + notifyTodoSendContext.setUserId(busProcessNew.getUserId()); + notifyTodoSendContexts.add(notifyTodoSendContext); + }); + Map map = new TreeMap<>(); + map.put("todoId",pId); + map.put("list",notifyTodoSendContexts); + net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(map); + oaService.setTodoDeleteMq(jsonObject.toString()); + } + } + + @Override + @Async + public NotifyTodoAppDeleteResult setTodoDelete(String object) throws Exception{ + Map objectMap = net.sf.json.JSONObject.fromObject(object); + List notifyTodoSendContexts = JSONObject.parseArray(objectMap.get("list").toString(), NotifyTodoSendContext.class); + NotifyTodoAppDeleteResult notifyTodoAppResult = new NotifyTodoAppDeleteResult(); + String result = ""; + SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + + JsonSend jsonSend = new JsonSend(); + HEAD head = new HEAD(); + head.setACCOUNT("OA"); + head.setBIZTRANSACTIONID("SYC_161320210206133219"); + head.setCONSUMER("SRMS"); + head.setCOUNT("1"); + head.setPASSWORD("TEST_oa201611241710"); + head.setSRVLEVEL("1"); + List list = new ArrayList<>(); + list.addAll(notifyTodoSendContexts); + jsonSend.setHEAD(head); + jsonSend.setLIST(list); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); + Map mapCtr = new TreeMap<>(); + mapCtr.put("Authorization",credentials); + log.info("处理完文件数据,开始请求发送删除接口数据:【"+sdf.format(new Date())+"】"); + result = okHttpUtil.postForJson("https://fesbnew.foton.com.cn/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1020_SendRemoveTodo_PS",json.toString(),mapCtr); + log.info("请求发送删除接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); +// JSONObject jsonObject = JSONObject.parseObject(result); + if(!result.contains("操作成功")){ + log.error("请求发送删除接口出现异常:"+result); + notifyTodoAppResult.setSign("1"); + notifyTodoAppResult.setMassage(result); + }else { + log.info("--------------------------成功发送 ESP 删除待办 "+object+"----------------------------"); + log.info("okHttp请求发送删除接口成功结果:"+result); + notifyTodoAppResult = (NotifyTodoAppDeleteResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppDeleteResult.class); + } +// try { +// +// } catch (Exception e) { +// log.error(errMes, e.getMessage()); +// } + + return notifyTodoAppResult; + } + + + @Override + @Async + public void completeOA(Task task){ + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + log.info("--------------------------ESP 发送已办任务----------------------------"); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + notifyTodoSendContext.setAppName("SRMS"); + notifyTodoSendContext.setCreateTime(sdf.format(new Date())); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",task.getProcessInstanceId()); + queryWrapper1.eq("TASK_ID",task.getId()); + List list = iBusProcessNewService.list(queryWrapper1); + if(!list.isEmpty()){ + notifyTodoSendContext.setModelId(list.get(0).getId()); + notifyTodoSendContext.setModelName(task.getName()); + notifyTodoSendContext.setOptType("1"); + Map map = new HashMap<>(); + ResponseMessage byId = lawsUserInfoService.getById(task.getAssignee()); + map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); + JSONObject jsonLoginName = new JSONObject(map); + notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); + notifyTodoSendContext.setUserId(task.getAssignee()); + oaService.setTodoDoneMq(notifyTodoSendContext); + } + } + + @Override + @Async + public NotifyTodoAppResult setTodoDone(NotifyTodoSendContext notifyTodoSendContext) throws Exception{ + NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult(); + String result = ""; + SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + + JsonSend jsonSend = new JsonSend(); + HEAD head = new HEAD(); + head.setACCOUNT("OA"); + head.setBIZTRANSACTIONID("SYC_161320210206133219"); + head.setCONSUMER("SRMS"); + head.setCOUNT("1"); + head.setPASSWORD("oa201611241710"); + head.setSRVLEVEL("1"); + List list = new ArrayList<>(); + list.add(notifyTodoSendContext); + jsonSend.setHEAD(head); + jsonSend.setLIST(list); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); + Map mapCtr = new TreeMap<>(); + mapCtr.put("Authorization",credentials); + log.info("处理完文件数据,开始请求发送已办接口数据:【"+sdf.format(new Date())+"】"); + result = okHttpUtil.postForJson("https://fesbnew.foton.com.cn/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1021_SendNotifyTodo_PS",json.toString(),mapCtr); + log.info("请求发送已办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); +// JSONObject jsonObject = JSONObject.parseObject(result); + if(!result.contains("操作成功")){ + log.error("请求发送已办接口出现异常:"+result); + notifyTodoAppResult.setSIGN("1"); + notifyTodoAppResult.setMASSAGE(result); + }else { + log.info("--------------------------成功发送 ESP 已办 模块ID"+notifyTodoSendContext.getModelId()+"----------------------------"); + log.info("okHttp请求发送已办接口成功结果:"+result); + notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); + } +// try { +// +// } catch (Exception e) { +// log.error(errMes, e.getMessage()); +// } + + return notifyTodoAppResult; + } + + @Override + @Async + public NotifyTodoAppResult sendTodo(BusProcessNew busProcessNew) throws Exception{ + NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult(); + String result = ""; + SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + JsonSend jsonSend = new JsonSend(); + HEAD head = new HEAD(); + head.setACCOUNT("OA"); + head.setBIZTRANSACTIONID("SYC_161320210206133219"); + head.setCONSUMER("SRMS"); + head.setCOUNT("1"); + head.setPASSWORD("oa201611241710"); + head.setSRVLEVEL("1"); + List list = new ArrayList<>(); + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + // 待办来源的系统 + notifyTodoSendContext.setAppName("SRMS"); + //创建时间 + notifyTodoSendContext.setCreateTime(sdf.format(new Date())); + // 待办在原系统唯一标识 + notifyTodoSendContext.setModelId(busProcessNew.getId()); + //模块名称 + notifyTodoSendContext.setModelName(busProcessNew.getTaskInfo()); + //标题 + notifyTodoSendContext.setSubject(busProcessNew.getPrcName()); + //地址 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("PRC_ID", busProcessNew.getPId()); + BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper); + String linkParam = "&taskIds="+busProcessNew.getTaskId()+"&prcId="+busProcessNew.getPId()+"&prcNum="+busProcessName.getPrcNum()+"&prcName="+busProcessNew.getPrcName(); + notifyTodoSendContext.setLink(webUrl+busProcessNew.getLink()+linkParam); + //待办类型 + notifyTodoSendContext.setType("1"); + + Map map = new HashMap<>(); + ResponseMessage byId = lawsUserInfoService.getById(busProcessNew.getUserId()); + map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); + JSONObject jsonLoginName = new JSONObject(map); + notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); + list.add(notifyTodoSendContext); + jsonSend.setHEAD(head); + jsonSend.setLIST(list); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); + Map mapCtr = new TreeMap<>(); + mapCtr.put("Authorization",credentials); + log.info("处理完文件数据,开始请求发送待办接口数据:【"+sdf.format(new Date())+"】"); + result = okHttpUtil.postForJson("https://fesbnew.foton.com.cn/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1019_SendTodo_PS",json.toString(),mapCtr); + log.info("请求发送待办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); +// JSONObject jsonObject = JSONObject.parseObject(result); + if(!result.contains("操作成功")){ + log.error("请求发送待办接口出现异常:"+result); + notifyTodoAppResult.setSIGN("1"); + notifyTodoAppResult.setMASSAGE(result); + }else { + log.info("okHttp请求发送待办接口成功结果:"+result); + notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); + } +// try { +// +// +// } catch (Exception e) { +// log.error(errMes, e.getMessage()); +// } + + return notifyTodoAppResult; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/HEAD.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/HEAD.java new file mode 100644 index 00000000..6ca06af6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/HEAD.java @@ -0,0 +1,19 @@ +package com.ydw.bat.wkflow.business_oa.webService.todoContent; + +import lombok.Data; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 17:12 + */ +@Data +public class HEAD { + + private String ACCOUNT; + private String BIZTRANSACTIONID; + private String CONSUMER; + private String COUNT; + private String PASSWORD; + private String SRVLEVEL; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/JsonSend.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/JsonSend.java new file mode 100644 index 00000000..cf83450c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/JsonSend.java @@ -0,0 +1,19 @@ +package com.ydw.bat.wkflow.business_oa.webService.todoContent; + +import lombok.Data; + +import java.util.List; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 17:11 + */ +@Data +public class JsonSend { + + private HEAD HEAD; + + private List LIST; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java new file mode 100644 index 00000000..ac0b8be0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java @@ -0,0 +1,77 @@ +package com.ydw.bat.wkflow.business_oa.webService.todoContent; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 15:05 + */ +@Data +public class NotifyTodoSendContext implements Serializable { + + @ApiModelProperty(value = "标识待办来源的系统") + private String appName; + + @ApiModelProperty(value = "标识待办来源的模块") + private String modelName; + + @ApiModelProperty(value = "标识待办在原系统唯一标识") + private String modelId; + + @ApiModelProperty(value = "待办标题") + private String subject; + + @ApiModelProperty(value = "对应待办的链接地址(全路径)") + private String link; + + @ApiModelProperty(value = "1:表示审批类待办 2:表示为通知类待办") + private String type; + + //用于区分同一文档下不同类型待办, 如:会议文档的抄送待办和与会人参加待办属于同一文档的不同类型的待办 + @ApiModelProperty(value = "待办关键字") + private String key; + + //待办附加标识 功能同"关键字",辅助区分不同类型的待办 + @ApiModelProperty(value = "参数1") + private String param1; + + //待办附加标识功能同"关键字",辅助区分不同类型的待办 + @ApiModelProperty(value = "参数2") + private String param2; + + //数据格式为JSON,格式描述请查看组织架构 + @ApiModelProperty(value = "待办对应接收人") + private String targets; + + @ApiModelProperty(value = "创建时间") + private String createTime; + + //数据格式为JSON,格式描述请查看组织架构 + @ApiModelProperty(value = "待办的创建者") + private String docCreator; + + @ApiModelProperty(value = "待办优先级。如:按紧急(1)、急(2)、一般(3)") + private String level; + + //数据格式为JSON,格式描述请查看组织架构 + @ApiModelProperty(value = "消息内容扩展") + private String extendContent; + + //备用参数,方便以后参数的扩展。数据格式为JSON,格式如:{ke + //y1:value1,key2:value2}。 + @ApiModelProperty(value = "扩展参数") + private String others; + + // 1:表示设待办为已办操作 + //2:表示设置目标待办所属人为已办操作 + @ApiModelProperty(value = "操作类型") + private String optType; + + @ApiModelProperty(value = "用户ID") + private String userId; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppDeleteResult.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppDeleteResult.java new file mode 100644 index 00000000..1a0c7989 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppDeleteResult.java @@ -0,0 +1,26 @@ +package com.ydw.bat.wkflow.business_oa.webService.todoResult; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 15:23 + */ +@Data +public class NotifyTodoAppDeleteResult { + +// @ApiModelProperty(value = "返回状态 0:表示未操作 1:表示操作失败 2:表示操作成功") + @ApiModelProperty(value = "返回状态 0:表示操作成功 1:表示操作失败") + private String sign; + +// @ApiModelProperty(value = "返回信息 " + +// "返回状态值为0时,该值返回空 " + +// "返回状态值为1时,该值错误信息 " + +// "返回状态值为2时,该值返回空") + @ApiModelProperty(value = "返回信息 " + + "返回状态值为0时,表示操作成功 " + + "返回状态值为1时,该值错误信息 ") + private String massage; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java new file mode 100644 index 00000000..d1f46618 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java @@ -0,0 +1,26 @@ +package com.ydw.bat.wkflow.business_oa.webService.todoResult; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 15:23 + */ +@Data +public class NotifyTodoAppResult { + +// @ApiModelProperty(value = "返回状态 0:表示未操作 1:表示操作失败 2:表示操作成功") + @ApiModelProperty(value = "返回状态 0:表示操作成功 1:表示操作失败") + private String SIGN; + +// @ApiModelProperty(value = "返回信息 " + +// "返回状态值为0时,该值返回空 " + +// "返回状态值为1时,该值错误信息 " + +// "返回状态值为2时,该值返回空") + @ApiModelProperty(value = "返回信息 " + + "返回状态值为0时,表示操作成功 " + + "返回状态值为1时,该值错误信息 ") + private String MASSAGE; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SapMeeting.java b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SapMeeting.java new file mode 100644 index 00000000..641f47df --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SapMeeting.java @@ -0,0 +1,49 @@ +package com.ydw.bat.wkflow.business_slrs.dao; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.ToString; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + *

+ * 流程通过的 标准化活动会议信息表 +standard_activity_pass + + *

+ * + * @author super_liu + * @since 2021-11-09 + */ +@Data +@Accessors(chain = true) +@ToString +@ApiModel(value="SapMeeting对象", description="流程通过的 标准化活动会议信息表 standard_activity_pass") +public class SapMeeting { + + private static final long serialVersionUID = 1L; + + private String id;//主键-会议id + + private String title;//会议标题 + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date date;//会议开始时间 + + private String content;//会议内容大纲 + + private int type;//标志位--1标准化活动会议,0政策组会议 + + private String attend;//参与人 {id,name} json + + private String files;//附件 json + + private String place; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarFileSplitInfoEO.java b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarFileSplitInfoEO.java new file mode 100644 index 00000000..b9c9b121 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarFileSplitInfoEO.java @@ -0,0 +1,333 @@ +package com.ydw.bat.wkflow.business_slrs.dao; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Date; + +/** + * 功能:SAR_FILE_SPLIT_INFO SarFileSplitInfoEOEntity
+ * 作者:code generator
+ * 日期: 2020-01-03
+ * 版权所有:版权归北京卡达克数据技术中心所有。
+ */ +public class SarFileSplitInfoEO { + + + private String standType; + private String sarType; + private String fileName; + private String id; + private String standId; + private String fileType; + private String fileTypeShow; + private String attId; + private Integer validFlag; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + private String creationUser; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + private String modifyUser; + private String standName; + private String standNumSplit; + private String standNameSplit; + private String[] idList; + private int startNumber; + private int stopNumber; + private String result; + private String splitStatus; + private String collectId; + //用于拆分结果导入 by zj + private String menuId; + private String infoId; + + /** + * java字段名转换为原始数据库列名。如果不存在则返回null
+ *

字段列表:

+ *
  • sarType -> sar_type
  • + *
  • fileName -> file_name
  • + *
  • id -> id
  • + *
  • standId -> stand_id
  • + *
  • fileType -> file_type
  • + *
  • attId -> att_id
  • + *
  • validFlag -> valid_flag
  • + *
  • creationTime -> creation_time
  • + *
  • creationUser -> creation_user
  • + *
  • modifyTime -> modify_time
  • + *
  • modifyUser -> modify_user
  • + */ + public static String fieldToColumn(String fieldName) { + if (fieldName == null) return null; + switch (fieldName) { + case "sarType": return "sar_type"; + case "fileName": return "file_name"; + case "id": return "id"; + case "standId": return "stand_id"; + case "fileType": return "file_type"; + case "attId": return "att_id"; + case "validFlag": return "valid_flag"; + case "creationTime": return "creation_time"; + case "creationUser": return "creation_user"; + case "modifyTime": return "modify_time"; + case "modifyUser": return "modify_user"; + default: return null; + } + } + + /** + * 原始数据库列名转换为java字段名。如果不存在则返回null
    + *

    字段列表:

    + *
  • sar_type -> sarType
  • + *
  • file_name -> fileName
  • + *
  • id -> id
  • + *
  • stand_id -> standId
  • + *
  • file_type -> fileType
  • + *
  • att_id -> attId
  • + *
  • valid_flag -> validFlag
  • + *
  • creation_time -> creationTime
  • + *
  • creation_user -> creationUser
  • + *
  • modify_time -> modifyTime
  • + *
  • modify_user -> modifyUser
  • + */ + public static String columnToField(String columnName) { + if (columnName == null) return null; + switch (columnName) { + case "sar_type": return "sarType"; + case "file_name": return "fileName"; + case "id": return "id"; + case "stand_id": return "standId"; + case "file_type": return "fileType"; + case "att_id": return "attId"; + case "valid_flag": return "validFlag"; + case "creation_time": return "creationTime"; + case "creation_user": return "creationUser"; + case "modify_time": return "modifyTime"; + case "modify_user": return "modifyUser"; + default: return null; + } + } + + /** **/ + public String getSarType() { + return this.sarType; + } + + /** **/ + public void setSarType(String sarType) { + this.sarType = sarType; + } + + /** **/ + public String getFileName() { + return this.fileName; + } + + /** **/ + public void setFileName(String fileName) { + this.fileName = fileName; + } + + /** **/ + public String getId() { + return this.id; + } + + /** **/ + public void setId(String id) { + this.id = id; + } + + /** **/ + public String getStandId() { + return this.standId; + } + + /** **/ + public void setStandId(String standId) { + this.standId = standId; + } + + /** **/ + public String getFileType() { + return this.fileType; + } + + /** **/ + public void setFileType(String fileType) { + this.fileType = fileType; + } + + /** **/ + public String getAttId() { + return this.attId; + } + + /** **/ + public void setAttId(String attId) { + this.attId = attId; + } + + /** **/ + public Integer getValidFlag() { + return this.validFlag; + } + + /** **/ + public void setValidFlag(Integer validFlag) { + this.validFlag = validFlag; + } + + /** **/ + public Date getCreationTime() { + return this.creationTime; + } + + /** **/ + public void setCreationTime(Date creationTime) { + this.creationTime = creationTime; + } + + /** **/ + public String getCreationUser() { + return this.creationUser; + } + + /** **/ + public void setCreationUser(String creationUser) { + this.creationUser = creationUser; + } + + /** **/ + public Date getModifyTime() { + return this.modifyTime; + } + + /** **/ + public void setModifyTime(Date modifyTime) { + this.modifyTime = modifyTime; + } + + /** **/ + public String getModifyUser() { + return this.modifyUser; + } + + /** **/ + public void setModifyUser(String modifyUser) { + this.modifyUser = modifyUser; + } + + private String showNumber; + + public String getShowNumber() { + return showNumber; + } + + public void setShowNumber(String showNumber) { + this.showNumber = showNumber; + } + + public String getStandName() { + return standName; + } + + public void setStandName(String standName) { + this.standName = standName; + } + + public String[] getIdList() { + return idList; + } + + public void setIdList(String[] idList) { + this.idList = idList; + } + + public String getStandNumSplit() { + return standNumSplit; + } + + public void setStandNumSplit(String standNumSplit) { + this.standNumSplit = standNumSplit; + } + + public String getStandNameSplit() { + return standNameSplit; + } + + public void setStandNameSplit(String standNameSplit) { + this.standNameSplit = standNameSplit; + } + + public int getStartNumber() { + return startNumber; + } + + public void setStartNumber(int startNumber) { + this.startNumber = startNumber; + } + + public int getStopNumber() { + return stopNumber; + } + + public void setStopNumber(int stopNumber) { + this.stopNumber = stopNumber; + } + + public String getFileTypeShow() { + return fileTypeShow; + } + + public void setFileTypeShow(String fileTypeShow) { + this.fileTypeShow = fileTypeShow; + } + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public String getSplitStatus() { + return splitStatus; + } + + public void setSplitStatus(String splitStatus) { + this.splitStatus = splitStatus; + } + + public String getCollectId() { + return collectId; + } + + public void setCollectId(String collectId) { + this.collectId = collectId; + } + + public String getMenuId() { + return menuId; + } + + public void setMenuId(String menuId) { + this.menuId = menuId; + } + + public String getInfoId() { + return infoId; + } + + public void setInfoId(String infoId) { + this.infoId = infoId; + } + + public String getStandType() { + return standType; + } + + public void setStandType(String standType) { + this.standType = standType; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarInterpretationNationalStandard.java b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarInterpretationNationalStandard.java new file mode 100644 index 00000000..ed9c5c7a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarInterpretationNationalStandard.java @@ -0,0 +1,96 @@ +package com.ydw.bat.wkflow.business_slrs.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + *

    + * + *

    + * + * @author zyl + * @since 2021-06-18 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="SarInterpretationNationalStandard对象", description="") +public class SarInterpretationNationalStandard { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "具体章条") + private String specificItem; + + @ApiModelProperty(value = "核心技术要求") + private String coreTechnicalRequirement; + + @ApiModelProperty(value = "相对于上一版本变化点") + private String comparedWithPrevious; + + @ApiModelProperty(value = "合规性分析") + private String complianceState; + + @ApiModelProperty(value = "上一版本号") + @TableField("LAST_VERSION_NUMBER") + private String lastVersionNumber; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + private Date modifyTime; + + @ApiModelProperty(value = "标准ID") + @TableField("STAND_ID") + private String standId; + + @ApiModelProperty(value = "标准分类") + @TableField("STAND_TYPE") + private String standType; + + @ApiModelProperty(value = "标准类别") + @TableField("STAND_SORT") + private String standSort; + + @ApiModelProperty(value = "标准编号") + @TableField("STAND_NUMBER") + private String standNumber; + + @ApiModelProperty(value = "标准名称") + @TableField("STAND_NAME") + private String standName; + + @TableField("CREATION_USER") + private String creationUser; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private String validFlag; + + @ApiModelProperty(value = "评估状态") + @TableField("INTERPRETATION_STATE") + private String interpretationState; + + @ApiModelProperty(value = "评估时间") + @TableField("INTERPRETATION_TIME") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + private Date interpretationTime; + + + @ApiModelProperty(value = "风险程度") + private String riskDegree; + + @ApiModelProperty(value = "流程编号") + private String prcNum; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarPublicIdea.java b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarPublicIdea.java new file mode 100644 index 00000000..806ee625 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarPublicIdea.java @@ -0,0 +1,40 @@ +package com.ydw.bat.wkflow.business_slrs.dao; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Builder; +import lombok.Data; + +import java.util.Date; + +@Data +@Builder +public class SarPublicIdea{ + + private String id; + + private String category; + + private String cid; + + private String cname; + + private Date startTime; + + private Date endTime; + + private String categoryFlag; + + private String standType; + + private String standId; + + private String uniques; + + private String files; + + private String filesName; + + private String wkfiles; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarPublicIdeaAll.java b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarPublicIdeaAll.java new file mode 100644 index 00000000..c846997a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarPublicIdeaAll.java @@ -0,0 +1,81 @@ +package com.ydw.bat.wkflow.business_slrs.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

    + * + *

    + * + * @author super_liu + * @since 2021-06-02 + */ +@Data +@Accessors(chain = true) +@TableName("sar_public_idea_all") +@ApiModel(value="SarPublicIdeaAll对象", description="") +public class SarPublicIdeaAll { + + @TableId + private String id; + + @TableField("cid") + private String cid; + + @TableField("part_code") + private String partCode; + + @TableField("content") + private String content; + + @TableField("user_id") + private String userId; + + @TableField("user_name") + private String userName; + + @TableField("dept_id") + private String deptId; + + @TableField("dept_name") + private String deptName; + + @TableField("reason") + private String reason; + + @TableField("old_text") + private String oldText; + + @TableField("new_text") + private String newText; + + @TableField("idea_id") + private String ideaId; + + public static final String CID = "cid"; + + @TableField("chapter_name") + private String chapterName; + + @TableField(exist = false) + private String department; + + @TableField("wk_flag") + private String wkFlag; + + @TableField("state") + private String state; + + @TableField("cause") + private String cause; + + @TableField("source_type") + private String sourceType; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarStandItems.java b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarStandItems.java new file mode 100644 index 00000000..155bd896 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarStandItems.java @@ -0,0 +1,119 @@ +package com.ydw.bat.wkflow.business_slrs.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; +import java.util.List; + +/** + *

    + * + *

    + * + * @author super_liu + * @since 2021-06-01 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="SarStandItems对象", description="") +public class SarStandItems { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "标准ID") + private String standId; + + @ApiModelProperty(value = "条目编号") + private String itemsNum; + + @ApiModelProperty(value = "条目内容") + private String itemsName; + + @ApiModelProperty(value = "涉及零部件") + private String parts; + + @ApiModelProperty(value = "特殊生效时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date tackTime; + + @ApiModelProperty(value = "适用车型") + private String applyArctic; + + @ApiModelProperty(value = "能源类型") + private String energyKind; + + @ApiModelProperty(value = "责任部门") + private String responsibleUnit; + + @ApiModelProperty(value = "备注") + private String remarks; + + @ApiModelProperty(value = "是否有效") + private Integer validFlag; + + private String creationUser; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + @ApiModelProperty(value = "条款要求") + private String termsConditions; + + @ApiModelProperty(value = "实施要点") + private String mainpointsImpementation; + + @ApiModelProperty(value = "FO") + private String fo; + + @ApiModelProperty(value = "责任工程师") + private String dutyEngineer; + + @ApiModelProperty(value = "SVPPS") + private String svpps; + + @ApiModelProperty(value = "要求类型") + private String claimType; + + @ApiModelProperty(value = "企标覆盖关系") + private String busStandCover; + + @ApiModelProperty(value = "文件类型") + private String fileType; + + @ApiModelProperty(value = "新车型实施日期") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String xccssrq; + + @ApiModelProperty(value = "在产车实施日期") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String zccssrq; + + @ApiModelProperty(value = "相对于上一版本变化点") + private String comparedWithPrevious; + + @ApiModelProperty(value = "合规性分析") + private String complianceState; + + private String complianceRequire; + + @ApiModelProperty(value = "解读内容") + private String readContent; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/StandProjectRelationDto.java b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/StandProjectRelationDto.java new file mode 100644 index 00000000..13d24ddf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/StandProjectRelationDto.java @@ -0,0 +1,18 @@ +package com.ydw.bat.wkflow.business_slrs.dao; + +import lombok.Data; + +/** + * //TODO 添加类/接口功能描述 + * + * @author zhangjin + * @date 2021-07-13 + */ +@Data +public class StandProjectRelationDto { + + private String projectId; + + private String standId; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/WgDept.java b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/WgDept.java new file mode 100644 index 00000000..f7260682 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/WgDept.java @@ -0,0 +1,54 @@ +package com.ydw.bat.wkflow.business_slrs.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@ApiModel(value="WgDept对象", description="集团参与情况") +public class WgDept { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "id") + @TableId(value = "id",type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "工作组id") + @TableField("wg_id") + private String wgId; + + @ApiModelProperty(value = "我司在工作组排名顺序") + @TableField("dept_order") + private String deptOrder; + + @ApiModelProperty(value = "我司人员") + @TableField("dept_people_id") + private String deptPeopleId; + + @ApiModelProperty(value = "身份") + @TableField("identity") + private String identity; + + @ApiModelProperty(value = "资料") + @TableField("joinfile") + private String joinfile; + + @ApiModelProperty(value = "前端id") + @TableField("join_id") + private String joinId; + + @ApiModelProperty(value = "手机号") + @TableField("phone") + private String phone; + + @ApiModelProperty(value = "邮箱") + @TableField("email") + private String email; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/config/FeignConfig.java b/src/main/java/com/ydw/bat/wkflow/config/FeignConfig.java new file mode 100644 index 00000000..b82e7ad0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/config/FeignConfig.java @@ -0,0 +1,33 @@ +package com.ydw.bat.wkflow.config; + +import feign.RequestInterceptor; +import feign.RequestTemplate; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年10月11日 13:33 + */ + +/** + * Feign配置 + * 使用FeignClient进行服务间调用,传递headers信息 + */ +@Configuration +public class FeignConfig implements RequestInterceptor { + @Override + public void apply(RequestTemplate requestTemplate) { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if(attributes != null){ + HttpServletRequest request = attributes.getRequest(); + //添加token + requestTemplate.header("token", request.getHeader("token")); + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/config/GetBeanUtil.java b/src/main/java/com/ydw/bat/wkflow/config/GetBeanUtil.java new file mode 100644 index 00000000..18f6ecb6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/config/GetBeanUtil.java @@ -0,0 +1,28 @@ +package com.ydw.bat.wkflow.config; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2022年05月27日 14:26 + */ + +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Component; + +@Component +public class GetBeanUtil implements ApplicationContextAware { + private static ApplicationContext applicationContext; + + public void setApplicationContext(ApplicationContext context) { + GetBeanUtil.applicationContext = context; + } + + public static Object getBean(String name) { + return applicationContext.getBean(name); + } + + public static ApplicationContext getApplicationContext() { + return applicationContext; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/config/ScheduledJob.java b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJob.java new file mode 100644 index 00000000..e5c12e3e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJob.java @@ -0,0 +1,106 @@ +package com.ydw.bat.wkflow.config; + +import com.alibaba.fastjson.JSON; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import net.sf.json.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.entity.OaTaskExec; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.HistoryService; +import org.activiti.engine.TaskService; +import org.activiti.engine.history.HistoricTaskInstance; +import org.activiti.engine.history.HistoricTaskInstanceQuery; +import org.activiti.engine.task.Task; +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; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + + +@EnableScheduling +@Component +@Slf4j +public class ScheduledJob { + + /** + * 根据配置文件设置是否开启定时器 + */ + + @Value("${isNotScheduled}") + private boolean isNotScheduled; //是否开启定时器 + + @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行 +// @Scheduled(cron="*/5 * * * * ?") + @Async + public void SchedulingTask() { + if(isNotScheduled){ + TaskService taskService = SpringContextUtil.getBean(TaskService.class); + HistoryService historyService = SpringContextUtil.getBean(HistoryService.class); + IOaTaskExecService execService = SpringContextUtil.getBean(IOaTaskExecService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + WebServiceOAService webServiceOAService = SpringContextUtil.getBean(WebServiceOAService.class); + SimpleDateFormat sdfQuery = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("EXEC_TYPE",2); + wrapper.eq("EXEC_STATUS",1); + wrapper.eq("EXEC_TIME",sdfQuery.format(new Date())); + List taskExecs = execService.list(wrapper); + if(!taskExecs.isEmpty()){ + taskExecs.forEach(taskExec -> { + net.sf.json.JSONObject jsonObject = JSONObject.fromObject(taskExec.getMesg()); + net.sf.json.JSONObject jsonObjectFilter = JSONObject.fromObject(taskExec.getMesg()); + jsonObjectFilter = jsonObjectFilter.discard("PId"); + jsonObjectFilter.put("pid",jsonObject.getString("PId")); + BusProcessNew object = JSON.parseObject(jsonObjectFilter.toString(),BusProcessNew.class); + + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(object.getPId()).taskId(object.getTaskId()).finished(); + List list = historicTaskInstanceQuery.list(); + // 判断定时任务的流程节点是否已完成 + if(!list.isEmpty()){ + // 业务系统流程节点已完成 则不再发送 OA 待办 + // 任务状态置为已完成 + updateTask(execService, sdf, taskExec); + }else { + // 业务系统流程节点未完成 再发送 OA 待办 + // 任务状态置为已完成 业务流程 干活流程节点 均显示 提交 + updateTask(execService, sdf, taskExec); + + Task task = taskService.createTaskQuery().taskId(object.getTaskId()).singleResult(); + webServiceOAService.completeOA(task); + + // 直接发送OA待办 重置任务状态 0 + object.setTaskStatus(0); + oaService.sendTodoMq(object); + } + }); + + } + + + } + } + + private void updateTask(IOaTaskExecService execService, SimpleDateFormat sdf, OaTaskExec taskExec) { + OaTaskExec exec = new OaTaskExec(); + exec.setId(taskExec.getId()); + exec.setExecStatus(2); + exec.setUpdateTime(sdf.format(new Date())); + execService.updateById(exec); + } + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java new file mode 100644 index 00000000..6df44073 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobEsPlan.java @@ -0,0 +1,106 @@ +package com.ydw.bat.wkflow.config; + +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.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.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.util.SpringContextUtil; +import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.TaskService; +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.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.List; +import java.util.stream.Collectors; + +@EnableScheduling +@Component +@Slf4j +public class ScheduledJobEsPlan { + Logger logger = LoggerFactory.getLogger(ScheduledJobEsPlan.class); + + @Value("${isNotScheduled}") + private boolean isNotScheduled; //是否开启定时器 + + @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("============企标计划定时任务结束==========="); + } + } + + public void sendOATodo(Task 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("qbzxdjhgkStep6?prcType=25"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobStandState.java b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobStandState.java new file mode 100644 index 00000000..d649c118 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJobStandState.java @@ -0,0 +1,117 @@ +package com.ydw.bat.wkflow.config; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.*; +import com.ydw.bat.wkflow.business_main.datas.entity.standState.ModelData; +import com.ydw.bat.wkflow.business_main.datas.entity.standState.QbfsForm; +import com.ydw.bat.wkflow.business_main.datas.entity.standState.RoleForm; +import com.ydw.bat.wkflow.business_main.datas.entity.standState.StandStateDraft; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import lombok.extern.slf4j.Slf4j; +import net.sf.json.JSONObject; +import org.activiti.engine.HistoryService; +import org.activiti.engine.TaskService; +import org.activiti.engine.history.HistoricTaskInstance; +import org.activiti.engine.history.HistoricTaskInstanceQuery; +import org.activiti.engine.task.Task; +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; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + + +@Slf4j +public class ScheduledJobStandState implements Runnable { + + Logger logger = LoggerFactory.getLogger(ScheduledJobStandState.class); + + /** + * 根据配置文件设置是否开启定时器 + * + */ + + private LawsUserInfoService lawsUserInfoService; + + private IBusProcessNameService iBusProcessNameService; + + @Value("${isNotScheduled}") + private boolean isNotScheduled; //是否开启定时器 + + + public ScheduledJobStandState(){ + lawsUserInfoService = GetBeanUtil.getApplicationContext().getBean(LawsUserInfoService.class); + iBusProcessNameService = GetBeanUtil.getApplicationContext().getBean(IBusProcessNameService.class); + } + + @Override + public void run() { + /** + * 创建草稿参数 buss3 复审流程 + * id: + * createUser: + * createUserName: + * prcType: buss3 + * json: + */ + try{ + Thread.sleep(2000); + logger.info("每天0点1分执行 自动发起复审流程自动存入草稿:"+Thread.currentThread().getName() + " cron=0 1 0 * * ? --- " + new Date()+"---START-01"); + + StandStateDraft standStateDraft = new StandStateDraft(); + RoleForm roleForm = new RoleForm(); + QbfsForm qbfsForm = new QbfsForm(); + SarBussionessStandStatePage page = new SarBussionessStandStatePage(); + List modelDataList = lawsUserInfoService.getSarBussionessStandStateProcessList(page); + if(!modelDataList.isEmpty()){ + qbfsForm.setModelData(modelDataList); + standStateDraft.setQbfsForm(qbfsForm); + standStateDraft.setRoleForm(roleForm); + String json = toJson(standStateDraft); + System.out.println(json); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String time = sdf.format(new Date()); + BusProcessName busProcessName = new BusProcessName(); + busProcessName.setPrcType("buss3"); + busProcessName.setCreatUser("chenchunmei"); + busProcessName.setCreatTime(time); + busProcessName.setMes(json); + busProcessName.setCreatUserName("陈春梅"); + iBusProcessNameService.save(busProcessName); + logger.info("自动发起复审流程---已存入草稿"); + }else{ + logger.info("自动发起复审流程---没有复审数据不发起草稿"); + } + + logger.info("每天0点1分执行 自动发起复审流程自动存入草稿:"+Thread.currentThread().getName() + " cron=0 1 0 * * ? --- " + new Date()+"---End-01"); + }catch(Exception e){ + logger.info(e.getMessage()); + } + } + + public static String toJson(StandStateDraft standStateDraft){ + GsonBuilder gsonBuilder = getGsonBuilder(); + Gson json = gsonBuilder.create(); + return json.toJson(standStateDraft); + } + + private static GsonBuilder getGsonBuilder() { + return new GsonBuilder().disableHtmlEscaping().serializeNulls().enableComplexMapKeySerialization().serializeSpecialFloatingPointValues().setLenient(); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/config/SchedulerConf.java b/src/main/java/com/ydw/bat/wkflow/config/SchedulerConf.java new file mode 100644 index 00000000..e39ddb27 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/config/SchedulerConf.java @@ -0,0 +1,119 @@ +package com.ydw.bat.wkflow.config; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2022年05月27日 10:17 + */ + +import com.ydw.bat.wkflow.business_main.datas.entity.TbTask; +import com.ydw.bat.wkflow.business_main.datas.mapper.TbTaskMapper; +import com.ydw.bat.wkflow.business_main.datas.service.ITbTaskService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; +import org.springframework.scheduling.support.CronTrigger; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; +import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ScheduledFuture; + +/** + * 动态定时器 + */ +@Slf4j +@Component +public class SchedulerConf { + + //数据库的任务 + public static ConcurrentHashMap tasks = new ConcurrentHashMap<>(50); + + //正在运行的任务 + public static ConcurrentHashMap runTasks = new ConcurrentHashMap<>(50); + + //线程池任务调度 + private ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler(); + + @Autowired + TbTaskMapper tbTaskDao; + + @Autowired + ITbTaskService iTbTaskService; + + /** + * 初始化线程池任务调度 + */ + @Autowired + public SchedulerConf(){ + this.threadPoolTaskScheduler.setPoolSize(50); + this.threadPoolTaskScheduler.setThreadNamePrefix("task-thread-"); + this.threadPoolTaskScheduler.setWaitForTasksToCompleteOnShutdown(true); + this.threadPoolTaskScheduler.initialize(); + } + + /** + * 获取所有数据库里的定时任务 + */ + private void getAllTbTask(){ + //查询所有,并put到tasks + SchedulerConf.tasks.clear(); + List list = iTbTaskService.list(); + list.forEach((task)-> SchedulerConf.tasks.put(task.getId(),task)); + } + + /** + * 根据定时任务id,启动定时任务 + */ + public void start(String taskId){ + try { + //重新获取最新执行任务周期 + this.getAllTbTask(); + + TbTask tbTask = SchedulerConf.tasks.get(taskId); + + //获取并实例化Runnable任务类 + Class clazz = Class.forName(tbTask.getTaskClass()); + Runnable runnable = (Runnable)clazz.newInstance(); + + //Cron表达式 + CronTrigger cron = new CronTrigger(tbTask.getTaskExp()); + + //执行,并put到runTasks + SchedulerConf.runTasks.put(taskId, Objects.requireNonNull(this.threadPoolTaskScheduler.schedule(runnable, cron))); + + this.updateTaskStatus(taskId,1); + + log.info("{},任务启动!",taskId); + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { + log.error("{},任务启动失败...",taskId); + e.printStackTrace(); + } + + } + + /** + * 根据定时任务id,停止定时任务 + */ + public void stop(String taskId){ + SchedulerConf.runTasks.get(taskId).cancel(true); + + SchedulerConf.runTasks.remove(taskId); + + this.updateTaskStatus(taskId,0); + + log.info("{},任务停止...",taskId); + } + + /** + * 更新数据库动态定时任务状态 + */ + private void updateTaskStatus(String taskId,int status){ + TbTask task = iTbTaskService.getById(taskId); + task.setTaskStatus(status); + task.setUpdateTime(new Date()); + iTbTaskService.updateById(task); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/config/SwaggerConfig.java b/src/main/java/com/ydw/bat/wkflow/config/SwaggerConfig.java index 881d7ddd..cfd3d6ce 100644 --- a/src/main/java/com/ydw/bat/wkflow/config/SwaggerConfig.java +++ b/src/main/java/com/ydw/bat/wkflow/config/SwaggerConfig.java @@ -47,6 +47,13 @@ public class SwaggerConfig { .build().groupName("表单接口"); } + @Bean + public Docket webServiceApi() { + return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select() + .apis(RequestHandlerSelectors.basePackage("com.ydw.bat.wkflow.business_oa")).paths(allowPaths()) + .build().groupName("webService接口"); + } + private ApiInfo apiInfo() { Contact contact = new Contact("工作流系统", "http://localhost:17211/foton-bat-wkflow", null); return new ApiInfoBuilder().contact(contact).title("工作流系统 API").description("activiti接口及工作流相关业务接口") diff --git a/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFApproveAfter.java new file mode 100644 index 00000000..683ecfe0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFApproveAfter.java @@ -0,0 +1,110 @@ +package com.ydw.bat.wkflow.listener.JoinStandardFiling; + +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.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 JSFApproveAfter 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("bzFlag") == null ? "" : object.get("bzFlag").toString(); + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + if ("1".equalsIgnoreCase(approvalOpinion)) { + delegateTask.setVariable("bzFlag", 1); + func1(delegateTask, busBean, object, "1", busProcessNameService); + + } else { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("passUser")); + busProcessNew.setPrcName("加入标准化协会信息备案-修改入会信息"); + busBean.save(busProcessNew); + func2(delegateTask, busBean, object, "0"); + delegateTask.setVariable("bzFlag", 2); + delegateTask.setVariable("statuteengineer",delegateTask.getVariable("prcCreateUser",String.class)); + } + } + + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { +// one2.setPrcName("入库流程结束"); + one2.setOverTime(OVERTIME); + one2.setPrcType("1"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setPrcName("加入标准化协会信息备案-入库流程结束"); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFApproveBefore.java new file mode 100644 index 00000000..d06ce9e4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFApproveBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.JoinStandardFiling; + +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 JSFApproveBefore 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("bzqdfbStep4?prcType=15"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFAuditAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFAuditAfter.java new file mode 100644 index 00000000..7a9e810d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFAuditAfter.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.JoinStandardFiling; + +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.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; + +public class JSFAuditAfter 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); + + List nextUserList = new ArrayList(); + + if(object.getString("signFlag").equals("1")) { + delegateTask.setVariable("gcsFlag", 1); + delegateTask.setVariable("statuteminister",delegateTask.getVariable("statuteminister1",String.class)); + nextUserList.add(delegateTask.getVariable("statuteminister1",String.class)); + } else { + delegateTask.setVariable("gcsFlag", 0); + delegateTask.setVariable("Standardizer2",delegateTask.getVariable("Standardizer1",String.class)); + nextUserList.add(delegateTask.getVariable("Standardizer1",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName; + if(object.getString("signFlag").equals("1")) { + prcName = "加入标准化协会信息备案-批准"; + }else { + prcName = "加入标准化协会信息备案-修改入会信息"; + } + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("15"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFAuditBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFAuditBefore.java new file mode 100644 index 00000000..5611e898 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFAuditBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.JoinStandardFiling; + +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 JSFAuditBefore 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("bzqdfbStep3?prcType=15"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFFillinformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFFillinformationAfter.java new file mode 100644 index 00000000..57f680c2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFFillinformationAfter.java @@ -0,0 +1,115 @@ +package com.ydw.bat.wkflow.listener.JoinStandardFiling; + +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.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class JSFFillinformationAfter 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 approvalOpinion = object.get("dlFlag") == null ? "" : object.get("dlFlag").toString(); + + if ("1".equalsIgnoreCase(approvalOpinion)) { + + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("passUser")); + busProcessNew.setPrcName("加入标准化协会信息备案-标准法规工程师审核"); + busBean.save(busProcessNew); + + func1(delegateTask, busBean, object, "1"); + delegateTask.setVariable("dlFlag", 1); + delegateTask.setVariable("statuteengineer",delegateTask.getVariable("prcCreateUser",String.class)); + } else { + delegateTask.setVariable("dlFlag", 0); + func2(delegateTask, busBean, object, "0", busProcessNameService); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + } + + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { +// one2.setPrcName("入库流程结束"); + one2.setOverTime(OVERTIME); + one2.setPrcType("1"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { +// one1.setPrcName("加入标准化协会信息备案-流程结束"); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFFillinformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFFillinformationBefore.java new file mode 100644 index 00000000..7bf8580a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFFillinformationBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.JoinStandardFiling; + +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 JSFFillinformationBefore 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("bzqdfbStep2?prcType=15"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFstartAfter.java new file mode 100644 index 00000000..ad0cbeb8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFstartAfter.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.JoinStandardFiling; + +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.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 JSFstartAfter 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); + + List nextUserList = new ArrayList(); + String ids=object.getString("dockUser"); + if(ids.contains(",")){ + nextUserList=new ArrayList<>(Arrays.asList(ids.split(","))); + }else { + nextUserList.add(ids); + } + + // 配置多实例 + delegateTask.setVariable("Standardizer2list",nextUserList); + + delegateTask.setVariable("Standardizer1", object.getString("dockUser")); + delegateTask.setVariable("statuteengineer1", object.getString("passUser")); + delegateTask.setVariable("statuteminister1", object.getString("directorUser")); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName = "加入标准化协会信息备案-填写入会信息"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("15"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFstartBefore.java new file mode 100644 index 00000000..285523eb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/JoinStandardFiling/JSFstartBefore.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.listener.JoinStandardFiling; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class JSFstartBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } + } + +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewAfter.java new file mode 100644 index 00000000..9de7fd11 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewAfter.java @@ -0,0 +1,109 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.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 AdminReviewAfter 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); + + List nextUserList = new ArrayList(); + + + /** + * next 子任务-法规认证部长审定 + */ + if("0".equals(object.getString("actionFlag"))){ + String lawsProveViceChief =object.getString("lawsProveMinisterId"); + + if(StringUtils.isNotBlank(lawsProveViceChief)){ + nextUserList= Arrays.asList(lawsProveViceChief.split(",")); + + delegateTask.setVariable("standardAdministratorVerify",0); + // 配置多实例 + delegateTask.setVariable("subLawsProveMinisterId",lawsProveViceChief); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回 + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "重点认证标准/政策合规性项目审查流程-法规认证部长审定"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewBefore.java new file mode 100644 index 00000000..3720543b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 AdminReviewBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewAfter.java new file mode 100644 index 00000000..ac2622e6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewAfter.java @@ -0,0 +1,108 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.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 DeptLeaderReviewAfter 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); + + /** + * next 法规管理员审核 + */ + List nextUserList = new ArrayList(); + + if("0".equals(object.getString("actionFlag"))){ + String startUser = object.getString("startUser"); + + if(StringUtils.isNotBlank(startUser)){ + nextUserList= Arrays.asList(startUser.split(",")); + + delegateTask.setVariable("leaderVerify",0); + // 配置多实例 + delegateTask.setVariable("subStartUser",startUser); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回 + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "重点认证标准/政策合规性项目审查流程-法规管理员审核"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewBefore.java new file mode 100644 index 00000000..ae4f2476 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 DeptLeaderReviewBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java new file mode 100644 index 00000000..7934e840 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java @@ -0,0 +1,118 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +import com.alibaba.fastjson.JSON; +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.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.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.*; + +/** + * 任务下发 + */ +public class DistributionAfter 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); + + List nextUserList = new ArrayList(); + Map userAndInstitutionNameMap = new HashMap<>(); + + + /** + * next 责任人反馈情况 + */ + if(StringUtils.isNotBlank(object.getString("responUserList"))){ + nextUserList= Arrays.asList(object.getString("responUserList").split(",")); + + + JSONArray mapArray = object.getJSONArray("responUserAndInstitutionNameMap"); + for (Object jsonMap : mapArray) { + userAndInstitutionNameMap.putAll(JSONObject.parseObject(jsonMap.toString(), Map.class)); + + } + // 配置多实例 + delegateTask.setVariable("responseUserIdList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "重点认证标准/政策合规性项目审查流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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){ + //标记此用户是事业部还是产品规划部 + JSONObject repositoryObject =object; + if (userAndInstitutionNameMap.get(nextUser).contains("事业部")){ + repositoryObject.put("feedbackDept","1"); + prcName+="-责任人反馈事业部情况"; + }else { + repositoryObject.put("feedbackDept","2"); + prcName+="-责任人反馈产品规划部情况"; + + + } + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(repositoryObject.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; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionBefore.java new file mode 100644 index 00000000..6cd09bd5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 DistributionBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackAfter.java new file mode 100644 index 00000000..5fee2644 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackAfter.java @@ -0,0 +1,101 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.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 FeedBackAfter 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); + + /** + * next 责任部门领导批准 + */ + List nextUserList = new ArrayList(); + String subResponseDeptLeader =object.getString("responseDeptLeaderId"); + + if(StringUtils.isNotBlank(subResponseDeptLeader)){ + nextUserList= Arrays.asList(subResponseDeptLeader.split(",")); + + // 配置多实例 + delegateTask.setVariable("subResponseDeptLeaderId",subResponseDeptLeader); + delegateTask.addCandidateUsers(nextUserList); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "重点认证标准/政策合规性项目审查流程-责任部门领导批准"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackBefore.java new file mode 100644 index 00000000..815cb7ed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 FeedBackBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchAfter.java new file mode 100644 index 00000000..e3cd8319 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchAfter.java @@ -0,0 +1,101 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.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 LaunchAfter 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); + + + /** + * 指定下一个流程节点的操作人 + * next 法规认证部长批准 + */ + List nextUserList = new ArrayList(); + String lawsProveMinister = object.getString("lawsProveMinisterId"); + if(StringUtils.isNotBlank(lawsProveMinister)){ + nextUserList= Arrays.asList(lawsProveMinister); + + + delegateTask.setVariable("startUser",object.get("startUser")); + delegateTask.setVariable("lawsProveMinisterId",lawsProveMinister); + delegateTask.addCandidateUsers(nextUserList); + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "重点认证标准/政策合规性项目审查流程-法规认证部长批准"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchBefore.java new file mode 100644 index 00000000..3784191e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 LaunchBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewAfter.java new file mode 100644 index 00000000..af952d99 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewAfter.java @@ -0,0 +1,118 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.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 MinisterReviewAfter 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); + + /** + * next 法规认证部副总监批准 + */ + String prcName = "重点认证标准/政策合规性项目审查流程";//下一步名称 + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("actionFlag"))){ + String lawsProveViceChief = object.getString("lawsProveViceChiefId"); + if(StringUtils.isNotBlank(lawsProveViceChief)){ + + prcName+="-法规认证副总监批准"; + delegateTask.setVariable("lawsProveMinisterVerify",0); + delegateTask.setVariable("lawsProveViceChiefId",lawsProveViceChief); + nextUserList= Arrays.asList(lawsProveViceChief.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回操作 + String startUser = object.getString("startUser"); + if (StringUtils.isNotBlank(startUser)){ + + prcName+="-重新发起重点认证标准/政策合规性项目审查流程"; + delegateTask.setVariable("lawsProveMinisterVerify",1); + delegateTask.setVariable("startUser",startUser); + nextUserList=Arrays.asList(startUser.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewBefore.java new file mode 100644 index 00000000..b445e82c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewBefore.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 MinisterReviewBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java new file mode 100644 index 00000000..e4f042fb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java @@ -0,0 +1,100 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.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 ReLaunchAfter 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); + + + /** + * 指定下一个流程节点的操作人 + * next 法规认证部长批准 + */ + List nextUserList = new ArrayList(); + String lawsProveMinister = object.getString("lawsProveMinisterId"); + if(StringUtils.isNotBlank(lawsProveMinister)){ + nextUserList= Arrays.asList(lawsProveMinister); + + + delegateTask.setVariable("lawsProveMinisterId",lawsProveMinister); + delegateTask.addCandidateUsers(nextUserList); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "重点认证标准/政策合规性项目审查流程-法规认证部长批准"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws3"); + one1.setCreatUser(user); + 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.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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchBefore.java new file mode 100644 index 00000000..c383d601 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 ReLaunchBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewAfter.java new file mode 100644 index 00000000..8d9e750b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewAfter.java @@ -0,0 +1,106 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.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 SubMinisterReviewAfter 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); + + /** + * next 法规认证部副总监批准 + */ + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("actionFlag"))){ + String lawsProveViceChief = object.getString("lawsProveViceChiefId"); + if(StringUtils.isNotBlank(lawsProveViceChief)){ + + delegateTask.setVariable("lawsProveMinisterVerify",0); + delegateTask.setVariable("subLawsProveViceChiefId",lawsProveViceChief); + nextUserList= Arrays.asList(lawsProveViceChief.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回操作 + } + + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "重点认证标准/政策合规性项目审查流程-法规认证副总监审定"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewBefore.java new file mode 100644 index 00000000..c4d18a68 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewBefore.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 SubMinisterReviewBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorAfter.java new file mode 100644 index 00000000..cec49359 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorAfter.java @@ -0,0 +1,223 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +import com.alibaba.fastjson.JSON; +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.dto.WG.BusinessDeptIssue; +import com.ydw.bat.wkflow.business_main.datas.dto.WG.ProductDeptIssue; +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.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.*; + +/** + * 副总监审核 + */ +public class SubViceDirectorAfter 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); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + + int i=1; + if (null!=delegateTask.getVariable("finishCount")){ + i=delegateTask.getVariable("finishCount",Integer.class)+1; + } + delegateTask.setVariable("finishCount",i); + + + /** + * next 结束 + */ + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("actionFlag"))){ + delegateTask.setVariable("lawsProveViceChiefVerify",0); + + + if ("1".equals(object.getString("feedbackDept"))) { + List list = new ArrayList<>(); + if (null != delegateTask.getVariable("v")) { + list = delegateTask.getVariable("v", List.class); + } + JSONArray array = object.getJSONArray("infoTableDatas"); + if (array.size() > 0) { + for (Object o : array) { + JSONObject object1 = JSON.parseObject(o.toString()); + BusinessDeptIssue businessDeptIssue = new BusinessDeptIssue(); + businessDeptIssue.setDelFlag("0"); + businessDeptIssue.setId(String.valueOf(UUID.randomUUID())); + businessDeptIssue.setLawId(object1.getString("lawId")); + businessDeptIssue.setImplRequire(object1.getString("implRequire")); + businessDeptIssue.setImplTime(object1.getDate("implTime")); + businessDeptIssue.setCompleteSituation(object1.getString("completeSituation")); + businessDeptIssue.setSopTime(object1.getDate("sopTime")); + businessDeptIssue.setLawName(object1.getString("lawName")); + businessDeptIssue.setConformSituation(object1.getString("conformSituation")); + businessDeptIssue.setTimeoutSituation(object1.getString("timeoutSituation")); + businessDeptIssue.setDevScheme(object1.getString("devScheme")); + businessDeptIssue.setLawNumber(object1.getString("lawCode")); + businessDeptIssue.setProductType(object1.getString("dataSource")); + businessDeptIssue.setResponsePeople(object1.getString("zerenren")); + businessDeptIssue.setIsClose("0"); + list.add(businessDeptIssue); + } + } + + delegateTask.setVariable("v", list); + + if (i >= delegateTask.getVariable("responseUserIdList", List.class).size()) { + lawsUserInfoService.businessDeptIssueSaveBatch(list); + } + }else { + List list = new ArrayList<>(); + if (null != delegateTask.getVariable("v2")) { + list = delegateTask.getVariable("v2", List.class); + } + JSONArray array = object.getJSONArray("infoTableDatas"); + JSONArray tables = object.getJSONArray("table"); + if (array.size() > 0 && tables.size()>0) { + for (Object ta:tables){ + JSONObject object2=JSON.parseObject(ta.toString()); + for (Object o : array) { + JSONObject object1 = JSON.parseObject(o.toString()); + ProductDeptIssue productDeptIssue = new ProductDeptIssue(); + productDeptIssue.setDelFlag("0"); + productDeptIssue.setId(String.valueOf(UUID.randomUUID())); + productDeptIssue.setLawId(object1.getString("lawId")); + productDeptIssue.setLawsNumber(object1.getString("lawCode")); + productDeptIssue.setLawsName(object1.getString("lawName")); + productDeptIssue.setProductBusiness(object2.getString("yewu")); + productDeptIssue.setPlatform(object2.getString("pingtai")); + productDeptIssue.setPojName(object2.getString("xiangmu")); + productDeptIssue.setPojDescription(object2.getString("xiangmumiaoshu")); + productDeptIssue.setCurrentNode(object2.getString("dangqianjiedian")); + productDeptIssue.setConceptualState(object2.getString("gainianzhuangtai")); + productDeptIssue.setScheduledIssuanceTime(object2.getDate("gainianzhuangtaiDate")); + productDeptIssue.setRevisedPlan(object2.getString("gainianxiudingjihua")); + productDeptIssue.setExplanation(object2.getString("qitashuoming")); + productDeptIssue.setResponseDept(object2.getString("zerenren")); + productDeptIssue.setIsClose("0"); + list.add(productDeptIssue); + } + } + + } + + delegateTask.setVariable("v2", list); + if (i >= delegateTask.getVariable("responseUserIdList", List.class).size()) { + lawsUserInfoService.productDeptIssue(list); + } + } + + //流程结束 + func2(delegateTask, busBean, object, "0", busProcessNameService); + + }else { + //TODO 驳回 + String startUser = object.getString("startUser"); + delegateTask.setVariable("startUser",startUser); + nextUserList = Arrays.asList(startUser.split(",")); + + + delegateTask.setVariable("lawsProveViceChiefVerify",1); + + + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "重点认证标准/政策合规性项目审查流程-责任部门领导任务下发"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + if (i>=delegateTask.getVariable("responseUserIdList",List.class).size()) { + one1.setOverTime(OVERTIME); + } + one1.setPrcType("laws3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } + + //流程结束 + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + //one2.setPrcName("入库流程结束"); + one2.setOverTime(OVERTIME); + one2.setPrcType("laws3"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorBefore.java new file mode 100644 index 00000000..425fa993 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 SubViceDirectorBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + //TODO 设置路由 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorAfter.java new file mode 100644 index 00000000..d8e306de --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorAfter.java @@ -0,0 +1,120 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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.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 ViceDirectorAfter 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); + + + /** + * next 责任部门领导 + */ + List nextUserList = new ArrayList(); + String prcName = "重点认证标准/政策合规性项目审查流程"; + + if ("0".equals(object.getString("actionFlag"))){ + String responseDeptLeader = object.getString("responseDeptLeaderId"); + if(StringUtils.isNotBlank(responseDeptLeader)){ + + + prcName+="责任部门领导任务下发"; + delegateTask.setVariable("lawsProveViceChiefVerify",0); + delegateTask.setVariable("responseDeptLeaderId",responseDeptLeader); + nextUserList= Arrays.asList(responseDeptLeader.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + }else { + //TODO 驳回 + String startUser = object.getString("startUser"); + + if (StringUtils.isNotBlank(startUser)){ + + prcName+="-重新发起重点认证标准/政策合规性项目审查流程"; + delegateTask.setVariable("lawsProveViceChiefVerify",1); + delegateTask.setVariable("startUser",startUser); + nextUserList=Arrays.asList(startUser.split(",")); + delegateTask.addCandidateUsers(nextUserList); + } + + + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("laws3"); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorBefore.java new file mode 100644 index 00000000..a365c898 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.KCSTPReviewProcess; + +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 ViceDirectorBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + //TODO 设置路由 + one1.setLink("bzrkStep2?prcType=laws3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalAfter.java new file mode 100644 index 00000000..d02343f0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalAfter.java @@ -0,0 +1,130 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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.dto.SarStandUnqualified; +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class DockingApprovalAfter 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); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + + List nextUserList = new ArrayList(); + if ("1".equals(object.getString("actionFlag"))) { + delegateTask.setVariable("actionFlag", 1); + JSONObject object1=JSONObject.parseObject(String.valueOf(delegateTask.getVariable("responUser"))); + nextUserList.add(object1.getString("id")); + } else { + delegateTask.setVariable("actionFlag", 0); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = delegateTask.getVariable("number",String.class); + JSONObject jsonArray=JSONArray.parseObject(object.getString("info")); + //区分驳回和通过 + String prcName=null; + if(jsonArray==null){ + JSONArray jsonArray2=JSONArray.parseArray(object.getString("responUserList")); + JSONObject object111=JSONObject.parseObject(String.valueOf(jsonArray2.get(0))); + prcName = standName+"-"+object111.getString("standName")+"-未符合项整改"; + }else { + JSONArray jsonArray1=JSONArray.parseArray(jsonArray.getString("fileDataList")); + JSONObject object111=JSONObject.parseObject(String.valueOf(jsonArray1.get(0))); + prcName = standName+"-"+object111.getString("standName")+"-未符合项整改"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("8"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + Integer count=delegateTask.getVariable("dockUserApprovalState",Integer.class); + JSONArray responUserList=delegateTask.getVariable("dockUserList", JSONArray.class); + if(count==null)count=0; + count++; + delegateTask.setVariable("dockUserApprovalState",count); + + + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + + if(count>=responUserList.size()){ + //入库 联动1? + List sarStandUnqualifieds=new ArrayList<>(); + for (Object j:object.getJSONObject("info").getJSONArray("fileDataList")) { + JSONObject object1=JSONObject.parseObject(j.toString()); + SarStandUnqualified sarStandUnqualified=new SarStandUnqualified(); + sarStandUnqualified.setId(object1.getString("id")); + sarStandUnqualified.setCloseState(2); + sarStandUnqualified.setActualCloseTime(new Date()); + sarStandUnqualifieds.add(sarStandUnqualified); + } + lawsUserInfoService.updateBatch(sarStandUnqualifieds); + } + + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("责任人上传调研结果"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("responUser",JSONObject.class).getString("id")); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java new file mode 100644 index 00000000..421201f7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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 DockingApprovalBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("wfhxzgStep5?prcType=8"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserAfter.java new file mode 100644 index 00000000..969e33cd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserAfter.java @@ -0,0 +1,146 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +import com.alibaba.fastjson.JSON; +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class SelectDockUserAfter 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()); + + List nextUserList = new ArrayList(); + + delegateTask.setVariable("selectResponUserState",0); + delegateTask.setVariable("actionFlag",0); + + JSONArray dockUserList=delegateTask.getVariable("dockUserList", JSONArray.class); + if(dockUserList==null)dockUserList=new JSONArray(); + + if("1".equals(object.getString("passFlag"))){ + delegateTask.setVariable("passFlag","1"); + delegateTask.setVariable("createUser",delegateTask.getVariable("creatUser",String.class)); + nextUserList.add(delegateTask.getVariable("creatUser",String.class)); + }else { + delegateTask.setVariable("passFlag","0"); + JSONArray preDockUserListOrg = object.getJSONArray("dockUserList"); + JSONArray preDockUserList = new JSONArray(); + + for (Object o : preDockUserListOrg) { + boolean ok = true; + JSONObject preDockUserOrg = (JSONObject) o; + for (Object o1 : dockUserList) { + JSONObject dockUser = (JSONObject) o1; + if (dockUser.getString("id").equals(preDockUserOrg.getString("id")) && + object.getString("passInfo").equals("0")) { + ok = false; + break; + } + } + if (ok) { + preDockUserList.add(preDockUserOrg); + nextUserList.add(preDockUserOrg.getString("id")); + } + } + delegateTask.setVariable("preDockUserList", preDockUserList); + } + + delegateTask.setVariable("objectJson",object); + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String standName = delegateTask.getVariable("number",String.class); +// JSONArray jsonArray=JSONArray.parseArray(object.getString("standardInfoList")); + JSONArray jsonArray=JSONArray.parseArray(object.getString("dockUserList")); + JSONArray jsonArray1 = JSONObject.parseArray(jsonArray.getJSONObject(0).getString("standardInfoList")); + JSONObject object1=JSONObject.parseObject(String.valueOf(jsonArray1.get(0))); + String prcName = standName+"-"+object1.getString("standName")+"-未符合项整改"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("8"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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.setUserId(delegateTask.getAssignee()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + if(!"1".equals(object.getString("passFlag")) && !nextUserList.isEmpty()){ + List busProcessNews=new ArrayList<>(); + 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); + busProcessNews.add(busProcessNewNext); + } + busBean.saveBatch(busProcessNews); + }else{ + if (null!= nextUserList && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo("重新起草"); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.saveOrUpdate(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java new file mode 100644 index 00000000..f63b8961 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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 SelectDockUserBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("wfhxzgStep2?prcType=8"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserAfter.java new file mode 100644 index 00000000..c73456d2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserAfter.java @@ -0,0 +1,188 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +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_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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import springfox.documentation.spring.web.json.Json; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +public class SelectResponUserAfter 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); + + List nextUserList = new ArrayList(); + + Integer actionFlag = object.getInteger("actionFlag"); + Integer allActionFlag = delegateTask.getVariable("actionFlag", Integer.class); + if (actionFlag == null) actionFlag = 0; + if (actionFlag == 1) allActionFlag = 1; + delegateTask.setVariable("actionFlag", allActionFlag); + + JSONArray responUserList = (delegateTask.getVariable("responUserList", JSONArray.class)); + if (responUserList == null) responUserList = new JSONArray(); + if (actionFlag == 0) { + JSONArray dockUserList = (delegateTask.getVariable("dockUserList", JSONArray.class)); + if (dockUserList == null) dockUserList = new JSONArray(); + JSONObject preDockUser = (delegateTask.getVariable("preDockUser", JSONObject.class)); + dockUserList.add(preDockUser); + delegateTask.setVariable("dockUserList", dockUserList); + + + JSONArray preResponUserList = object.getJSONArray("responUserList"); + + for (Object o : preResponUserList) { + JSONObject preResponUser = (JSONObject) o; + boolean ok = true; + for (Object o1 : responUserList) { + JSONObject responUser = (JSONObject) o1; + if (responUser.getString("id").equals(preResponUser.get("id")) + && responUser.getString("dockUser").equals(delegateTask.getAssignee()) && object.getString("passInfo").equals("0") ) { + ok = false; + break; + } + } + if (ok) { + preResponUser.put("dockUser", delegateTask.getAssignee()); + JSONArray standardInfoList = preResponUser.getJSONArray("standardInfoList"); + for (int i = 0; i < standardInfoList.size(); i++) { + JSONObject jsonObject=new JSONObject(); + jsonObject.put("id",preResponUser.getString("id")); + jsonObject.put("name",preResponUser.getString("name")); + jsonObject.put("dockUser",preResponUser.getString("dockUser")); + jsonObject.put("info",standardInfoList.get(i)); + + + responUserList.add(jsonObject); + } + } + } + } + + delegateTask.setVariable("responUserList", responUserList); + + delegateTask.setVariable("objectJson", object); + + delegateTask.setVariable("dockUserApprovalState", 0); + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = delegateTask.getVariable("number",String.class); + JSONArray jsonArray=JSONArray.parseArray(object.getString("responUserList")); + JSONArray jsonArray1 = JSONObject.parseArray(jsonArray.getJSONObject(0).getString("standardInfoList")); + JSONObject object1=JSONObject.parseObject(String.valueOf(jsonArray1.get(0))); + String prcName = standName+"-"+object1.getString("standName")+"-未符合项整改"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("8"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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.setUserId(delegateTask.getAssignee()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + + QueryWrapper updataWapper = new QueryWrapper(); + updataWapper.eq("TASK_ID", delegateTask.getId()); + updataWapper.eq("P_ID", delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew, updataWapper); + + Integer selectResponUserState = delegateTask.getVariable("selectResponUserState", Integer.class); + if (selectResponUserState == null) selectResponUserState = 0; + if (actionFlag == 0) selectResponUserState++; + delegateTask.setVariable("selectResponUserState", selectResponUserState); + JSONArray dockUserList = (delegateTask.getVariable("preDockUserList", JSONArray.class)); + + if (selectResponUserState >= dockUserList.size()) { + if (allActionFlag == 1) { + + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("下发至标准法规工程师"); + busProcessNewNext.setUserId(delegateTask.getVariable("engineer", String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + + } else { + List busProcessNews = new ArrayList<>(); + for (Object o : responUserList) { + JSONObject responUser = (JSONObject) o; + + object.put("info",responUser); + + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(JsonUtil.toJson(o)); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(responUser.getString("id")); + busProcessNewNext.setPrcName(prcName); + busProcessNews.add(busProcessNewNext); + } + busBean.saveBatch(busProcessNews); + } + }else { + if (actionFlag == 1) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("下发至标准法规工程师"); + busProcessNewNext.setUserId(delegateTask.getVariable("engineer", String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java new file mode 100644 index 00000000..c94e1221 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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 SelectResponUserBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("wfhxzgStep3?prcType=8"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAfter.java new file mode 100644 index 00000000..97ec93cc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAfter.java @@ -0,0 +1,107 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class StartSurveyAfter 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); + + List nextUserList = new ArrayList(); + + delegateTask.setVariable("startUser",object.get("startUser")); + delegateTask.setVariable("engineer",object.get("engineer")); + + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("creatUser",user); + delegateTask.setVariable("creatUserName",username); + JSONArray jsonArray=JSONArray.parseArray(object.getString("standardInfoList")); + JSONObject object1=JSONObject.parseObject(String.valueOf(jsonArray.get(0))); + String standName= object1.getString("standId"); + + delegateTask.setVariable("number",standName); + String prcName = standName+"-"+object1.getString("standName")+"-未符合项整改"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("8"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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.setUserId(delegateTask.getAssignee()); + 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); + } + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("下发至标准法规工程师"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("engineer",String.class)); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAgainAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAgainAfter.java new file mode 100644 index 00000000..a58ac8c1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAgainAfter.java @@ -0,0 +1,107 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class StartSurveyAgainAfter 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); + + List nextUserList = new ArrayList(); + + delegateTask.setVariable("startUser",object.get("startUser")); + delegateTask.setVariable("engineer",object.get("engineer")); + + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("creatUser",user); + delegateTask.setVariable("creatUserName",username); + JSONArray jsonArray=JSONArray.parseArray(object.getString("standardInfoList")); + JSONObject object1=JSONObject.parseObject(String.valueOf(jsonArray.get(0))); + String standName= object1.getString("standId"); + + delegateTask.setVariable("number",standName); + String prcName = standName+"-"+object1.getString("standName")+"-未符合项整改"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("8"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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.setUserId(delegateTask.getAssignee()); + 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); + } + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("下发至标准法规工程师"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("engineer",String.class)); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAgainBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAgainBefore.java new file mode 100644 index 00000000..efb370d5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyAgainBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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 StartSurveyAgainBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("wfhxzgStep1?prcType=8"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyBefore.java new file mode 100644 index 00000000..37a4425d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/StartSurveyBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class StartSurveyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// one1.setTaskInfo(delegateTask.getName()); +// busBean.saveOrUpdate(one1); +// } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentAfter.java new file mode 100644 index 00000000..394339f0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentAfter.java @@ -0,0 +1,132 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class UploadCommentAfter 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()); + + List nextUserList = new ArrayList(); + + delegateTask.setVariable("actionFlag",0); + + JSONArray responUserList=(delegateTask.getVariable("responUserList",JSONArray.class)); + JSONObject responUser = delegateTask.getVariable("responUser", JSONObject.class); + + for (int i = 0; i < responUserList.size(); i++) { + JSONObject obj=(JSONObject)responUserList.get(i); + if(responUser.getString("id").equals(obj.get("id")) + &&responUser.getString("dockUser").equals(obj.get("dockUser")) + + ){ + obj.put("info",object.get("info")); + responUserList.set(i,obj); + break; + } + } + + + delegateTask.setVariable("responUserList",responUserList); + +// JSONArray dockUserList=delegateTask.getVariable("dockUserList", JSONArray.class); +// if(dockUserList==null)dockUserList=new JSONArray(); +// JSONArray preDockUserListOrg=object.getJSONArray("dockUserList"); +// JSONArray preDockUserList=new JSONArray(); +// +// for (Object o : preDockUserListOrg) { +// boolean ok=true; +// JSONObject preDockUserOrg=(JSONObject)o; +// for (Object o1 : dockUserList) { +// JSONObject dockUser=(JSONObject)o1; +// if(dockUser.getString("id").equals(preDockUserOrg.getString("id"))){ +// ok=false;break; +// } +// } +// if(ok){ +// preDockUserList.add(preDockUserOrg); +// nextUserList.add(preDockUserOrg.getString("id")); +// } +// } +// delegateTask.setVariable("preDockUserList",preDockUserList); + + delegateTask.setVariable("objectJson",object); + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = delegateTask.getVariable("number",String.class); + String name = delegateTask.getVariable("name",String.class); + JSONObject jsonArray=JSONArray.parseObject(object.getString("info")); + JSONArray jsonArray1=JSONArray.parseArray(jsonArray.getString("fileDataList")); + JSONObject object1=JSONObject.parseObject(String.valueOf(jsonArray1.get(0))); + String prcName = standName+"-"+object1.getString("standName")+"-未符合项整改"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("8"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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.setUserId(delegateTask.getAssignee()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("下发至标准法规工程师"); + busProcessNewNext.setUserId(delegateTask.getVariable("responUser",JSONObject.class).getString("dockUser")); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java new file mode 100644 index 00000000..11c1aa78 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java @@ -0,0 +1,60 @@ +package com.ydw.bat.wkflow.listener.NonConformanceRectification; + +import com.alibaba.fastjson.JSON; +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang3.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +public class UploadCommentBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); +// JSONObject jsonObject = JSON.parseObject(one1.getMesg()); +// jsonObject.put("responUserInfo",delegateTask.getVariable("responUser")); +// one1.setMesg(jsonObject.toJSONString()); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("wfhxzgStep4?prcType=8"); + one1.setTaskInfo(delegateTask.getName()); + + // 干活节点流程 +// one1.setTaskStatus(2); +// JSONObject object = JSONObject.parseObject(one1.getMesg()); +// JSONArray array = object.getJSONArray("responUserList"); +// String endTime = ""; +// if(array != null && !array.isEmpty()){ +// endTime = array.getJSONObject(0).getString("planCloseTime"); +// } +// // 如果整改时间没有,默认流程发起日期+30天 +// if(StringUtils.isNotBlank(endTime)){ +// one1.setEndTime(Utils.interceptTime(endTime)); +// }else { +// one1.setEndTime(Utils.interceptTime(Utils.addDay(30))); +// } + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFApproveAfter.java new file mode 100644 index 00000000..14323b99 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFApproveAfter.java @@ -0,0 +1,131 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PRFApproveAfter 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); + List nextUserList = new ArrayList(); + String approvalOpinion = object.get("bzFlag") == null ? "" : object.get("bzFlag").toString(); + + if ("1".equalsIgnoreCase(approvalOpinion)) { + delegateTask.setVariable("bzFlag", 1); + func1(delegateTask, busBean, object, "1", busProcessNameService); + + } else { + delegateTask.setVariable("bzFlag", 2); + delegateTask.setVariable("Liabilityengineer",delegateTask.getVariable("Liabilityengineer1",String.class)); + nextUserList.add(delegateTask.getVariable("Liabilityengineer1",String.class)); + } + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName=""; + if(object.get("bzFlag").equals("2")) { + prcName = "参与外部标准制修订备案-修改备案信息"; + } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("14"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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 void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { +// one2.setPrcName("入库流程结束"); + one2.setOverTime(OVERTIME); + one2.setPrcType("1"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setPrcName("参与外部标准制修订备案-入库流程结束"); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFApproveBefore.java new file mode 100644 index 00000000..decdcb09 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFApproveBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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 PRFApproveBefore 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("bzqdfbStep6?prcType=14"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFEngineerreviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFEngineerreviewAfter.java new file mode 100644 index 00000000..9e38fe71 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFEngineerreviewAfter.java @@ -0,0 +1,102 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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.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; + +public class PRFEngineerreviewAfter 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); + + List nextUserList = new ArrayList(); + + if(object.getString("signFlag").equals("1")) { + delegateTask.setVariable("gcsFlag", 1); + delegateTask.setVariable("statuteminister",delegateTask.getVariable("statuteminister1",String.class)); + nextUserList.add(delegateTask.getVariable("statuteminister1",String.class)); + } else { + delegateTask.setVariable("gcsFlag", 2); + delegateTask.setVariable("Liabilityengineer",delegateTask.getVariable("Liabilityengineer1",String.class)); + nextUserList.add(delegateTask.getVariable("Liabilityengineer1",String.class)); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName=""; + if(object.getString("signFlag").equals("1")) { + prcName = "参与外部标准制修订备案-部长批准"; + }else { + prcName = "参与外部标准制修订备案-修改备案信息"; + } + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("14"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFEngineerreviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFEngineerreviewBefore.java new file mode 100644 index 00000000..34b4f18d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFEngineerreviewBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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 PRFEngineerreviewBefore 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("bzqdfbStep5?prcType=14"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFFillinformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFFillinformationAfter.java new file mode 100644 index 00000000..28183806 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFFillinformationAfter.java @@ -0,0 +1,119 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PRFFillinformationAfter 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); + + List nextUserList = new ArrayList(); + if (object.getString("signFlag").equals("1")) { + delegateTask.setVariable("dlFlag", 1); + delegateTask.setVariable("Buttpeople2", delegateTask.getVariable("Buttpeople3", String.class)); + nextUserList.add(delegateTask.getVariable("Buttpeople3", String.class)); + } else { + delegateTask.setVariable("dlFlag", 2); + func2(delegateTask, busBean, object, "0", busProcessNameService); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName = ""; + if (object.getString("signFlag").equals("1")) { + prcName = "参与外部标准制修订备案-责任部门对接人审核"; + } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if (one1 != null) { + one1.setPrcType("14"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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 void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + one2.setOverTime(OVERTIME); + one2.setPrcType("1"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setPrcName("参与外部标准制修订备案-流程结束"); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFFillinformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFFillinformationBefore.java new file mode 100644 index 00000000..ad34f0ff --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFFillinformationBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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 PRFFillinformationBefore 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("bzqdfbStep3?prcType=14"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFReviewdockAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFReviewdockAfter.java new file mode 100644 index 00000000..77a9f5b4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFReviewdockAfter.java @@ -0,0 +1,104 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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.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; + +public class PRFReviewdockAfter 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); + + List nextUserList = new ArrayList(); + + if(object.getString("signFlag").equals("1")) { + delegateTask.setVariable("djrFlag", 1); + delegateTask.setVariable("statuteengineer",delegateTask.getVariable("statuteengineer1",String.class)); + nextUserList.add(delegateTask.getVariable("statuteengineer1",String.class)); + } else { + delegateTask.setVariable("djrFlag", 2); + delegateTask.setVariable("Liabilityengineer",delegateTask.getVariable("Liabilityengineer1",String.class)); + nextUserList.add(delegateTask.getVariable("Liabilityengineer1",String.class)); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName=""; + if(object.getString("signFlag").equals("1")) { + prcName = "参与外部标准制修订备案-工程师审核"; + }else { + prcName = "参与外部标准制修订备案-修改备案信息"; + } + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("14"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFReviewdockBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFReviewdockBefore.java new file mode 100644 index 00000000..24f116c8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFReviewdockBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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 PRFReviewdockBefore 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("bzqdfbStep4?prcType=14"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFUnderengineerAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFUnderengineerAfter.java new file mode 100644 index 00000000..c3436152 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFUnderengineerAfter.java @@ -0,0 +1,95 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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.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 PRFUnderengineerAfter 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); + + List nextUserList = new ArrayList(); + String ids=object.getString("workPeople"); + if(ids.contains(",")){ + nextUserList=new ArrayList<>(Arrays.asList(ids.split(","))); + }else { + nextUserList.add(ids); + } + // 配置多实例 + delegateTask.setVariable("Liabilityengineerlist",nextUserList); + + delegateTask.setVariable("Liabilityengineer1", object.getString("workPeople")); + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + + String prcName = "参与外部标准制修订备案-填写备案信息"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if (one1 != null) { + one1.setPrcType("14"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFUnderengineerBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFUnderengineerBefore.java new file mode 100644 index 00000000..3f9e7fed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFUnderengineerBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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 PRFUnderengineerBefore 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("bzqdfbStep2?prcType=14"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFstartAfter.java new file mode 100644 index 00000000..693250c1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFstartAfter.java @@ -0,0 +1,100 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +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.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 PRFstartAfter 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); + + List nextUserList = new ArrayList(); + String ids=object.getString("dockUser"); + if(ids.contains(",")){ + nextUserList=new ArrayList<>(Arrays.asList(ids.split(","))); + }else { + nextUserList.add(ids); + } + +// 配置多实例 + delegateTask.setVariable("Buttpeople1list",nextUserList); + + delegateTask.setVariable("Buttpeople3", object.getString("dockUser")); + delegateTask.setVariable("statuteengineer1", object.getString("firstUser")); + delegateTask.setVariable("statuteminister1", object.getString("directorUser")); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + + String prcName = "参与外部标准制修订备案-备案任务下发"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("14"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFstartBefore.java new file mode 100644 index 00000000..a86e1d6a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ParticipateRevisionFiling/PRFstartBefore.java @@ -0,0 +1,12 @@ +package com.ydw.bat.wkflow.listener.ParticipateRevisionFiling; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PRFstartBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java new file mode 100644 index 00000000..83f8c061 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java @@ -0,0 +1,118 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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.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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +public class PCAComplianceAssessmentAfter 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); + + delegateTask.setVariable("GOGOGO","1"); + //根据流程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); + //后续节点所需要的数据 + List nextUserList=new ArrayList<>(); + JSONArray jsonArray=JSONArray.parseArray(object.getString("dataList")); + JSONObject jsonObject=JSONObject.parseObject(jsonArray.get(0).toString()); + //新去除数据之后的结果 + JSONArray newRes=new JSONArray(); + for (Object json:jsonArray) { + JSONObject jsonObject1=JSONObject.parseObject(json.toString()); + JSONArray remove=new JSONArray(); + for (Object os:jsonObject1.getJSONArray("children")) { + JSONObject jsonObject2=JSONObject.parseObject(os.toString()); + if ("".equals(jsonObject2.get("complianceReasons"))&&"".equals(jsonObject2.get("noCompliance")) + && "".equals(jsonObject2.get("countermeasures")) && null==jsonObject2.get("completionTime")){ + remove.add(jsonObject2); + } + } + jsonObject1.getJSONArray("children").removeAll(remove); + if (jsonObject1.getJSONArray("children").size()==0 && "".equals(jsonObject1.get("complianceReasons"))&&"".equals(jsonObject1.get("noCompliance")) + && "".equals(jsonObject1.get("countermeasures")) && null==jsonObject1.get("completionTime")){ + + }else { + newRes.add(jsonObject1); + } + } + String uuid= String.valueOf(UUID.randomUUID()); + delegateTask.setVariable(uuid,jsonArray); + object.put("dataList",newRes); + object.put("key",uuid); + JSONObject res=JSONObject.parseObject(jsonArray.get(0).toString()); + nextUserList.add(res.getString("liablePeopleId")); + delegateTask.setVariable("ffUserId",res.getString("liablePeopleId")); + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("prcName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java new file mode 100644 index 00000000..98d58e80 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java @@ -0,0 +1,48 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class PCAComplianceAssessmentBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IOaTaskExecService execService = SpringContextUtil.getBean(IOaTaskExecService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + if ("GO".equals(delegateTask.getVariable("GOGOGO"))) { + queryWrapper1.eq("TASK_ID", "GO"); + }else { + 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("xmpg2Step6?prcType=6&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + + // 干活节点流程 + one1.setTaskStatus(2); + one1.setEndTime(Utils.interceptTime(execService.endTime(delegateTask.getProcessInstanceId()))); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java new file mode 100644 index 00000000..99c184cf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java @@ -0,0 +1,145 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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_main.datas.dto.DataList; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAtotal; +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAbafgManagerApproveAfter 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); + //后续节点所需要的数据 + List nextUserList = new ArrayList<>(); + + if ("1".equals(object.getString("bzFlag"))) { + nextUserList.add(String.valueOf(delegateTask.getVariable("prcCreateUser"))); + delegateTask.setVariable("sum", delegateTask.getVariable("prcCreateUser")); + delegateTask.setVariable("bzFlag", "1"); + if (null != delegateTask.getVariable("pass")) { + delegateTask.setVariable("pass", String.valueOf(Integer.valueOf(String.valueOf(delegateTask.getVariable("pass"))) + 1)); + } else { + delegateTask.setVariable("pass", "1"); + } + } else { + object.put("dataList",delegateTask.getVariable(object.getString("key"))); + nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("bzFlag", "2"); + } + //截止时间 流程描述 创建人 + 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 prcName=""; + if ("1".equals(object.getString("bzFlag"))) { + prcName = delegateTask.getVariable("prcName", String.class); + }else { + prcName = delegateTask.getVariable("prcName", String.class); + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (null==delegateTask.getVariable("pass")||Integer.valueOf(delegateTask.getVariable("pass", String.class)) != + delegateTask.getVariable("workPeoples", List.class).size()) { + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String userId : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + if (null!=delegateTask.getVariable("pass")) { + busProcessNewNext.setTaskId("996"); + } + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + }else { + List busProcessNews=busBean.findLastworkPeople("Projectcomplianceassessment10",delegateTask.getProcessInstanceId()); + PCAtotal res = new PCAtotal(); + for (BusProcessNew bus:busProcessNews) { + PCAtotal pcAtotal=JSONObject.parseObject(bus.getMesg(),PCAtotal.class); + if ("1".equals(pcAtotal.getBZFlag())) { + if (StringUtils.isNotEmpty(res.getBZFlag())) { + res.getDataList().addAll(pcAtotal.getDataList()); + } else { + BeanUtils.copyProperties(pcAtotal, res); + } + } + } + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String userId : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(JsonUtil.toJson(res)); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveAfter.java new file mode 100644 index 00000000..0232ae69 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveAfter.java @@ -0,0 +1,105 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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.dto.*; +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class PCAbzManagerApproveAfter 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); + //后续节点所需要的数据 + List nextUserList = new ArrayList<>(); + + if ("1".equals(object.getString("BZFlag"))) { + delegateTask.setVariable("BZFlag", "1"); + delegateTask.setVariable("GCUserId", String.valueOf(delegateTask.getVariable("gcjl"))); + nextUserList.add(String.valueOf(delegateTask.getVariable("gcjl"))); + } else { + //流程直接结束,抄送消息提示 + delegateTask.setVariable("BZFlag", "2"); + } + + + //截止时间 流程描述 创建人 + 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 prcName=""; + if ("1".equals(object.getString("BZFlag"))) { + prcName= delegateTask.getVariable("prcName", String.class); + }else { + prcName= delegateTask.getVariable("prcName", String.class); + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + if (!"1".equals(object.getString("BZFlag"))) { + one1.setOverTime(OVERTIME); + } + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java new file mode 100644 index 00000000..e729637a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAbzManagerApproveBefore 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("xmpg2Step2?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java new file mode 100644 index 00000000..d0677577 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAbzfgManagerApproveBefore 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("xmpg2Step10?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java new file mode 100644 index 00000000..3550ada6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java @@ -0,0 +1,262 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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.dto.PCA.PCAchildren; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAtotal; +import com.ydw.bat.wkflow.business_main.datas.dto.SarStandUnqualified; +import com.ydw.bat.wkflow.business_main.datas.dto.SarStandardComplianceProductAssess; +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +public class PCAdlApproveAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //流程分类UUID + UUID uuid = UUID.randomUUID(); + + //根据流程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); + List nextUserList=new ArrayList<>(); + if ("1".equals(object.get("dlFlag"))) { + //后续节点所需要的数据 + PCAtotal res = JSONObject.parseObject(datas.getFormValsJson(), PCAtotal.class); + //不一致项 存储集合 + List standUnqualifieds = new ArrayList<>(); + //评估结果存储集合 + List sarStandardComplianceProductAssesses = new ArrayList<>(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + res.getDataList().forEach(pcAdataList -> { + //标准一级别 + if (null != pcAdataList.getNoCompliance() && !"".equals(pcAdataList.getNoCompliance())) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(pcAdataList.getStandId()); + sarStandUnqualified.setStandSerialNumber(pcAdataList.getStandSort()+" "+pcAdataList.getStandNumber()+"-"+pcAdataList.getStandYear()); + sarStandUnqualified.setStandName(pcAdataList.getStandName()); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(res.getProjectName()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); +// sarStandUnqualified.setProductType("research"); + sarStandUnqualified.setReason(pcAdataList.getNoCompliance()); + sarStandUnqualified.setPlanCloseTime(pcAdataList.getCompletionTime()); + sarStandUnqualified.setProductLine(delegateTask.getVariable("productLines",String.class)); + sarStandUnqualified.setProductId(delegateTask.getVariable("stId",String.class)); + standUnqualifieds.add(sarStandUnqualified); + } + + if (null != pcAdataList.getZcNoCompliance() && !"".equals(pcAdataList.getZcNoCompliance())) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(pcAdataList.getStandId()); + sarStandUnqualified.setStandSerialNumber(pcAdataList.getStandSort()+" "+pcAdataList.getStandNumber()+"-"+pcAdataList.getStandYear()); + sarStandUnqualified.setStandName(pcAdataList.getStandName()); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setProductLine(delegateTask.getVariable("productLines",String.class)); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(res.getProjectName()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); + sarStandUnqualified.setReason(pcAdataList.getZcNoCompliance()); +// sarStandUnqualified.setProductType("product"); + sarStandUnqualified.setPlanCloseTime(pcAdataList.getZcCompletionTime()); + sarStandUnqualified.setProductId(delegateTask.getVariable("stId",String.class)); + standUnqualifieds.add(sarStandUnqualified); + } + + + //合估评规 结果! + pcAdataList.setTypeId(String.valueOf(uuid)); + SarStandardComplianceProductAssess sarStandard = new SarStandardComplianceProductAssess(); + sarStandard.setStandId(pcAdataList.getStandId()); + sarStandard.setStandName(pcAdataList.getStandName()); + sarStandard.setProductLineId(res.getProductLine()); + sarStandard.setProductId(res.getProjectNumber()); + sarStandard.setProductName(res.getProjectName()); + sarStandard.setStandNumber(pcAdataList.getStandSort()+" "+pcAdataList.getStandNumber()+"-"+pcAdataList.getStandYear()); + sarStandard.setStandType(pcAdataList.getStandType()); + sarStandard.setType(pcAdataList.getTypeId()); + //111 + sarStandard.setProductionCompletionTime(pcAdataList.getZcCompletionTime()); + sarStandard.setProductionCountermeasures(pcAdataList.getZcCountermeasures()); + sarStandard.setProductionCompliance(pcAdataList.getZcComplianceReasons()); + sarStandard.setProductionNonCompliance(pcAdataList.getZcNoCompliance()); +// sarStandard.setProductionImplementationTime(pcAdataList.getZccssrqgj()); + sarStandard.setResearchCompletionTime(pcAdataList.getCompletionTime()); + sarStandard.setResearchCountermeasures(pcAdataList.getCountermeasures()); + sarStandard.setResearchNonCompliance(pcAdataList.getNoCompliance()); + sarStandard.setResearchCompliance(pcAdataList.getComplianceReasons()); +// sarStandard.setResearchImplementationTime(pcAdataList.getXcxssrqgj()); + sarStandard.setClauseName(pcAdataList.getItemsName()); + sarStandard.setStandardItem(pcAdataList.getItemNum()); + sarStandard.setEvaluationTime(simpleDateFormat.format(new Date())); + sarStandard.setEvaluationPeopleName(pcAdataList.getWorkPeople()); + sarStandard.setEvaluationPeople(pcAdataList.getWorkPeople()); +// sarStandard.setResearchImplementationTime(pcAdataList.getXcxssrqgj()); +// simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("XCXSSRQ"))) +// sarStandard.setProductionImplementationTime(pcAdataList.getZccssrqgj()); + sarStandardComplianceProductAssesses.add(sarStandard); + + //遍历条目 + for (PCAchildren pcAchildren : pcAdataList.getChildren()) { + if (null != pcAchildren.getNoCompliance() && !"".equals(pcAchildren.getNoCompliance())) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(pcAchildren.getStandId()); + sarStandUnqualified.setStandSerialNumber(pcAdataList.getStandSort()+" "+pcAdataList.getStandNumber()+"-"+pcAdataList.getStandYear()); + sarStandUnqualified.setStandName(pcAdataList.getStandName()); + sarStandUnqualified.setItemsNum(pcAchildren.getItemsNum()); + sarStandUnqualified.setProductLine(delegateTask.getVariable("productLines",String.class)); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setItemsName(pcAchildren.getItemsName()); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(res.getProjectName()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); +// sarStandUnqualified.setProductType("research"); + sarStandUnqualified.setReason(pcAchildren.getNoCompliance()); + sarStandUnqualified.setPlanCloseTime(pcAchildren.getCompletionTime()); + sarStandUnqualified.setProductId(delegateTask.getVariable("stId",String.class)); + standUnqualifieds.add(sarStandUnqualified); + } + + if (null != pcAdataList.getZcNoCompliance() && !"".equals(pcAchildren.getZcNoCompliance())) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(pcAchildren.getStandId()); + sarStandUnqualified.setStandSerialNumber(pcAdataList.getStandSort()+" "+pcAdataList.getStandNumber()+"-"+pcAdataList.getStandYear()); + sarStandUnqualified.setStandName(pcAdataList.getStandName()); + sarStandUnqualified.setItemsNum(pcAchildren.getItemsNum()); + sarStandUnqualified.setProductLine(delegateTask.getVariable("productLines",String.class)); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setItemsName(pcAchildren.getItemsName()); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(res.getProjectName()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); + sarStandUnqualified.setReason(pcAchildren.getZcNoCompliance()); +// sarStandUnqualified.setProductType("product"); + sarStandUnqualified.setPlanCloseTime(pcAchildren.getZcCompletionTime()); + sarStandUnqualified.setProductId(delegateTask.getVariable("stId",String.class)); + standUnqualifieds.add(sarStandUnqualified); + } + //合估评规 结果! + pcAchildren.setTypeId(String.valueOf(uuid)); + SarStandardComplianceProductAssess sarStandardChild = new SarStandardComplianceProductAssess(); + sarStandardChild.setStandId(pcAdataList.getStandId()); + sarStandardChild.setStandType(pcAdataList.getStandType()); + sarStandardChild.setStandName(pcAdataList.getStandName()); + sarStandardChild.setStandNumber(pcAdataList.getStandSort()+" "+pcAdataList.getStandNumber()+"-"+pcAdataList.getStandYear()); + sarStandardChild.setType(pcAchildren.getTypeId()); + sarStandardChild.setProductLineId(res.getProductLine()); + sarStandardChild.setProductId(res.getProjectNumber()); + sarStandardChild.setProductName(res.getProjectName()); + sarStandardChild.setProductionCompletionTime(pcAchildren.getZcCompletionTime()); + sarStandardChild.setProductionCountermeasures(pcAchildren.getZcCountermeasures()); + sarStandardChild.setProductionCompliance(pcAchildren.getZcComplianceReasons()); + sarStandardChild.setProductionNonCompliance(pcAchildren.getZcNoCompliance()); + sarStandardChild.setResearchCompletionTime(pcAchildren.getCompletionTime()); + sarStandardChild.setResearchCountermeasures(pcAchildren.getCountermeasures()); + sarStandardChild.setResearchCompliance(pcAchildren.getComplianceReasons()); + sarStandardChild.setResearchNonCompliance(pcAchildren.getNoCompliance()); +// sarStandardChild.setResearchImplementationTime(pcAdataList.getXcxssrqgj()); +// sarStandardChild.setProductionImplementationTime(pcAdataList.getZccssrqgj()); + sarStandardChild.setClauseName(pcAchildren.getItemsName()); + sarStandardChild.setStandardItem(pcAchildren.getItemsNum()); + sarStandardChild.setEvaluationTime(simpleDateFormat.format(new Date())); + sarStandardChild.setEvaluationPeopleName(pcAchildren.getWorkPeople()); + sarStandardChild.setEvaluationPeople(pcAchildren.getWorkPeople()); + sarStandardComplianceProductAssesses.add(sarStandardChild); + } + }); + //数据入库!!!! + lawsUserInfoService.addsarStandUnqualified(standUnqualifieds); + lawsUserInfoService.addProduct(sarStandardComplianceProductAssesses); + delegateTask.setVariable("dlFlag","1"); + }else { + delegateTask.setVariable("dlFlag","2"); + nextUserList.add(String.valueOf(delegateTask.getVariable("sum"))); + } + //截止时间 流程描述 创建人 + 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 prcName=""; + if ("1".equals(object.get("dlFlag"))) { + prcName = delegateTask.getVariable("prcName", String.class); + }else { + prcName = delegateTask.getVariable("prcName", String.class); + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java new file mode 100644 index 00000000..71db3141 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAdlApproveBefore 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("xmpg2Step12?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java new file mode 100644 index 00000000..5c47b23b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java @@ -0,0 +1,102 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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.dto.DataList; +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAffLiableApproveAfter 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); + //后续节点所需要的数据 + List nextUserList=new ArrayList<>(); + if ("1".equals(object.getString("ffFlag"))) { + nextUserList.add(String.valueOf(delegateTask.getVariable("JGUserId"))); + delegateTask.setVariable("JGManager", delegateTask.getVariable("JGUserId")); + delegateTask.setVariable("ffFlag", "1"); + }else { + object.put("dataList",delegateTask.getVariable(object.getString("key"))); + nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("ffFlag", "2"); + } + //截止时间 流程描述 创建人 + 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 prcName=""; + if ("1".equals(object.getString("ffFlag"))){ + prcName = delegateTask.getVariable("prcName", String.class); + }else { + prcName = delegateTask.getVariable("prcName", String.class); + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java new file mode 100644 index 00000000..0f8fbd88 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAffLiableApproveBefore 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("xmpg2Step7?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java new file mode 100644 index 00000000..20ea5e83 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAffLiableDistirbuteBefore 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("xmpg2Step5?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java new file mode 100644 index 00000000..e67dc3d1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java @@ -0,0 +1,210 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +import com.alibaba.druid.support.json.JSONUtils; +import com.alibaba.fastjson.JSONArray; +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_main.datas.dto.DataList; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAchildren; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAdataList; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAtotal; +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.util.DealWithDate; +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.poi.util.LocaleID; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class PCAffLiableDistributeAfter 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); + PCAtotal pcAtotal = JSONObject.parseObject(datas.getFormValsJson(), PCAtotal.class); + //后续节点所需要的数据 + List nextUserList = new ArrayList<>(); + //猜测写代码 + //准备标准数据 + Map map = new HashMap<>(); + + Map mapData = new HashMap<>(); + pcAtotal.getDataList().forEach(pcAdataList -> { + List pcAchildren = new ArrayList<>(); + pcAdataList.setChildren(pcAchildren); + mapData.put(pcAdataList.getStandId(), pcAdataList); + }); + + //获取被分发的条款----人员多选修改 + pcAtotal.getChildren().forEach(o -> { + if (null!=o && null != o.getWorkPeopleId()) { + List ids = new ArrayList(Arrays.asList(o.getWorkPeopleId().split(","))); + List names = new ArrayList(Arrays.asList(o.getWorkPeople().split(","))); + int i = 0; + for (String id : ids) { + //重组数据 + PCAchildren middle = new PCAchildren(); + BeanUtils.copyProperties(o, middle); + middle.setWorkPeopleId(id); + middle.setWorkPeople(names.get(i)); + if (null != map.get(id)) { + map.get(id).getChildren().add(middle); + int flag = 0; + for (PCAdataList ps : map.get(id).getDataList()) { + if (ps.getStandId().equals(mapData.get(middle.getKey()).getStandId())) { + ps.getChildren().add(middle); + flag++; + } + } + if (flag == 0) { + map.get(id).getDataList().add(mapData.get(middle.getKey())); + mapData.get(middle.getKey()).getChildren().add(middle); + } + } else { + PCAtotal pcs = new PCAtotal(); + BeanUtils.copyProperties(pcAtotal, pcs); + //建立空的子 为了后面遍历 + List list = new ArrayList<>(); + List list1 = new ArrayList<>(); + list.add(middle); + list1.add(middle); + pcs.setChildren(list); + List list2 = new ArrayList<>(); + PCAdataList adataLists = new PCAdataList(); + BeanUtils.copyProperties(mapData.get(middle.getKey()), adataLists); +// adataLists.setWorkPeopleId(id); +// adataLists.setWorkPeople(names.get(i)); + adataLists.setChildren(list1); + list2.add(adataLists); + pcs.setDataList(list2); + map.put(id, pcs); + } + i++; + } + } + }); + mapData.keySet().forEach(s -> { + if (null != mapData.get(s).getWorkPeopleId()) { + List peos = new ArrayList<>(Arrays.asList(mapData.get(s).getWorkPeopleId().split(","))); + List names = new ArrayList<>(Arrays.asList(mapData.get(s).getWorkPeople().split(","))); + int count=0; + for (String i : peos) { + if (null==map.get(i)){ + PCAtotal pcs = new PCAtotal(); + BeanUtils.copyProperties(pcAtotal, pcs); + //建立空的子 为了后面遍历 + List list = new ArrayList<>(); + List list2 = new ArrayList<>(); + PCAdataList pcAdataList = new PCAdataList(); + BeanUtils.copyProperties(mapData.get(s),pcAdataList); + pcAdataList.setChildren(list); + pcAdataList.setWorkPeopleId(i); + pcAdataList.setWorkPeople(names.get(count)); + list2.add(pcAdataList); + pcs.setDataList(list2); + map.put(i,pcs); + }else { + boolean flag=true; + for (PCAdataList pc:map.get(i).getDataList()) { + if (pc.getStandId().equals(mapData.get(s).getStandId())){ + flag=false; + } + } + if (flag){ + List list = new ArrayList<>(); + PCAdataList pcAdataList = new PCAdataList(); + BeanUtils.copyProperties(mapData.get(s),pcAdataList); + pcAdataList.setChildren(list); + pcAdataList.setWorkPeopleId(i); + pcAdataList.setWorkPeople(names.get(count)); + map.get(i).getDataList().add(pcAdataList); + } + } + count++; + } + } + }); + map.forEach((s, pcAtotal1) -> { + if (null != s && !"".equals(s)) { + nextUserList.add(s); + } + }); + if (null!=delegateTask.getVariable("DisPeo")){ + delegateTask.getVariable("DisPeo",List.class).addAll(nextUserList); + }else { + delegateTask.setVariable("DisPeo",nextUserList); + } + delegateTask.setVariable("workPeoples", delegateTask.getVariable("DisPeo",List.class)); + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("prcName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + delegateTask.setVariable("GOGOGO","GO"); + // 存储当前节点意见 + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String userId : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(String.valueOf(DealWithDate.delWithTimePCA(map.get(userId)))); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setTaskId("GO"); + busProcessNewNext.setUserId(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java new file mode 100644 index 00000000..dab93d55 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.dto.DataList; +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAgcManagerApproveAfter 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); + //后续节点所需要的数据 + List nextUserList=new ArrayList<>(); + + if ("1".equals(object.getString("gcFlag"))) { + nextUserList.add(String.valueOf(delegateTask.getVariable("bzfgl"))); + delegateTask.setVariable("bzManager", delegateTask.getVariable("bzfgl")); + delegateTask.setVariable("gcFlag","1"); + }else { + object.put("dataList",delegateTask.getVariable(object.getString("key"))); + nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("gcFlag", "2"); + } + + //截止时间 流程描述 创建人 + 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 prcName=""; + if ("1".equals(object.getString("gcFlag"))) { + prcName = delegateTask.getVariable("prcName", String.class); + }else { + prcName = delegateTask.getVariable("prcName", String.class); + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java new file mode 100644 index 00000000..236ddf84 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAgcManagerApproveBefore 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("xmpg2Step9?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverAfter.java new file mode 100644 index 00000000..a6de470a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverAfter.java @@ -0,0 +1,94 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAgcManagerDeliverAfter 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); + //后续节点所需要的数据 + List nextUserList=new ArrayList<>(); + + if (null!=object.getString("jgUserId")){ + delegateTask.setVariable("JGUserId",object.getString("jgUserId")); + nextUserList.add(object.getString("jgUserId")); + }else { + throw new ActivitiException("请选择架构经理!"); + } + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("prcName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java new file mode 100644 index 00000000..c5e87173 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAgcManagerDeliverBefore 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("xmpg2Step3?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java new file mode 100644 index 00000000..f1719775 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.dto.DataList; +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.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.Date; +import java.util.List; + +public class PCAjgManagerApproveAfter 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); + //后续节点所需要的数据 + List nextUserList=new ArrayList<>(); + + if ("1".equals(object.getString("jgFlag"))) { + nextUserList.add(String.valueOf(delegateTask.getVariable("gcjl"))); + delegateTask.setVariable("gcManager", delegateTask.getVariable("gcjl")); + delegateTask.setVariable("jgFlag","1"); + }else { + object.put("dataList",delegateTask.getVariable(object.getString("key"))); + nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("jgFlag", "2"); + } + //截止时间 流程描述 创建人 + 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 prcName=""; + if ("1".equals(object.getString("jgFlag"))) { + prcName = delegateTask.getVariable("prcName", String.class); + }else { + prcName = delegateTask.getVariable("prcName", String.class); + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java new file mode 100644 index 00000000..f431edd5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAjgManagerApproveBefore 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("xmpg2Step8?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeAfter.java new file mode 100644 index 00000000..f65fc15e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeAfter.java @@ -0,0 +1,121 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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_main.datas.dto.PCA.PCAbreakdownList; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAdataList; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAtotal; +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.util.DealWithDate; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class PCAjgManagerDistributeAfter 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()); + PCAtotal pcAtotal=JSONObject.parseObject(datas.getFormValsJson(),PCAtotal.class); + delegateTask.setVariable("objectJson", object); + //后续节点所需要的数据 + List nextUserList=new ArrayList<>(); + Map map=new HashMap<>(); + //遍历下发任务!! + pcAtotal.getDataList().forEach(pcAdataList -> { + if (null==map.get(pcAdataList.getLiablePeopleId())){ + PCAtotal mis=new PCAtotal(); + BeanUtils.copyProperties(pcAtotal,mis); + List pcAdataLists=new ArrayList<>(); + pcAdataLists.add(pcAdataList); + List pcAbreakdownLists=new ArrayList<>(); + for (PCAbreakdownList ps:pcAtotal.getBreakdownList()) { + if (ps.getStandId().equals(pcAdataList.getStandId())){ + pcAbreakdownLists.add(ps); + } + } + mis.setBreakdownList(pcAbreakdownLists); + mis.setDataList(pcAdataLists); + map.put(pcAdataList.getLiablePeopleId(),mis); + nextUserList.add(pcAdataList.getLiablePeopleId()); + }else { + map.get(pcAdataList.getLiablePeopleId()).getDataList().add(pcAdataList); + List pcAbreakdownLists=new ArrayList<>(); + for (PCAbreakdownList ps:pcAtotal.getBreakdownList()) { + if (ps.getStandId().equals(pcAdataList.getStandId())){ + pcAbreakdownLists.add(ps); + } + } + map.get(pcAdataList.getLiablePeopleId()).getBreakdownList().addAll(pcAbreakdownLists); + } + }); + delegateTask.setVariable("liablePeopleList",nextUserList); + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("prcName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(DealWithDate.delWithTimePCA(map.get(userId))); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java new file mode 100644 index 00000000..8b3e7c7e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAjgManagerDistributeBefore 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("xmpg2Step4?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartAfter.java new file mode 100644 index 00000000..524310e0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartAfter.java @@ -0,0 +1,102 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAstartAfter 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); + delegateTask.setVariable("productLines",object.getString("productLine")); + //获取对象中的项目的数据 +// 获取标准,项目相关信息!预测在下发阶段需要分散 但是在非下发阶段要带着数据!所以此步骤只需要拿到预存的id就好了 + delegateTask.setVariable("ywjl",object.getString("serviceManager")); + delegateTask.setVariable("gcjl",object.getString("engineeringManager")); + delegateTask.setVariable("bzfgl",object.getString("statuteMinister")); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + //赋值标准法规工程师,工程经理,标准法规部部长 + nextUserList.add(object.getString("serviceManager")); + delegateTask.setVariable("BZUserId",object.getString("serviceManager")); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + delegateTask.setVariable("stId",object.getString("projectNumber")); + String prcName = object.getString("projectNumber")+"-合规评估"; + delegateTask.setVariable("prcName",prcName); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + // 存储当前节点意见 + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartBefore.java new file mode 100644 index 00000000..b230687e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAstartBefore.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PCAstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumAfter.java new file mode 100644 index 00000000..b69e672c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumAfter.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PCAsumAfter 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); + //后续节点所需要的数据 + List nextUserList=new ArrayList<>(); + nextUserList.add(delegateTask.getVariable("bzfgl",String.class)); + delegateTask.setVariable("DLUserId",delegateTask.getVariable("bzfgl",String.class)); + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("prcName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("6"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java new file mode 100644 index 00000000..d90cc0fa --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; + +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 PCAsumBefore 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("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAApproveAfter.java new file mode 100644 index 00000000..91c0b333 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAApproveAfter.java @@ -0,0 +1,109 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +public class RAApproveAfter 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 approvalOpinion = object.get("yzFlag") == null ? "" : object.get("yzFlag").toString(); + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + if ("1".equalsIgnoreCase(approvalOpinion)) { + delegateTask.setVariable("yzFlag", 1); + func1(delegateTask, busBean, object, "1", busProcessNameService); + + } else { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getJSONObject("roleForm").getString("passUser")); + busProcessNew.setPrcName("外部署名推荐批准-修改信息"); + busBean.save(busProcessNew); + func2(delegateTask, busBean, object, "0"); + delegateTask.setVariable("yzFlag", 2); + delegateTask.setVariable("statuteengineer2",delegateTask.getVariable("statuteengineer3",String.class)); + } + } + + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { +// one2.setPrcName("入库流程结束"); + one2.setOverTime(OVERTIME); + one2.setPrcType("16"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { +// one1.setPrcName("外部署名推荐批准-入库流程结束"); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAApproveBefore.java new file mode 100644 index 00000000..7d69c72f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAApproveBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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 RAApproveBefore 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("bzqdfbStep5?prcType=16"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAAuditAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAAuditAfter.java new file mode 100644 index 00000000..d8e2812a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAAuditAfter.java @@ -0,0 +1,102 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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.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; + +public class RAAuditAfter 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); + + List nextUserList = new ArrayList(); + + if(object.getString("signFlag").equals("1")) { + delegateTask.setVariable("bzFlag", 1); + delegateTask.setVariable("director",delegateTask.getVariable("director1",String.class)); + nextUserList.add(delegateTask.getVariable("director1",String.class)); + } else { + delegateTask.setVariable("bzFlag", 2); + delegateTask.setVariable("statuteengineer2",delegateTask.getVariable("statuteengineer3",String.class)); + nextUserList.add(delegateTask.getVariable("statuteengineer3",String.class)); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName=""; + if(object.getString("signFlag").equals("1")) { + prcName = "外部署名推荐批准-审核"; + }else { + prcName = "外部署名推荐批准-修改信息"; + } + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("16"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAAuditBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAAuditBefore.java new file mode 100644 index 00000000..045d2707 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAAuditBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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 RAAuditBefore 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("bzqdfbStep3?prcType=16"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAModifyInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAModifyInformationAfter.java new file mode 100644 index 00000000..11ff39b7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAModifyInformationAfter.java @@ -0,0 +1,87 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.ArrayList; +import java.util.List; + +public class RAModifyInformationAfter 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); + + List nextUserList = new ArrayList(); + + nextUserList.addAll(delegateTask.getVariable("leadershiplist",List.class)); + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + + String prcName = "外部署名推荐批准-署名领导会签"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("16"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAModifyInformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAModifyInformationBefore.java new file mode 100644 index 00000000..74ec459e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAModifyInformationBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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 RAModifyInformationBefore 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("bzqdfbStep1?prcType=16"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RASignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RASignAfter.java new file mode 100644 index 00000000..f4b1179e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RASignAfter.java @@ -0,0 +1,102 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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.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; + +public class RASignAfter 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); + + List nextUserList = new ArrayList(); + + if(object.getString("signFlag").equals("1")) { + delegateTask.setVariable("ldFlag", 1); + delegateTask.setVariable("statuteminister",delegateTask.getVariable("statuteminister1",String.class)); + nextUserList.add(delegateTask.getVariable("statuteminister1",String.class)); + } else { + delegateTask.setVariable("ldFlag", 2); + delegateTask.setVariable("statuteengineer2",delegateTask.getVariable("statuteengineer3",String.class)); + nextUserList.add(delegateTask.getVariable("statuteengineer3",String.class)); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName=""; + if(object.getString("signFlag").equals("1")) { + prcName = "外部署名推荐批准-审核"; + }else { + prcName = "外部署名推荐批准-修改信息"; + } + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("16"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RASignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RASignBefore.java new file mode 100644 index 00000000..6daf73b4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RASignBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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 RASignBefore 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("bzqdfbStep2?prcType=16"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAValidationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAValidationAfter.java new file mode 100644 index 00000000..15647d60 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAValidationAfter.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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.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; + +public class RAValidationAfter 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); + + List nextUserList = new ArrayList(); + + if(object.getString("signFlag").equals("1")) { + delegateTask.setVariable("zrFlag", 1); + delegateTask.setVariable("dean",delegateTask.getVariable("dean1",String.class)); + nextUserList.add(delegateTask.getVariable("dean1",String.class)); + } else { + delegateTask.setVariable("zrFlag", 2); + delegateTask.setVariable("statuteengineer2",delegateTask.getVariable("statuteengineer3",String.class)); + nextUserList.add(delegateTask.getVariable("statuteengineer3",String.class)); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + + String prcName; + if(object.getString("signFlag").equals("1")) { + prcName = "外部署名推荐批准-批准"; + }else { + prcName = "外部署名推荐批准-修改信息"; + } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("16"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAValidationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAValidationBefore.java new file mode 100644 index 00000000..45a75c36 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAValidationBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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 RAValidationBefore 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("bzqdfbStep4?prcType=16"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAstartAfter.java new file mode 100644 index 00000000..eb955ceb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAstartAfter.java @@ -0,0 +1,102 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +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.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 RAstartAfter 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); + + + List nextUserList = new ArrayList(); + String ids= object.getJSONObject("roleForm").getString("dockUser"); + if(ids.contains(",")){ + nextUserList=new ArrayList<>(Arrays.asList(ids.split(","))); + }else { + nextUserList.add(ids); + } + // 配置多实例 + delegateTask.setVariable("leadershiplist",nextUserList); + +// 赋值 + delegateTask.setVariable("leadership1", object.getJSONObject("roleForm").getString("dockUser")); + delegateTask.setVariable("director1", object.getJSONObject("roleForm").getString("directorUser")); + delegateTask.setVariable("statuteminister1", object.getJSONObject("roleForm").getString("ministerUser")); + delegateTask.setVariable("dean1", object.getJSONObject("roleForm").getString("president")); + delegateTask.setVariable("statuteengineer3", object.getJSONObject("roleForm").getString("passUser")); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + + String prcName = "外部署名推荐批准-署名领导会签"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + + if(one1!=null){ + one1.setPrcType("16"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + 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); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAstartBefore.java new file mode 100644 index 00000000..f2afedf7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/RecommendedApproval/RAstartBefore.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.listener.RecommendedApproval; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class RAstartBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } + } + +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartAfter.java new file mode 100644 index 00000000..97ebe1e8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartAfter.java @@ -0,0 +1,108 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * chargeVerify - 入会人员所在部门负责人审核 + */ +public class AutoStartAfter 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); + List nextUserList = new ArrayList(); + + String prcName ="标准化活动会后流程-"; + if(StringUtils.isNotBlank(object.getString("member"))) { + prcName = prcName + "参会人上传会议资料,填写标准及议题"; + nextUserList.add(object.getString("member")); + prcName = prcName + "参会人上传会议资料,填写标准及议题"; + if ("1".equals(object.getString("auto"))) { + delegateTask.setVariable("member", object.getString("member")); + nextUserList.add(object.getString("member")); + } else { + if (StringUtils.isNotBlank(object.getString("memberId"))) { + delegateTask.setVariable("member", object.getString("memberId")); + nextUserList.add(object.getString("memberId")); + } + } + } + + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("22"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartBefore.java new file mode 100644 index 00000000..cdf74110 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/AutoStartBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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 AutoStartBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + +// String link = "bzhhStep?prcType=22"; +// 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(link); +// one1.setTaskInfo(delegateTask.getName()); +// oaService.sendTodoMq(one1); +// } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyAfter.java new file mode 100644 index 00000000..c392f361 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyAfter.java @@ -0,0 +1,130 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * chargeVerify - 入会人员所在部门负责人审核 + */ +public class DirectorVerifyAfter 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); + List nextUserList = new ArrayList(); + + String prcName ="标准化活动会后流程-"; + if("1".equals(object.getString("passFlag"))){ + delegateTask.setVariable("pass",1); + prcName = prcName + "流程结束"; + + }else{ + delegateTask.setVariable("pass",0); + prcName = prcName + "参会人上传会议资料,填写标准及议题"; + if(StringUtils.isNotBlank(object.getString("member"))) { + nextUserList.add(object.getString("member")); + delegateTask.setVariable("member", object.getString("member")); + } + } + + +// 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("22"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setOverTime(OVERTIME); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + }else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyBefore.java new file mode 100644 index 00000000..36da681e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/DirectorVerifyBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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 DirectorVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzhhStep?prcType=22"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoAfter.java new file mode 100644 index 00000000..5ac6b46a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoAfter.java @@ -0,0 +1,95 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * chargeVerify - 入会人员所在部门负责人审核 + */ +public class MemberUploadInfoAfter 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); + List nextUserList = new ArrayList(); + + String prcName ="标准化活动会后流程-"; + if(StringUtils.isNotBlank(object.getString("director"))) { + prcName = prcName + "标准法规业务主管批准"; + nextUserList.add(object.getString("director")); + delegateTask.setVariable("director", object.getString("director")); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("22"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoBefore.java new file mode 100644 index 00000000..c9647980 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardAfterMeetProcess/MemberUploadInfoBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardAfterMeetProcess; + +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 MemberUploadInfoBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzhhStep?prcType=22"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java new file mode 100644 index 00000000..a6dbc9c4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyAfter.java @@ -0,0 +1,164 @@ +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.tmsps.fk.common.util.JsonUtil; +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.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.http.ResponseMessage; +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.*; + +//新征求意见流程!!!!! +public class StartSurveyAfter implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + //整备数据 + //责任部门对接人集合==》 + if (object.getString("dockUserList").contains(",")){ + nextUserList.addAll(new ArrayList<>(Arrays.asList(object.getString("dockUserList").split(",")))); + }else { + nextUserList.add(object.getString("dockUserList")); + } + delegateTask.setVariable("zrUserIdList",nextUserList); + //存标准法规部部长id + delegateTask.setVariable("bzLeaderId",object.getString("ministerUser")); + //技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任审定 + delegateTask.setVariable("directorUser",object.getString("directorUser")); + //工程总院院长 + delegateTask.setVariable("gcLeaderFirst",object.getString("presidentUser")); + + //为新生成的公开征求意见建立id + String uniques= String.valueOf(UUID.randomUUID()); + object.put("uniques",uniques); + delegateTask.setVariable("uniqueMark",uniques); + //截止时间 流程描述 创建人 + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + String standName = object.getString("cid"); + delegateTask.setVariable("userName",username); + delegateTask.setVariable("user",user); + delegateTask.setVariable("cid",standName); + String prcName = standName+"-征求意见"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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.setUserId(delegateTask.getAssignee()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + + busBean.save(busProcessNew); + + if(nextUserList != null && !nextUserList.isEmpty()){ + int i=0; + for(String nextUser : nextUserList){ + object.put("onlyKey", i); + 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); + i++; + } + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("责任对接人选择责任人"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("dockUser",String.class)); + busBean.save(busProcessNewNext); + } + Date time=new Date(); + String dateTime=object.getString("endTime"); + dateTime = dateTime.replace("Z", " UTC"); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z"); + SimpleDateFormat defaultFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + time= format.parse(dateTime); + String result = defaultFormat.format(time); + System.out.println(result); + } catch (Exception e) { + e.printStackTrace(); + } + JSONArray res=new JSONArray(); + JSONArray object1=JSONArray.parseArray(object.getString("filesId")); +// if(null!=object1 && object1.size()>0) { + object1.forEach(o -> { + JSONObject object2 = JSONObject.parseObject(o.toString()); + object2.put("standFileClassify", object.getString("textType")); + res.add(object2); + }); +// } + //发起公开征求意见 + SarPublicIdea sarPublicIdea = SarPublicIdea.builder() + .id(UUID.randomUUID().toString()) + .category("标准") + .cid(object.getString("cid")) + .cname(object.getString("cname")) + .startTime(new Date()) + .endTime(time) + .standType(object.getString("standType")) + .standId(object.getString("standId")) + .uniques(uniques) + .files(JsonUtil.toJson(res)) + .filesName(object.getString("filesName")) + .wkfiles(object.getJSONArray("modelList").toJSONString()) + .build(); + delegateTask.setVariable("YJID",sarPublicIdea.getId()); + ResponseMessage result = lawsUserInfoService.addSarPublicIdea(sarPublicIdea); + if(!result.isOk()){ + throw new ActivitiException("发起公开征求意见失败"); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyBefore.java new file mode 100644 index 00000000..a38b9fd7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/StartSurveyBefore.java @@ -0,0 +1,27 @@ +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.IBusProcessNewService; +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 StartSurveyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// one1.setTaskInfo(delegateTask.getName()); +// busBean.saveOrUpdate(one1); +// } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java new file mode 100644 index 00000000..ebd30f8f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10After.java @@ -0,0 +1,172 @@ +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_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.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 org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + +//新征求意见流程!!!!! +public class Step10After implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + + String prcName =""; + if ("0".equals(object.getString("presidentFlag"))){ + delegateTask.setVariable("presidentFlag","0"); + //加一个入库逻辑解决一些 + List sarPublicIdeaAlls=new ArrayList<>(); + + /** + * 征求意见库添加的所有意见信息 + * date 2022-07-29 + */ + List sarPublicIdeaAlls1 = lawsUserInfoService.getAllStandById(delegateTask.getVariable("YJID", String.class)); + + /** + * 征求意见流程中添加的所有意见信息 + * date 2022-07-29 + */ + JSONArray jsonArray=JSONArray.parseArray(object.getString("info")); + if (!jsonArray.isEmpty()){ + jsonArray.forEach(o -> { + JSONObject object1=JSONObject.parseObject(o.toString()); + SarPublicIdeaAll sarPublicIdeaAll = new SarPublicIdeaAll(); + if (null!=object1.get("id")){ + sarPublicIdeaAll.setId(object1.getString("id")); + }else { + sarPublicIdeaAll.setId(String.valueOf(UUID.randomUUID())); + } + sarPublicIdeaAll.setChapterName(object1.getString("chapterName")); + sarPublicIdeaAll.setOldText(object1.getString("oldText")); + sarPublicIdeaAll.setNewText(object1.getString("newText")); + sarPublicIdeaAll.setReason(object1.getString("reason")); + sarPublicIdeaAll.setUserId(object1.getString("responUser")); + sarPublicIdeaAll.setPartCode(object1.getString("chapterNumber")); + sarPublicIdeaAll.setCid(object.getString("cid")); + sarPublicIdeaAll.setUserName(object1.getString("responUserName")); + sarPublicIdeaAll.setUserId(object1.getString("responUser")); + if ("1".equals(object1.getString("source"))) { + sarPublicIdeaAll.setWkFlag("1"); + } + sarPublicIdeaAll.setSourceType(object1.getString("sourceType")); + sarPublicIdeaAll.setIdeaId(delegateTask.getVariable("YJID", String.class)); + sarPublicIdeaAll.setState(object1.getString("state")); + sarPublicIdeaAll.setCause(object1.getString("cause")); + sarPublicIdeaAlls.add(sarPublicIdeaAll); + }); + } + if(!sarPublicIdeaAlls1.isEmpty()){ + List collect = sarPublicIdeaAlls1.stream().map(publicIdeaAll -> { + SarPublicIdeaAll standards1 = new SarPublicIdeaAll(); + standards1.setId(publicIdeaAll.getId()); + standards1.setState("1"); + standards1.setSourceType("公开"); + return standards1; + }).collect(Collectors.toList()); + if(!collect.isEmpty()){ + sarPublicIdeaAlls.addAll(collect); + } + } + if(!sarPublicIdeaAlls.isEmpty()){ + lawsUserInfoService.savePublicIdeaBatch(sarPublicIdeaAlls); + } + prcName=delegateTask.getVariable("cid")+"-征求意见"; + }else { + delegateTask.setVariable("presidentFlag","1"); + nextUserList.add(delegateTask.getVariable("bzfgIdSum",String.class)); + prcName =delegateTask.getVariable("cid")+"-征求意见"; + } + nextUserList.add(object.getString("presidentUser")); + delegateTask.setVariable("presidentUser",object.getString("presidentUser")); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("user",String.class); + String username = delegateTask.getVariable("userName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + if ("0".equals(object.getString("presidentFlag"))){ + one1.setOverTime(OVERTIME); + } + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + }else { + 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.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10Before.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10Before.java new file mode 100644 index 00000000..6508388a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step10Before.java @@ -0,0 +1,34 @@ +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.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 Step10Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep9?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java new file mode 100644 index 00000000..e452af39 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1After.java @@ -0,0 +1,125 @@ +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.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.business_slrs.dao.SarPublicIdea; +import com.ydw.bat.wkflow.util.SpringContextUtil; +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 java.text.SimpleDateFormat; +import java.util.*; + +//新征求意见流程!!!!! +public class Step1After implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + //整备数据 + if (object.getString("responUserList").contains(",")){ + nextUserList.addAll(new ArrayList<>(Arrays.asList(object.getString("responUserList").split(",")))); + }else { + nextUserList.add(object.getString("responUserList")); + } + delegateTask.setVariable("zrIdList",nextUserList); + if (null==delegateTask.getVariable("zrList"+object.getString("onlyKey"))){ + delegateTask.setVariable("zrList"+object.getString("onlyKey"),nextUserList); + }else { + List strings=delegateTask.getVariable("zrList"+object.getString("onlyKey"),List.class); + strings.addAll(nextUserList); + delegateTask.setVariable("zrList"+object.getString("onlyKey"),strings); + } + + if (null==delegateTask.getVariable("Step6")){ + delegateTask.setVariable("Step6",nextUserList); + }else { + List strings=delegateTask.getVariable("Step6",List.class); + List middle=new ArrayList<>(); + nextUserList.forEach(s -> { + if (!strings.contains(s)){ + middle.add(s); + } + }); + delegateTask.getVariable("Step6",List.class).addAll(middle); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("user",String.class); + String username = delegateTask.getVariable("userName",String.class); + String prcName = delegateTask.getVariable("cid")+"-征求意见"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("意见反馈"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("dockUser",String.class)); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1Before.java new file mode 100644 index 00000000..73d93682 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step1Before.java @@ -0,0 +1,36 @@ +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.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 Step1Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep2?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java new file mode 100644 index 00000000..636fba4d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2After.java @@ -0,0 +1,115 @@ +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_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.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 org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +//新征求意见流程!!!!! +public class Step2After implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + //整备数据 + if (null==delegateTask.getVariable("count"+object.getString("onlyKey"))){ + delegateTask.setVariable("count"+object.getString("onlyKey"),1); + }else { + delegateTask.setVariable("count"+object.getString("onlyKey"),delegateTask.getVariable("count"+object.getString("onlyKey"),Integer.class)+1); + } + + if (delegateTask.getVariable("count"+object.getString("onlyKey"),Integer.class) == delegateTask.getVariable("zrList"+object.getString("onlyKey"),List.class).size()){ + //对数据进行合并归属 + QueryWrapper wrapper=new QueryWrapper<>(); + wrapper.eq("TASK_ID",object.getString("onlyKey")); + wrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + List busProcessNews= busBean.list(wrapper); + + if (!busProcessNews.isEmpty()){ + System.out.println(busProcessNews); + busProcessNews.forEach(busProcessNew -> { + JSONObject jsonObject=JSONObject.parseObject(busProcessNew.getMesg()); + JSONArray jsonArray=jsonObject.getJSONArray("info"); + object.getJSONArray("info").addAll(jsonArray); + }); + } + } + + nextUserList.add(delegateTask.getVariable("zrUserId",String.class)); + delegateTask.setVariable("zrUserId1",delegateTask.getVariable("zrUserId")); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("user",String.class); + String username = delegateTask.getVariable("userName",String.class); + String prcName = delegateTask.getVariable("cid")+"-征求意见"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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"); + if (delegateTask.getVariable("count"+object.getString("onlyKey"),Integer.class) < delegateTask.getVariable("zrList"+object.getString("onlyKey"),List.class).size()){ + busProcessNewNext.setTaskId(object.getString("onlyKey")); + } + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2Before.java new file mode 100644 index 00000000..48b2290b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step2Before.java @@ -0,0 +1,36 @@ +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.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 Step2Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep3?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step3After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step3After.java new file mode 100644 index 00000000..3eec053d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step3After.java @@ -0,0 +1,91 @@ +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +//新征求意见流程!!!!! +public class Step3After implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + //整备数据 + + nextUserList.add(object.getString("spId")); + delegateTask.setVariable("spId",object.getString("spId")); + + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("user",String.class); + String username = delegateTask.getVariable("userName",String.class); + String prcName = delegateTask.getVariable("cid")+"-征求意见"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + object.put("SKS",delegateTask.getAssignee()); + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step3Before.java new file mode 100644 index 00000000..e6c9c5c7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step3Before.java @@ -0,0 +1,35 @@ +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.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 Step3Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep4?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java new file mode 100644 index 00000000..bd09e2f7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4After.java @@ -0,0 +1,97 @@ +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +//新征求意见流程!!!!! +public class Step4After implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + String prcName = ""; + //整备数据 + if ("0".equals(object.getString("spFlag"))) { + nextUserList.add(object.getString("bzfgId")); + delegateTask.setVariable("bzfgId", object.getString("bzfgId")); + prcName = delegateTask.getVariable("cid")+"-征求意见"; + delegateTask.setVariable("spFlag","0"); + }else { + delegateTask.setVariable("zrUserId1",object.getString("SKS")); + nextUserList.add(object.getString("SKS")); + prcName = delegateTask.getVariable("cid")+"-征求意见"; + delegateTask.setVariable("spFlag","1"); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("user",String.class); + String username = delegateTask.getVariable("userName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4Before.java new file mode 100644 index 00000000..3df9c474 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step4Before.java @@ -0,0 +1,35 @@ +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.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 Step4Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep4-1?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java new file mode 100644 index 00000000..185180c9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step5After.java @@ -0,0 +1,125 @@ +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_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.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 org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +//新征求意见流程!!!!! +public class Step5After implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + String prcName = ""; + + //整备数据 + if ("0".equals(object.getString("bzFlag"))) { + //存储了一个计数器 + if (null==delegateTask.getVariable("count2")){ + delegateTask.setVariable("count2",1); + }else { + delegateTask.setVariable("count2",delegateTask.getVariable("count2",Integer.class)+1); + } + if (delegateTask.getVariable("count2",Integer.class)==delegateTask.getVariable("zrUserIdList",List.class).size()){ + //数据合并 + QueryWrapper wrapper=new QueryWrapper<>(); + wrapper.eq("TASK_ID","SUM"); + wrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + List busProcessNews= busBean.list(wrapper); + + if (!busProcessNews.isEmpty()){ + busProcessNews.forEach(busProcessNew -> { + JSONObject jsonObject=JSONObject.parseObject(busProcessNew.getMesg()); + if ("0".equals(jsonObject.getString("bzFlag"))) { + JSONArray jsonArray = jsonObject.getJSONArray("info"); + object.getJSONArray("info").addAll(jsonArray); + } + }); + } + + } + nextUserList.add(delegateTask.getVariable("user",String.class)); + delegateTask.setVariable("bzfgIdSum",delegateTask.getVariable("user",String.class)); + delegateTask.setVariable("bzFlag","0"); + prcName = delegateTask.getVariable("cid")+"-征求意见"; + }else { + delegateTask.setVariable("zrUserId1",object.getString("SKS")); + nextUserList.add(object.getString("SKS")); + prcName = delegateTask.getVariable("cid")+"-征求意见"; + delegateTask.setVariable("bzFlag","1"); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("user",String.class); + String username = delegateTask.getVariable("userName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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"); + if ("0".equals(object.getString("bzFlag")) && delegateTask.getVariable("count2",Integer.class) list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep4-2?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step6After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step6After.java new file mode 100644 index 00000000..70ae490c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step6After.java @@ -0,0 +1,91 @@ +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.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.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; +import java.util.UUID; + +//新征求意见流程!!!!! +public class Step6After implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + String prcName =delegateTask.getVariable("cid")+"-征求意见"; + + //整备数据 + nextUserList.addAll(delegateTask.getVariable("Step6",List.class)); + delegateTask.setVariable("responUserList",nextUserList); + delegateTask.setVariable("hqMark",0); + delegateTask.setVariable("bdMark",0); + delegateTask.setVariable("hqCount",null); + delegateTask.setVariable("bdCount",null); + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("user",String.class); + String username = delegateTask.getVariable("userName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step6Before.java new file mode 100644 index 00000000..eefbf769 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step6Before.java @@ -0,0 +1,35 @@ +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.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 Step6Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep5?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java new file mode 100644 index 00000000..f978437d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step7After.java @@ -0,0 +1,130 @@ +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.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.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; +import java.util.UUID; + +//新征求意见流程!!!!! +public class Step7After implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + + String prcName =delegateTask.getVariable("cid")+"-征求意见"; + + if (null==delegateTask.getVariable("hqCount")){ + delegateTask.setVariable("hqCount",1); + }else { + delegateTask.setVariable("hqCount",delegateTask.getVariable("hqCount",Integer.class)+1); + } + + if (null==delegateTask.getVariable("user7")){ + List user=new ArrayList<>(); + user.add(object.getString("user7")); + delegateTask.setVariable("user7",user); + }else { + if (!delegateTask.getVariable("user7",List.class).contains(object.getString("user7"))) + delegateTask.getVariable("user7",List.class).add(object.getString("user7")); + } + //整备数据 + if ("0".equals(object.getString("hqFlag"))) { + delegateTask.setVariable("hqMark",delegateTask.getVariable("hqMark",Integer.class)); + nextUserList.add(delegateTask.getVariable("bzLeaderId",String.class)); + delegateTask.setVariable("hqFlag", "0"); + }else { + delegateTask.setVariable("hqMark",delegateTask.getVariable("hqMark",Integer.class)+1); + nextUserList.add(delegateTask.getVariable("bzfgIdSum",String.class)); + delegateTask.setVariable("hqFlag", "1"); + } + if (delegateTask.getVariable("hqCount",Integer.class)==delegateTask.getVariable("responUserList",List.class).size()) { + if (0 == delegateTask.getVariable("hqMark", Integer.class)) { + prcName =delegateTask.getVariable("cid")+"-征求意见"; + List strings=delegateTask.getVariable("user7",List.class); + strings.forEach(s -> { + if (null!=s &&!nextUserList.contains(s)){ + nextUserList.add(s); + } + }); + delegateTask.setVariable("hqFlag","0"); + } else { + prcName =delegateTask.getVariable("cid")+"-征求意见"; + delegateTask.setVariable("hqFlag","1"); + } + } + + delegateTask.setVariable("userList",nextUserList); + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("user",String.class); + String username = delegateTask.getVariable("userName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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"); + if ("0".equals(object.getString("hqFlag")) && delegateTask.getVariable("hqCount",Integer.class) list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep6?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java new file mode 100644 index 00000000..4271c1cf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step8After.java @@ -0,0 +1,118 @@ +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.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.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 Step8After implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + 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); + + List nextUserList = new ArrayList(); + + String prcName =delegateTask.getVariable("cid")+"-征求意见"; + + List user1=new ArrayList<>(); + delegateTask.setVariable("user7",user1); + + if (null==delegateTask.getVariable("bdCount")){ + delegateTask.setVariable("bdCount",1); + }else { + delegateTask.setVariable("bdCount",delegateTask.getVariable("bdCount",Integer.class)+1); + } + + //整备数据 + if ("0".equals(object.getString("bdFlag"))) { + delegateTask.setVariable("bdMark",delegateTask.getVariable("bdMark",Integer.class)); + List strings=new ArrayList<>(Arrays.asList(delegateTask.getVariable("directorUser",String.class).split(","))); + nextUserList.addAll(strings); + delegateTask.setVariable("hqFlag", "0"); + }else { + delegateTask.setVariable("bdMark",delegateTask.getVariable("bdMark",Integer.class)+1); + nextUserList.add(delegateTask.getVariable("bzfgIdSum",String.class)); + delegateTask.setVariable("hqFlag", "1"); + } + if (delegateTask.getVariable("bdCount",Integer.class)==delegateTask.getVariable("userList",List.class).size()) { + if (0 == delegateTask.getVariable("bdMark", Integer.class)) { + prcName =delegateTask.getVariable("cid")+"-征求意见"; + delegateTask.setVariable("bdFlag","0"); + } else { + prcName =delegateTask.getVariable("cid")+"-征求意见"; + delegateTask.setVariable("bdFlag","1"); + } + } + delegateTask.setVariable("directorUserList",nextUserList); + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("user",String.class); + String username = delegateTask.getVariable("userName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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()); + if ("0".equals(object.getString("bdFlag")) && delegateTask.getVariable("bdCount",Integer.class) list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep7?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java new file mode 100644 index 00000000..81a4896c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9After.java @@ -0,0 +1,114 @@ +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.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.util.SpringContextUtil; +import io.swagger.models.auth.In; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.List; + +//新征求意见流程!!!!! +public class Step9After 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); + + List nextUserList = new ArrayList(); + + String prcName = ""; + //设置一个计数器 + if (null != delegateTask.getVariable("9Counnt", Integer.class)) { + delegateTask.setVariable("9Counnt", delegateTask.getVariable("9Counnt", Integer.class) + 1); + } else { + delegateTask.setVariable("9Counnt", 1); + } + + if ("0".equals(object.getString("directorFlag"))) { + delegateTask.setVariable("directorFlag", "0"); + if (delegateTask.getVariable("9Counnt", Integer.class) == 1) { + delegateTask.setVariable("9Mark", "true"); + delegateTask.setVariable("presidentUser", object.getString("presidentUser")); + } else if ("true" == delegateTask.getVariable("7Mark", String.class)) { + delegateTask.setVariable("9Mark", "true"); + } + } else { + delegateTask.setVariable("directorFlag", "1"); + delegateTask.setVariable("9Mark", "false"); + } + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("user", String.class); + String username = delegateTask.getVariable("userName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (delegateTask.getVariable("9Counnt", Integer.class) >= delegateTask.getVariable("directorUserList",List.class).size()) { + if ("true".equals(delegateTask.getVariable("9Mark"))){ + delegateTask.setVariable("directorFlag", "0"); + prcName = delegateTask.getVariable("cid") + "-征求意见"; + nextUserList.add(object.getString("presidentUser")); + delegateTask.setVariable("presidentUser", object.getString("presidentUser")); + }else { + delegateTask.setVariable("9Counnt", 0); + delegateTask.setVariable("directorFlag", "1"); + nextUserList.add(delegateTask.getVariable("bzfgIdSum", String.class)); + prcName = delegateTask.getVariable("cid") + "-征求意见"; + } + 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); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9Before.java new file mode 100644 index 00000000..d053a97f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentNewProcess/Step9Before.java @@ -0,0 +1,34 @@ +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.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 Step9Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep8?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignAfter.java new file mode 100644 index 00000000..9de2dec2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignAfter.java @@ -0,0 +1,113 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class DirectorSignAfter 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); + + List nextUserList = new ArrayList(); + + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + if ("1".equals(object.getString("actionFlag"))) { + delegateTask.setVariable("actionFlag", 1); + } + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + String standName = delegateTask.getVariable("cid",String.class); + String prcName = standName+"标准-标准征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + 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()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } else { + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("工程研究总院院长批准"); + busProcessNewNext.setUserId(delegateTask.getVariable("presidentUser", String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("标准法规工程师调研汇总"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser", String.class)); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java new file mode 100644 index 00000000..62f8b047 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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 DirectorSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep8?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalAfter.java new file mode 100644 index 00000000..1060ff9a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalAfter.java @@ -0,0 +1,108 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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.util.SpringContextUtil; +import io.swagger.models.auth.In; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class DockingApprovalAfter 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); + + List nextUserList = null; + if ("1".equals(object.getString("actionFlag"))) { + delegateTask.setVariable("actionFlag", 1); + } else { + delegateTask.setVariable("actionFlag", 0); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + String standName = delegateTask.getVariable("cid",String.class); + String prcName = standName+"标准-标准征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + + Integer responUserCompletedCount=delegateTask.getVariable("responUserCompletedCount",Integer.class); + if(responUserCompletedCount==null)responUserCompletedCount=0; + responUserCompletedCount++; + delegateTask.setVariable("responUserCompletedCount",responUserCompletedCount); + + Collection responUserList=delegateTask.getVariable("zqazqazqaUserList",Collection.class); + + if(responUserCompletedCount>=responUserList.size()){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("标准法规工程师调研汇总"); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("责任人上传调研结果"); + busProcessNewNext.setUserId(object.getString("responUser")); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java new file mode 100644 index 00000000..1bc586af --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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 DockingApprovalBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep4?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignAfter.java new file mode 100644 index 00000000..15dfa228 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignAfter.java @@ -0,0 +1,147 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class MinisterAndDockerSignAfter 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); + + List nextUserList = new ArrayList(); + + String standName = delegateTask.getVariable("cid",String.class); + String prcName = standName+"标准-标准征求意见流程"; + + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + if("1".equals(object.getString("actionFlag"))){ + delegateTask.setVariable("actionFlag",1); + + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("标准法规工程师汇总填写处理意见"); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser", String.class)); + busProcessNewNext.setPrcName(prcName); + QueryWrapper qw = new QueryWrapper(); + qw.isNull("task_id"); + List list = busBean.list(qw); + if(list == null || list.isEmpty()){ + busBean.save(busProcessNewNext); + } + } + } + + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + Integer count=delegateTask.getVariable("task3OKCount",Integer.class); + List userList=delegateTask.getVariable("userList",List.class); + if(count==null)count=0; + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + count++; + delegateTask.setVariable("task3OKCount",count); + } + if(count>=userList.size()){ + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + 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); + } + }else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("技术委员会相关专委会主任/研究总院职能部门领导,技术管理中心主任审定"); + busProcessNewNext.setUserId(delegateTask.getVariable("directorUser", String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setTaskInfo("标准法规工程师调研汇总"); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser", String.class)); + busBean.save(busProcessNewNext); + } + } + + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java new file mode 100644 index 00000000..798bfdf9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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 MinisterAndDockerSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo("标准法规部部长 "+"责任部门对接人 审批"); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep7?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignAfter.java new file mode 100644 index 00000000..832bcf82 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignAfter.java @@ -0,0 +1,91 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PresidentSignAfter 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); + + List nextUserList = new ArrayList(); + if ("1".equals(object.getString("actionFlag"))) { + delegateTask.setVariable("actionFlag", 1); + } else { + delegateTask.setVariable("actionFlag", 0); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + String standName = delegateTask.getVariable("cid",String.class); + String prcName = standName+"标准-标准征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + if (!"1".equals(object.getString("actionFlag"))) { + one1.setOverTime(OVERTIME); + } + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + } else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("标准法规工程师调研汇总"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser", String.class)); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java new file mode 100644 index 00000000..74ac1c46 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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 PresidentSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep9?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignAfter.java new file mode 100644 index 00000000..68a89d0b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignAfter.java @@ -0,0 +1,143 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ResponUserSignAfter 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); + + List nextUserList = new ArrayList(); + List userList=delegateTask.getVariable("userList",List.class); + + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + if("1".equals(object.getString("actionFlag"))){ + delegateTask.setVariable("actionFlag",1); + } + } + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + nextUserList=userList; + } + + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + String standName = delegateTask.getVariable("cid",String.class); + String prcName = standName+"标准-标准征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + Integer count=delegateTask.getVariable("task2OKCount",Integer.class); + Integer gonum=0; + if (null!=delegateTask.getVariable("task2Count",Integer.class)){ + gonum=delegateTask.getVariable("task2Count",Integer.class)+1; + delegateTask.setVariable("task2Count",gonum); + } + List responUserList=delegateTask.getVariable("responUserList",List.class); + + + if(count==null)count=0; + + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + + + count++; + delegateTask.setVariable("task2OKCount",count); + } + if (gonum==responUserList.size()) { + if (count >= responUserList.size()) { + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + 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); + } + } + } else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("标准法规工程师汇总填写处理意见"); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser", String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + }else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class)); + busBean.save(busProcessNewNext); + } + } + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java new file mode 100644 index 00000000..f242e70e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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 ResponUserSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep6?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserAfter.java new file mode 100644 index 00000000..5808d92e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserAfter.java @@ -0,0 +1,167 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +import com.alibaba.fastjson.JSON; +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class SelectResponsibleUserAfter 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); + + List responUserList1 = delegateTask.getVariable("responUserList", List.class); + if(responUserList1==null)responUserList1=new ArrayList<>(); + List responUserListName1 = delegateTask.getVariable("responUserListName", List.class); + if(responUserListName1==null)responUserListName1=new ArrayList<>(); + + List dockUserList=delegateTask.getVariable("dockUserList",List.class); + + List nextUserList; + + String userListString=object.getString("responUserList"); + String userListStringName=object.getString("responUserListName"); + + List responUserList = Arrays.asList(userListString.split(",")); + for (int i = 0; i < responUserList.size(); i++) { + responUserList1.add(responUserList.get(i).trim()); + } + + List responUserListName= Arrays.asList(userListStringName.split(",")); + for (String name : responUserListName) { + responUserListName1.add(name.trim()); + } + nextUserList=responUserList1; + + + JSONArray userListJson= JSON.parseArray(delegateTask.getVariable("responUserListInfo",String.class)); + if(userListJson==null)userListJson=new JSONArray(); + List strings=new ArrayList<>(); + Map map=new HashMap<>(); + + for (int i = 0; i < responUserList.size()&&i=dockUserList.size()){ + + delegateTask.setVariable("zqazqazqaUserList", delegateTask.getVariable("zs",List.class)); + + if(nextUserList != null && !nextUserList.isEmpty()){ + List busProcessNews=new ArrayList<>(); + saveBusPress(delegateTask, object, strings, map, prcName, busProcessNews); + busBean.saveBatch(busProcessNews); + } + }else { + List busProcessNews=new ArrayList<>(); + saveBusPress(delegateTask, object, strings, map, prcName, busProcessNews); + busBean.saveBatch(busProcessNews); + } + } + + private void saveBusPress(DelegateTask delegateTask, JSONObject object, List strings, Map map, String prcName, List busProcessNews) { + for (String zqa : strings) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + object.put("dockUser", map.get(zqa).getString("dockUser")); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(map.get(zqa).getString("id")); + busProcessNewNext.setPrcName(prcName); + busProcessNews.add(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java new file mode 100644 index 00000000..0a1a8cac --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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 SelectResponsibleUserBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep2?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/StartSurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/StartSurveyAfter.java new file mode 100644 index 00000000..18643a69 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/StartSurveyAfter.java @@ -0,0 +1,157 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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.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.business_slrs.dao.SarPublicIdea; +import com.ydw.bat.wkflow.util.SpringContextUtil; +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 java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +public class StartSurveyAfter implements TaskListener { + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + @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); + + List nextUserList = new ArrayList(); + List userList=new ArrayList<>(); + List dockUserList=new ArrayList<>(); + for (String dockUser : object.getString("dockUserList").split(",")) { + dockUserList.add(dockUser.trim()); + } + nextUserList=dockUserList; + delegateTask.setVariable("startUser",object.getString("startUser")); + + delegateTask.setVariable("dockUserList",dockUserList); + + delegateTask.setVariable("ministerUser",object.getString("ministerUser")); + delegateTask.setVariable("directorUser",object.getString("directorUser")); + delegateTask.setVariable("presidentUser",object.getString("presidentUser")); + + userList.add(object.getString("ministerUser")); + userList.addAll(dockUserList); + + delegateTask.setVariable("userList",userList); + delegateTask.setVariable("actionFlag",0); + + delegateTask.setVariable("selectResponCompletedCount",0); + + String uniques= String.valueOf(UUID.randomUUID()); + object.put("uniques",uniques); + delegateTask.setVariable("uniqueMark",uniques); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + String standName = object.getString("cid"); + delegateTask.setVariable("cid",standName); + String prcName = standName+"-标准征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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.setUserId(delegateTask.getAssignee()); + 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); + } + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("责任对接人选择责任人"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("dockUser",String.class)); + busBean.save(busProcessNewNext); + } + Date time=new Date(); + String dateTime=object.getString("endTime"); + dateTime = dateTime.replace("Z", " UTC"); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z"); + SimpleDateFormat defaultFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + time= format.parse(dateTime); + String result = defaultFormat.format(time); + System.out.println(result); + } catch (Exception e) { + e.printStackTrace(); + } + //发起公开征求意见 + SarPublicIdea sarPublicIdea = SarPublicIdea.builder() + .id(UUID.randomUUID().toString()) + .category("标准") + .cid(object.getString("cid")) + .cname(object.getString("cname")) + .startTime(new Date()) + .endTime(time) + .standType(object.getString("standType")) + .standId(object.getString("standId")) + .uniques(uniques) + .files(object.getString("filesId")) + .filesName(object.getString("filesName")) + .wkfiles("") + .build(); + ResponseMessage result = lawsUserInfoService.addSarPublicIdea(sarPublicIdea); + if(!result.isOk()){ + throw new ActivitiException("发起公开征求意见失败"); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/StartSurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/StartSurveyBefore.java new file mode 100644 index 00000000..390f8111 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/StartSurveyBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class StartSurveyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyAfter.java new file mode 100644 index 00000000..4bb47715 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyAfter.java @@ -0,0 +1,97 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +public class SummarySurveyAfter 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); + + List nextUserList; + + List responUserList=delegateTask.getVariable("responUserList",List.class); + + for (int i=1;i<10;i++){ + delegateTask.setVariable("task"+ i +"Count",0); + } + + + delegateTask.setVariable("actionFlag",0); + delegateTask.setVariable("responUserList",responUserList); + nextUserList=responUserList; + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + String standName = delegateTask.getVariable("cid",String.class); + String prcName = standName+"标准-标准征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + 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); + } + } + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java new file mode 100644 index 00000000..3322a6cd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java @@ -0,0 +1,109 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +import com.alibaba.fastjson.JSON; +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.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 SummarySurveyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + String mesg = one1.getMesg(); + JSONObject obj = JSON.parseObject(mesg); + JSONArray array = JSON.parseArray(delegateTask.getVariable("responUserListInfo",String.class)); + if(!one1.getMesg().contains("summaryList")){ + JSONArray summaryList=new JSONArray(); + JSONArray infoLists=new JSONArray(); + + for (Object o : array) { + JSONObject object=(JSONObject)o; + JSONArray infoList=object.getObject("info",JSONArray.class); + + for (Object o1 : infoList) { + JSONObject summaryEntity=new JSONObject(); + JSONObject info=(JSONObject)o1;//info 具体反馈的信息 + summaryEntity.put("oldText",info.getString("oldText")); + summaryEntity.put("reason",info.getString("reason")); + summaryEntity.put("newText",info.getString("newText")); + summaryEntity.put("responUser",object.getString("id")); + summaryEntity.put("responUserName",object.getString("name")); + summaryEntity.put("department",object.getString("department")); + summaryEntity.put("dockUser",object.getString("dockUser")); + summaryEntity.put("chapterNumber",info.getString("chapterNumber"));//章节编号 + summaryEntity.put("chapterName",info.getString("chapterName"));//章节名称 + summaryEntity.put("commentText",info.getString("commentText"));//修改意见内容 + summaryEntity.put("state",null);//修改意见内容 + summaryEntity.put("stateInfo",null);//修改意见内容 + infoLists.add(info); + summaryList.add(summaryEntity); + } + } + obj.put("summaryList",summaryList); + obj.put("info",infoLists); + obj.put("unique",delegateTask.getVariable("uniqueMark",String.class)); + one1.setMesg(obj.toJSONString()); + } + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep5?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + /*JSONObject obj= JSON.parseObject(one1.getMesg()); + + //看全局变量里有没有存Summary,有的话就直接走,没的话就就初始化 + JSONArray summaryList=JSON.parseArray(delegateTask.getVariable("summaryList",String.class)); + JSONArray array = JSON.parseArray(delegateTask.getVariable("responUserListInfo",String.class)); + if(summaryList==null){ + summaryList=new JSONArray(); + + for (Object o : array) { + JSONObject object=(JSONObject)o; + JSONArray infoList=object.getObject("info",JSONArray.class); + + for (Object o1 : infoList) { + JSONObject summaryEntity=new JSONObject(); + JSONObject info=(JSONObject)o1;//info 具体反馈的信息 + + summaryEntity.put("responUser",object.getString("id")); + summaryEntity.put("responUserName",object.getString("name")); + summaryEntity.put("department",object.getString("department")); + summaryEntity.put("dockUser",object.getString("dockUser")); + summaryEntity.put("chapterNumber",info.getString("chapterNumber"));//章节编号 + summaryEntity.put("chapterName",info.getString("chapterName"));//章节名称 + summaryEntity.put("commentText",info.getString("commentText"));//修改意见内容 + summaryEntity.put("state",null);//修改意见内容 + summaryEntity.put("stateInfo",null);//修改意见内容 + + summaryList.add(summaryEntity); + } + } + } + + obj.put("summaryList",summaryList); + delegateTask.setVariable("summaryList",summaryList.toJSONString()); + + one1.setMesg(obj.toJSONString());*/ + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultAfter.java new file mode 100644 index 00000000..a7366680 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultAfter.java @@ -0,0 +1,126 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +import com.alibaba.fastjson.JSON; +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.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.util.SpringContextUtil; +import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Slf4j +public class UploadResearchResultAfter 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()); + + JSONArray responUserListInfo = JSON.parseArray(delegateTask.getVariable("responUserListInfo", String.class)); + for (int i=0;i nextUserList = new ArrayList(); + + + delegateTask.setVariable("objectJson",object); + JSONObject jsonObject=JSONObject.parseObject(String.valueOf(delegateTask.getVariable("datas", Map.class).get(delegateTask.getVariable("responUser")))); + delegateTask.setVariable("dockUser",jsonObject.get("dockUser")); + nextUserList.add(String.valueOf(jsonObject.get("dockUser"))); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + String standName = delegateTask.getVariable("cid",String.class); + String prcName = standName+"标准-标准征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper=new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + + 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); + } + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setTaskInfo("责任对接人审批"); + + busProcessNewNext.setUserId((String) delegateTask.getVariable("responUser", Map.class).get("dockUser")); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java new file mode 100644 index 00000000..2ab1b25a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java @@ -0,0 +1,42 @@ +package com.ydw.bat.wkflow.listener.StandardCommentProcess; + +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class UploadResearchResultBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + JSONObject object = JSONObject.parseObject(one1.getMesg()); + one1.setLink("bzzqyjStep3?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); + // 干活节点流程 + one1.setTaskStatus(2); + one1.setEndTime(Utils.interceptTime(object.getString("endTime"))); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyAfter.java new file mode 100644 index 00000000..a4ffad9d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyAfter.java @@ -0,0 +1,137 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * chargeVerify - 入会人员所在部门负责人审核 + */ +public class ChargeVerifyAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动参会流程-"; + JSONObject sum = new JSONObject(); + if(null == delegateTask.getVariable("membersSumJSON")){ + delegateTask.setVariable("membersSumJSON",sum); + } + Integer count = 0; + if(null == delegateTask.getVariable("chargePassCount")){ + delegateTask.setVariable("chargePassCount",count); + } + + if("1".equals(object.getString("passFlag"))){//通过 + JSONArray os = object.getJSONObject("ch_pageData").getJSONArray("myPartRole"); + sum = delegateTask.getVariable("membersSumJSON",JSONObject.class); + if(sum.isEmpty()){ + sum = object; + delegateTask.setVariable("membersSumJSON",sum); + }else { + JSONObject o1 = sum.getJSONObject("ch_pageData"); + JSONObject o = os.getJSONObject(0); + JSONArray os1 = sum.getJSONObject("ch_pageData").getJSONArray("myPartRole"); + os1.add(o); + o1.put("myPartRole",os1); + sum.put("ch_pageData",o1); + delegateTask.setVariable("membersSumJSON",sum); + } + count = delegateTask.getVariable("chargePassCount",Integer.class); + delegateTask.setVariable("chargePassCount",count + 1); + delegateTask.setVariable("pass2",1);//排他通道 + System.out.println(delegateTask.getVariable("chargePassList")); + if(delegateTask.getVariable("memberCount", Integer.class).equals(delegateTask.getVariable("chargePassCount", Integer.class))){ + prcName = prcName + "标准法规工程师修订"; + if(StringUtils.isNotBlank(object.getString("engineerSum"))) { + nextUserList.add(object.getString("engineerSum")); + delegateTask.setVariable("engineerSum", object.getString("engineerSum")); + } + } + }else{ + prcName = prcName + "参会代表填写参会信息表"; + delegateTask.setVariable("pass2",0);//排他通道 + nextUserList.add(object.getString("member")); + } + +// 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("21"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + if(delegateTask.getVariable("pass2",Integer.class).equals(0)){ + busProcessNewNext.setMesg(object.toJSONString()); + }else{ + JSONObject hand = delegateTask.getVariable("membersSumJSON",JSONObject.class); + busProcessNewNext.setMesg(hand.toJSONString()); + } + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyBefore.java new file mode 100644 index 00000000..64dcf54e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ChargeVerifyBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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 ChargeVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzchStep4?prcType=21"; + + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseAfter.java new file mode 100644 index 00000000..f923a901 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseAfter.java @@ -0,0 +1,137 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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.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.standardApplyMeetProcess.Kev; +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 java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * DirectorChoose - 技术委员会分委会主任/入会代表所在中心主任提名入会代表 + */ +public class DirectorChooseAfter 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); + List nextUserList = new ArrayList(); + + //如果 他是通过 passFlag==1 + List passMemberList = new ArrayList<>(); + if(null == delegateTask.getVariable("memberList")){ + delegateTask.setVariable("memberList", passMemberList); + } + String prcName = "标准化活动参会流程-"; + + //全员不通过,检测条件 directorCount + //TODO 1全员不通过,2会后需要多实例吗? + Integer allCount = delegateTask.getVariable("directorList",List.class).size();; + Integer count = 0; + if(null == delegateTask.getVariable("directorCount")){ + delegateTask.setVariable("directorCount", count); + } + count = delegateTask.getVariable("directorCount",Integer.class); + delegateTask.setVariable("directorCount",count+1); + + if("1".equals(object.getString("passFlag"))) { + prcName = prcName + "参会代表填写参会信息表"; + JSONObject object1=object.getJSONObject("ch_pageData"); + if (object1.getString("meetingInRoleId").contains(",")){ + nextUserList.addAll(new ArrayList<>(Arrays.asList(object1.getString("meetingInRoleId").split(",")))); + }else { + nextUserList.add(object1.getString("meetingInRoleId")); + } + if (null!=delegateTask.getVariable("memberList")) { + List middle=delegateTask.getVariable("memberList",List.class); + middle.addAll(nextUserList); + delegateTask.setVariable("memberList",middle); + }else { + delegateTask.setVariable("memberList",nextUserList); + } + delegateTask.setVariable("passFlag","0"); + delegateTask.setVariable("memberCount",delegateTask.getVariable("memberList",List.class).size()); + } + + if (delegateTask.getVariable("memberList",List.class).size()==0){ + delegateTask.setVariable("passFlag","1"); + prcName = prcName + "流程结束"; + } + + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one1 != null) { + if ("1".equals(delegateTask.getVariable("passFlag"))){ + one1.setOverTime(OVERTIME); + } + one1.setPrcType("21"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseBefore.java new file mode 100644 index 00000000..6378a207 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/DirectorChooseBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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 DirectorChooseBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzchStep2?prcType=21"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseAfter.java new file mode 100644 index 00000000..56c003d7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseAfter.java @@ -0,0 +1,90 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.List; + +/** + * EngineerRevise - 标准法规工程师汇总修订 + */ +public class EngineerReviseAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动参会流程-"; + prcName = prcName + "技术管理中心主任审批"; + nextUserList.add(object.getString("leader")); + delegateTask.setVariable("leader", object.getString("leader")); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("21"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseBefore.java new file mode 100644 index 00000000..12728e69 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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 EngineerReviseBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzchStep5?prcType=21"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneAfter.java new file mode 100644 index 00000000..c0467b8c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneAfter.java @@ -0,0 +1,204 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +import com.alibaba.fastjson.JSONArray; +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.dto.WG.*; +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.business_slrs.dao.SapMeeting; +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.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +/** + * EngineerReviseDone - 标准法规工程师汇总修订 + */ +public class EngineerReviseDoneAfter 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); + + LawsUserInfoService infoService=SpringContextUtil.getBean(LawsUserInfoService.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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动参会流程-结束"; + //入会 + JSONObject object1 = object.getJSONObject("ch_pageData"); + WgWorkGroupShowDTO wgWorkGroupShowDTO = new WgWorkGroupShowDTO(); + if (StringUtils.isNotEmpty(object1.getString("associaName"))) { + wgWorkGroupShowDTO.setId(object1.getString("associaName")); + wgWorkGroupShowDTO.setLevel("1"); + wgWorkGroupShowDTO.setNature("1"); + if (StringUtils.isNotEmpty(object1.getString("associaNameOne"))) { + wgWorkGroupShowDTO.setId(object1.getString("associaNameOne")); + wgWorkGroupShowDTO.setLevel("2"); + wgWorkGroupShowDTO.setNature("2"); + if (StringUtils.isNotEmpty(object1.getString("associaNameTwo"))) { + wgWorkGroupShowDTO.setId(object1.getString("associaNameTwo")); + wgWorkGroupShowDTO.setLevel("3"); + wgWorkGroupShowDTO.setNature("3"); + } + } + } + wgWorkGroupShowDTO.setTypes("0"); + wgWorkGroupShowDTO.setStatus("1"); + List wgMeetingInfos=new ArrayList<>(); + WgMeetingInfo wgMeetingInfo=new WgMeetingInfo(); + wgMeetingInfo.setId(String.valueOf(UUID.randomUUID())); + wgMeetingInfo.setWgId(wgWorkGroupShowDTO.getId()); + wgMeetingInfo.setJoinId(String.valueOf(UUID.randomUUID())); + wgMeetingInfo.setMeetingName(object1.getString("meetingName")); + wgMeetingInfo.setJoinfile(JsonUtil.toJson(object1.get("uploadFile"))); + wgMeetingInfo.setMeetingTime(object1.getDate("meetingStartTime")); + List shows=new ArrayList<>(); + List strings=new ArrayList<>(); + JSONArray jsonArray=object1.getJSONArray("myPartRole"); + if (!jsonArray.isEmpty()){ + for (Object o : jsonArray) { + JSONObject object2=JSONObject.parseObject(o.toString()); + WgMeetingUserRelationShow wgMeetingUserRelationShow=new WgMeetingUserRelationShow(); + wgMeetingUserRelationShow.setMeetingId(wgMeetingInfo.getId()); + wgMeetingUserRelationShow.setUserId(object2.getString("fillPeopleId")); + if (!strings.contains(object2.getString("fillPeopleId"))){ + strings.add(object2.getString("fillPeopleId")); + } + shows.add(wgMeetingUserRelationShow); + } + } + wgMeetingInfo.setJoinMeetingPeopleInfo(shows); + wgMeetingInfos.add(wgMeetingInfo); + wgMeetingInfo.setMeetingPeople(strings); + wgWorkGroupShowDTO.setWgMeetingInfos(wgMeetingInfos); + infoService.wg_work_group_update(wgWorkGroupShowDTO); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + + + JSONObject pageData = object.getJSONObject("ch_pageData"); + JSONArray mt = pageData.getJSONArray("meetingTable");//议题1;议题2;议题3;--会议报告 + StringBuilder report = new StringBuilder(); + for(Object table : mt){ + JSONObject t = (JSONObject) table; + if(t.getString("meetingTheme") != null){ + if(report.length() > 0){ + report.append(";").append(t.getString("meetingTheme")); + }else{ + report.append(t.getString("meetingTheme")); + } + } + } + + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("21"); +// one1.setPrcName(prcName); + one1.setOverTime(OVERTIME); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + }else { + JSONObject json = object.getJSONObject("ch_pageData"); + JSONArray attends = json.getJSONArray("myPartRole"); + JSONArray files = json.getJSONArray("fileTextList"); + JSONArray tables = json.getJSONArray("meetingTable"); + StringBuilder contents = new StringBuilder(); + for(Object table : tables){ + JSONObject t = (JSONObject) table; + if(t.getString("meetingTheme") != null){ + if(contents.length() > 0){ + contents.append(";").append(t.getString("meetingTheme")); + }else{ + contents.append(t.getString("meetingTheme")); + } + } + } + + SapMeeting sapMeeting= new SapMeeting(); + sapMeeting.setTitle(json.getString("meetingName")); + sapMeeting.setDate(json.getDate("meetingStartTime")); + sapMeeting.setTitle(json.getString("meetingName")); + sapMeeting.setId(UUID.randomUUID().toString()); + sapMeeting.setAttend(attends.toJSONString()); + sapMeeting.setFiles(files.toJSONString()); + sapMeeting.setContent(contents.toString()); + sapMeeting.setType(1); + sapMeeting.setPlace(object1.getString("meetingPlace")); + + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("标准化活动参会流程-流程结束"); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + infoService.addMeeting(sapMeeting); + + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneBefore.java new file mode 100644 index 00000000..417fd319 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/EngineerReviseDoneBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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 EngineerReviseDoneBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzchStep6?prcType=21"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyAfter.java new file mode 100644 index 00000000..a183fa8e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyAfter.java @@ -0,0 +1,109 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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.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.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; + +/** + * LeaderVerify - 标准法规部主管领导审核 + */ +public class LeaderVerifyAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动参会流程-"; + if("1".equals(object.getString("passFlag"))) {//通过 + delegateTask.setVariable("pass3",1); + if(StringUtils.isNotBlank(object.getString("manageDepartmentList"))) { + + if (object.getString("manageDepartmentList").contains(",")) { + nextUserList = Arrays.asList(object.getString("manageDepartmentList").split(",")); + } else { + nextUserList.add(object.getString("manageDepartmentList")); + } + // 配置多实例 + delegateTask.setVariable("manageDepartmentList", nextUserList); + delegateTask.setVariable("manageDepartmentCount",nextUserList.size()); + prcName = prcName + "费用管理部门会签"; + } + }else{ + delegateTask.setVariable("pass3",0); + nextUserList.add(delegateTask.getVariable("engineerSum",String.class)); + prcName = prcName + "标准法规工程师修订"; + } + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("21"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyBefore.java new file mode 100644 index 00000000..68af5ca9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/LeaderVerifyBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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 LeaderVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzchStep6?prcType=21"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignAfter.java new file mode 100644 index 00000000..555519d3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignAfter.java @@ -0,0 +1,110 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * ManageSign - 费用管理部门会签 + */ +public class ManageSignAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动参会流程-"; + Integer count = 0; + if(null == delegateTask.getVariable("managePassCount")){ + delegateTask.setVariable("managePassCount",count); + } + if("1".equals(object.getString("passFlag"))) {//通过 + count = delegateTask.getVariable("managePassCount",Integer.class); + count++; + delegateTask.setVariable("managePassCount",count); + if(delegateTask.getVariable("manageDepartmentCount", Integer.class).equals(delegateTask.getVariable("managePassCount", Integer.class))){ + prcName = prcName + "技术委员会常务副主任/总院院长审定"; + nextUserList.add(object.getString("president")); + delegateTask.setVariable("managePassCount",0); + delegateTask.setVariable("president", object.getString("president")); + delegateTask.setVariable("pass4",1); + } + }else{ + prcName = prcName + "标准法规工程师修订"; + delegateTask.setVariable("pass4",0); + nextUserList.add(delegateTask.getVariable("engineerSum",String.class)); + } +// 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("21"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignBefore.java new file mode 100644 index 00000000..e3e4ca4d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/ManageSignBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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 ManageSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzchStep6?prcType=21"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyAfter.java new file mode 100644 index 00000000..fe8c6762 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyAfter.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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.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.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.List; + +/** + * PresidentVerify - 技术委员会常务副主任/总院院长审定 + */ +public class PresidentVerifyAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动参会流程-"; + if("1".equals(object.getString("passFlag"))) {//通过 + prcName = prcName + "标准法规工程师修订完毕"; + delegateTask.setVariable("pass5",1); + nextUserList.add(object.getString("engineerSumDone")); + delegateTask.setVariable("engineerSumDone", object.getString("engineerSumDone")); + }else{ + prcName = prcName + "标准法规工程师修订"; + delegateTask.setVariable("pass5",0); + nextUserList.add(delegateTask.getVariable("engineerSum",String.class)); + } + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("21"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyBefore.java new file mode 100644 index 00000000..bbb8a082 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/PresidentVerifyBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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 PresidentVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzchStep6?prcType=21"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialAfter.java new file mode 100644 index 00000000..bab0ec60 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialAfter.java @@ -0,0 +1,133 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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.dto.WG.WgWorkGroupShowDTO; +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.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; + +/** + * WriteMasterial - 标准法规工程师填写入会资料 + */ +public class WriteMaterialAfter 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); + + LawsUserInfoService infoService=SpringContextUtil.getBean(LawsUserInfoService.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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动参会流程-"; + if(StringUtils.isNotBlank(object.getString("directorList"))) { + if (object.getString("directorList").contains(",")) { + nextUserList = Arrays.asList(object.getString("directorList").split(",")); + } else { + nextUserList.add(object.getString("directorList")); + } + // 配置多实例 + delegateTask.setVariable("directorList", nextUserList); + prcName = prcName + "分委会主任/部门中心主任提名入会代表"; + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("21"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + + JSONObject object1 = object.getJSONObject("ch_pageData"); + WgWorkGroupShowDTO wgWorkGroupShowDTO = new WgWorkGroupShowDTO(); + if (StringUtils.isNotEmpty(object1.getString("associaName"))) { + wgWorkGroupShowDTO.setId(object1.getString("associaName")); + wgWorkGroupShowDTO.setLevel("1"); + wgWorkGroupShowDTO.setNature("1"); + if (StringUtils.isNotEmpty(object1.getString("associaNameOne"))) { + wgWorkGroupShowDTO.setId(object1.getString("associaNameOne")); + wgWorkGroupShowDTO.setLevel("2"); + wgWorkGroupShowDTO.setNature("2"); + if (StringUtils.isNotEmpty(object1.getString("associaNameTwo"))) { + wgWorkGroupShowDTO.setId(object1.getString("associaNameTwo")); + wgWorkGroupShowDTO.setLevel("3"); + wgWorkGroupShowDTO.setNature("3"); + } + } + } + wgWorkGroupShowDTO.setTypes("0"); + wgWorkGroupShowDTO.setStatus("0"); + infoService.wg_work_group_update(wgWorkGroupShowDTO); + + + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause");//资源类型--条款 + busProcessNewNext.setPId(delegateTask.getProcessInstanceId());//流程实例Id + busProcessNewNext.setMesg(object.toJSONString());//信息 + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());//节点信息 + busProcessNewNext.setFinishFlag("0");//完成注记 + busProcessNewNext.setTaskInfo(delegateTask.getName());//节点信息 + busProcessNewNext.setUserId(nextUser);//处理人 + busProcessNewNext.setPrcName(prcName);//流程名 + busBean.save(busProcessNewNext); + System.out.println("---------------------user1--------------"); + System.out.println("处理人:" + nextUser); + System.out.println("流程名:" + prcName); + System.out.println("节点信息:" + delegateTask.getName()); + } + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialBefore.java new file mode 100644 index 00000000..91e65bf8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMaterialBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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 WriteMaterialBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzchStep?prcType=21"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoAfter.java new file mode 100644 index 00000000..7b800269 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoAfter.java @@ -0,0 +1,92 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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.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.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.List; + +/** + * WriteMemberInfo - 入会代表填写入会信息表 + */ +public class WriteMemberInfoAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动参会流程-"; + prcName = prcName + "参会人员所在部门中心主任审核"; + nextUserList.add(object.getString("charge")); + delegateTask.setVariable("charge", object.getString("charge")); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("21"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoBefore.java new file mode 100644 index 00000000..845055e3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardMeetProcess/WriteMemberInfoBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardMeetProcess; + +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 WriteMemberInfoBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzchStep3?prcType=21"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignAfter.java new file mode 100644 index 00000000..b4acc2e4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignAfter.java @@ -0,0 +1,116 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 标准调研流程 + */ +public class DirectorSignAfter 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); + + List nextUserList = new ArrayList(); + //设置一个计数器 + if (null!=delegateTask.getVariable("countSign",Integer.class)){ + delegateTask.setVariable("countSign",delegateTask.getVariable("countSign",Integer.class)+1); + }else { + delegateTask.setVariable("countSign",1); + } + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + if ("1".equals(object.getString("actionFlag"))) { + delegateTask.setVariable("actionFlag", 1); + delegateTask.setVariable("7Mark","false"); + }else { + delegateTask.setVariable("actionFlag",0); + if (delegateTask.getVariable("countSign",Integer.class)==1){ + delegateTask.setVariable("7Mark","true"); + } + else if ("true"==delegateTask.getVariable("7Mark",String.class)){ + delegateTask.setVariable("7Mark","true"); + } + } + } + + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String standName = delegateTask.getVariable("title",String.class); + String prcName = standName; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("2"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (delegateTask.getVariable("countSign",Integer.class)>=delegateTask.getVariable("directorUserList",List.class).size()) { + if ("true".equals(delegateTask.getVariable("7Mark", String.class))) { + delegateTask.setVariable("actionFlag", 0); + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("批准"); + busProcessNewNext.setUserId(delegateTask.getVariable("presidentUser", String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } else { + delegateTask.setVariable("actionFlag", 1); + delegateTask.setVariable("countSign",0); + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("调研结果处理"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser", String.class)); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java new file mode 100644 index 00000000..f7a29d5e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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 DirectorSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep8?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalAfter.java new file mode 100644 index 00000000..8e4d18e1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalAfter.java @@ -0,0 +1,120 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + + 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.util.SpringContextUtil; + import org.activiti.engine.delegate.DelegateTask; + import org.activiti.engine.delegate.TaskListener; + + import java.text.SimpleDateFormat; + import java.util.ArrayList; + import java.util.Date; + import java.util.List; + +public class DockingApprovalAfter 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); + + List nextUserList = new ArrayList(); + if ("1".equals(object.getString("actionFlag"))) { + delegateTask.setVariable("actionFlag", 1); + } else { + delegateTask.setVariable("actionFlag", 0); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String standName = delegateTask.getVariable("title",String.class); + String prcName = standName; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("2"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + }else{ + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + + Integer count=delegateTask.getVariable("task1Count",Integer.class); + List responUserList=delegateTask.getVariable("responUserList",List.class); + if(count==null)count=0; + count++; + delegateTask.setVariable("task1Count",count); + + if(count>=responUserList.size()){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("调研结果处理"); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("调研结果反馈"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("responUser",String.class)); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java new file mode 100644 index 00000000..8a4cea37 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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 DockingApprovalBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep4?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignAfter.java new file mode 100644 index 00000000..a65892b8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignAfter.java @@ -0,0 +1,146 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class MinisterAndDockerSignAfter 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); + + List nextUserList = new ArrayList(); + + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + if("1".equals(object.getString("actionFlag"))){ + delegateTask.setVariable("actionFlag",1); +// nextUserList.add(delegateTask.getVariable("startUser",String.class)); + } + } + + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String standName = delegateTask.getVariable("title",String.class); + String prcName = standName; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("2"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + + + + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + Integer count = 0; + if (null!=delegateTask.getVariable("task3OKCount",Integer.class)) { + count = delegateTask.getVariable("task3OKCount", Integer.class); + } + Integer gose=0; + if (null!=delegateTask.getVariable("task3Count",Integer.class)){ + gose=delegateTask.getVariable("task3Count",Integer.class); + } + List userList=delegateTask.getVariable("userList",List.class); + + if(delegateTask.getVariable("actionFlag",Integer.class)==0){ + if(count==null)count=0; + count++; + delegateTask.setVariable("task3OKCount",count); + } + delegateTask.setVariable("task3Count",gose+1); + if (gose+1==userList.size()) { + if (count >= userList.size()) { + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + nextUserList.addAll(new ArrayList<>(Arrays.asList(delegateTask.getVariable("directorUser", String.class).split(",")))); + delegateTask.setVariable("directorUserList",nextUserList); + 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("审定"); + busProcessNewNext.setFinishFlag("0"); +// busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("调研结果处理"); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser", String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + }else { + 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.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser",String.class)); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + delegateTask.setVariable("task3Count",0); + } + + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java new file mode 100644 index 00000000..da89356b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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 MinisterAndDockerSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep7?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignAfter.java new file mode 100644 index 00000000..1df95167 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignAfter.java @@ -0,0 +1,92 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PresidentSignAfter 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); + + List nextUserList = new ArrayList(); + if ("1".equals(object.getString("actionFlag"))) { + delegateTask.setVariable("actionFlag", 1); + nextUserList.add(delegateTask.getVariable("startUser",String.class)); + } else { + delegateTask.setVariable("actionFlag", 0); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String standName = delegateTask.getVariable("title",String.class); + String prcName = standName; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + if (!"1".equals(object.getString("actionFlag"))) { + one1.setOverTime(OVERTIME); + } + one1.setPrcType("2"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java new file mode 100644 index 00000000..25a215d5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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 PresidentSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep9?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignAfter.java new file mode 100644 index 00000000..997864d2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignAfter.java @@ -0,0 +1,156 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class ResponUserSignAfter 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); + + List nextUserList = new ArrayList(); + List userList = delegateTask.getVariable("userList", List.class); + String startUser = delegateTask.getVariable("startUser", String.class); + + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + if ("1".equals(object.getString("actionFlag"))) { + delegateTask.setVariable("actionFlag", 1); + nextUserList.add(delegateTask.getVariable("startUser", String.class)); + } + } + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + nextUserList = userList; + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId", String.class); + String username = delegateTask.getVariable("startName", String.class); + String standName = delegateTask.getVariable("title", String.class); + String prcName = standName; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("2"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + if (null!=delegateTask.getVariable("cs")){ + delegateTask.setVariable("cs",delegateTask.getVariable("cs",Integer.class)+1); + }else { + delegateTask.setVariable("cs",1); + } + + Integer count = delegateTask.getVariable("task2OKCount", Integer.class); + JSONArray responUserList = delegateTask.getVariable("responUserList", JSONArray.class); + + + if (count == null) count = 1; + + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + + + count++; + delegateTask.setVariable("task2OKCount", count); + } + if (delegateTask.getVariable("cs",Integer.class)>= delegateTask.getVariable("responUserLists",List.class).size()) { + if (count >= responUserList.size()) { + if (delegateTask.getVariable("actionFlag", Integer.class) == 0) { + if (nextUserList != null && !nextUserList.isEmpty()) { + List res = new ArrayList<>(); + nextUserList.forEach(s -> { + if (!res.contains(s)) { + res.add(s); + } + }); + delegateTask.setVariable("userList", res); + for (String nextUser : res) { + 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); + } + } + }else{ + delegateTask.setVariable("actionFlag",1); + delegateTask.setVariable("cs",0); + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("调研结果处理"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser", String.class)); + busBean.save(busProcessNewNext); + } + } else { + delegateTask.setVariable("actionFlag",1); + delegateTask.setVariable("cs",0); + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("调研结果处理"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("startUser", String.class)); + busBean.save(busProcessNewNext); + } + } + + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java new file mode 100644 index 00000000..17882ebb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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 ResponUserSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep6?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserAfter.java new file mode 100644 index 00000000..5909b73a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserAfter.java @@ -0,0 +1,136 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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.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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.rmi.activation.ActivationException; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * 标准调研流程-任务分发 + */ +public class SelectResponsibleUserAfter 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); + + List nextUserList = new ArrayList(); + + object.put("docUser",delegateTask.getAssignee()); + + String userListString=object.getString("responUserList"); + String userListStringName=object.getString("responUserListName"); + + + JSONArray responUserList=delegateTask.getVariable("responUserList",JSONArray.class); + if (responUserList==null) responUserList=new JSONArray(); + + List userListName=Arrays.asList(userListStringName.split(",")); + + List userList = Arrays.asList(userListString.split(",")); + List strings=new ArrayList<>(); + Map map=new HashMap<>(); + + for (int i = 0; i < userList.size(); i++) { + JSONObject json=new JSONObject(); + json.put("id",userList.get(i)); + json.put("name",userListName.get(i)); + json.put("dockUser",delegateTask.getAssignee()); + responUserList.add(json); + strings.add(userList.get(i)); + map.put(delegateTask.getAssignee()+userList.get(i),json); + } +/// + delegateTask.setVariable("responUserList",responUserList); + if (null == delegateTask.getVariable("responUserLists",List.class)){ + delegateTask.setVariable("responUserLists",strings); + }else { + delegateTask.getVariable("responUserLists", List.class).addAll(strings); + } + if (null == delegateTask.getVariable("datas")) { + delegateTask.setVariable("datas", map); + }else { + delegateTask.getVariable("datas", Map.class).putAll(map); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String standName = delegateTask.getVariable("title",String.class); + String prcName = standName; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("2"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + Integer count=delegateTask.getVariable("selectResponCount",Integer.class); + if(count==null)count=0; + count++; + delegateTask.setVariable("selectResponCount",count); + + if(count>=delegateTask.getVariable("dockUserList",List.class).size()){ + if(!responUserList.isEmpty()){ + for (int i = 0; i < responUserList.size(); i++) { + JSONObject jsonObject = responUserList.getJSONObject(i); + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + object.put("docUser",jsonObject.getString("dockUser")); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(jsonObject.getString("id")); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +// throw new ActivitiException("dahsdgadiauhfugauyfgqffiygv"); + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java new file mode 100644 index 00000000..705839fd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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 SelectResponsibleUserBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep2?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/StartSurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/StartSurveyAfter.java new file mode 100644 index 00000000..0002ca7f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/StartSurveyAfter.java @@ -0,0 +1,121 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.ArrayList; +import java.util.List; + +/** + * 标准调研流程-起草 + */ +public class StartSurveyAfter 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); + + List nextUserList = new ArrayList(); + + delegateTask.setVariable("startUser",object.getString("startUser")); + delegateTask.setVariable("ministerUser",object.getString("ministerUser")); + + + delegateTask.setVariable("directorUser",object.getString("directorUser")); + delegateTask.setVariable("presidentUser",object.getString("presidentUser")); + + List dockUserList=new ArrayList<>(); + for (String dockUser : object.getString("dockUserList").split(",")) { + dockUserList.add(dockUser.trim()); + } + + + nextUserList=dockUserList; + delegateTask.setVariable("dockUserList",dockUserList); + + List userList = new ArrayList<>(dockUserList); + userList.add(object.getString("ministerUser")); + delegateTask.setVariable("userList",userList); + + delegateTask.setVariable("selectResponCount",0); + + delegateTask.setVariable("actionFlag",0); + + + //截止时间 流程描述 创建人 + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + delegateTask.setVariable("startId",user); + delegateTask.setVariable("startName",username); + String standName = object.getString("processName"); + delegateTask.setVariable("title",standName); + String prcName = standName; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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.setUserId(delegateTask.getAssignee()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + + busBean.save(busProcessNew); + + if(!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); + } + }else{ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("任务分发"); + busProcessNewNext.setPrcName(prcName); + busProcessNewNext.setUserId(delegateTask.getVariable("dockUser",String.class)); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/StartSurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/StartSurveyBefore.java new file mode 100644 index 00000000..1f0a6d71 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/StartSurveyBefore.java @@ -0,0 +1,30 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +/** + * 标准调研流程-起草 + */ +public class StartSurveyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyAfter.java new file mode 100644 index 00000000..d8024eaa --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyAfter.java @@ -0,0 +1,100 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class SummarySurveyAfter 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); + + JSONArray nextUserList; + + JSONArray responUserList=delegateTask.getVariable("responUserList", JSONArray.class); + + for (int i=1;i<10;i++){ + delegateTask.setVariable("task"+ i +"Count",0); + } + + + delegateTask.setVariable("actionFlag",0); + delegateTask.setVariable("responUserList",responUserList); + nextUserList=responUserList; + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String standName = delegateTask.getVariable("title",String.class); + String prcName = standName; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("2"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(Object nextUser1 : nextUserList){ + JSONObject nextUser=(JSONObject) nextUser1; + + + 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.getString("id")); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java new file mode 100644 index 00000000..0455caaa --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java @@ -0,0 +1,43 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +import com.alibaba.fastjson.JSON; +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.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 SummarySurveyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + JSONObject obj= JSON.parseObject(one1.getMesg()); + JSONArray responUserList = delegateTask.getVariable("responUserList", JSONArray.class); + obj.put("responUserList",responUserList); + one1.setMesg(obj.toJSONString()); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep5?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultAfter.java new file mode 100644 index 00000000..6a40d4f0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultAfter.java @@ -0,0 +1,113 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +import com.alibaba.fastjson.JSON; +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.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.util.SpringContextUtil; +import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.activiti.engine.impl.task.TaskDefinition; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * 标准调研流程-调研结果反馈 + */ +@Slf4j +public class UploadResearchResultAfter 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()); + + + JSONArray responUserList = delegateTask.getVariable("responUserList", JSONArray.class); + String responUser = delegateTask.getVariable("responUser",String.class); + Map map=delegateTask.getVariable("datas",Map.class); + JSONObject os=JSONObject.parseObject(String.valueOf(map.get(object.getString("docUser")+responUser))); + for (int i = 0; i < responUserList.size(); i++) { + JSONObject obj=responUserList.getJSONObject(i); + if (obj.getString("id").equals(responUser) + && obj.getString("dockUser").equals(os.getString("dockUser"))) { + + object.put("responUser", obj.getString("id")); + object.put("responUserName", obj.getString("name")); + obj.put("dyhz", object.getString("dyhz")); + obj.put("fileId", object.getString("fileId")); + obj.put("fileName", object.getString("fileName")); + + responUserList.set(i, obj); + break; + + } + } + + delegateTask.setVariable("dockUsers",os.getString("dockUser")); + delegateTask.setVariable("responUserList",responUserList); + + + delegateTask.setVariable("objectJson",object); + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String standName = delegateTask.getVariable("title",String.class); + String prcName = standName; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("2"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + + + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("调研结果审批"); + busProcessNewNext.setUserId(os.getString("dockUser")); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java new file mode 100644 index 00000000..3fc3b1ed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java @@ -0,0 +1,45 @@ +package com.ydw.bat.wkflow.listener.StandardSurvey; + +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +/** + * 标准调研流程-调研结果反馈 + */ +public class UploadResearchResultBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 +// JSONObject object = JSONObject.parseObject(one1.getMesg()); + one1.setLink("bzdyStep3?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); + // 干活节点流程 +// one1.setTaskStatus(2); +// one1.setEndTime(Utils.interceptTime(object.getString("date"))); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java new file mode 100644 index 00000000..5a84393b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.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; + +public class ProcessStep1After 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); + //标准法规部业务经理Id ${passFlag==1} + List nextUserList = new ArrayList(); + if ("1".equals(object.getString("passFlag"))){ + delegateTask.setVariable("passFlag","1"); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + }else { + if(delegateTask.getVariable("Step1",String.class).contains(",")){ + nextUserList = new ArrayList<>(Arrays.asList(delegateTask.getVariable("Step1",String.class).split(","))); + }else { + nextUserList.add(delegateTask.getVariable("Step1",String.class)); + } + delegateTask.setVariable("workPeopleList",nextUserList); + delegateTask.setVariable("passFlag","0"); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("entCategory"))){ + prcName = object.getString("entCategory")+"-"+object.getString("standName") + "-企标废止"; + }else { + prcName = "企标废止"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1Before.java new file mode 100644 index 00000000..37855ba8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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 ProcessStep1Before 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("qbfzStep2?prcType=24"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2After.java new file mode 100644 index 00000000..bee630e9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2After.java @@ -0,0 +1,117 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ProcessStep2After 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + if (null == delegateTask.getVariable("count")){ + delegateTask.setVariable("count",delegateTask.getVariable("workPeopleList",List.class).size()); + } + if (delegateTask.getVariable("count",Integer.class)==1){ + //对数据进行处理 现阶段是数据貌似是只需要人和意见就可以了!!!! + QueryWrapper wrapper=new QueryWrapper<>(); + wrapper.eq("TASK_ID","6969696969696969"); + wrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + List busProcessNews = busBean.list(wrapper); + List stings=new ArrayList<>(); + stings.add(object.getString("presentPeople")+"-"+object.getString("reviewComments")); + busProcessNews.forEach(busProcessNew -> { + JSONObject object1=JSONObject.parseObject(busProcessNew.getMesg()); + stings.add(object1.getString("presentPeople")+"-"+object1.getString("reviewComments")); + }); + object.put("res", JSONArray.toJSON(stings.toString())); + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)-1); + }else { + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)-1); + } + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("qcId",delegateTask.getVariable("prcCreateUser",String.class)); + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("entCategory"))){ + prcName = object.getString("entCategory")+"-"+object.getString("standName") + "-企标废止"; + }else { + prcName = "企标废止"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + if (delegateTask.getVariable("count",Integer.class)!=0){ + busProcessNewNext.setTaskId("6969696969696969"); + } + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2Before.java new file mode 100644 index 00000000..a404b405 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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 ProcessStep2Before 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("qbfzStep3?prcType=24"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3After.java new file mode 100644 index 00000000..7980f97c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3After.java @@ -0,0 +1,91 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.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.List; + +public class ProcessStep3After 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); + //标准法规部业务经理Id ${passFlag==1} + List nextUserList = new ArrayList(); + nextUserList.add(delegateTask.getVariable("bzfgLeaderId",String.class)); + delegateTask.setVariable("bzfgLeaderId1",delegateTask.getVariable("bzfgLeaderId",String.class)); + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("entCategory"))){ + prcName = object.getString("entCategory")+"-"+object.getString("standName") + "-企标废止"; + }else { + prcName = "企标废止"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3Before.java new file mode 100644 index 00000000..395809c4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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 ProcessStep3Before 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("qbfzStep4?prcType=24"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4After.java new file mode 100644 index 00000000..0beba0a6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4After.java @@ -0,0 +1,97 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.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.List; + +public class ProcessStep4After 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); + //标准法规部业务经理Id ${passFlag==1} + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("bzFlag"))){ + nextUserList.add(delegateTask.getVariable("Step4",String.class)); + delegateTask.setVariable("sdId",delegateTask.getVariable("Step4",String.class)); + delegateTask.setVariable("bzFlag","0"); + }else { + delegateTask.setVariable("bzFlag","1"); + nextUserList.add(delegateTask.getVariable("qcId",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("entCategory"))){ + prcName = object.getString("entCategory")+"-"+object.getString("standName") + "-企标废止"; + }else { + prcName = "企标废止"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4Before.java new file mode 100644 index 00000000..c5be2640 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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 ProcessStep4Before 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("qbfzStep5?prcType=24"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5After.java new file mode 100644 index 00000000..88ea53d4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5After.java @@ -0,0 +1,97 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.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.List; + +public class ProcessStep5After 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); + //标准法规部业务经理Id ${sdFlag==0} bafzFlag + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("sdFlag"))){ + delegateTask.setVariable("bzfzId",delegateTask.getVariable("Step5",String.class)); + delegateTask.setVariable("sdFlag","0"); + nextUserList.add(delegateTask.getVariable("Step5",String.class)); + }else { + delegateTask.setVariable("sdFlag","1"); + nextUserList.add(delegateTask.getVariable("qcId",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("entCategory"))){ + prcName = object.getString("entCategory")+"-"+object.getString("standName") + "-企标废止"; + }else { + prcName = "企标废止"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5Before.java new file mode 100644 index 00000000..e13510f9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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 ProcessStep5Before 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("qbfzStep6?prcType=24"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6After.java new file mode 100644 index 00000000..c1181ae5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6After.java @@ -0,0 +1,126 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.*; +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 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.*; + +public class ProcessStep6After 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); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + //标准法规部业务经理Id ${sdFlag==0} bafzFlag + List 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 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); + } + }else { + delegateTask.setVariable("bafzFlag","1"); + nextUserList.add(delegateTask.getVariable("qcId",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("entCategory"))){ + prcName = object.getString("entCategory")+"-"+object.getString("standName") + "-企标废止"; + }else { + 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); + } + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + // 存储当前节点意见 + 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); + } + }else { + 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.setPrcName("流程结束"); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6Before.java new file mode 100644 index 00000000..6d9ed849 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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 ProcessStep6Before 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("qbfzStep7?prcType=24"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7After.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7After.java new file mode 100644 index 00000000..53f968be --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7After.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.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; + +public class ProcessStep7After 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); + + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("dockUser")); + delegateTask.setVariable("bzfgLeaderId",object.getString("dockUser")); + + delegateTask.setVariable("Step1",object.getString("countersigner")); + delegateTask.setVariable("Step4",object.getString("examine")); + delegateTask.setVariable("Step5",object.getString("approver")); + + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("entCategory"))){ + prcName = object.getString("entCategory")+"-"+object.getString("standName") + "-企标废止"; + }else { + prcName = "企标废止"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + // 存储当前节点意见 + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7Before.java new file mode 100644 index 00000000..d26702d5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep7Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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 ProcessStep7Before 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("qbfzStep7?prcType=24"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartAfter.java new file mode 100644 index 00000000..b94dd7a6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartAfter.java @@ -0,0 +1,112 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +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.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; + +public class ProcessstartAfter 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); + //标准法规部业务经理Id Ay: + //dockUser', '选择标准法规部部长 + //countersigner" placeholder="选择会签人员 + //examine', '选择审定责任人 + //approver', '选择批准负责人 + List nextUserList = new ArrayList(); +// nextUserList.add(object.getString("dockUser")); + delegateTask.setVariable("bzfgLeaderId",object.getString("dockUser")); + + delegateTask.setVariable("Step1",object.getString("countersigner")); + delegateTask.setVariable("Step4",object.getString("examine")); + delegateTask.setVariable("Step5",object.getString("approver")); + + if(object.getString("countersigner").contains(",")){ + nextUserList = new ArrayList<>(Arrays.asList(object.getString("countersigner").split(","))); + }else { + nextUserList.add(object.getString("countersigner")); + } + delegateTask.setVariable("workPeopleList",nextUserList); + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("entCategory"))){ + prcName = object.getString("entCategory")+"-"+object.getString("standName") + "-企标废止"; + }else { + prcName = "企标废止"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("24"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + // 存储当前节点意见 + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartBefore.java new file mode 100644 index 00000000..d482e216 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartBefore.java @@ -0,0 +1,13 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class ProcessstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantAfter.java new file mode 100644 index 00000000..446d2fa2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantAfter.java @@ -0,0 +1,113 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +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; + +/** + * 发起企标复审流程后 + */ +public class BLApplicantAfter 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); + IBusProcessModelHisService busProcessModelHisService = SpringContextUtil.getBean(IBusProcessModelHisService.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 OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standCode"))){ + prcName = object.getString("standCode")+"-"+object.getString("standName") + "-企标复审"; + }else { + prcName = "企标复审"; + } + + List nextUserList = new ArrayStack<>(); + if(StringUtils.isNotBlank(object.getString("bussFsSubUser1"))){ + + if(object.getString("bussFsSubUser1").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussFsSubUser1").split(",")); + }else { + nextUserList.add(object.getString("bussFsSubUser1")); + } + // 配置多实例 + delegateTask.setVariable("bussFsSubList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + }else { + throw new ActivitiException("1#2对接人参数不存在,请配置相关用户"); + } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantBefore.java new file mode 100644 index 00000000..e1357465 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BLApplicantBefore.java @@ -0,0 +1,26 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * 发起企标复审流程前 + */ +public class BLApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } +// + +// WkFlowSendEmail.sendEmailTodo(delegateTask,"会前申请流程"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs2After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs2After.java new file mode 100644 index 00000000..e0f82a1c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs2After.java @@ -0,0 +1,106 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * 发起人汇总结果后 + */ +public class BussFs2After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussFsUser3"))){ + delegateTask.setVariable("bussFsUser3",object.getString("bussFsUser3")); + nextUserList.add(object.getString("bussFsUser3")); + }else { + throw new ActivitiException("1#2标准法规部高级经理不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standCode"))){ + prcName = object.getString("standCode")+"-"+object.getString("standName") + "-企标复审"; + }else { + prcName = "企标复审"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs2Before.java new file mode 100644 index 00000000..e48e6077 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs2Before.java @@ -0,0 +1,70 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +import com.alibaba.fastjson.JSON; +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.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 BussFs2Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ + String msg = one1.getMesg(); + JSONObject jsonObject = JSON.parseObject(msg); + JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); + jsonObject.put("fileModelList",fileList); + one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussFs2?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建企标复审单文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3After.java new file mode 100644 index 00000000..f6ccfa9e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3After.java @@ -0,0 +1,172 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.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.EsRevisePlanDTO; +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.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.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * 标准法规部高级经理批准后 + */ +public class BussFs3After 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); +// LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussFsSubUser2"))){ + delegateTask.setVariable("bussFsSubUser2",object.getString("bussFsSubUser2")); +// nextUserList.add(object.getString("bussFsSubUser2")); + }else { + throw new ActivitiException("1#2发起人不存在,请配置相关人员"); + } + + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String standSort = object.get("standSort") == null ? "" : object.get("standSort").toString(); + delegateTask.setVariable("standSort",standSort); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standCode"))){ + prcName = object.getString("standCode")+"-"+object.getString("standName") + "-企标复审"; + }else { + prcName = "企标复审"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + String reviewResults = object.getString("reviewResults"); + if (StringUtils.isNotBlank(approvalOpinion) && StringUtils.isNotBlank(reviewResults)) { + if ("0".equalsIgnoreCase(approvalOpinion)) { + // 提交时 + if ("1".equals(object.getString("reviewResults"))) { + if ("Q/QCBFC".equals(standSort)) { + if (StringUtils.isNotBlank(object.getString("QCRBUSSID"))) { + delegateTask.setVariable("QCRBUSSID", object.getString("QCRBUSSID")); + nextUserList.add(object.getString("QCRBUSSID")); + } else { + throw new ActivitiException("1#2主起草人不存在,请配置相关人员"); + } + // 存储当前节点意见 + 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); + } else { + //BussUtils.endFunAll(delegateTask, prcName,busBean, object, "0", busProcessNameService,"buss3"); + if (StringUtils.isNotBlank(object.getString("QCRBUSSID"))) { + delegateTask.setVariable("QCRBUSSID", object.getString("QCRBUSSID")); + nextUserList.add(object.getString("QCRBUSSID")); + } else { + throw new ActivitiException("1#2主起草人不存在,请配置相关人员"); + } + // 存储当前节点意见 + 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); + } + } else { + BussUtils.endFunAll(delegateTask, prcName,busBean, object, "0", busProcessNameService,"buss3"); + } + delegateTask.setVariable("bussFs3Flag", 0); + delegateTask.setVariable("reviewResults", object.getString("reviewResults")); + } else { + // 驳回时 + if (StringUtils.isNotBlank(object.getString("bussFsUserC2"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("bussFsUserC2")); + busProcessNew.setPrcName("企标复审流程-重新发起人汇总结果"); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName, "1"); + delegateTask.setVariable("bussFsUserC2", object.getString("bussFsUserC2")); + delegateTask.setVariable("bussFs3Flag", 1); + } else { + throw new ActivitiException("1#2修订用户不存在,请配置相关人员"); + } + } + } else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + + 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; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3Before.java new file mode 100644 index 00000000..75c70078 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs3Before.java @@ -0,0 +1,67 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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 BussFs3Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ +// String msg = one1.getMesg(); +// JSONObject jsonObject = JSON.parseObject(msg); +// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); +// jsonObject.put("fileModelList",fileList); +// one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussFs3?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建企标复审单文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4After.java new file mode 100644 index 00000000..ae0d2024 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4After.java @@ -0,0 +1,57 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 主起草人提交 产品标准起草节点 后 + */ +public class BussFs4After 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 prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standCode"))){ + prcName = object.getString("standCode")+"-"+object.getString("standName") + "-企标复审"; + }else { + prcName = "企标复审"; + } + + // 提交时,结束流程,保存当前节点信息 + BussUtils.endFunAll(delegateTask, prcName, busBean, object, "0", busProcessNameService, "buss3"); + + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4Before.java new file mode 100644 index 00000000..185557d7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs4Before.java @@ -0,0 +1,67 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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 BussFs4Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ +// String msg = one1.getMesg(); +// JSONObject jsonObject = JSON.parseObject(msg); +// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); +// jsonObject.put("fileModelList",fileList); +// one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussFs6?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建企标复审单文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs5After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs5After.java new file mode 100644 index 00000000..76ff45f2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs5After.java @@ -0,0 +1,43 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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; + +public class BussFs5After 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 prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标复审"; + }else { + prcName = "企标复审"; + } + + // 提交时,结束流程,保存当前节点信息 + BussUtils.endFunAll(delegateTask, prcName, busBean, object, "0", busProcessNameService, "buss3"); + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs5Before.java new file mode 100644 index 00000000..d154f367 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFs5Before.java @@ -0,0 +1,48 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.EsTechRelation; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IEsTechRelationService; +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 org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 主起草人提交 技术标准起草节点 前 + */ +public class BussFs5Before implements TaskListener { + + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussFs7?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsC2After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsC2After.java new file mode 100644 index 00000000..355ffb34 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsC2After.java @@ -0,0 +1,104 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * 重新发起人汇总结果后 + */ +public class BussFsC2After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussFsUser3"))){ + delegateTask.setVariable("bussFsUser3",object.getString("bussFsUser3")); + nextUserList.add(object.getString("bussFsUser3")); + }else { + throw new ActivitiException("1#2标准法规部高级经理不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standCode"))){ + prcName = object.getString("standCode")+"-"+object.getString("standName") + "-企标复审"; + }else { + prcName = "企标复审"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss3"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsC2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsC2Before.java new file mode 100644 index 00000000..9dfb3be2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsC2Before.java @@ -0,0 +1,67 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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 BussFsC2Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ +// String msg = one1.getMesg(); +// JSONObject jsonObject = JSON.parseObject(msg); +// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); +// jsonObject.put("fileModelList",fileList); +// one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussFsC2?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建企标复审单文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1After.java new file mode 100644 index 00000000..e6158bed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1After.java @@ -0,0 +1,115 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 对接人选择复审人后 + */ +public class BussFsSub1After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussFsSubUser2"))){ + + if(object.getString("bussFsSubUser2").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussFsSubUser2").split(",")); + }else { + nextUserList.add(object.getString("bussFsSubUser2")); + } + //配置多实例 + delegateTask.setVariable("bussFsSubUser2List",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + + //delegateTask.setVariable("bussFsSubUser2",object.getString("bussFsSubUser2")); + //nextUserList.add(object.getString("bussFsSubUser2")); + }else { + throw new ActivitiException("1#2复审人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standCode"))){ + prcName = object.getString("standCode")+"-"+object.getString("standName") + "-企标复审"; + }else { + prcName = "企标复审"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1Before.java new file mode 100644 index 00000000..440d3954 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub1Before.java @@ -0,0 +1,70 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +import com.alibaba.fastjson.JSON; +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.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 BussFsSub1Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ +// String msg = one1.getMesg(); +// JSONObject jsonObject = JSON.parseObject(msg); +// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); +// jsonObject.put("fileModelList",fileList); +// one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussFsSub1?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建企标复审单文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2After.java new file mode 100644 index 00000000..bbe77f7b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2After.java @@ -0,0 +1,153 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * 复审人选择复审结果后 + */ +public class BussFsSub2After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussFsSubUser2"))){ + delegateTask.setVariable("bussFsUser2",object.getString("bussFsUser2")); + nextUserList.add(object.getString("bussFsUser2")); + }else { + throw new ActivitiException("1#2复审人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standCode"))){ + prcName = object.getString("standCode")+"-"+object.getString("standName") + "-企标复审"; + }else { + prcName = "企标复审"; + } + + Integer commentCount=delegateTask.getVariable("count",Integer.class); + if(commentCount==null)commentCount=0; + commentCount++; + delegateTask.setVariable("count",commentCount); + + Collection commentUserList=delegateTask.getVariable("bussFsSubList",Collection.class); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss3"); + if(commentCount>=commentUserList.size()) { + one1.setPrcName(prcName); + } + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + /** + * 当子任务结束时存储 + */ + JSONArray fileList =delegateTask.getVariable("fileModelList", JSONArray.class); + if (fileList==null) { + fileList=new JSONArray(); + } + + fileList.addAll(object.getJSONArray("fileModelList")); + delegateTask.setVariable("fileModelList",fileList); + + // 存储当前节点意见 + 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(commentCount>=commentUserList.size()){ + funEnd(delegateTask, busBean, queryWrapper, object, prcName); + 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); + } + } + }else { + funEnd(delegateTask, busBean, queryWrapper, object, prcName); + } + + } + + private void funEnd(DelegateTask delegateTask, IBusProcessNewService busBean, QueryWrapper queryWrapper, JSONObject object, String prcName) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + queryWrapper.isNotNull("PRC_NAME"); + List list = busBean.list(queryWrapper1); + if (!list.isEmpty()) { + BusProcessNew one2 = list.get(0); + one2.setMsgType("clause"); + one2.setPId(delegateTask.getProcessInstanceId()); + one2.setMesg(object.toJSONString()); + one2.setFinishFlag("0"); + one2.setTaskInfo(delegateTask.getName()); + one2.setPrcName(prcName); + one2.setCommitFlag("0"); + one2.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one2); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2Before.java new file mode 100644 index 00000000..eae7fd55 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussFs/BussFsSub2Before.java @@ -0,0 +1,67 @@ +package com.ydw.bat.wkflow.listener.bussFs; + +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 BussFsSub2Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ +// String msg = one1.getMesg(); +// JSONObject jsonObject = JSON.parseObject(msg); +// JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); +// jsonObject.put("fileModelList",fileList); +// one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussFsSub2?prcType=buss3"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建企标复审单文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantAfter.java new file mode 100644 index 00000000..437ac6ed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantAfter.java @@ -0,0 +1,190 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.ydw.bat.wkflow.business_main.datas.entity.*; +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 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.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; + +/** + * 发起企标制修订流程后 + */ +public class BLApplicantAfter implements TaskListener{ + + TaskService taskService = SpringContextUtil.getBean(TaskService.class); + + IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class); + + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); + + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + IBusProcessModelHisService busProcessModelHisService = SpringContextUtil.getBean(IBusProcessModelHisService.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 OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + 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); + } + prcName = standSort+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + + List nextUserList = new ArrayStack<>(); + if(StringUtils.isNotBlank(object.getString("qcUserId"))){ + + if(object.getString("qcUserId").contains(",")){ + nextUserList = Arrays.asList(object.getString("qcUserId").split(",")); + }else { + nextUserList.add(object.getString("qcUserId")); + } + // 配置多实例 + delegateTask.setVariable("qcUserList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + }else { + throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户"); + } + // 下个节点执行人处理逻辑 +// List finalNextUserList = new ArrayList(); +// List busProcessModelHisList = new ArrayList<>(); +// if(StringUtils.isNotBlank(object.getString("modelData"))){ +// List valueArr = JSONArray.parseArray(object.getString("modelData"),JSONObject.class); +// Map> listMap = valueArr.stream().collect( +// Collectors.groupingBy(a -> Utils.format("{0}", a.getString("zrUserId")))); +// listMap.forEach((s, jsonObjects) -> { +// String json = JSONArray.toJSONString(jsonObjects); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(json); +// modelHis.setUserId(s); +// modelHis.setPrcName(prcName); +// modelHis.setEditType("node"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// busProcessModelHisList.add(modelHis); +// finalNextUserList.add(s); +// }); +// // 配置多实例 +// delegateTask.setVariable("qcUserList",finalNextUserList); +// delegateTask.addCandidateUsers(finalNextUserList); +// }else { +// throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户"); +// } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } +// if(!busProcessModelHisList.isEmpty()){ +// busProcessModelHisService.saveBatch(busProcessModelHisList); +// } + + // 生成 模板 +// busProcessModelHisService.saveBussTemplateFile(object,delegateTask.getProcessInstanceId()); + + // 给企标计划绑定 技术标准流程 + //1合并 2延期 3取消 4更名 5立项 + String type=object.getString("type"); + if (StringUtils.isNotBlank(type)) { + // 删除 进行中的 旧流程 + if ("1".equals(type)) { + String esId1 = object.getString("esId1"); + String esId2 = object.getString("esId2"); + + // 删除旧的 计划和流程关联关系, 因为 一条计划只对应一条企标制修订流程 + esPrcRelationService.delEsPrcRelation(esId1); + esPrcRelationService.delEsPrcRelation(esId2); + + } + // 修改 计划和流程关联关系 + esPrcRelationService.modifyEsPrcRelation(object.getString("nowEsId"), delegateTask.getProcessInstanceId(), null, null); + } + + //绑定esId和prc_tech_id + String prcFsId=object.getString("prcFsId"); + if (StringUtils.isNotBlank(prcFsId)) { + IEsTechRelationService esTechRelationService = SpringContextUtil.getBean(IEsTechRelationService.class); + QueryWrapper esTechRelationQueryWrapper = new QueryWrapper<>(); + esTechRelationQueryWrapper.eq("prc_id",prcFsId); + List list = esTechRelationService.list(esTechRelationQueryWrapper); + if (ObjectUtils.isNotEmpty(list)) { + EsTechRelation esTechRelation = list.get(0); + esTechRelation.setPrcTechId(delegateTask.getProcessInstanceId()); + esTechRelation.setFinish(FlowFinishEnum.FSLC_JSBZQC_FINISH.getValue()); + esTechRelationService.saveOrUpdate(esTechRelation); + } + } + + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantBefore.java new file mode 100644 index 00000000..f9e57cea --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantBefore.java @@ -0,0 +1,26 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * 发起企标制修订流程前 + */ +public class BLApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } +// + +// WkFlowSendEmail.sendEmailTodo(delegateTask,"会前申请流程"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1After.java new file mode 100644 index 00000000..3237a1b4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1After.java @@ -0,0 +1,145 @@ +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.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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +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; + +/** + * 重新发起企标制修订流程后 + */ +public class BLApplicantC1After 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); + IBusProcessModelHisService busProcessModelHisService = SpringContextUtil.getBean(IBusProcessModelHisService.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 OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + + List nextUserList = new ArrayStack<>(); + if(StringUtils.isNotBlank(object.getString("qcUserId"))){ + + if(object.getString("qcUserId").contains(",")){ + nextUserList = Arrays.asList(object.getString("qcUserId").split(",")); + }else { + nextUserList.add(object.getString("qcUserId")); + } + // 配置多实例 + delegateTask.setVariable("qcUserList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + }else { + throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户"); + } + // 下个节点执行人处理逻辑 +// List finalNextUserList = new ArrayList(); +// List busProcessModelHisList = new ArrayList<>(); +// if(StringUtils.isNotBlank(object.getString("modelData"))){ +// List valueArr = JSONArray.parseArray(object.getString("modelData"),JSONObject.class); +// Map> listMap = valueArr.stream().collect( +// Collectors.groupingBy(a -> Utils.format("{0}", a.getString("zrUserId")))); +// listMap.forEach((s, jsonObjects) -> { +// String json = JSONArray.toJSONString(jsonObjects); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(json); +// modelHis.setUserId(s); +// modelHis.setPrcName(prcName); +// modelHis.setEditType("node"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// busProcessModelHisList.add(modelHis); +// finalNextUserList.add(s); +// }); +// // 配置多实例 +// delegateTask.setVariable("qcUserList",finalNextUserList); +// delegateTask.addCandidateUsers(finalNextUserList); +// }else { +// throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户"); +// } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } +// if(!busProcessModelHisList.isEmpty()){ +// busProcessModelHisService.saveBatch(busProcessModelHisList); +// } + + // 生成 模板 +// busProcessModelHisService.saveBussTemplateFile(object,delegateTask.getProcessInstanceId()); + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1Before.java new file mode 100644 index 00000000..00d9a837 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantC1Before.java @@ -0,0 +1,38 @@ +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.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 BLApplicantC1Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryC1?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10After.java new file mode 100644 index 00000000..654c3622 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10After.java @@ -0,0 +1,100 @@ +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * 专委会副主任/起草单位中心主任审定后 + */ +public class BussLibrary10After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("zhrUserId"))){ + + delegateTask.setVariable("zhrUserId",object.getString("zhrUserId")); + nextUserList.add(object.getString("zhrUserId")); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("fzrFlag", 0); + }else { + throw new ActivitiException("1#2副主任用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("xdUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("xdUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); + delegateTask.setVariable("fzrFlag", 1); + }else { + throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10Before.java new file mode 100644 index 00000000..ca9a5c28 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10Before.java @@ -0,0 +1,38 @@ +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.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 BussLibrary10Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary10?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11After.java new file mode 100644 index 00000000..93e3e013 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11After.java @@ -0,0 +1,100 @@ +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * 专委会主任/总院院长或主管副院长批准后 + */ +public class BussLibrary11After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("pxUserId"))){ + + delegateTask.setVariable("pxUserId",object.getString("pxUserId")); + nextUserList.add(object.getString("pxUserId")); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("zrFlag", 0); + }else { + throw new ActivitiException("1#2主起草人用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("xdUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("xdUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); + delegateTask.setVariable("zrFlag", 1); + }else { + throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11Before.java new file mode 100644 index 00000000..b93c8474 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11Before.java @@ -0,0 +1,38 @@ +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.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 BussLibrary11Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary11?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary12After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary12After.java new file mode 100644 index 00000000..64ed4af6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary12After.java @@ -0,0 +1,98 @@ +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * 主起草人培训后 + */ +public class BussLibrary12After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("fbUserId"))){ + delegateTask.setVariable("fbUserId",object.getString("fbUserId")); + nextUserList.add(object.getString("fbUserId")); + }else { + throw new ActivitiException("1#2发布员不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary12Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary12Before.java new file mode 100644 index 00000000..e1790f79 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary12Before.java @@ -0,0 +1,41 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +import com.alibaba.fastjson.JSON; +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.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 BussLibrary12Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary12?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary13After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary13After.java new file mode 100644 index 00000000..097732bc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary13After.java @@ -0,0 +1,80 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.dto.WG.NewsFeed; +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.EsTechRelation; +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.IEsTechRelationService; +import com.ydw.bat.wkflow.listener.bussLibrary.Utils.FlowFinishEnum; +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.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +/** + * 发布后 + */ +public class BussLibrary13After 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); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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 prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + + //判断是否是从复审流程来的 + IEsTechRelationService esTechRelationService = SpringContextUtil.getBean(IEsTechRelationService.class); + QueryWrapper esTechRelationQueryWrapper = new QueryWrapper<>(); + esTechRelationQueryWrapper.eq("prc_tech_id",delegateTask.getProcessInstanceId()); + List list = esTechRelationService.list(esTechRelationQueryWrapper); + if (ObjectUtils.isNotEmpty(list)) { + //修改中间表的流程状态 + EsTechRelation esTechRelation = list.get(0); + esTechRelation.setFinish(FlowFinishEnum.JSBZLC_FINISH.getValue()); + esTechRelationService.saveOrUpdate(esTechRelation); + } + +// NewsFeed newsFeed = new NewsFeed(); +// newsFeed.setId(String.valueOf(UUID.randomUUID())); +// newsFeed.setRenewTime(new Date()); +// newsFeed.setMessageType("2"); +// newsFeed.setStandard(object.getString("standNumber")); +// newsFeed.setStandardName(object.getString("standName")); +// newsFeed.setReleaseDate(object.getString("issueTime")); +// lawsUserInfoService.insertNewsFeed(newsFeed); + BussUtils.endFunc(delegateTask, prcName,busBean, object, "0", busProcessNameService); + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary13Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary13Before.java new file mode 100644 index 00000000..6e73f37d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary13Before.java @@ -0,0 +1,38 @@ +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.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 BussLibrary13Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary13?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary2After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary2After.java new file mode 100644 index 00000000..60f88829 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary2After.java @@ -0,0 +1,115 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 企标编写后 + */ +public class BussLibrary2After 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); + + List nextUserList = new ArrayList(); + + JSONArray fileList =delegateTask.getVariable("fileModelList", JSONArray.class); + if (fileList==null) { + fileList=new JSONArray(); + } + + fileList.addAll(object.getJSONArray("fileModelList")); + delegateTask.setVariable("fileModelList",fileList); + + if(StringUtils.isNotBlank(object.getString("hzUserId"))){ + delegateTask.setVariable("hzUserId",object.getString("hzUserId")); + nextUserList.add(object.getString("hzUserId")); + }else { + throw new ActivitiException("1#2主起草人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary2Before.java new file mode 100644 index 00000000..d72d6258 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary2Before.java @@ -0,0 +1,66 @@ +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.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 BussLibrary2Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + JSONArray fileList =delegateTask.getVariable("fileModelList", JSONArray.class); + if(fileList != null && !fileList.isEmpty()){ + fileList=new JSONArray(); + delegateTask.setVariable("fileModelList",fileList); + } + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary2?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + + // 创建当前节点文件 - 暂时为空文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// +// QueryWrapper wrapperModel = new QueryWrapper(); +// wrapperModel.eq("P_ID",delegateTask.getProcessInstanceId()); +// wrapperModel.eq("USER_ID",delegateTask.getAssignee()); +// wrapperModel.isNull("TASK_ID"); +// List hisList = hisService.list(wrapperModel); +// if(!hisList.isEmpty()){ +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// BusProcessModelHis modelHis = hisList.get(0); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setTaskInfo(delegateTask.getName()); +// String filePath = hisService.saveBussModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId()); +// modelHis.setEditFilePath(filePath); +// modelHis.setUpdateTime(sdf.format(new Date())); +// hisService.saveOrUpdate(modelHis); +// } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary3After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary3After.java new file mode 100644 index 00000000..6438cca1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary3After.java @@ -0,0 +1,105 @@ +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 企标汇总修订后 + */ +public class BussLibrary3After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bzhUserId"))){ + delegateTask.setVariable("bzhUserId",object.getString("bzhUserId")); + nextUserList.add(object.getString("bzhUserId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary3Before.java new file mode 100644 index 00000000..15259d9f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary3Before.java @@ -0,0 +1,69 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +import com.alibaba.fastjson.JSON; +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.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 BussLibrary3Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ + String msg = one1.getMesg(); + JSONObject jsonObject = JSON.parseObject(msg); + JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); + jsonObject.put("fileModelList",fileList); + one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary3?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建汇总文件 --- 合并子节点在线编辑文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java new file mode 100644 index 00000000..ee4801a4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java @@ -0,0 +1,105 @@ +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * 标准化员审批后 + */ +public class BussLibrary4After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("hqUserId"))){ + + if(object.getString("hqUserId").contains(",")){ + nextUserList = Arrays.asList(object.getString("hqUserId").split(",")); + }else { + nextUserList.add(object.getString("hqUserId")); + } + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + // 配置多实例 + delegateTask.setVariable("hqUserList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + delegateTask.setVariable("bzhFlag", 0); + }else { + throw new ActivitiException("1#2会签用户参数不存在,请配置相关用户"); + } + } 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); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("chzUserId",object.getString("hzUserId")); + delegateTask.setVariable("bzhFlag", 1); + }else { + throw new ActivitiException("1#2汇总用户参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4Before.java new file mode 100644 index 00000000..e123793a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4Before.java @@ -0,0 +1,38 @@ +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.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 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(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary4?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5After.java new file mode 100644 index 00000000..24a90995 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5After.java @@ -0,0 +1,114 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 会签征求意见后 + */ +public class BussLibrary5After 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); + + List nextUserList = new ArrayList(); + + JSONArray ideaList =delegateTask.getVariable("ideaList", JSONArray.class); + if (ideaList==null) { + ideaList=new JSONArray(); + } + + ideaList.addAll(object.getJSONArray("modelData")); + delegateTask.setVariable("ideaList",ideaList); + + if(StringUtils.isNotBlank(object.getString("xdUserId"))){ + delegateTask.setVariable("xdUserId",object.getString("xdUserId")); + nextUserList.add(object.getString("xdUserId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + + // 评分存储 + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5Before.java new file mode 100644 index 00000000..e5aedf7e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5Before.java @@ -0,0 +1,45 @@ +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.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 BussLibrary5Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + + JSONArray ideaList =delegateTask.getVariable("ideaList", JSONArray.class); + if(ideaList != null && !ideaList.isEmpty()){ + ideaList=new JSONArray(); + delegateTask.setVariable("ideaList",ideaList); + } + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary5?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6After.java new file mode 100644 index 00000000..3e41695f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6After.java @@ -0,0 +1,100 @@ +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * 主起草人修订并组织评审后 + */ +public class BussLibrary6After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("fggcsUserId"))){ + delegateTask.setVariable("fggcsUserId",object.getString("fggcsUserId")); + nextUserList.add(object.getString("fggcsUserId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + // 评分存储 + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6Before.java new file mode 100644 index 00000000..945d762c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6Before.java @@ -0,0 +1,51 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +import com.alibaba.fastjson.JSON; +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.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 BussLibrary6Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + + /** + * 汇总已审批通过的意见 + */ + String msg = one1.getMesg(); + JSONObject jsonObject = JSON.parseObject(msg); + JSONArray ideaList=delegateTask.getVariable("ideaList",JSONArray.class); + jsonObject.put("infoList",ideaList); + one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary5?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java new file mode 100644 index 00000000..aa9f47ec --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java @@ -0,0 +1,144 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 标准法规工程师复审后 + */ +public class BussLibrary7After 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); + IBusProcessEvaluationHisService evaluationHisService = SpringContextUtil.getBean(IBusProcessEvaluationHisService.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); + + List nextUserList = new ArrayList(); + + //截止时间 流程描述 创建人 + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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()); + } + + delegateTask.setVariable("fs7Flag", 0); + }else { + throw new ActivitiException("1#2部长用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("xdUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("xdUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); + delegateTask.setVariable("fs7Flag", 1); + }else { + throw new ActivitiException("1#2修订用户不存在,请配置相关人员"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + + // 存储当前节点意见 + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7Before.java new file mode 100644 index 00000000..e6cd8dae --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7Before.java @@ -0,0 +1,38 @@ +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.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 BussLibrary7Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary7?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java new file mode 100644 index 00000000..12035d31 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java @@ -0,0 +1,100 @@ +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * 起草单位高级经理(技术委员会负责人/起草中心主任)审核后( 合并至9 又重新启用) + */ +public class BussLibrary8After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("bzUserId"))){ + + delegateTask.setVariable("bzUserId",object.getString("bzUserId")); + nextUserList.add(object.getString("bzUserId")); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("jsfzrFlag", 0); + }else { + throw new ActivitiException("1#2部长用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("xdUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("xdUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); + delegateTask.setVariable("jsfzrFlag", 1); + }else { + throw new ActivitiException("1#2修订用户不存在,请配置相关人员"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java new file mode 100644 index 00000000..5de68f20 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java @@ -0,0 +1,38 @@ +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.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; + +/** + * 技术委员会负责人/起草中心主任审核(起草单位高级经理)前( 合并至9 又重新启用) + */ +public class BussLibrary8Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary8?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java new file mode 100644 index 00000000..d8902b2f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java @@ -0,0 +1,133 @@ +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * 标准法规部高级经理(标准法规部部长)审核后 + */ +public class BussLibrary9After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("fzrUserId"))){ + + delegateTask.setVariable("fzrUserId",object.getString("fzrUserId")); + nextUserList.add(object.getString("fzrUserId")); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + + // 评分存储 + if(StringUtils.isBlank(object.getString("fsRejectStatus")) || object.getString("fsRejectStatus").equalsIgnoreCase("2")){ + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + } + + delegateTask.setVariable("bzFlag", 0); + }else { + throw new ActivitiException("1#2副主任用户参数不存在,请配置相关用户"); + } + } else if ("1".equalsIgnoreCase(approvalOpinion)){ + // 其他问题 + if(StringUtils.isNotBlank(object.getString("xdUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("xdUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); + delegateTask.setVariable("bzFlag", 1); + }else { + throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户"); + } + }else if ("2".equalsIgnoreCase(approvalOpinion)){ + // 质量问题 + if(StringUtils.isNotBlank(object.getString("cfqUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("cfqUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.evalSave(delegateTask, object, prcName, delegateTask.getAssignee()); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + + delegateTask.setVariable("cfqUserId",object.getString("cfqUserId")); + delegateTask.setVariable("bzFlag", 2); + }else { + throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9Before.java new file mode 100644 index 00000000..180caf2c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9Before.java @@ -0,0 +1,38 @@ +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.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 BussLibrary9Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary9?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3After.java new file mode 100644 index 00000000..c16b9578 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3After.java @@ -0,0 +1,113 @@ +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 重新企标汇总修订后 + */ +public class BussLibraryC3After 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 objectNew = JSONObject.parseObject(datas.getFormValsJson()); +// delegateTask.setVariable("objectJson",object); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one = list.get(0); + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(objectNew.getString("bzhUserId"))){ + delegateTask.setVariable("bzhUserId",objectNew.getString("bzhUserId")); + nextUserList.add(objectNew.getString("bzhUserId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = objectNew.getString("prcCreateUser"); + String username = objectNew.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = ""; + if(StringUtils.isNotBlank(objectNew.getString("standName")) && StringUtils.isNotBlank(objectNew.getString("standSort"))){ + prcName = objectNew.getString("standSort")+"-"+objectNew.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setId(one.getId()); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(objectNew.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(objectNew.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + 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(objectNew.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3Before.java new file mode 100644 index 00000000..ace27435 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3Before.java @@ -0,0 +1,38 @@ +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.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 BussLibraryC3Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryC3?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java new file mode 100644 index 00000000..32523156 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java @@ -0,0 +1,116 @@ +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 重新修订并组织评审后 + */ +public class BussLibraryC6After 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 objectNew = JSONObject.parseObject(datas.getFormValsJson()); +// delegateTask.setVariable("objectJson",object); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one = list.get(0); + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(objectNew.getString("fggcsUserId"))){ + delegateTask.setVariable("fggcsUserId",objectNew.getString("fggcsUserId")); + nextUserList.add(objectNew.getString("fggcsUserId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = objectNew.getString("prcCreateUser"); + String username = objectNew.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = ""; + if(StringUtils.isNotBlank(objectNew.getString("standName")) && StringUtils.isNotBlank(objectNew.getString("standSort"))){ + prcName = objectNew.getString("standSort")+"-"+objectNew.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setId(one.getId()); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(objectNew.toJSONString()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(objectNew.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + 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(objectNew.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + // 评分存储 + if(StringUtils.isBlank(objectNew.getString("fsRejectStatus")) || objectNew.getString("fsRejectStatus").equalsIgnoreCase("2")) { + BussUtils.evalSave(delegateTask, objectNew, prcName, delegateTask.getAssignee()); + } + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6Before.java new file mode 100644 index 00000000..956480d9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6Before.java @@ -0,0 +1,38 @@ +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.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 BussLibraryC6Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryC6?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java new file mode 100644 index 00000000..234ba155 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java @@ -0,0 +1,168 @@ +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.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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年11月16日 17:14 + */ +public class BussUtils { + + public static void evalSave(DelegateTask delegateTask, JSONObject object, String prcName, String localUser) { + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + IBusProcessEvaluationHisService evaluationHisService = SpringContextUtil.getBean(IBusProcessEvaluationHisService.class); + BusProcessEvaluationHis evaluationHis = new BusProcessEvaluationHis(); + evaluationHis.setPId(delegateTask.getProcessInstanceId()); + evaluationHis.setMesg(object.getString("evaluationData")); + evaluationHis.setTaskInfo(delegateTask.getName()); + evaluationHis.setUserId(localUser); + evaluationHis.setPrcName(prcName); + evaluationHis.setTaskId(delegateTask.getId()); + evaluationHis.setCreateTime(sdf.format(new Date())); + evaluationHis.setUpdateTime(sdf.format(new Date())); + evaluationHisService.save(evaluationHis); + } + + public static void endFunAll(DelegateTask delegateTask, String prcName,IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService,String prcType) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + //one2.setPrcName("入库流程结束"); + one2.setPrcName(prcName); + one2.setOverTime(OVERTIME); + one2.setPrcType(prcType); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setMsgType("clause"); + one1.setPId(delegateTask.getProcessInstanceId()); + one1.setMesg(object.toJSONString()); + one1.setFinishFlag("0"); + one1.setTaskInfo(delegateTask.getName()); + one1.setPrcName(prcName); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + + public static void endFunc2(DelegateTask delegateTask, String prcName,IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + //one2.setPrcName("入库流程结束"); + one2.setPrcName(prcName); + one2.setOverTime(OVERTIME); + one2.setPrcType("buss2"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setMsgType("clause"); + one1.setPId(delegateTask.getProcessInstanceId()); + one1.setMesg(object.toJSONString()); + one1.setFinishFlag("0"); + one1.setTaskInfo(delegateTask.getName()); + one1.setPrcName(prcName); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + + public static void endFunc(DelegateTask delegateTask, String prcName,IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + //one2.setPrcName("入库流程结束"); + one2.setPrcName(prcName); + one2.setOverTime(OVERTIME); + one2.setPrcType("buss1"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setMsgType("clause"); + one1.setPId(delegateTask.getProcessInstanceId()); + one1.setMesg(object.toJSONString()); + one1.setFinishFlag("0"); + one1.setTaskInfo(delegateTask.getName()); + one1.setPrcName(prcName); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + + public static void approvalFunc1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String prcName,String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setTaskInfo(delegateTask.getName()); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + + public static void approvalFunc2(DelegateTask delegateTask, JSONObject object, String prcName, List nextUserList) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + 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.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/Utils/FlowFinishEnum.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/Utils/FlowFinishEnum.java new file mode 100644 index 00000000..350c55ab --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/Utils/FlowFinishEnum.java @@ -0,0 +1,33 @@ +package com.ydw.bat.wkflow.listener.bussLibrary.Utils; + +public enum FlowFinishEnum { + + FSLC_JSBZQC_START("正处于技术标准起草节点","0"), + FSLC_JSBZQC_FINISH("技术标准起草节点已结束","1"), + JSBZLC_FINISH("技术标准流程已结束","2"); + + FlowFinishEnum(String label, String value) { + this.label = label; + this.value = value; + } + + String label; + String value; + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/Utils/PoiUtil.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/Utils/PoiUtil.java new file mode 100644 index 00000000..52dccdd8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/Utils/PoiUtil.java @@ -0,0 +1,18 @@ +package com.ydw.bat.wkflow.listener.bussLibrary.Utils; + +import org.apache.commons.io.FileUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; + +import java.io.File; +import java.io.IOException; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年12月13日 11:26 + */ +public class PoiUtil { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/Utils/PoiWord.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/Utils/PoiWord.java new file mode 100644 index 00000000..b175a985 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/Utils/PoiWord.java @@ -0,0 +1,649 @@ +package com.ydw.bat.wkflow.listener.bussLibrary.Utils; + +import com.alibaba.fastjson.JSONObject; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.xwpf.NiceXWPFDocument; +import com.ydw.bat.wkflow.business_main.datas.service.impl.BusProcessModelHisServiceImpl; +import org.apache.poi.hpsf.DocumentSummaryInformation; +import org.apache.poi.hpsf.SummaryInformation; +import org.apache.poi.hwpf.extractor.WordExtractor; +import org.apache.poi.openxml4j.opc.OPCPackage; +import org.apache.poi.poifs.filesystem.FileMagic; +import org.apache.poi.poifs.nio.DataSource; +import org.apache.poi.util.LocaleUtil; +import org.apache.poi.xwpf.extractor.XWPFWordExtractor; +import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy; +import org.apache.poi.xwpf.usermodel.*; +import org.apache.xmlbeans.XmlOptions; +import org.apache.xmlbeans.impl.xb.xmlschema.SpaceAttribute; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; + +import java.io.*; +import java.math.BigInteger; +import java.util.List; +import java.util.Map; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年12月10日 15:38 + */ +public class PoiWord { + + private static final Logger logger = LoggerFactory.getLogger(BusProcessModelHisServiceImpl.class); + + + /** + * 输出SummaryInfomation + * @param info + */ + private static void printInfo(SummaryInformation info) { + //作者 + System.out.println(info.getAuthor()); + //字符统计 + System.out.println(info.getCharCount()); + //页数 + System.out.println(info.getPageCount()); + //标题 + System.out.println(info.getTitle()); + //主题 + System.out.println(info.getSubject()); + } + + /** + * 输出DocumentSummaryInfomation + * @param info + */ + private static void printInfo(DocumentSummaryInformation info) { + //分类 + System.out.println(info.getCategory()); + //公司 + System.out.println(info.getCompany()); + } + + /** + * 关闭输入流 + * @param is + */ + private static void closeStream(InputStream is) { + if (is != null) { + try { + is.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + static String read(InputStream is) throws Exception { + System.out.println(FileMagic.valueOf(is)); + String text = ""; + + return text; + } + + public static void writeToDocx()throws Exception{ + XWPFDocument document= new XWPFDocument(); + + //Write the Document in file system + FileOutputStream out = new FileOutputStream(new File("E:\\Software\\rtpro\\Foton\\File\\doc\\create_table2.docx")); + + //添加标题 + XWPFParagraph titleParagraph = document.createParagraph(); + //设置段落居中 + titleParagraph.setAlignment(ParagraphAlignment.CENTER); + + XWPFRun titleParagraphRun = titleParagraph.createRun(); + + titleParagraphRun.setText("Java PoI"); + titleParagraphRun.setColor("000000"); + titleParagraphRun.setFontSize(20); + + //段落 + XWPFParagraph firstParagraph = document.createParagraph(); + XWPFRun run = firstParagraph.createRun(); + run.setText("Java POI 生成word文件。"); + run.setColor("696969"); + run.setFontSize(16); + + //设置段落背景颜色 + CTShd cTShd = run.getCTR().addNewRPr().addNewShd(); + cTShd.setVal(STShd.CLEAR); + cTShd.setFill("97FFFF"); + + //换行 + XWPFParagraph paragraph1 = document.createParagraph(); + XWPFRun paragraphRun1 = paragraph1.createRun(); + paragraphRun1.setText("\r"); + + //基本信息表格 + XWPFTable infoTable = document.createTable(); + //去表格边框 + infoTable.getCTTbl().getTblPr().unsetTblBorders(); + + //列宽自动分割 + CTTblWidth infoTableWidth = infoTable.getCTTbl().addNewTblPr().addNewTblW(); + infoTableWidth.setType(STTblWidth.DXA); + infoTableWidth.setW(BigInteger.valueOf(9072)); + + //表格第一行 + XWPFTableRow infoTableRowOne = infoTable.getRow(0); + infoTableRowOne.getCell(0).setText("职位"); + infoTableRowOne.addNewTableCell().setText(": Java 开发工程师"); + + //表格第二行 + XWPFTableRow infoTableRowTwo = infoTable.createRow(); + infoTableRowTwo.getCell(0).setText("姓名"); + infoTableRowTwo.getCell(1).setText(": seawater"); + + //表格第三行 + XWPFTableRow infoTableRowThree = infoTable.createRow(); + infoTableRowThree.getCell(0).setText("生日"); + infoTableRowThree.getCell(1).setText(": xxx-xx-xx"); + + //表格第四行 + XWPFTableRow infoTableRowFour = infoTable.createRow(); + infoTableRowFour.getCell(0).setText("性别"); + infoTableRowFour.getCell(1).setText(": 男"); + + //表格第五行 + XWPFTableRow infoTableRowFive = infoTable.createRow(); + infoTableRowFive.getCell(0).setText("现居地"); + infoTableRowFive.getCell(1).setText(": xx"); + CTSectPr sectPr = document.getDocument().getBody().addNewSectPr(); + XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr); + + //添加页眉 + CTP ctpHeader = CTP.Factory.newInstance(); + CTR ctrHeader = ctpHeader.addNewR(); + CTText ctHeader = ctrHeader.addNewT(); + String headerText = "ctpHeader"; + ctHeader.setStringValue(headerText); + XWPFParagraph headerParagraph = new XWPFParagraph(ctpHeader, document); + //设置为右对齐 + headerParagraph.setAlignment(ParagraphAlignment.RIGHT); + XWPFParagraph[] parsHeader = new XWPFParagraph[1]; + parsHeader[0] = headerParagraph; + policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, parsHeader); + + //添加页脚 + CTP ctpFooter = CTP.Factory.newInstance(); + CTR ctrFooter = ctpFooter.addNewR(); + CTText ctFooter = ctrFooter.addNewT(); + String footerText = "ctpFooter"; + ctFooter.setStringValue(footerText); + XWPFParagraph footerParagraph = new XWPFParagraph(ctpFooter, document); + headerParagraph.setAlignment(ParagraphAlignment.CENTER); + XWPFParagraph[] parsFooter = new XWPFParagraph[1]; + parsFooter[0] = footerParagraph; + policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, parsFooter); + + document.write(out); + out.close(); + } + + public static void CustomTOC(CTSdtBlock block) { + CTSdtPr sdtPr = block.addNewSdtPr(); + CTDecimalNumber id = sdtPr.addNewId(); + id.setVal(new BigInteger("4844945")); + sdtPr.addNewDocPartObj().addNewDocPartGallery().setVal("Table of contents"); + CTSdtEndPr sdtEndPr = block.addNewSdtEndPr(); + CTRPr rPr = sdtEndPr.addNewRPr(); + CTFonts fonts = rPr.addNewRFonts(); + fonts.setAsciiTheme(STTheme.MINOR_H_ANSI); + fonts.setEastAsiaTheme(STTheme.MINOR_H_ANSI); + fonts.setHAnsiTheme(STTheme.MINOR_H_ANSI); + fonts.setCstheme(STTheme.MINOR_BIDI); + rPr.addNewB().setVal(STOnOff.OFF); + rPr.addNewBCs().setVal(STOnOff.OFF); + rPr.addNewColor().setVal("auto"); + rPr.addNewSz().setVal(new BigInteger("24")); + rPr.addNewSzCs().setVal(new BigInteger("24")); + CTSdtContentBlock content = block.addNewSdtContent(); + CTP p = content.addNewP(); + p.setRsidR("00EF7E24".getBytes(LocaleUtil.CHARSET_1252)); + p.setRsidRDefault("00EF7E24".getBytes(LocaleUtil.CHARSET_1252)); + p.addNewPPr().addNewPStyle().setVal("TOCHeading"); + p.addNewR().addNewT().setStringValue("目 录");//源码中为"Table of contents" + //设置段落对齐方式,即将“目录”二字居中 + CTPPr pr = p.getPPr(); + CTJc jc = pr.isSetJc() ? pr.getJc() : pr.addNewJc(); + STJc.Enum en = STJc.Enum.forInt(ParagraphAlignment.CENTER.getValue()); + jc.setVal(en); + //"目录"二字的字体 + CTRPr pRpr = p.getRArray(0).addNewRPr(); + fonts = pRpr.isSetRFonts() ? pRpr.getRFonts() : pRpr.addNewRFonts(); + fonts.setAscii("Times New Roman"); + fonts.setEastAsia("华文中宋"); + fonts.setHAnsi("华文中宋"); + //"目录"二字加粗 + CTOnOff bold = pRpr.isSetB() ? pRpr.getB() : pRpr.addNewB(); + bold.setVal(STOnOff.TRUE); + // 设置“目录”二字字体大小为24号 + CTHpsMeasure sz = pRpr.isSetSz() ? pRpr.getSz() : pRpr.addNewSz(); + sz.setVal(new BigInteger("36")); + } + + public static void addRowOnlyTitle(int level, String title,CTSdtBlock block) { + CTSdtContentBlock contentBlock = block.getSdtContent(); + CTP p = contentBlock.addNewP(); + p.setRsidR("00EF7E24".getBytes(LocaleUtil.CHARSET_1252)); + p.setRsidRDefault("00EF7E24".getBytes(LocaleUtil.CHARSET_1252)); + CTPPr pPr = p.addNewPPr(); + pPr.addNewPStyle().setVal("TOC" + level); + CTTabs tabs = pPr.addNewTabs();//Set of Custom Tab Stops自定义制表符集合 + CTTabStop tab = tabs.addNewTab();//Custom Tab Stop自定义制表符 + tab.setVal(STTabJc.RIGHT); + tab.setLeader(STTabTlc.DOT); + tab.setPos(new BigInteger("9190"));//默认为8290,因为调整过页边距,所有需要调整,手动设置找出最佳值 + pPr.addNewRPr().addNewNoProof();//不检查语法 + CTR run = p.addNewR(); + run.addNewRPr().addNewNoProof(); + run.addNewT().setStringValue(title); + //设置行间距 + CTSpacing pSpacing = pPr.getSpacing() != null ? pPr.getSpacing(): pPr.addNewSpacing(); + pSpacing.setLineRule(STLineSpacingRule.AUTO);//行间距类型:多倍 + pSpacing.setLine(new BigInteger("360"));//此处1.5倍行间距 + pSpacing.setBeforeLines(new BigInteger("20"));//段前0.2 + pSpacing.setAfterLines(new BigInteger("10"));//段后0.1 + //设置字体 + CTRPr pRpr = run.getRPr(); + CTFonts fonts = pRpr.isSetRFonts() ? pRpr.getRFonts() : pRpr.addNewRFonts(); + fonts.setAscii("Times New Roman"); + fonts.setEastAsia("黑体"); + fonts.setHAnsi("黑体"); + // 设置字体大小 + CTHpsMeasure sz = pRpr.isSetSz() ? pRpr.getSz() : pRpr.addNewSz(); + sz.setVal(new BigInteger("24")); + + CTHpsMeasure szCs = pRpr.isSetSzCs() ? pRpr.getSzCs() : pRpr.addNewSzCs(); + szCs.setVal(new BigInteger("24")); + } + + public static void addRow(int level, String title, int page, String bookmarkRef,CTSdtBlock block) { + CTSdtContentBlock contentBlock = block.getSdtContent(); + CTP p = contentBlock.addNewP(); + p.setRsidR("00EF7E24".getBytes(LocaleUtil.CHARSET_1252)); + p.setRsidRDefault("00EF7E24".getBytes(LocaleUtil.CHARSET_1252)); + CTPPr pPr = p.addNewPPr(); + pPr.addNewPStyle().setVal("TOC" + level); + CTTabs tabs = pPr.addNewTabs();//Set of Custom Tab Stops自定义制表符集合 + CTTabStop tab = tabs.addNewTab();//Custom Tab Stop自定义制表符 + tab.setVal(STTabJc.RIGHT); + tab.setLeader(STTabTlc.DOT); + tab.setPos(new BigInteger("9100"));//默认为8290,因为调整过页边距,所有需要调整,手动设置找出最佳值 + pPr.addNewRPr().addNewNoProof();//不检查语法 + CTR run = p.addNewR(); + run.addNewRPr().addNewNoProof(); + run.addNewT().setStringValue(title);//添加标题文字 + //设置标题字体 + CTRPr pRpr = run.getRPr(); + CTFonts fonts = pRpr.isSetRFonts() ? pRpr.getRFonts() : pRpr.addNewRFonts(); + fonts.setAscii("Times New Roman"); + fonts.setEastAsia("楷体"); + fonts.setHAnsi("楷体"); + // 设置标题字体大小 + CTHpsMeasure sz = pRpr.isSetSz() ? pRpr.getSz() : pRpr.addNewSz(); + sz.setVal(new BigInteger("21")); + CTHpsMeasure szCs = pRpr.isSetSzCs() ? pRpr.getSzCs() : pRpr.addNewSzCs(); + szCs.setVal(new BigInteger("21")); + //添加制表符 + run = p.addNewR(); + run.addNewRPr().addNewNoProof(); + run.addNewTab(); + //添加页码左括号 + p.addNewR().addNewT().setStringValue("("); + //STFldCharType.BEGIN标识与结尾处STFldCharType.END相对应 + run = p.addNewR(); + run.addNewRPr().addNewNoProof(); + run.addNewFldChar().setFldCharType(STFldCharType.BEGIN);//Field Character Type + // pageref run + run = p.addNewR(); + run.addNewRPr().addNewNoProof(); + CTText text = run.addNewInstrText();//Field Code 添加域代码文本控件 + text.setSpace(SpaceAttribute.Space.PRESERVE); + // bookmark reference + //源码的域名为" PAGEREF _Toc","\h"含义为在目录内建立目录项与页码的超链接 + text.setStringValue(" PAGEREF "+bookmarkRef + " \\h "); + p.addNewR().addNewRPr().addNewNoProof(); + run = p.addNewR(); + run.addNewRPr().addNewNoProof(); + run.addNewFldChar().setFldCharType(STFldCharType.SEPARATE); + // page number run + run = p.addNewR(); + run.addNewRPr().addNewNoProof(); + run.addNewT().setStringValue(Integer.toString(page)); + run = p.addNewR(); + run.addNewRPr().addNewNoProof(); + //STFldCharType.END标识与上面STFldCharType.BEGIN相对应 + run.addNewFldChar().setFldCharType(STFldCharType.END); + //添加页码右括号 + p.addNewR().addNewT().setStringValue(")"); + //设置行间距 + CTSpacing pSpacing = pPr.getSpacing() != null ? pPr.getSpacing(): pPr.addNewSpacing(); + pSpacing.setLineRule(STLineSpacingRule.AUTO);//行间距类型:多倍 + pSpacing.setLine(new BigInteger("360"));//此处1.5倍行间距 + } + + /** + * @param content 旧文件地址 + * @param data 需要填写的参数 + * @param destDocx 保存的文件地址 + * @param newFile 新文件地址 + */ + public static void wordRedDocument(String content, Map data, String destDocx,String newFile) throws Exception { + //模板文件地址 固定模板 +// String model = "模板.docx"; + //模板文件 参数填写 render(data) + XWPFTemplate template = XWPFTemplate.compile(newFile); + //获取模板文件 公文 + NiceXWPFDocument main = template.getXWPFDocument(); + NiceXWPFDocument sub = new NiceXWPFDocument(new FileInputStream(content)); + // 合并两个文档 + NiceXWPFDocument newDoc = main.merge(sub); + // 生成新文档 + FileOutputStream out = new FileOutputStream(destDocx); + newDoc.write(out); + newDoc.close(); + out.close(); + } + + /** + * 合并两个文档到新的文件 + * @param outfile 输出文件 + * @param file1 要合并的文件1 + * @param file2 要合并的文件2 + * @throws Exception + */ + private void appenddoc(String outfile,String file1,String file2) throws Exception { + InputStream in1 = null; + InputStream in2 = null; + + OPCPackage src1Package = null; + OPCPackage src2Package = null; + + OutputStream dest = new FileOutputStream(outfile); + try { + in1 = new FileInputStream(file1); + in2 = new FileInputStream(file2); + src1Package = OPCPackage.open(in1); + src2Package = OPCPackage.open(in2); + } catch (Exception e) { + e.printStackTrace(); + } + + XWPFDocument src1Document = new XWPFDocument(src1Package); + CTBody src1Body = src1Document.getDocument().getBody(); + XWPFParagraph p = src1Document.createParagraph(); + //设置分页符 + p.setPageBreak(true); + XWPFDocument src2Document = new XWPFDocument(src2Package); + CTBody src2Body = src2Document.getDocument().getBody(); + appendBody(src1Body, src2Body); + src1Document.write(dest); + src1Document.close(); + src2Document.close(); + in1.close(); + in2.close(); + dest.close(); + } + private void appendBody(CTBody src, CTBody append) throws Exception { + XmlOptions optionsOuter = new XmlOptions(); + optionsOuter.setSaveOuter(); + String appendString = append.xmlText(optionsOuter); + String srcString = src.xmlText(); + String prefix = srcString.substring(0,srcString.indexOf(">")+1); + String mainPart = srcString.substring(srcString.indexOf(">")+1,srcString.lastIndexOf("<")); + String sufix = srcString.substring( srcString.lastIndexOf("<") ); + String addPart = appendString.substring(appendString.indexOf(">") + 1, appendString.lastIndexOf("<")); + CTBody makeBody = CTBody.Factory.parse(prefix+mainPart+addPart+sufix); + src.set(makeBody); + } + + + /** + * 生成企标模板 + */ + public static void writeWordModel(String filePath, JSONObject object, String pid) { + try { + XWPFDocument doc = new XWPFDocument(); + StringBuilder builder=new StringBuilder(); + builder.append(filePath); + builder.append("buss").append("/"); + builder.append(pid).append("/"); + String saveFileUrl = builder.toString(); + File dir = new File(saveFileUrl); + if (!dir.exists()) { + dir.mkdirs(); + } + FileOutputStream out = new FileOutputStream(new File(saveFileUrl+"model.docx")); + //设置文档一级主题居右 + XWPFParagraph titleParagraph1 = doc.createParagraph(); + + titleParagraph1.setAlignment(ParagraphAlignment.RIGHT); + + XWPFRun titleParagraphRun = titleParagraph1.createRun(); + titleParagraphRun.setText(object.getString("standSort")); + titleParagraphRun.setColor("000000"); + titleParagraphRun.setFontSize(48); + titleParagraphRun.setFontFamily("Times New Roman"); + titleParagraphRun.setBold(true); + titleParagraphRun.addCarriageReturn(); + + //设置文档二级主题居中 + XWPFParagraph titleParagraph2 = doc.createParagraph(); + + titleParagraph2.setAlignment(ParagraphAlignment.CENTER); + + XWPFRun titleParagraphRun2 = titleParagraph2.createRun(); + titleParagraphRun2.setText("北汽福田汽车股份有限公司企业标准"); + titleParagraphRun2.setColor("000000"); + titleParagraphRun2.setFontSize(24); + titleParagraphRun2.setFontFamily("黑体"); + titleParagraphRun2.addCarriageReturn(); + titleParagraphRun2.addCarriageReturn(); + + //设置文档三级级主题居右 + XWPFParagraph titleParagraph3 = doc.createParagraph(); + + titleParagraph3.setAlignment(ParagraphAlignment.RIGHT); + + XWPFRun titleParagraphRun3 = titleParagraph3.createRun(); + titleParagraphRun3.setText(object.getString("standCode")); + titleParagraphRun3.setColor("000000"); + titleParagraphRun3.setFontSize(14); + titleParagraphRun3.setFontFamily("Times New Roman"); + titleParagraphRun3.addCarriageReturn(); + titleParagraphRun3.addCarriageReturn(); + titleParagraphRun3.addCarriageReturn(); + + //设置文档三级级主题居右 +// XWPFParagraph titleParagraph4 = doc.createParagraph(); +// +// titleParagraph4.setAlignment(ParagraphAlignment.RIGHT); +// +// XWPFRun titleParagraphRun4 = titleParagraph4.createRun(); +// titleParagraphRun4.setText("代替 Q/FT XXXX—XXX X"); +// titleParagraphRun4.setColor("000000"); +// titleParagraphRun4.setFontSize(10); +// titleParagraphRun4.setFontFamily("Times New Roman"); +// titleParagraphRun4.addCarriageReturn(); +// titleParagraphRun4.addCarriageReturn(); +// titleParagraphRun4.addCarriageReturn(); +// titleParagraphRun4.addCarriageReturn(); +// titleParagraphRun4.addCarriageReturn(); + + //设置背景名称一级级主题居中 + XWPFParagraph breakParagraph1 = doc.createParagraph(); + + breakParagraph1.setAlignment(ParagraphAlignment.CENTER); + + XWPFRun breakParagraphRun1 = breakParagraph1.createRun(); + breakParagraphRun1.setText(object.getString("standName")); + breakParagraphRun1.setColor("000000"); + breakParagraphRun1.setFontSize(26); + breakParagraphRun1.setFontFamily("黑体"); + breakParagraphRun1.addCarriageReturn(); + + //设置背景名称二级级主题居中 + XWPFParagraph breakParagraph2 = doc.createParagraph(); + + breakParagraph2.setAlignment(ParagraphAlignment.CENTER); + breakParagraph2.setPageBreak(true); + + XWPFRun breakParagraphRun2 = breakParagraph2.createRun(); + breakParagraphRun1.setText(object.getString("standEnName") == null ? "" : object.getString("standEnName")); + breakParagraphRun2.setColor("000000"); + breakParagraphRun2.setFontSize(14); + breakParagraphRun2.setFontFamily("Times New Roman"); + breakParagraphRun2.addCarriageReturn(); + + // 创建目录主题 +// createCustomTOC(doc); + + XWPFParagraph contentParagraph1 = doc.createParagraph(); + + contentParagraph1.setAlignment(ParagraphAlignment.CENTER); + + XWPFRun contentParagraphRun1 = contentParagraph1.createRun(); + breakParagraphRun1.setText(object.getString("standName")); + contentParagraphRun1.setColor("000000"); + contentParagraphRun1.setFontSize(16); + contentParagraphRun1.setFontFamily("黑体"); + contentParagraphRun1.addCarriageReturn(); + + doc.write(out); + out.close(); + }catch (Exception e){ + logger.error(e.getMessage()); + } + } + + public static CTSdtBlock createCustomTOC(XWPFDocument doc) { + CTSdtBlock block = doc.getDocument().getBody().addNewSdt(); + + + // 生成目录方法 先在顶部占位,然后等文档的标题和内容等信息全部写完之后,在写目录剩下的部分 + doc.createTOC(); + + CustomTOC(block); + + addItem2TOC(doc,block); + + return block; + } + + public static void writeTOC() throws IOException { + XWPFDocument document= new XWPFDocument(); + + //Write the Document in file system + FileOutputStream out = new FileOutputStream(new File("E:\\Software\\rtpro\\Foton\\File\\doc\\create_toc.docx")); + + //添加标题 + XWPFParagraph titleParagraph = document.createParagraph(); + + //设置段落居中 + titleParagraph.setAlignment(ParagraphAlignment.CENTER); + + XWPFRun titleParagraphRun = titleParagraph.createRun(); + titleParagraphRun.setText("Java PoI"); + titleParagraphRun.setColor("000000"); + titleParagraphRun.setFontSize(20); + + //段落 + XWPFParagraph firstParagraph = document.createParagraph(); + firstParagraph.setStyle("Heading1"); + XWPFRun run = firstParagraph.createRun(); + run.setText("段落1。"); + run.setColor("696969"); + run.setFontSize(18); + + + //段落 + XWPFParagraph firstParagraph1 = document.createParagraph(); + firstParagraph1.setStyle("Heading1"); + XWPFRun run1 = firstParagraph1.createRun(); + run1.setText("段落2"); + run1.setColor("696969"); + run1.setFontSize(16); + + document.createTOC(); + + document.write(out); + out.close(); + } + + public static void addItem2TOC(XWPFDocument doc,CTSdtBlock block) { + List paragraphs = doc.getParagraphs(); + for (XWPFParagraph par : paragraphs) { + String parStyle = par.getStyle(); + if (parStyle != null && parStyle.startsWith("Heading")) { + List bookmarkList=par.getCTP().getBookmarkStartList(); + try { + int level = Integer.parseInt(parStyle.substring("Heading".length())); + if(level==1){ + //添加栏目 + addRowOnlyTitle(level, par.getText(),block); + }else{ + //添加标题 + addRow(level, par.getText(), 1, bookmarkList.get(0).getName(),block); + } + } catch (NumberFormatException e) { + e.printStackTrace(); + } + } + } + } + + + + public static void main(String[] args) throws Exception { + wordRedDocument("E:\\Software\\rtpro\\Foton\\File\\doc\\create_toc-2.docx",null,"E:\\Software\\rtpro\\Foton\\File\\doc\\create_toc3.docx","E:\\Software\\rtpro\\Foton\\File\\doc\\create_toc-1.docx"); +// writeWordBanch(); +// writeToDocx(); +// writeTOC(); +// InputStream is = new BufferedInputStream(new FileInputStream("E:\\Software\\rtpro\\Foton\\File\\doc\\北汽福田资料\\资料\\提供材料2021.04\\10、标准复审单及修订计划表.doc")); //really a OOXML Word file + InputStream is = new BufferedInputStream(new FileInputStream("E:\\Software\\rtpro\\Foton\\File\\doc\\企业技术标准通用模板12.3.docx")); //really a OOXML Word file + if (FileMagic.valueOf(is) == FileMagic.OLE2) { + WordExtractor ex = new WordExtractor(is); + printWord(ex); + ex.close(); + } else if (FileMagic.valueOf(is) == FileMagic.OOXML) { + XWPFDocument doc = new XWPFDocument(is); + System.out.println(doc.getStyles()); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc); +// printWordHWPF(extractor); + extractor.close(); + } + closeStream(is); + } + + private static void printWord(WordExtractor extractor) { + //输出word文档所有的文本 + System.out.println(extractor.getText()); + System.out.println(extractor.getTextFromPieces()); + //输出页眉的内容 + System.out.println("页眉:" + extractor.getHeaderText()); + //输出页脚的内容 + System.out.println("页脚:" + extractor.getFooterText()); + //输出当前word文档的元数据信息,包括作者、文档的修改时间等。 + System.out.println(extractor.getMetadataTextExtractor().getText()); + //获取各个段落的文本 + String paraTexts[] = extractor.getParagraphText(); + for (int i=0; i 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 = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + + List nextUserList = new ArrayStack<>(); + if(StringUtils.isNotBlank(object.getString("bussUser2"))){ + + if(object.getString("bussUser2").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser2").split(",")); + }else { + nextUserList.add(object.getString("bussUser2")); + } + // 配置多实例 + delegateTask.setVariable("bussUser2List",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + }else { + throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户"); + } + // 下个节点执行人处理逻辑 +// List finalNextUserList = new ArrayList(); +// List busProcessModelHisList = new ArrayList<>(); +// if(StringUtils.isNotBlank(object.getString("modelData"))){ +// List valueArr = JSONArray.parseArray(object.getString("modelData"),JSONObject.class); +// Map> listMap = valueArr.stream().collect( +// Collectors.groupingBy(a -> Utils.format("{0}", a.getString("zrUserId")))); +// listMap.forEach((s, jsonObjects) -> { +// String json = JSONArray.toJSONString(jsonObjects); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(json); +// modelHis.setUserId(s); +// modelHis.setPrcName(prcName); +// modelHis.setEditType("node"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// busProcessModelHisList.add(modelHis); +// finalNextUserList.add(s); +// }); +// // 配置多实例 +// delegateTask.setVariable("qcUserList",finalNextUserList); +// delegateTask.addCandidateUsers(finalNextUserList); +// }else { +// throw new ActivitiException("1#2其他起草人参数不存在,请配置相关用户"); +// } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } +// if(!busProcessModelHisList.isEmpty()){ +// busProcessModelHisService.saveBatch(busProcessModelHisList); +// } + + // 生成 模板 +// busProcessModelHisService.saveBussTemplateFile(object,delegateTask.getProcessInstanceId()); + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BLApplicantBefore.java new file mode 100644 index 00000000..843bd47d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BLApplicantBefore.java @@ -0,0 +1,26 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * 发起企标制修订流程前 + */ +public class BLApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } +// + +// WkFlowSendEmail.sendEmailTodo(delegateTask,"会前申请流程"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10After.java new file mode 100644 index 00000000..f1670e9d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10After.java @@ -0,0 +1,111 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ObjectUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * 总院标准法规部高级经理/各事业部标准业务/认证业务经理审核后 + */ +public class BussLibraryProduct10After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("bussUser12"))){ + delegateTask.setVariable("approveUserThrough", (Integer) delegateTask.getVariable("approveUserThrough") + 1); + if (ObjectUtils.equals(delegateTask.getVariable("approveUserThrough"),delegateTask.getVariable("approveUserSize"))) { + if(object.getString("bussUser12").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser12").split(",")); + }else { + nextUserList.add(object.getString("bussUser12")); + } + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("bussUser12",object.getString("bussUser12")); + delegateTask.setVariable("bussP10Flag", 0); + } + + }else { + throw new ActivitiException("1#2总院技术管理中心主任/各事业部主管标准业务高级经理参数不存在,请配置相关用户"); + } + } else { + delegateTask.setVariable("approveReject",1); + if(StringUtils.isNotBlank(object.getString("bussUser6"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("bussUser6")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("bussUserC6",object.getString("bussUser6")); + delegateTask.setVariable("bussP10Flag", 1); + }else { + throw new ActivitiException("1#2意见汇总及标准修改参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10Before.java new file mode 100644 index 00000000..7999851f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct10Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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 BussLibraryProduct10Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct10?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct11After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct11After.java new file mode 100644 index 00000000..e8830b69 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct11After.java @@ -0,0 +1,106 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.ActivitiException; +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; + +/** + * 总院技术管理中心主任/各事业部主管标准业务高级经理审定后 + */ +public class BussLibraryProduct11After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("bussUser12"))){ + + if(object.getString("bussUser12").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser12").split(",")); + }else { + nextUserList.add(object.getString("bussUser12")); + } + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("bussUser12",object.getString("bussUser12")); + delegateTask.setVariable("bussP11Flag", 0); + }else { + throw new ActivitiException("1#2总院平台总监/各事业部研发副总裁参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("bussUser6"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("bussUser6")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("bussUserC6",object.getString("bussUser6")); + delegateTask.setVariable("bussP11Flag", 1); + }else { + throw new ActivitiException("1#2意见汇总及标准修改参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct11Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct11Before.java new file mode 100644 index 00000000..04e2a5f1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct11Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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 BussLibraryProduct11Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct11?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct12After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct12After.java new file mode 100644 index 00000000..23ae4d79 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct12After.java @@ -0,0 +1,106 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.ActivitiException; +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; + +/** + * 总院平台总监/各事业部研发副总裁批准后 + */ +public class BussLibraryProduct12After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("bussUser13"))){ + + if(object.getString("bussUser13").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser13").split(",")); + }else { + nextUserList.add(object.getString("bussUser13")); + } + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("bussUser13",object.getString("bussUser13")); + delegateTask.setVariable("bussP12Flag", 0); + }else { + throw new ActivitiException("1#2总院平台总监/各事业部研发副总裁参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("bussUser6"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("bussUser6")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("bussUserC6",object.getString("bussUser6")); + delegateTask.setVariable("bussP12Flag", 1); + }else { + throw new ActivitiException("1#2意见汇总及标准修改参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct12Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct12Before.java new file mode 100644 index 00000000..d72c7f68 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct12Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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 BussLibraryProduct12Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct12?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct13After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct13After.java new file mode 100644 index 00000000..fa1da863 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct13After.java @@ -0,0 +1,66 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.dto.WG.NewsFeed; +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.ActivitiException; +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.Date; +import java.util.List; +import java.util.UUID; + +/** + * 总院标准法规部产品标准工程师/各事业部标准化员发布后 + */ +public class BussLibraryProduct13After 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); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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 prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } +// if(!("3".equals(object.getString("standStatus")))) { +// NewsFeed newsFeed = new NewsFeed(); +// newsFeed.setId(String.valueOf(UUID.randomUUID())); +// newsFeed.setRenewTime(new Date()); +//// newsFeed.setResourceType(object.getString("standType")); +// newsFeed.setMessageType("2"); +// newsFeed.setStandard(object.getString("standNumber")); +// newsFeed.setStandardName(object.getString("standName")); +// newsFeed.setReleaseDate(object.getString("issueTime")); +// lawsUserInfoService.insertNewsFeed(newsFeed); +// } + BussUtils.endFunc2(delegateTask, prcName,busBean, object, "0", busProcessNameService); + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct13Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct13Before.java new file mode 100644 index 00000000..5901c2a0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct13Before.java @@ -0,0 +1,42 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +import com.alibaba.fastjson.JSON; +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.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 BussLibraryProduct13Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct13?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct14After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct14After.java new file mode 100644 index 00000000..e92e105c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct14After.java @@ -0,0 +1,48 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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.ActivitiException; +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; + +/** + * 抄送后 + */ +public class BussLibraryProduct14After 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 prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + BussUtils.endFunc2(delegateTask, prcName,busBean, object, "0", busProcessNameService); + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct14Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct14Before.java new file mode 100644 index 00000000..72a2ed2d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct14Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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 BussLibraryProduct14Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary14?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct2After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct2After.java new file mode 100644 index 00000000..87c2dba2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct2After.java @@ -0,0 +1,114 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 企标编写后 + */ +public class BussLibraryProduct2After 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); + + List nextUserList = new ArrayList(); + + JSONArray fileList =delegateTask.getVariable("fileModelList", JSONArray.class); + if (fileList==null) { + fileList=new JSONArray(); + } + + fileList.addAll(object.getJSONArray("fileModelList")); + delegateTask.setVariable("fileModelList",fileList); + + if(StringUtils.isNotBlank(object.getString("bussUser3"))){ + delegateTask.setVariable("bussUser3",object.getString("bussUser3")); + nextUserList.add(object.getString("bussUser3")); + }else { + throw new ActivitiException("1#2主起草人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct2Before.java new file mode 100644 index 00000000..23dedfed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct2Before.java @@ -0,0 +1,58 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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 BussLibraryProduct2Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct2?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + + // 创建当前节点文件 - 暂时为空文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// +// QueryWrapper wrapperModel = new QueryWrapper(); +// wrapperModel.eq("P_ID",delegateTask.getProcessInstanceId()); +// wrapperModel.eq("USER_ID",delegateTask.getAssignee()); +// wrapperModel.isNull("TASK_ID"); +// List hisList = hisService.list(wrapperModel); +// if(!hisList.isEmpty()){ +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// BusProcessModelHis modelHis = hisList.get(0); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setTaskInfo(delegateTask.getName()); +// String filePath = hisService.saveBussModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId()); +// modelHis.setEditFilePath(filePath); +// modelHis.setUpdateTime(sdf.format(new Date())); +// hisService.saveOrUpdate(modelHis); +// } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct3After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct3After.java new file mode 100644 index 00000000..50216b77 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct3After.java @@ -0,0 +1,105 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 企标汇总修订后 + */ +public class BussLibraryProduct3After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussUser4"))){ + delegateTask.setVariable("bussUser4",object.getString("bussUser4")); + nextUserList.add(object.getString("bussUser4")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct3Before.java new file mode 100644 index 00000000..7f2b0ede --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct3Before.java @@ -0,0 +1,70 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +import com.alibaba.fastjson.JSON; +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.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 BussLibraryProduct3Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + /** + * 汇总企标编写文件列表 + */ + String msg = one1.getMesg(); + JSONObject jsonObject = JSON.parseObject(msg); + JSONArray fileList=delegateTask.getVariable("fileModelList",JSONArray.class); + jsonObject.put("fileModelList",fileList); + one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct3?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + + // 创建汇总文件 --- 合并子节点在线编辑文件 +// IBusProcessModelHisService hisService = SpringContextUtil.getBean(IBusProcessModelHisService.class); +// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); +// +// BusProcessModelHis modelHis = new BusProcessModelHis(); +// modelHis.setPId(delegateTask.getProcessInstanceId()); +// modelHis.setMesg(one1.getMesg()); +// modelHis.setTaskInfo(delegateTask.getName()); +// modelHis.setUserId(one1.getUserId()); +// modelHis.setPrcName(one1.getPrcName()); +// modelHis.setTaskId(delegateTask.getId()); +// modelHis.setEditType("count"); +// modelHis.setCreateTime(sdf.format(new Date())); +// modelHis.setUpdateTime(sdf.format(new Date())); +// // 合并子节点在线编辑文件后 返回 汇总文件路径 +// String fileUrl = hisService.mergeModelFile(delegateTask.getProcessInstanceId(),delegateTask.getId(),"docx"); +// modelHis.setEditFilePath(fileUrl); +// hisService.save(modelHis); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct4After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct4After.java new file mode 100644 index 00000000..5ac123bb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct4After.java @@ -0,0 +1,108 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.ActivitiException; +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; + +/** + * 总院各中心兼职标准化员/各事业部标准化员初审后 + */ +public class BussLibraryProduct4After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("bussUser5"))){ + + if(object.getString("bussUser5").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser5").split(",")); + }else { + nextUserList.add(object.getString("bussUser5")); + } + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + // 配置多实例 + delegateTask.setVariable("bussUser5List",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + delegateTask.setVariable("bussP4Flag", 0); + }else { + throw new ActivitiException("1#2会签用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("bussUser3"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("bussUser3")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("bussUserC3",object.getString("bussUser3")); + delegateTask.setVariable("bussP4Flag", 1); + }else { + throw new ActivitiException("1#2汇总用户参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct4Before.java new file mode 100644 index 00000000..6a7b77b4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct4Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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 BussLibraryProduct4Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct4?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct5After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct5After.java new file mode 100644 index 00000000..78bc3bb5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct5After.java @@ -0,0 +1,114 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +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.ActivitiException; +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; + +/** + * 会签征求意见后 + */ +public class BussLibraryProduct5After 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); + + List nextUserList = new ArrayList(); + + JSONArray ideaList =delegateTask.getVariable("ideaList", JSONArray.class); + if (ideaList==null) { + ideaList=new JSONArray(); + } + + if (ObjectUtils.isNotEmpty(object.getJSONArray("modelData"))) { + ideaList.addAll(object.getJSONArray("modelData")); + } + delegateTask.setVariable("ideaList",ideaList); + + if(StringUtils.isNotBlank(object.getString("bussUser6"))){ + delegateTask.setVariable("bussUser6",object.getString("bussUser6")); + nextUserList.add(object.getString("bussUser6")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + + // 评分存储 + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct5Before.java new file mode 100644 index 00000000..6dac5904 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct5Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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 BussLibraryProduct5Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct5?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct6After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct6After.java new file mode 100644 index 00000000..cbe134af --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct6After.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * 意见汇总及标准修改后 + */ +public class BussLibraryProduct6After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussUser7"))){ + delegateTask.setVariable("bussUser7",object.getString("bussUser7")); + nextUserList.add(object.getString("bussUser7")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct6Before.java new file mode 100644 index 00000000..9f9d5eb3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct6Before.java @@ -0,0 +1,52 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +import com.alibaba.fastjson.JSON; +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.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 BussLibraryProduct6Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + + /** + * 汇总已审批通过的意见 + */ + String msg = one1.getMesg(); + JSONObject jsonObject = JSON.parseObject(msg); + JSONArray ideaList=delegateTask.getVariable("ideaList",JSONArray.class); + jsonObject.put("infoList",ideaList); + one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct6?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7After.java new file mode 100644 index 00000000..c8592924 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7After.java @@ -0,0 +1,115 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.ActivitiException; +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; + +/** + * 总院标准法规部产品标准工程师/各事业部标准法规部复审后 + */ +public class BussLibraryProduct7After 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 approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("bussUser8"))){ + + if(object.getString("bussUser8").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser8").split(",")); + }else { + nextUserList.add(object.getString("bussUser8")); + } + + // 配置多实例 + delegateTask.setVariable("bussUser8List",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("bussP7Flag", 0); + + //设置下个审批节点操作人数量+通过人数量 + delegateTask.setVariable("auditUserSize",nextUserList.size()); + delegateTask.setVariable("auditUserThrough",0); + delegateTask.setVariable("auditReject",0); + }else { + throw new ActivitiException("1#2总院标准法规部产品标准工程师/各事业部标准法规部参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("bussUser6"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("bussUser6")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("bussUserC6",object.getString("bussUser6")); + delegateTask.setVariable("bussP7Flag", 1); + }else { + throw new ActivitiException("1#2意见汇总及标准修改参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7Before.java new file mode 100644 index 00000000..effbf55b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct7Before.java @@ -0,0 +1,42 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +import com.alibaba.fastjson.JSON; +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.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 BussLibraryProduct7Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct7?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8After.java new file mode 100644 index 00000000..fb4c0688 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8After.java @@ -0,0 +1,120 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ObjectUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; + +/** + * 总院项目总工/各事业部整车所产品经理审核后 + */ +public class BussLibraryProduct8After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("bussUser10"))){ + delegateTask.setVariable("auditUserThrough", (Integer) delegateTask.getVariable("auditUserThrough") + 1); + if (ObjectUtils.equals(delegateTask.getVariable("auditUserSize"),delegateTask.getVariable("auditUserThrough"))) { + if(object.getString("bussUser10").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser10").split(",")); + }else { + nextUserList.add(object.getString("bussUser10")); + } + + // 配置多实例 + delegateTask.setVariable("bussUser10List",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("bussP8Flag", 0); + + //设置下个审定节点操作人数量+通过人数量 + delegateTask.setVariable("approveUserSize",nextUserList.size()); + delegateTask.setVariable("approveUserThrough",0); + delegateTask.setVariable("approveReject",0); + } + + }else { + throw new ActivitiException("1#2总院标准法规部高级经理/各事业部标准业务/认证业务经理参数不存在,请配置相关用户"); + } + } else { + delegateTask.setVariable("auditReject",1); + if(StringUtils.isNotBlank(object.getString("bussUser6"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("bussUser6")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("bussUserC6",object.getString("bussUser6")); + delegateTask.setVariable("bussP8Flag", 1); + }else { + throw new ActivitiException("1#2意见汇总及标准修改参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8Before.java new file mode 100644 index 00000000..9fa2009b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct8Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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 BussLibraryProduct8Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct8?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct9After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct9After.java new file mode 100644 index 00000000..2998e85b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct9After.java @@ -0,0 +1,106 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.ActivitiException; +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; + +/** + * 总院标准法规部高级经理/各事业部标准业务/认证业务经理审核后 + */ +public class BussLibraryProduct9After 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); + + List nextUserList = new ArrayList(); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(approvalOpinion)){ + if ("0".equalsIgnoreCase(approvalOpinion)) { + if(StringUtils.isNotBlank(object.getString("bussUser10"))){ + + if(object.getString("bussUser10").contains(",")){ + nextUserList = Arrays.asList(object.getString("bussUser10").split(",")); + }else { + nextUserList.add(object.getString("bussUser10")); + } + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("bussUser10",object.getString("bussUser10")); + delegateTask.setVariable("bussP9Flag", 0); + }else { + throw new ActivitiException("1#2总院产品工程经理/各事业部技术中心主任参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("bussUser6"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("bussUser6")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("bussUserC6",object.getString("bussUser6")); + delegateTask.setVariable("bussP9Flag", 1); + }else { + throw new ActivitiException("1#2意见汇总及标准修改参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct9Before.java new file mode 100644 index 00000000..98e78713 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProduct9Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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 BussLibraryProduct9Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProduct9?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC3After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC3After.java new file mode 100644 index 00000000..65fdccbf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC3After.java @@ -0,0 +1,105 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 企标汇总修订后 + */ +public class BussLibraryProductC3After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussUser4"))){ + delegateTask.setVariable("bussUser4",object.getString("bussUser4")); + nextUserList.add(object.getString("bussUser4")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC3Before.java new file mode 100644 index 00000000..05eb4971 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC3Before.java @@ -0,0 +1,42 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +import com.alibaba.fastjson.JSON; +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.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 BussLibraryProductC3Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProductC3?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC6After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC6After.java new file mode 100644 index 00000000..ddaea379 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC6After.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * 重新意见汇总及标准修改后 + */ +public class BussLibraryProductC6After 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("bussUser7"))){ + delegateTask.setVariable("bussUser7",object.getString("bussUser7")); + nextUserList.add(object.getString("bussUser7")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = ""; + if(StringUtils.isNotBlank(object.getString("standName")) && StringUtils.isNotBlank(object.getString("standSort"))){ + prcName = object.getString("standSort")+"-"+object.getString("standName") + "-企标制修订"; + }else { + prcName = "企标制修订"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("buss2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC6Before.java new file mode 100644 index 00000000..1e52843d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibraryProduct/BussLibraryProductC6Before.java @@ -0,0 +1,43 @@ +package com.ydw.bat.wkflow.listener.bussLibraryProduct; + +import com.alibaba.fastjson.JSON; +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.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 BussLibraryProductC6Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibraryProductC6?prcType=buss2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1After.java new file mode 100644 index 00000000..ce0ae598 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1After.java @@ -0,0 +1,91 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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.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 ProcessStep1After 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + if (object.getString("jgUserId").contains(",")) { + nextUserList=new ArrayList<>(Arrays.asList(object.getString("jgUserId").split(","))); + }else { + nextUserList.add(object.getString("jgUserId")); + } + delegateTask.setVariable("workPeopleList",nextUserList); + + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = "企标复审流程-工作组成员标准复审"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("23"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + // 存储当前节点意见 + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1Before.java new file mode 100644 index 00000000..dd8e6b60 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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 ProcessStep1Before 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("qbfsStep2?prcType=23"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2After.java new file mode 100644 index 00000000..1d9a4d1b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2After.java @@ -0,0 +1,111 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +import com.alibaba.fastjson.JSONArray; +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_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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import springfox.documentation.spring.web.json.Json; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ProcessStep2After 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); + + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + if (null == delegateTask.getVariable("count")) { + delegateTask.setVariable("count", delegateTask.getVariable("workPeopleList", List.class).size()); + } + if (delegateTask.getVariable("count",Integer.class)==1){ + //合并前面数据中的意见 该部分需要在调试中进行编写 + List busProcessNews = busBean.findLastworkPeople2("企标复审流程",delegateTask.getProcessInstanceId()); + System.out.println(busProcessNews); + List strings=new ArrayList<>(); + strings.add(object.getString("presentPeople")+"-"+object.getString("nextStatus")); + for (BusProcessNew bus:busProcessNews) { + JSONObject object1=JSONObject.parseObject(bus.getMesg()); + strings.add(object1.getString("presentPeople")+"-"+object1.getString("nextStatus")); + } + System.out.println(JSONArray.toJSON(strings.toString())); + object.put("res", JSONArray.toJSON(strings.toString())); + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)-1); + }else { + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)-1); + } + nextUserList.add(delegateTask.getVariable("wgLeaderId",String.class)); + delegateTask.setVariable("wgLeaderId1",delegateTask.getVariable("wgLeaderId",String.class)); + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = "企标复审流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("23"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + if (delegateTask.getVariable("count",Integer.class)!=0){ + busProcessNewNext.setTaskId("999"); + } + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2Before.java new file mode 100644 index 00000000..7c5e2d3e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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 ProcessStep2Before 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("qbfsStep3?prcType=23"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3After.java new file mode 100644 index 00000000..1838832e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3After.java @@ -0,0 +1,114 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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.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.SarBussionessStand; +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 org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProcessStep3After 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + //根据意见选择 企标状态并对企标信息进行修改 + if ("修订".equals(object.getString("nextStatus"))){ + + }else if ("废止".equals(object.getString("nextStatus"))){ + SarBussionessStand sarBussionessStand = new SarBussionessStand(); + sarBussionessStand.setTextStatusBuss(object.getString("standtextStatus")); + sarBussionessStand.setId(object.getString("standId")); + lawsUserInfoService.updateSarBussionessStand(sarBussionessStand); + } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if(one2!=null){ + one2.setOverTime(OVERTIME); + one2.setPrcType("23"); + busProcessNameService.saveOrUpdate(one2); + } + + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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.setPrcName("企标复审流程-流程结束"); + busBean.save(busProcessNewNext); + + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if(one1!=null){ + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3Before.java new file mode 100644 index 00000000..078ab78e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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 ProcessStep3Before 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("qbfsStep4?prcType=23"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartAfter.java new file mode 100644 index 00000000..2aba88f6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartAfter.java @@ -0,0 +1,93 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProcessstartAfter 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("dockUser")); + delegateTask.setVariable("wgLeaderId",object.getString("dockUser")); + + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName = "企标复审流程-工作组组长选择责任人"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("23"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + // 存储当前节点意见 + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartBefore.java new file mode 100644 index 00000000..00e5bfcc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartBefore.java @@ -0,0 +1,13 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class ProcessstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1After.java new file mode 100644 index 00000000..bbef0f7c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1After.java @@ -0,0 +1,123 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.util.SpringContextUtil; +import net.sf.json.JSONArray; +import net.sf.json.util.JSONTokener; +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 ProcessStep1After 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("passFlag"))) { + if (delegateTask.getVariable("Step1",String.class).contains(",")) { + nextUserList = new ArrayList<>(Arrays.asList(delegateTask.getVariable("Step1",String.class).split(","))); + } else { + nextUserList.add(delegateTask.getVariable("Step1",String.class)); + } + delegateTask.setVariable("deptCenterId", nextUserList); + delegateTask.setVariable("deptLeaderFlag",0); + }else { + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("deptLeaderFlag",1); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + String type=object.getString("type"); + String bussSort = ""; + Object json = new JSONTokener(object.getString("bussSort")).nextValue(); + if(json instanceof JSONArray) { + bussSort = object.getJSONArray("bussSort").get(0).toString(); + }else{ + bussSort = object.getString("bussSort"); + } + + if ("5".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划立项"; + }else if ("2".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划延期"; + }else if ("1".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划合并"; + }else if ("3".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划取消"; + }else { + prcName=bussSort+"-"+object.getString("renameEs")+"-计划更名"; + } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + // 存储当前节点意见 + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1Before.java new file mode 100644 index 00000000..660eab2d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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 ProcessStep1Before 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("qbzxdjhgkStep2?prcType=25"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2After.java new file mode 100644 index 00000000..7a855778 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2After.java @@ -0,0 +1,139 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.util.SpringContextUtil; +import net.sf.json.JSONArray; +import net.sf.json.util.JSONTokener; +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 ProcessStep2After 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + //计算最后的会签结果 使用的与运算啦啦啦啦 + String prcName =""; + if (null == delegateTask.getVariable("count")) { + delegateTask.setVariable("deptCenterFlag", object.getInteger("deptCenterFlag")); + delegateTask.setVariable("count",1); + } else { + delegateTask.setVariable("deptCenterFlag", object.getInteger("deptCenterFlag") + delegateTask.getVariable("deptCenterFlag", Integer.class)); + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)+1); + } + + delegateTask.setVariable("bzfgLeaderId", delegateTask.getVariable("Step2",String.class)); + //合并前面数据中的意见 该部分需要在调试中进行编写 + if (delegateTask.getVariable("count",Integer.class)==delegateTask.getVariable("deptCenterId",List.class).size()) { + if ("0".equals(String.valueOf(delegateTask.getVariable("deptCenterFlag")))) { + nextUserList.add(delegateTask.getVariable("Step2", String.class)); + prcName = "企标制修订计划-标准法规工作组组长审定"; + } else { + nextUserList.add(delegateTask.getVariable("prcCreateUser", String.class)); + delegateTask.setVariable("createUser", delegateTask.getVariable("prcCreateUser", String.class)); + prcName = "企标制修订计划整改"; + delegateTask.setVariable("deptCenterFlag", "1"); + delegateTask.setVariable("count",null); + } + } + String type=object.getString("type"); + String bussSort = ""; + Object json = new JSONTokener(object.getString("bussSort")).nextValue(); + if(json instanceof JSONArray) { + bussSort = object.getJSONArray("bussSort").get(0).toString(); + }else{ + bussSort = object.getString("bussSort"); + } + + if ("5".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划立项"; + }else if ("2".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划延期"; + }else if ("1".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划合并"; + }else if ("3".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划取消"; + }else { + prcName=bussSort+"-"+object.getString("renameEs")+"-计划更名"; + } + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + // 存储当前节点意见 + 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); + } + } + } + public static boolean isJson(String string) { + try { + JSONObject.parseObject(string); + return true; + } catch (Exception e) { + return false; + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2Before.java new file mode 100644 index 00000000..6b2aaf4e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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 ProcessStep2Before 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("qbzxdjhgkStep3?prcType=25"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3After.java new file mode 100644 index 00000000..b50dd899 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3After.java @@ -0,0 +1,121 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.util.SpringContextUtil; +import net.sf.json.JSONArray; +import net.sf.json.util.JSONTokener; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.List; + +/** + * 企标制修订计划管控-审定 + */ +public class ProcessStep3After 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + String prcName = ""; + //根据意见选择 企标状态并对企标信息进行修改 bzfgId + if ("0".equals(object.getString("bzFlag"))){ + prcName = "企标制修订计划-标准法规部部长审批"; + nextUserList.add(delegateTask.getVariable("Step3",String.class)); + delegateTask.setVariable("bzFlag",0); + delegateTask.setVariable("bzfgId",delegateTask.getVariable("Step3",String.class)); + }else { + prcName="企标制修订计划整改"; + delegateTask.setVariable("bzFlag",1); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("deptCenterFlag", "1"); + delegateTask.setVariable("count",null); + } + String type=object.getString("type"); + String bussSort = ""; + Object json = new JSONTokener(object.getString("bussSort")).nextValue(); + if(json instanceof JSONArray) { + bussSort = object.getJSONArray("bussSort").get(0).toString(); + }else{ + bussSort = object.getString("bussSort"); + } + + if ("5".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划立项"; + }else if ("2".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划延期"; + }else if ("1".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划合并"; + }else if ("3".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划取消"; + }else { + prcName=bussSort+"-"+object.getString("renameEs")+"-计划更名"; + } + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + // 存储当前节点意见 + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3Before.java new file mode 100644 index 00000000..357483bb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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 ProcessStep3Before 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("qbzxdjhgkStep4?prcType=25"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java new file mode 100644 index 00000000..c24550a8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java @@ -0,0 +1,435 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +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.service.*; +import com.ydw.bat.wkflow.listener.bussLibrary.Utils.FlowFinishEnum; +import com.ydw.bat.wkflow.util.SpringContextUtil; +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.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * 企标制修订计划管控-批准 + */ +public class ProcessStep4After 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.class); + + TaskService taskService = SpringContextUtil.getBean(TaskService.class); + + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + String prcName = ""; + String nowEsId = ""; + //根据意见选择 企标状态并对企标信息进行修改 bzfgId + if ("0".equals(object.getString("bzfgbzFlag"))){ + prcName = "企标制修订计划-流程结束"; + delegateTask.setVariable("bzfgbzFlag",0); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); +// 建立对应字符串 + Map plan_status=new HashMap<>(); + plan_status.put("未开始","0"); + plan_status.put("制定中","1"); + plan_status.put("修订中","2"); + plan_status.put("已取消","3"); + plan_status.put("已完成","4"); + plan_status.put("立项已完成","5"); + plan_status.put("计划已确认","6"); + + Map revise_status=new HashMap<>(); + revise_status.put("制定","1"); + revise_status.put("修订","2"); + + String type = object.getString("type"); + IEsTechRelationService esTechRelationService = SpringContextUtil.getBean(IEsTechRelationService.class); + QueryWrapper esTechRelationQueryWrapper = new QueryWrapper<>(); + //查询关联表是否有正在进行中的相关计划的技术标准流程 + if ("1".equals(type)) { + //合并 + List planIdList = new ArrayList<>(); + planIdList.add(object.getString("esId1")); + planIdList.add(object.getString("esId2")); + esTechRelationQueryWrapper.in("es_id", planIdList); + } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) { + //延期 取消 更名 + esTechRelationQueryWrapper.eq("es_id", object.getString("esId")); + } + List esTechRelations = esTechRelationService.list(esTechRelationQueryWrapper); + if (ObjectUtils.isNotEmpty(esTechRelations)) { + List delList = new ArrayList<>(); + for (EsTechRelation esTechRelation : esTechRelations) { + if (FlowFinishEnum.FSLC_JSBZQC_START.getValue().equals(esTechRelation.getFinish())) { + List list = taskService.createTaskQuery().processInstanceId(esTechRelation.getPrcId()).active().list(); + if (list != null && !list.isEmpty()) { + // 删除正在运行中的流程根据流程实例ID + runtimeService.deleteProcessInstance(esTechRelation.getPrcId(), ""); + //删除关联表 + delList.add(esTechRelation.getId()); + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", esTechRelation.getPrcId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + one2.setOverTime(OVERTIME); + busProcessNameService.saveOrUpdate(one2); + } + + } else if (FlowFinishEnum.FSLC_JSBZQC_FINISH.getValue().equals(esTechRelation.getFinish())) { + List list = taskService.createTaskQuery().processInstanceId(esTechRelation.getPrcTechId()).active().list(); + if (list != null && !list.isEmpty()) { + // 删除正在运行中的流程根据流程实例ID + runtimeService.deleteProcessInstance(esTechRelation.getPrcTechId(), ""); + //删除关联表 + delList.add(esTechRelation.getId()); + } + } + } + if (delList.size()>0) { + QueryWrapper delWrapper = new QueryWrapper<>(); + delWrapper.in("id", delList); + esTechRelationService.remove(delWrapper); + } + } + + + //1合并 2延期 3取消 4更名 5立项 + if ("1".equals(object.getString("type"))){ + EsRevisePlanDTO del1=new EsRevisePlanDTO(); + del1.setId(object.getString("esId1")); + del1.setPlanStatus("3"); + lawsUserInfoService.modPlan(del1); + EsRevisePlanDTO del2=new EsRevisePlanDTO(); + del2.setId(object.getString("esId2")); + del2.setPlanStatus("3"); + lawsUserInfoService.modPlan(del2); + EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); + esRevisePlanDTO.setEsName(object.getString("esName")); + esRevisePlanDTO.setUnit(object.getString("unit")); + esRevisePlanDTO.setDrafter(object.getString("drafter")); + esRevisePlanDTO.setResPerson(object.getString("resPerson")); + esRevisePlanDTO.setPlanStatus(plan_status.get(object.getString("planStatus"))); + esRevisePlanDTO.setReviseStatus(revise_status.get(object.getString("reviseStatus"))); + esRevisePlanDTO.setWgLeader(object.getString("wgLeader")); + esRevisePlanDTO.setDraftTime(object.getDate("draftTime")); + esRevisePlanDTO.setReleaseTime(object.getDate("releaseTime")); + esRevisePlanDTO.setEsMatingRelations(object.getString("esMatingRelations")); + esRevisePlanDTO.setEsStandRelations(object.getString("esStandRelations")); + esRevisePlanDTO.setUseLevel(object.getString("useLevel")); + esRevisePlanDTO.setIsRelate(object.getString("isRelate")); + esRevisePlanDTO.setTsJson(object.getString("tsJson")); + esRevisePlanDTO.setArea(object.getString("area")); + esRevisePlanDTO.setRqbJson(object.getString("rqbJson")); + esRevisePlanDTO.setTechnologic(object.getString("technologic")); + esRevisePlanDTO.setBussSort(object.getString("bussSort")); + lawsUserInfoService.addPlan(esRevisePlanDTO); + List esRevisePlanDTOS = lawsUserInfoService.getAllPlansByWk(object.getString("esName")); + if (esRevisePlanDTOS != null && !esRevisePlanDTOS.isEmpty()) { + nowEsId = esRevisePlanDTOS.get(0).getId(); + } + + }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); + }else if ("3".equals(object.getString("type"))){ + EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); + esRevisePlanDTO.setId(object.getString("esId")); + esRevisePlanDTO.setPlanStatus("3"); + lawsUserInfoService.modPlan(esRevisePlanDTO); + }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); + }else { + //立项 + EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); + esRevisePlanDTO.setEsName(object.getString("esName")); + esRevisePlanDTO.setUnit(object.getString("unit")); + esRevisePlanDTO.setDrafter(object.getString("drafter")); + esRevisePlanDTO.setResPerson(object.getString("resPerson")); + esRevisePlanDTO.setPlanStatus(plan_status.get(object.getString("planStatus"))); + esRevisePlanDTO.setReviseStatus(revise_status.get(object.getString("reviseStatus"))); + esRevisePlanDTO.setWgLeader(object.getString("wgLeader")); + esRevisePlanDTO.setDraftTime(object.getDate("draftTime")); + esRevisePlanDTO.setReleaseTime(object.getDate("releaseTime")); + esRevisePlanDTO.setEsMatingRelations(object.getString("esMatingRelations")); + esRevisePlanDTO.setEsStandRelations(object.getString("esStandRelations")); + esRevisePlanDTO.setUseLevel(object.getString("useLevel")); + esRevisePlanDTO.setIsRelate(object.getString("isRelate")); + esRevisePlanDTO.setTsJson(object.getString("tsJson")); + esRevisePlanDTO.setArea(object.getString("area")); + esRevisePlanDTO.setRqbJson(object.getString("rqbJson")); + esRevisePlanDTO.setTechnologic(object.getString("technologic")); + esRevisePlanDTO.setBussSort(object.getString("bussSort")); + esRevisePlanDTO.setLxd(object.getString("LXD")); + if(StringUtils.isNotBlank(object.getString("planId"))){ + esRevisePlanDTO.setId(object.getString("planId")); + lawsUserInfoService.modStatePlan(esRevisePlanDTO); + }else { + lawsUserInfoService.addPlan(esRevisePlanDTO); + List esRevisePlanDTOS = lawsUserInfoService.getAllPlansByWk(object.getString("esName")); + if (esRevisePlanDTOS != null && !esRevisePlanDTOS.isEmpty()) { + nowEsId = esRevisePlanDTOS.get(0).getId(); + } + } + } + }else { + prcName="企标制修订计划整改"; + delegateTask.setVariable("bzfgbzFlag",1); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("deptCenterFlag", "1"); + delegateTask.setVariable("count",null); + } + String type=object.getString("type"); + String bussSort = ""; + Object json = new JSONTokener(object.getString("bussSort")).nextValue(); + if(json instanceof JSONArray) { + bussSort = object.getJSONArray("bussSort").get(0).toString(); + }else{ + bussSort = object.getString("bussSort"); + } + + if ("5".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划立项"; + }else if ("2".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划延期"; + }else if ("1".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划合并"; + }else if ("3".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划取消"; + }else { + prcName=bussSort+"-"+object.getString("renameEs")+"-计划更名"; + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + if ("5".equals(type) || "1".equals(type)) { + object.put("nowEsId", nowEsId); + } else { + object.put("nowEsId", object.getString("esId")); + } + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + }else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + if ("5".equals(type) || "1".equals(type)) { + object.put("nowEsId", nowEsId); + } else { + object.put("nowEsId", object.getString("esId")); + } + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } +// throw new ActivitiException("fa"); + + // 撤回对应的计划管控流程 + //1合并 2延期 3取消 4更名 5立项 + if (StringUtils.isNotBlank(type)) { + if ("1".equals(type)) { + String esId1 = object.getString("esId1"); + String esId2 = object.getString("esId2"); + + List esPrcRelationList1 = esPrcRelationService.list(esId1); + if (esPrcRelationList1 != null && !esPrcRelationList1.isEmpty()) { + String prcIdGk1 = esPrcRelationList1.get(0).getPrcIdGk(); + List list1 = taskService.createTaskQuery().processInstanceId(prcIdGk1).active().list(); + if (list1 != null && !list1.isEmpty()) { + String nowTaskInfo1 = list1.get(0).getName(); + if ("技术标准起草".equals(nowTaskInfo1)) { + // 删除正在运行中的流程根据流程实例ID + runtimeService.deleteProcessInstance(prcIdGk1, ""); + + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + QueryWrapper queryWrapperGk1 = new QueryWrapper(); + queryWrapperGk1.eq("PRC_ID", prcIdGk1); + BusProcessName oneGk = busProcessNameService.getOne(queryWrapperGk1); + if (oneGk != null) { + oneGk.setOverTime(OVERTIME); + busProcessNameService.saveOrUpdate(oneGk); + } + } + } else { + String prcId1 = esPrcRelationList1.get(0).getPrcId(); + List list = taskService.createTaskQuery().processInstanceId(prcId1).active().list(); + if (list != null && !list.isEmpty()) { + // 删除正在运行中的流程根据流程实例ID + runtimeService.deleteProcessInstance(prcId1, ""); + } + } + } + + List esPrcRelationList2 = esPrcRelationService.list(esId2); + if (esPrcRelationList2 != null && !esPrcRelationList2.isEmpty()) { + String prcIdGk2 = esPrcRelationList2.get(0).getPrcIdGk(); + List list2 = taskService.createTaskQuery().processInstanceId(prcIdGk2).active().list(); + if (list2 != null && !list2.isEmpty()) { + String nowTaskInfo2 = list2.get(0).getName(); + if ("技术标准起草".equals(nowTaskInfo2)) { + // 删除正在运行中的流程根据流程实例ID + runtimeService.deleteProcessInstance(prcIdGk2, ""); + + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + QueryWrapper queryWrapperGk2 = new QueryWrapper(); + queryWrapperGk2.eq("PRC_ID", prcIdGk2); + BusProcessName twoGk = busProcessNameService.getOne(queryWrapperGk2); + if (twoGk != null) { + twoGk.setOverTime(OVERTIME); + busProcessNameService.saveOrUpdate(twoGk); + } + } + } else { + String prcId2 = esPrcRelationList2.get(0).getPrcId(); + List list = taskService.createTaskQuery().processInstanceId(prcId2).active().list(); + if (list != null && !list.isEmpty()) { + // 删除正在运行中的流程根据流程实例ID + runtimeService.deleteProcessInstance(prcId2, ""); + } + } + } + + // 删除旧的 计划和流程关联关系, 因为 一条计划只对应一条企标制修订流程 + esPrcRelationService.delEsPrcRelation(esId1); + esPrcRelationService.delEsPrcRelation(esId2); + + } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) { + String esId = object.getString("esId"); + List esPrcRelationList = esPrcRelationService.list(esId); + if (esPrcRelationList != null && !esPrcRelationList.isEmpty()) { + String prcIdGk = esPrcRelationList.get(0).getPrcIdGk(); + List listGk = taskService.createTaskQuery().processInstanceId(esPrcRelationList.get(0).getPrcIdGk()).active().list(); + if (listGk != null && !listGk.isEmpty()) { + String nowTaskInfo = listGk.get(0).getName(); + if ("技术标准起草".equals(nowTaskInfo)) { + // 删除正在运行中的流程根据流程实例ID + runtimeService.deleteProcessInstance(prcIdGk, ""); + + 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 list = taskService.createTaskQuery().processInstanceId(prcId).active().list(); + if (list != null && !list.isEmpty()) { + // 删除正在运行中的流程根据流程实例ID + runtimeService.deleteProcessInstance(prcId, ""); + } + } + } + + } + } + + // 处理 oaFlag 为待办 + //1合并 2延期 3取消 4更名 5立项 + if ("5".equals(type) || "1".equals(type)){ + + // 新增新的 计划和流程关联关系 + esPrcRelationService.addEsPrcRelation(nowEsId, null, delegateTask.getProcessInstanceId()); + + } else { + List esPrcRelationList = esPrcRelationService.list(object.getString("esId")); + if (esPrcRelationList != null && !esPrcRelationList.isEmpty()) { + // 修改 计划和流程关联关系 + esPrcRelationService.modifyEsPrcRelation(object.getString("esId"), null , "1", delegateTask.getProcessInstanceId()); + + } else { + // 新增新的 计划和流程关联关系 + esPrcRelationService.addEsPrcRelation(object.getString("esId"), null, delegateTask.getProcessInstanceId()); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4Before.java new file mode 100644 index 00000000..c48d93c9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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 ProcessStep4Before 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("qbzxdjhgkStep5?prcType=25"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep5After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep5After.java new file mode 100644 index 00000000..d91c232f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep5After.java @@ -0,0 +1,121 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.util.SpringContextUtil; +import net.sf.json.JSONArray; +import net.sf.json.util.JSONTokener; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.List; + +/** + * 企标制修订计划管控-重新起草 + */ +public class ProcessStep5After 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + String prcName = ""; + String type=object.getString("type"); + String bussSort = ""; + Object json = new JSONTokener(object.getString("bussSort")).nextValue(); + if(json instanceof JSONArray) { + bussSort = object.getJSONArray("bussSort").get(0).toString(); + }else{ + bussSort = object.getString("bussSort"); + } + + if ("5".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划立项"; + }else if ("2".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划延期"; + }else if ("1".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划合并"; + }else if ("3".equals(type)){ + prcName=bussSort+"-"+object.getString("esName")+"-计划取消"; + }else { + prcName=bussSort+"-"+object.getString("renameEs")+"-计划更名"; + } + //根据意见选择 企标状态并对企标信息进行修改 bzfgId + nextUserList.add(delegateTask.getVariable("topmanagerId",String.class)); + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + one1.setPrcName(prcName); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + }else { + 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.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep5Before.java new file mode 100644 index 00000000..edcf9f91 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep5Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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 ProcessStep5Before 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("qbzxdjhgkStep1?prcType=25"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep6After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep6After.java new file mode 100644 index 00000000..0c2431ef --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep6After.java @@ -0,0 +1,79 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.business_main.datas.service.IEsPrcRelationService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.TaskService; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * 企标制修订计划管控-技术标准起草 + */ +public class ProcessStep6After 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); + + IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.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); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper1); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("25"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one2 = busBean.getOne(queryWrapper2); + if (one2 != null) { + one2.setMsgType("clause"); + one2.setPId(delegateTask.getProcessInstanceId()); + one2.setMesg(object.toJSONString()); + one2.setFinishFlag("0"); + one2.setTaskInfo(delegateTask.getName()); + one2.setCommitFlag("0"); + one2.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one2); + } + + // 处理 oaFlag 为已办 + // 修改 计划和流程关联关系 + esPrcRelationService.modifyEsPrcRelation(object.getString("nowEsId"), null , "0", delegateTask.getProcessInstanceId()); + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep6Before.java new file mode 100644 index 00000000..0c852513 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep6Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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 ProcessStep6Before 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("qbzxdjhgkStep6?prcType=25"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartAfter.java new file mode 100644 index 00000000..3070959a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartAfter.java @@ -0,0 +1,127 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +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.business_main.datas.service.IEsPrcRelationService; +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.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 企标制修订计划管控-起草 + */ +public class ProcessstartAfter 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); + + IEsPrcRelationService esPrcRelationService = SpringContextUtil.getBean(IEsPrcRelationService.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); + //标准法规部业务经理Id deptCenterId + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("addFlag"))) { + nextUserList.add(object.getString("dockUser")); + delegateTask.setVariable("topmanagerId", object.getString("dockUser")); + delegateTask.setVariable("addFlag", object.getString("addFlag")); + + //存储后续需要的人员 + delegateTask.setVariable("Step1", object.getString("countersigner")); // 会签人员 + delegateTask.setVariable("Step2", object.getString("examine")); // 审定人员 + delegateTask.setVariable("Step3", object.getString("approver")); // 批准人员 + + } else { + nextUserList.add(object.getString("prcCreateUser")); + delegateTask.setVariable("createUser",object.getString("prcCreateUser")); // 技术标准起草人员 + delegateTask.setVariable("addFlag", object.getString("addFlag")); + + // 处理 oaFlag 为待办 + // 新增新的 计划和流程关联关系 + esPrcRelationService.addEsPrcRelation(object.getString("nowEsId"), null, delegateTask.getProcessInstanceId()); + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + //1合并 2延期 3取消 4更名 5立项 + String prcName = ""; + String type=object.getString("type"); + if ("5".equals(type)){ + prcName=object.getString("bussSort")+"-"+object.getString("esName")+"-计划立项"; + }else if ("2".equals(type)){ + prcName=object.getJSONArray("bussSort").get(0).toString()+"-"+object.getString("esName")+"-计划延期"; + }else if ("1".equals(type)){ + prcName=object.getString("bussSort")+"-"+object.getString("esName")+"-计划合并"; + }else if ("3".equals(type)){ + prcName=object.getJSONArray("bussSort").get(0).toString()+"-"+object.getString("esName")+"-计划取消"; + }else { + prcName=object.getJSONArray("bussSort").get(0).toString()+"-"+object.getString("renameEs")+"-计划更名"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("25"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + // 存储当前节点意见 + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java new file mode 100644 index 00000000..e2841210 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java @@ -0,0 +1,16 @@ +package com.ydw.bat.wkflow.listener.enterpriseStandardSystemRevisionPlan; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * 企标制修订计划管控-起草 + */ +public class ProcessstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1After.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1After.java new file mode 100644 index 00000000..c1fba450 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1After.java @@ -0,0 +1,87 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +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.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.business_slrs.dao.StandProjectRelationDto; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +//分发 +public class Step1After 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); + + List nextUserList = new ArrayList(); + nextUserList.add(delegateTask.getVariable("gcManagets",String.class)); + delegateTask.setVariable("cpManager",delegateTask.getVariable("gcManagets",String.class)); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String prcName = object.getString("projectNumber")+object.getString("projectName")+"清单确认"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("10"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + if(!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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1Before.java new file mode 100644 index 00000000..f0f5cba6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1Before.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +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 Step1Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep2?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step2After.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step2After.java new file mode 100644 index 00000000..6156ed96 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step2After.java @@ -0,0 +1,85 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +//分发 +public class Step2After 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); + + List nextUserList = new ArrayList(); + nextUserList.add(delegateTask.getVariable("startId",String.class)); + delegateTask.setVariable("cpManagerSum",delegateTask.getVariable("startId",String.class)); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String prcName = object.getString("projectNumber")+object.getString("projectName")+"清单确认"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("10"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + if(!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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step2Before.java new file mode 100644 index 00000000..a179d272 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step2Before.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +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 Step2Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep3?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3After.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3After.java new file mode 100644 index 00000000..203c12c7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3After.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +import com.alibaba.fastjson.JSON; +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.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.business_slrs.dao.StandProjectRelationDto; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.collections4.CollectionUtils; + +import java.rmi.activation.ActivationException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +//汇总 +public class Step3After 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); + LawsUserInfoService lawsUserInfoService=SpringContextUtil.getBean(LawsUserInfoService.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); + +// 入库操作 + List dtoList=new ArrayList<>(); + JSONArray array=object.getJSONArray("dataList"); + array.forEach(o -> { + StandProjectRelationDto standProjectRelationDto=new StandProjectRelationDto(); + JSONObject object1= JSON.parseObject(o.toString()); + standProjectRelationDto.setProjectId(object.getString("projectId")); + standProjectRelationDto.setStandId(object1.getString("standId")); + dtoList.add(standProjectRelationDto); + }); + if(CollectionUtils.isEmpty(dtoList)){ + StandProjectRelationDto standProjectRelationDto=new StandProjectRelationDto(); + standProjectRelationDto.setProjectId(object.getString("projectId")); + dtoList.add(standProjectRelationDto); + } + lawsUserInfoService.batchInsert(dtoList); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String prcName = object.getString("projectNumber")+object.getString("projectName")+"清单确认"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("10"); + one1.setOverTime(OVERTIME); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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("end"); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3Before.java new file mode 100644 index 00000000..4dae49d6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3Before.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +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 Step3Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + 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); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep4?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java new file mode 100644 index 00000000..0de31ecd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +//启动 +public class itemlistvalidationprocessStartAfter 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); + + List nextUserList = new ArrayList(); + + delegateTask.setVariable("rzManager",object.getString("approveId")); + nextUserList.add(object.getString("approveId")); + delegateTask.setVariable("gcManagets",object.getString("confirmId")); + + //截止时间 流程描述 创建人 + String user = object.getString("startUser"); + String username = object.getString("startUserName"); + delegateTask.setVariable("startId",user); + delegateTask.setVariable("startName",username); + String prcName = object.getString("projectNumber")+object.getString("projectName")+"清单确认"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("10"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + if(!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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java new file mode 100644 index 00000000..c0303ef7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +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 itemlistvalidationprocessStartBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); +// List list = busBean.list(queryWrapper1); +// 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); +// // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 +// one1.setLink("xmqdqrStep3?prcType=10"); +// one1.setTaskInfo(delegateTask.getName()); +// oaService.sendTodoMq(one1); +// } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java new file mode 100644 index 00000000..f131ec6d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java @@ -0,0 +1,112 @@ +package com.ydw.bat.wkflow.listener.lawsLibrary; + +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.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 政策入库申请人重新发起后 + */ +public class LCLApplicantAfter 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 objectNew = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",objectNew); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one = list.get(0); + JSONObject object = JSONObject.parseObject(one.getMesg()); + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(objectNew.getString("jlUserId"))){ + delegateTask.setVariable("managerUserId",objectNew.getString("jlUserId")); + nextUserList.add(objectNew.getString("jlUserId")); + }else { + throw new ActivitiException("1#2经理人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = objectNew.getString("prcCreateUser"); + String username = objectNew.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策入库流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setId(one.getId()); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(objectNew.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(objectNew.getString("commentText")); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + 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(objectNew.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; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java new file mode 100644 index 00000000..7623f36e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java @@ -0,0 +1,41 @@ +package com.ydw.bat.wkflow.listener.lawsLibrary; + +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 LCLApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("zcrkStep3?prcType=laws1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantAfter.java new file mode 100644 index 00000000..958944e8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantAfter.java @@ -0,0 +1,126 @@ +package com.ydw.bat.wkflow.listener.lawsLibrary; + +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 政策入库申请人发起后 + */ +public class LLApplicantAfter 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); + + List nextUserList = new ArrayList(); + + // 逻辑判断是否会签 signFlag +// JSONObject array = object.getJSONObject("hqsqForm"); + +// if(object.getString("signFlag").equals("1")){ +// delegateTask.setVariable("hqFlag",1); +// +// if(StringUtils.isNotBlank(object.getString("zrUserId"))){ +// +// if(object.getString("zrUserId").contains(",")){ +// nextUserList = Arrays.asList(object.getString("zrUserId").split(",")); +// }else { +// nextUserList.add(object.getString("zrUserId")); +// } +// // 配置多实例 +// delegateTask.setVariable("hqUserList",nextUserList); +// delegateTask.addCandidateUsers(nextUserList); +// }else { +// throw new ActivitiException("1#2会签状态不存在,请配置相关状态"); +// } +// }else { +// delegateTask.setVariable("hqFlag",2); +// +// } + + if(StringUtils.isNotBlank(object.getString("jlUserId"))){ + delegateTask.setVariable("managerUserId",object.getString("jlUserId")); + nextUserList.add(object.getString("jlUserId")); + }else { + throw new ActivitiException("1#2经理人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策入库流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantBefore.java new file mode 100644 index 00000000..b3a8cab3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LLApplicantBefore.java @@ -0,0 +1,26 @@ +package com.ydw.bat.wkflow.listener.lawsLibrary; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * 政策入库申请人发起前 + */ +public class LLApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } +// + +// WkFlowSendEmail.sendEmailTodo(delegateTask,"会前申请流程"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java new file mode 100644 index 00000000..94000ecf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java @@ -0,0 +1,91 @@ +package com.ydw.bat.wkflow.listener.lawsLibrary; + +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.text.SimpleDateFormat; +import java.util.Date; + +/** + * 经理人审批后 + */ +public class LawsManagerApproveAfter 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()); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + String prcName = "政策入库流程"; + if ("1".equalsIgnoreCase(approvalOpinion)) { + + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("applyUpdUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId")); + delegateTask.setVariable("jlFlag", 1); + } else { + delegateTask.setVariable("jlFlag", 0); + func2(delegateTask, busBean, object, "0", busProcessNameService); + } + } + + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + //one2.setPrcName("入库流程结束"); + one2.setOverTime(OVERTIME); + one2.setPrcType("laws1"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveBefore.java new file mode 100644 index 00000000..a0146583 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.lawsLibrary; + +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 LawsManagerApproveBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.orderByDesc("CREATE_TIME"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("zcrkStep2?prcType=laws1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorAfter.java new file mode 100644 index 00000000..2d1c59f6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorAfter.java @@ -0,0 +1,122 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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.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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +/** + * 总监审核 + */ +public class DirectorAfter 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); + + List nextUserList = new ArrayList(); + + + + if ("0".equals(object.getString("actionFlag"))){ + delegateTask.setVariable("lawsProveChiefVerify",0); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(object.getString("actionFlag"))){ + String lawsProveEngineerId2 = object.getString("lawsProveEngineerId"); + if ("0".equalsIgnoreCase(object.getString("actionFlag"))) { + + BussUtils.endFunAll(delegateTask, prcName,busBean, object, "0", busProcessNameService,"laws2"); + delegateTask.setVariable("lawsProveChiefVerify",0); + + } else { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(lawsProveEngineerId2); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("lawsProveEngineerId2",lawsProveEngineerId2); + delegateTask.setVariable("lawsProveChiefVerify", 1); + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } + + //流程结束 + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + //one2.setPrcName("入库流程结束"); + one2.setOverTime(OVERTIME); + one2.setPrcType("laws2"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorBefore.java new file mode 100644 index 00000000..69a66eb9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DirectorBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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 DirectorBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java new file mode 100644 index 00000000..b6aa7adb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java @@ -0,0 +1,117 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +import com.alibaba.fastjson.JSON; +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.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.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.*; + +/** + * 任务下发 + */ +public class DistributionAfter 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); + + List nextUserList = new ArrayList(); + Map departmentMap = new HashMap<>(); //用户--用户所属部门 + + + if(StringUtils.isNotBlank(object.getString("responUserList"))){ + nextUserList= Arrays.asList(object.getString("responUserList").split(",")); + + JSONArray mapArray = object.getJSONArray("responUserAndInstitutionNameMap"); + for (Object jsonMap : mapArray) { + departmentMap.putAll(JSONObject.parseObject(jsonMap.toString(), Map.class)); + + } + // 配置多实例 + delegateTask.setVariable("commentUserList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + } + + + JSONArray commentCollectionList=delegateTask.getVariable("commentCollectionList",JSONArray.class); + if (commentCollectionList==null) commentCollectionList=new JSONArray(); + delegateTask.setVariable("commentCollectionList",commentCollectionList); + + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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){ + //标记此用户是事业部还是产品规划部 + JSONObject repositoryObject =object; + repositoryObject.put("department",departmentMap.get(nextUser)); + + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(repositoryObject.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; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionBefore.java new file mode 100644 index 00000000..c4142677 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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 DistributionBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java new file mode 100644 index 00000000..ce300c29 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java @@ -0,0 +1,107 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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.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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +/** + * 对接人审核 + */ +public class DockerReviewAfter 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); + + List nextUserList = new ArrayList(); +// if("0".equals(object.getString("actionFlag"))){ +// String lawsProveEngineer = JSONObject.parseObject(object.getString("form")).getString("lawsProveEngineerId"); +// if(StringUtils.isNotBlank(lawsProveEngineer)){ +// delegateTask.setVariable("lawsProveEngineerId",lawsProveEngineer); +// delegateTask.setVariable("responseDockerVerify",0); +// +// nextUserList.add(object.getString("lawsProveEngineerId")); +// } +// }else { +// delegateTask.setVariable("responseDockerVerify",1); +// } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(object.getString("actionFlag"))){ + String lawsProveEngineer = object.getString("lawsProveEngineerId"); + String commentUser = object.getString("commentUser"); + if ("0".equalsIgnoreCase(object.getString("actionFlag"))) { + + delegateTask.setVariable("lawsProveEngineerId",lawsProveEngineer); + nextUserList.add(lawsProveEngineer); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("responseDockerVerify", 0); + } else { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(commentUser); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("commentUser",commentUser); + delegateTask.setVariable("responseDockerVerify", 1); + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewBefore.java new file mode 100644 index 00000000..5c2a65c9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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 DockerReviewBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java new file mode 100644 index 00000000..11ac692d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java @@ -0,0 +1,150 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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.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.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.*; + +/** + * 工程师审核 + */ +public class EngineerReviewAfter 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); + + List nextUserList = new ArrayList(); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + + /** + * 当子任务结束时存储 + */ + Integer commentCount=delegateTask.getVariable("commentCount",Integer.class); + if(commentCount==null)commentCount=0; + commentCount++; + delegateTask.setVariable("count",commentCount); + + Collection commentUserList=delegateTask.getVariable("commentUserList",Collection.class); + + if(StringUtils.isNotBlank(object.getString("actionFlag"))){ + String lawsProveEngineer = object.getString("lawsProveEngineerId"); + String commentUser = object.getString("commentUser"); + if ("0".equalsIgnoreCase(object.getString("actionFlag"))) { + + delegateTask.setVariable("lawsProveEngineerId2",lawsProveEngineer); + nextUserList.add(lawsProveEngineer); + + JSONArray commentCollectionList =delegateTask.getVariable("commentCollectionList", JSONArray.class); + if (commentCollectionList==null) { + commentCollectionList=new JSONArray(); + } + commentCollectionList.addAll(object.getJSONArray("info")); + delegateTask.setVariable("commentCollectionList",commentCollectionList); + + + if(commentCount>=commentUserList.size()){ + funEnd(delegateTask, busBean, queryWrapper, object, prcName); + if(!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); + } + } + }else { + funEnd(delegateTask, busBean, queryWrapper, object, prcName); + } + delegateTask.setVariable("lawsProveEngineerVerify", 0); + } else { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(commentUser); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("commentUser",commentUser); + delegateTask.setVariable("lawsProveEngineerVerify", 1); + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private void funEnd(DelegateTask delegateTask, IBusProcessNewService busBean, QueryWrapper queryWrapper, JSONObject object, String prcName) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + queryWrapper.isNotNull("PRC_NAME"); + List list = busBean.list(queryWrapper1); + if (!list.isEmpty()) { + BusProcessNew one2 = list.get(0); + one2.setMsgType("clause"); + one2.setPId(delegateTask.getProcessInstanceId()); + one2.setMesg(object.toJSONString()); + one2.setFinishFlag("0"); + one2.setTaskInfo(delegateTask.getName()); + one2.setPrcName(prcName); + one2.setCommitFlag("0"); + one2.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one2); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewBefore.java new file mode 100644 index 00000000..8e2fffc2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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 EngineerReviewBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java new file mode 100644 index 00000000..cf77ba09 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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.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 EngineerRevisionAfter 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); + + List nextUserList = new ArrayList(); + + String lawsProveMinister = object.getString("lawsProveMinisterId"); + if(StringUtils.isNotBlank(lawsProveMinister)){ + + delegateTask.setVariable("lawsProveMinisterId",lawsProveMinister); + nextUserList.add(lawsProveMinister); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionBefore.java new file mode 100644 index 00000000..c0b22a0a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionBefore.java @@ -0,0 +1,51 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +import com.alibaba.fastjson.JSON; +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.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 EngineerRevisionBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + + /** + * 汇总已审批通过的意见 + */ + String msg = one1.getMesg(); + JSONObject msgJsonBoj = JSON.parseObject(msg); + JSONArray commentCollectionList=delegateTask.getVariable("commentCollectionList",JSONArray.class); + msgJsonBoj.put("info",commentCollectionList); + one1.setMesg(msgJsonBoj.toJSONString()); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java new file mode 100644 index 00000000..404ef84d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +import com.alibaba.fastjson.JSON; +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.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.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 FillCommentAfter 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()); + String responseDocker = object.getString("responseDockerId"); + + delegateTask.setVariable("objectJson",object); + List nextUserList = new ArrayList(); + if(StringUtils.isNotBlank(responseDocker)){ + delegateTask.setVariable("responseDockerId",responseDocker); + nextUserList.add(object.getString("responseDockerId")); + } + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentBefore.java new file mode 100644 index 00000000..a83486c6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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 FillCommentBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchAfter.java new file mode 100644 index 00000000..b2d59dcc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchAfter.java @@ -0,0 +1,96 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class LaunchAfter 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("responseDockerId"))){ + nextUserList= Arrays.asList(object.getString("responseDockerId").split(",")); + // 配置多实例 + delegateTask.setVariable("counterpartUserList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchBefore.java new file mode 100644 index 00000000..3ea9b1eb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/LaunchBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.netflix.eureka.util.batcher.TaskDispatcher; +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 LaunchBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java new file mode 100644 index 00000000..0a87c4aa --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java @@ -0,0 +1,97 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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.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.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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +/** + * 部长审核 + */ +public class MinisterReviewAfter 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); + + List nextUserList = new ArrayList(); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(object.getString("actionFlag"))){ + String lawsProveViceChief = object.getString("lawsProveViceChiefId"); + String lawsProveEngineerId2 = object.getString("lawsProveEngineerId"); + + if ("0".equalsIgnoreCase(object.getString("actionFlag"))) { + + delegateTask.setVariable("lawsProveViceChiefId",lawsProveViceChief); + nextUserList.add(lawsProveViceChief); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("lawsProveMinisterVerify", 0); + } else { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(lawsProveEngineerId2); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("lawsProveEngineerId2",lawsProveEngineerId2); + delegateTask.setVariable("lawsProveMinisterVerify", 1); + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewBefore.java new file mode 100644 index 00000000..6a4d6f82 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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 MinisterReviewBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java new file mode 100644 index 00000000..bae4c86d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java @@ -0,0 +1,97 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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.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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +/** + * 副总监审核 + */ +public class ViceDirectorAfter 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); + + List nextUserList = new ArrayList(); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "政策征求意见流程"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("laws2"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if(StringUtils.isNotBlank(object.getString("actionFlag"))){ + String lawsProveChief = object.getString("lawsProveChiefId"); + String lawsProveEngineerId2 = object.getString("lawsProveEngineerId"); + + if ("0".equalsIgnoreCase(object.getString("actionFlag"))) { + + nextUserList.add(lawsProveChief); + + delegateTask.setVariable("lawsProveChiefId",lawsProveChief); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("lawsProveViceChiefVerify", 0); + } else { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(lawsProveEngineerId2); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("lawsProveEngineerId2",lawsProveEngineerId2); + delegateTask.setVariable("lawsProveViceChiefVerify", 1); + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorBefore.java new file mode 100644 index 00000000..7f1b2f9f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorBefore.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.policyCommentProcess; + +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; +/** + * 副总监审核 + * @author 22501 + */ +public class ViceDirectorBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + //TODO 设置路由 + one1.setLink("bzrkStep2?prcType=laws2"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/ApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/ApprovalAfter.java new file mode 100644 index 00000000..b07ac3e0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/ApprovalAfter.java @@ -0,0 +1,146 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAfterMeeting; + +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.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.business_slrs.dao.SarFileSplitInfoEO; +import com.ydw.bat.wkflow.business_slrs.dao.SarInterpretationNationalStandard; +import com.ydw.bat.wkflow.business_slrs.dao.SarStandItems; +import com.ydw.bat.wkflow.business_slrs.dao.WgDept; +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.Date; +import java.util.List; + +public class ApprovalAfter 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); + + LawsUserInfoService lawsUserInfoService=SpringContextUtil.getBean(LawsUserInfoService.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 user = delegateTask.getVariable("createUser", String.class); + String username = delegateTask.getVariable("createUserName", String.class); + String prcName=""; + + List nextUserList = new ArrayList(); + + if("1".equals(object.getString("shyFlag"))){ + delegateTask.setVariable("shyFlag", "1"); + JSONArray jsonArray=JSONArray.parseArray(object.getString("itemList")); + List wgDept=new ArrayList<>(); + jsonArray.forEach(o -> { + JSONObject os=JSONObject.parseObject(o.toString()); + WgDept wgDept1=new WgDept(); + wgDept1.setWgId(object.getString("standId")); + wgDept1.setDeptOrder(os.getString("itemsNum")); + wgDept1.setDeptPeopleId(os.getString("itemsName")); + wgDept1.setIdentity(os.getString("responsibleUnitShow")); + wgDept1.setJoinfile(os.getString("zxUserIdName")); + wgDept1.setJoinId(os.getString("itermsConditions")); + wgDept.add(wgDept1); + }); + + JSONArray jsonArray1=JSONArray.parseArray(delegateTask.getVariable("itemListOld",String.class)); + jsonArray1.forEach(obj ->{ + JSONObject object1 = JSONObject.parseObject(obj.toString()); + WgDept wgDept1=new WgDept(); + wgDept1.setWgId(object.getString("standId")); + wgDept1.setDeptOrder(object1.getString("itemsNum")); + wgDept1.setDeptPeopleId(object1.getString("itemsName")); + wgDept1.setIdentity(object1.getString("responsibleUnitShow")); + wgDept1.setJoinfile(object1.getString("zx![](C:/Users/liao/AppData/Local/Temp/LogiUI/Pak/img/device.png)UserIdName")); + wgDept1.setJoinId(object1.getString("itermsConditions")); + wgDept.add(wgDept1); + }); + + lawsUserInfoService.wgDeptSaveBatch(wgDept); + + prcName = "政策课题组会后流程"; + }else{ + delegateTask.setVariable("shyFlag", "0"); + if(StringUtils.isNotBlank(object.getString("revisionId"))){ + delegateTask.setVariable("revision", object.getString("revisionId")); + nextUserList.add(object.getString("revisionId")); + 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("1".equals(object.getString("shyFlag"))){ + one1.setOverTime(OVERTIME); + } + one1.setPrcType("19"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + }else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("政策课题组会后流程-结束"); + busProcessNewNext.setUserId(object.getString("jlUserId")); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/ApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/ApprovalBefore.java new file mode 100644 index 00000000..5c0d829f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/ApprovalBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAfterMeeting; + +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 ApprovalBefore 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("zchhStep3?prcType=19"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/InputInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/InputInformationAfter.java new file mode 100644 index 00000000..447d891f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/InputInformationAfter.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAfterMeeting; + +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.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.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.List; + +public class InputInformationAfter 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); + + List nextUserList = new ArrayList(); + if(StringUtils.isNotBlank(object.getString("approvalId"))){ + delegateTask.setVariable("approval", object.getString("approvalId")); + nextUserList.add(object.getString("approvalId")); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("createUser", String.class); + String username = delegateTask.getVariable("createUserName", String.class); + String prcName = "政策课题组会后流程-审核员批准"; + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("19"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/InputInformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/InputInformationBefore.java new file mode 100644 index 00000000..d9124374 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/InputInformationBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAfterMeeting; + +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 InputInformationBefore 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("zchhStep2?prcType=19"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/PRGAMStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/PRGAMStartAfter.java new file mode 100644 index 00000000..4faaca5b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/PRGAMStartAfter.java @@ -0,0 +1,109 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAfterMeeting; + +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.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.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.List; + +public class PRGAMStartAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + List nextUserList = new ArrayList(); + + //auto 判断流程是否是自动发起的 + if ("1".equals(object.getString("auto"))){ + delegateTask.setVariable("inputInformation", object.getString("revisionId")); + nextUserList.add(object.getString("revisionId")); + } + else { + if (StringUtils.isNotBlank(object.getString("applicantId"))) { + delegateTask.setVariable("inputInformation", object.getString("applicantId")); + nextUserList.add(object.getString("applicantId")); + } + } + //截止时间 流程描述 创建人 + String user = object.getString("revisionId"); + delegateTask.setVariable("createUser",user); + String username = object.getString("revisionIdName"); + delegateTask.setVariable("createUserName",username); + String prcName= "政策课题组会后流程-申请人填写表单"; + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("19"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + 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); + } + }else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("业务经理审批"); + busProcessNewNext.setUserId(object.getString("jlUserId")); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/PRGAMStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/PRGAMStartBefore.java new file mode 100644 index 00000000..2de7d3e1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/PRGAMStartBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAfterMeeting; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PRGAMStartBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/RevisionInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/RevisionInformationAfter.java new file mode 100644 index 00000000..a92fe89c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/RevisionInformationAfter.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAfterMeeting; + +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.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.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.List; + +public class RevisionInformationAfter 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); + + List nextUserList = new ArrayList(); + if(StringUtils.isNotBlank(object.getString("approvalId"))){ + delegateTask.setVariable("approval", object.getString("approvalId")); + nextUserList.add(object.getString("approvalId")); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("createUser",String.class); + String username = delegateTask.getVariable("createUserName",String.class); + String prcName="政策课题组会后流程-审核员审核"; + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("19"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/RevisionInformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/RevisionInformationBefore.java new file mode 100644 index 00000000..6979c05c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAfterMeeting/RevisionInformationBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAfterMeeting; + +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 RevisionInformationBefore 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("zchhStep1?prcType=19"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java new file mode 100644 index 00000000..e65964a9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalAfter.java @@ -0,0 +1,101 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +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.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.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.List; + +public class MinisterApprovalAfter 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 user = delegateTask.getVariable("createUser",String.class); + String username = delegateTask.getVariable("createUserName",String.class); + String prcName=""; + + List nextUserList = new ArrayList(); + + if("1".equals(object.getString("fgfbz"))){ + delegateTask.setVariable("fgfbz", "1"); + if (StringUtils.isNotBlank(object.getString("presidentId"))){ + nextUserList.add(object.getString("presidentId")); + delegateTask.setVariable("presidentApproval", object.getString("presidentId")); + prcName = "政策课题组参会流程-公司副总批准"; + } + }else if ("0".equals(object.getString("fgfbz"))){ + delegateTask.setVariable("fgfbz", "0"); + if (StringUtils.isNotBlank(object.getString("revisionId"))){ + nextUserList.add(object.getString("revisionId")); + delegateTask.setVariable("revision", object.getString("revisionId")); + prcName = "政策课题组参会流程-修订参会信息"; + } + }else{ + delegateTask.setVariable("fgfbz", "2"); + prcName = "政策课题组参会流程"; + } + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("18"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java new file mode 100644 index 00000000..7a1500fc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/MinisterApprovalBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +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 MinisterApprovalBefore 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("zcchStep3?prcType=18"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java new file mode 100644 index 00000000..f0e0030b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartAfter.java @@ -0,0 +1,93 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +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.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.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.List; + +public class PRGAMStartAfter 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); + + List nextUserList = new ArrayList(); + if(StringUtils.isNotBlank(object.getString("ministerId"))){ + delegateTask.setVariable("ministerApproval", object.getString("ministerId")); + nextUserList.add(object.getString("ministerId")); + } + + //截止时间 流程描述 创建人 +// String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("revisionId"); + delegateTask.setVariable("createUser",user); + String username = object.getString("revisionIdName"); + delegateTask.setVariable("createUserName",username); + String prcName = ""; + prcName= "政策课题组参会流程-法规认证部副部长审核"; + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("18"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartBefore.java new file mode 100644 index 00000000..6a3b6b3b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PRGAMStartBefore.java @@ -0,0 +1,11 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PRGAMStartBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalAfter.java new file mode 100644 index 00000000..4e9c63f1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalAfter.java @@ -0,0 +1,141 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +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.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.business_slrs.dao.WgDept; +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.Date; +import java.util.List; + +public class PresidentApprovalAfter 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); + + LawsUserInfoService lawsUserInfoService=SpringContextUtil.getBean(LawsUserInfoService.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 user = delegateTask.getVariable("createUser",String.class); + String username = delegateTask.getVariable("createUserName",String.class); + String prcName=""; + List nextUserList = new ArrayList(); + + if("1".equals(object.getString("gsfz"))){ + delegateTask.setVariable("gsfz", "1"); + JSONArray jsonArray=JSONArray.parseArray(object.getString("itemList")); +// List wgDept=new ArrayList<>(); +// jsonArray.forEach(o -> { +// JSONObject os=JSONObject.parseObject(o.toString()); +// WgDept wgDept1=new WgDept(); +// wgDept1.setWgId(object.getString("standId")); +// wgDept1.setDeptOrder(os.getString("itemsNum")); +// wgDept1.setDeptPeopleId(os.getString("itemsName")); +// wgDept1.setIdentity(os.getString("responsibleUnitShow")); +// wgDept1.setJoinfile(os.getString("zxUserIdName")); +// wgDept1.setJoinId(os.getString("itermsConditions")); +// wgDept.add(wgDept1); +// }); +// +// JSONArray jsonArray1=JSONArray.parseArray(delegateTask.getVariable("itemListOld",String.class)); +// jsonArray1.forEach(obj ->{ +// JSONObject object1 = JSONObject.parseObject(obj.toString()); +// WgDept wgDept1=new WgDept(); +// wgDept1.setWgId(object.getString("standId")); +// wgDept1.setDeptOrder(object1.getString("itemsNum")); +// wgDept1.setDeptPeopleId(object1.getString("itemsName")); +// wgDept1.setIdentity(object1.getString("responsibleUnitShow")); +// wgDept1.setJoinfile(object1.getString("zxUserIdName")); +// wgDept1.setJoinId(object1.getString("itermsConditions")); +// wgDept.add(wgDept1); +// }); +// +// lawsUserInfoService.wgDeptSaveBatch(wgDept); + + prcName = "政策课题组参会流程"; + }else{ + delegateTask.setVariable("gsfz", "0"); + if (StringUtils.isNotBlank(object.getString("revisionId"))){ + nextUserList.add(object.getString("revisionId")); + delegateTask.setVariable("revision", object.getString("revisionId")); + 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("1".equals(object.getString("gsfz"))){ + one1.setOverTime(OVERTIME); + } + one1.setPrcType("18"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + }else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("政策课题组参会流程-流程结束"); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java new file mode 100644 index 00000000..e138d2a0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/PresidentApprovalBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +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 PresidentApprovalBefore 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("zcchStep2?prcType=18"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationAfter.java new file mode 100644 index 00000000..ca258538 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationAfter.java @@ -0,0 +1,90 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +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.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.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.List; + +public class RevisionInformationAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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 user = delegateTask.getVariable("createUser",String.class); + String username = delegateTask.getVariable("createUserName",String.class); + String prcName=""; + List nextUserList = new ArrayList(); + + if (StringUtils.isNotBlank(object.getString("ministerId"))){ + nextUserList.add(object.getString("ministerId")); + delegateTask.setVariable("ministerApproval", object.getString("ministerId")); + prcName = "政策课题组参会流程-法规认证部副部长审核"; + } + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("18"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java new file mode 100644 index 00000000..98440476 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupAttendMeeting/RevisionInformationBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupAttendMeeting; + +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 RevisionInformationBefore 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("zcchStep1-1?prcType=18"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java new file mode 100644 index 00000000..497bdb7c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalAfter.java @@ -0,0 +1,136 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +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.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +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.business_slrs.dao.WgDept; +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.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PGREPresidentApprovalAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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 user = delegateTask.getVariable("createUser", String.class); + String username = delegateTask.getVariable("createUserName", String.class); + String prcName=""; + + + + List nextUserList = new ArrayList(); + + if ("1".equals(object.getString("gsfz"))) { + delegateTask.setVariable("gsfz", "1"); + +// JSONArray jsonArray=JSONArray.parseArray(object.getString("itemList")); +// List wgDept=new ArrayList<>(); +// jsonArray.forEach(o -> { +// JSONObject os=JSONObject.parseObject(o.toString()); +// WgDept wgDept1=new WgDept(); +// wgDept1.setWgId(object.getString("standId")); +// wgDept1.setDeptOrder(os.getString("itemsNum")); +// wgDept1.setDeptPeopleId(os.getString("itemsName")); +// wgDept1.setIdentity(os.getString("responsibleUnitShow")); +// wgDept1.setJoinfile(os.getString("zxUserIdName")); +// wgDept1.setJoinId(os.getString("itermsConditions")); +// wgDept.add(wgDept1); +// }); +// +// JSONArray jsonArray1=JSONArray.parseArray(delegateTask.getVariable("itemListOld",String.class)); +// jsonArray1.forEach(obj ->{ +// JSONObject object1 = JSONObject.parseObject(obj.toString()); +// WgDept wgDept1=new WgDept(); +// wgDept1.setWgId(object.getString("standId")); +// wgDept1.setDeptOrder(object1.getString("itemsNum")); +// wgDept1.setDeptPeopleId(object1.getString("itemsName")); +// wgDept1.setIdentity(object1.getString("responsibleUnitShow")); +// wgDept1.setJoinfile(object1.getString("zxUserIdName")); +// wgDept1.setJoinId(object1.getString("itermsConditions")); +// wgDept.add(wgDept1); +// }); + +// lawsUserInfoService.wgDeptSaveBatch(wgDept); + + prcName = "政策课题组入会流程"; + } else { + delegateTask.setVariable("gsfz", "0"); + if (StringUtils.isNotBlank(object.getString("revisionId"))) { + delegateTask.setVariable("revisionInformation", object.getString("revisionId")); + nextUserList.add(object.getString("revisionId")); + } + prcName = "政策课题组入会流程-修订入会信息"; + } + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("17"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java new file mode 100644 index 00000000..ec16dc22 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PGREPresidentApprovalBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +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 PGREPresidentApprovalBefore 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("zcrhStep4?prcType=17"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java new file mode 100644 index 00000000..2c7a5249 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalAfter.java @@ -0,0 +1,112 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +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.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PRGEInspectorApprovalAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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 user = delegateTask.getVariable("createUser", String.class); + String username = delegateTask.getVariable("createUserName", String.class); + String prcName=""; + List nextUserList = new ArrayList(); + + if ("1".equals(object.getString("fgfzj"))) { + delegateTask.setVariable("fgfzj", "1"); + if (StringUtils.isNotBlank(object.getString("presidentId"))) { + delegateTask.setVariable("presidentApproval", object.getString("presidentId")); + nextUserList.add(object.getString("presidentId")); + } + prcName = "政策课题组入会流程-公司副总批准"; + } else if ("0".equals(object.getString("fgfzj"))) { + delegateTask.setVariable("fgfzj", "0"); + if (StringUtils.isNotBlank(object.getString("revisionId"))){ + delegateTask.setVariable("revisionInformation", object.getString("revisionId")); + nextUserList.add(object.getString("revisionId")); + } + prcName = "政策课题组入会流程-修订入会信息"; + }else{ + delegateTask.setVariable("fgfzj", "2"); + prcName = "政策课题组入会流程"; + } + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("17"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java new file mode 100644 index 00000000..9842c401 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEInspectorApprovalBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +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 PRGEInspectorApprovalBefore 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("zcrhStep3?prcType=17"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java new file mode 100644 index 00000000..ac5df7e1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmAfter.java @@ -0,0 +1,116 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +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.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class PRGEMinisterConfirmAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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 user = delegateTask.getVariable("createUser",String.class); + String username = delegateTask.getVariable("createUserName",String.class); + String prcName=""; + + + List nextUserList = new ArrayList(); + + + if("1".equals(object.getString("fgfbz"))){ + delegateTask.setVariable("fgfbz", "1"); + if (StringUtils.isNotBlank(object.getString("inspectorId"))){ + delegateTask.setVariable("inspectorApproval", object.getString("inspectorId")); + nextUserList.add(object.getString("inspectorId")); + } + prcName = "政策课题组入会流程-法规认证部副总监批准"; + }else{ + delegateTask.setVariable("fgfbz","0"); + if (StringUtils.isNotBlank(object.getString("revisionId"))){ + delegateTask.setVariable("revisionInformation", object.getString("revisionId")); + nextUserList.add(object.getString("revisionId")); + } + prcName = "政策课题组入会流程-修订入会信息"; + } + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + + + + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("17"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java new file mode 100644 index 00000000..ed466925 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEMinisterConfirmBefore.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +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 PRGEMinisterConfirmBefore implements TaskListener { +// @Override +// public void notify(DelegateTask delegateTask) { +// +// } + @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("zcrhStep2?prcType=17"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java new file mode 100644 index 00000000..8c768d1d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartAfter.java @@ -0,0 +1,103 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +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.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +//政策课题组入会 +public class PRGEStartAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + + List nextUserList = new ArrayList(); + if(StringUtils.isNotBlank(object.getString("ministerId"))){ + delegateTask.setVariable("ministerConfirm", object.getString("ministerId")); + nextUserList.add(object.getString("ministerId")); + } + + + + //截止时间 流程描述 创建人 + String user = object.getString("revisionId"); + delegateTask.setVariable("createUser",user); + String username = object.getString("revisionIdName"); + delegateTask.setVariable("createUserName",username); + String prcName=""; + prcName = "政策课题组入会流程-法规认证部副部长审核"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("17"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + if (!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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartBefore.java new file mode 100644 index 00000000..c4c66ff2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/PRGEStartBefore.java @@ -0,0 +1,12 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PRGEStartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java new file mode 100644 index 00000000..8a9afaca --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisionInformationBefore.java @@ -0,0 +1,34 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +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 RevisionInformationBefore 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("zcrhStep1-1?prcType=17"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java new file mode 100644 index 00000000..ece669f3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyResearchGroupEnrollment/RevisonInformationAfter.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.policyResearchGroupEnrollment; + +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.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class RevisonInformationAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + + List nextUserList = new ArrayList(); + + if (StringUtils.isNotBlank(delegateTask.getVariable("ministerConfirm",String.class))) { + nextUserList.add(delegateTask.getVariable("ministerConfirm",String.class)); + } + + String user = delegateTask.getVariable("createUser", String.class); + String username = delegateTask.getVariable("createUserName", String.class); + String prcName=""; + prcName = "政策课题组入会流程-法规认证部副部长审核"; + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("17"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + + + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartAfter.java new file mode 100644 index 00000000..9cdd872c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartAfter.java @@ -0,0 +1,125 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class PEPstartAfter 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); + + //获取对象中的项目的数据 + delegateTask.setVariable("standsId",object.getString("standId")); + delegateTask.setVariable("standType",object.getString("standType")); + //业务经理Id + List nextUserList = new ArrayList(); + // bzywId 标准法规部业务经理 + delegateTask.setVariable("bzywId",object.getString("dockUser")); + nextUserList.add(object.getString("dockUser")); + //赋值标准法规部领导 最后一步审批用 + delegateTask.setVariable("DLUserIds", object.getString("ministerUser")); + + + delegateTask.setVariable("certifiedEngineerName",object.getString("certifiedEngineerName")); + delegateTask.setVariable("qualityEngineerName",object.getString("qualityEngineerName")); + + //认证工程师Id + delegateTask.setVariable("certifiedEngineer",object.getString("certifiedEngineer")); + //质量工程师Id + delegateTask.setVariable("qualityEngineer",object.getString("qualityEngineer")); + + Map> people_project=new HashMap<>(); + Map project_people=new HashMap<>(); + JSONArray array=object.getJSONArray("dataList"); + for (Object o:array) { + JSONObject jsonObject=JSONObject.parseObject(o.toString()); + if (null!=people_project.get(jsonObject.getString("projectGroupPeopleId"))){ + people_project.get(jsonObject.getString("projectGroupPeopleId")).add(jsonObject.getString("projectGroup")); + }else { + List strings=new ArrayList<>(); + strings.add(jsonObject.getString("projectGroup")); + people_project.put(jsonObject.getString("projectGroupPeopleId"),strings); + } + project_people.put(jsonObject.getString("projectGroup"),jsonObject.getString("projectGroupPeopleId")); + } + delegateTask.setVariable("project_people",project_people); + delegateTask.setVariable("people_project",people_project); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + delegateTask.setVariable("stands",object.getString("standNumber")); + String prcName = String.valueOf(object.getString("standNumber"))+"-"+object.getString("standName")+"-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartBefore.java new file mode 100644 index 00000000..2c45e726 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/PEPstartBefore.java @@ -0,0 +1,13 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PEPstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2After.java new file mode 100644 index 00000000..0783592c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2After.java @@ -0,0 +1,135 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSON; +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.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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step2After 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); + Map map=new HashMap<>(); + List nextUserList=new ArrayList<>(); + if ("0".equals(object.getString("stepFlag"))){ + delegateTask.setVariable("Step2Flag","0"); + JSONArray jsonArray=object.getJSONArray("dataList"); + if (null!=jsonArray && jsonArray.size()>0){ + jsonArray.forEach(o -> { + JSONObject jsonObject=JSONObject.parseObject(o.toString()); + if (null!=map.get(jsonObject.getString("distributePersonId"))){ + map.get(jsonObject.getString("distributePersonId")).getJSONArray("dataList").add(jsonObject); + }else { + JSONObject object1=new JSONObject(); + object1= JSON.parseObject(object.toJSONString()); + JSONArray jsonArray1=new JSONArray(); + jsonArray1.add(jsonObject); + object1.put("dataList",jsonArray1); + map.put(jsonObject.getString("distributePersonId"),object1); + nextUserList.add(jsonObject.getString("distributePersonId")); + } + }); + } + delegateTask.setVariable("zrIdLists",nextUserList); + }else { + delegateTask.setVariable("Step2Flag","1"); + delegateTask.setVariable("createId",delegateTask.getVariable("prcCreateUser",String.class)); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if ("0".equals(object.getString("stepFlag"))) { + prcName = object.getString("standNumber")+"-"+object.getString("standName") + "-合规评估"; + }else { + prcName = object.getString("standNumber")+"-"+object.getString("standName") + "-合规评估"; + } + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (nextUserList != null && !nextUserList.isEmpty()) { + if ("0".equals(object.getString("stepFlag"))){ + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(map.get(nextUser).toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + 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.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2Before.java new file mode 100644 index 00000000..fdb1474d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step2Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step2Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzpgStep2?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java new file mode 100644 index 00000000..2bf3acf4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3After.java @@ -0,0 +1,149 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import ch.qos.logback.core.joran.spi.ActionException; +import com.alibaba.fastjson.JSON; +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.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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.activiti.rest.exception.ActivitiConflictException; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step3After 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); + +// 多实例节点定义的计数器 + if (null!=delegateTask.getVariable("count1")){ + delegateTask.setVariable("count1",delegateTask.getVariable("count1",Integer.class)+1); + }else { + delegateTask.setVariable("count1",1); + } + + Map map=new HashMap<>(); + if (null!=delegateTask.getVariable("maps")){ + map=delegateTask.getVariable("maps",Map.class); + } + + List nextUserList=new ArrayList<>(); + JSONArray jsonArray=object.getJSONArray("dataList"); + if (null!=jsonArray && jsonArray.size()>0){ + for (Object s: jsonArray) { + JSONObject object1= JSON.parseObject(s.toString()); + if (null!=map.get(object1.getString("unameId"))){ + map.get(object1.getString("unameId")).getJSONArray("dataList").add(object1); + }else { + JSONObject object2=new JSONObject(); + object2=JSON.parseObject(object.toJSONString()); + JSONArray jsonArray1=new JSONArray(); + jsonArray1.add(object1); + object2.put("dataList",jsonArray1); + map.put(object1.getString("unameId"),object2); + nextUserList.add(object1.getString("unameId")); + } + } + } + delegateTask.setVariable("maps",map); + //处理下一步的经理问题 + if (null!=delegateTask.getVariable("managerIdList")){ + List old=delegateTask.getVariable("managerIdList",List.class); + old.forEach(s -> { + if (!nextUserList.contains(s)){ + nextUserList.add(s); + } + }); + delegateTask.setVariable("managerIdList",nextUserList); + }else { + delegateTask.setVariable("managerIdList",nextUserList); + } + + //截止时间 流程描述 创建人 + 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 prcName = object.getString("standNumber")+"-"+object.getString("standName") + "-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (delegateTask.getVariable("count1",Integer.class) >=delegateTask.getVariable("zrIdLists",List.class).size()) { + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + JSONObject object1=JSON.parseObject(map.get(nextUser).toJSONString()); + JSONArray array=object1.getJSONArray("dataList"); + JSONArray array1=object1.getJSONArray("breakdownList"); + JSONArray res=new JSONArray(); + for (Object o:array) { + JSONObject object2=JSONObject.parseObject(o.toString()); + for (Object o2: array1 ) { + JSONObject object3=JSONObject.parseObject(o2.toString()); + object2.keySet().forEach(s -> { + object3.put(s,object2.getString(s)); + }); + res.add(object3); + } + } + object1.put("resDats",res); + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object1.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3Before.java new file mode 100644 index 00000000..01744917 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step3Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step3Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzpgStep3?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4After.java new file mode 100644 index 00000000..d58f6a55 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4After.java @@ -0,0 +1,160 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSON; +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step4After 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); + + List nextUserList=new ArrayList<>(); + Map map=new HashMap<>(); + if (null!=delegateTask.getVariable("map4")){ + map=delegateTask.getVariable("map4",Map.class); + } + // 多实例节点定义的计数器 + if (null!=delegateTask.getVariable("count2")){ + delegateTask.setVariable("count2",delegateTask.getVariable("count2",Integer.class)+1); + }else { + delegateTask.setVariable("count2",1); + } + List order =new ArrayList<>(); + JSONArray array=object.getJSONArray("dataList"); + if (null!=array && array.size()>0){ + for (Object o:array) { + JSONObject object1= JSON.parseObject(o.toString()); + if (null!=object1.getString("implementerId") && !object1.getString("implementerId").isEmpty()) { + if (object1.getString("implementerId").contains(",")) { + String[] name=object1.getString("implementer").split(","); + int i=0; + for (String ss:object1.getString("implementerId").split(",")) { + JSONObject object3=JSON.parseObject(object1.toJSONString()); + object3.put("implementerId",ss); + object3.put("implementer",name[i]); + if (null != map.get(delegateTask.getAssignee() + "-" + ss)) { + map.get(delegateTask.getAssignee() + "-" + ss).getJSONArray("dataList").add(object3); + } else { + JSONObject object2 = JSON.parseObject(object.toJSONString()); + JSONArray array1 = new JSONArray(); + array1.add(object3); + object2.put("dataList", array1); + object2.put("keys", delegateTask.getAssignee() + "-" + ss); + map.put(delegateTask.getAssignee() + "-" + ss, object2); + nextUserList.add(ss); + order.add(delegateTask.getAssignee() + "-" + ss); + } + i++; + } + } else { + if (null != map.get(delegateTask.getAssignee() + "-" + object1.getString("implementerId"))) { + map.get(delegateTask.getAssignee() + "-" + object1.getString("implementerId")).getJSONArray("dataList").add(object1); + } else { + JSONObject object2 = JSON.parseObject(object.toJSONString()); + JSONArray array1 = new JSONArray(); + array1.add(object1); + object2.put("dataList", array1); + object2.put("keys", delegateTask.getAssignee() + "-" + object1.getString("implementerId")); + map.put(delegateTask.getAssignee() + "-" + object1.getString("implementerId"), object2); + nextUserList.add(object1.getString("implementerId")); + order.add(delegateTask.getAssignee() + "-" + object1.getString("implementerId")); + } + } + } + } + } + delegateTask.setVariable("map4",map); + if (null!=delegateTask.getVariable("jtzrIdList")){ + delegateTask.getVariable("jtzrIdList",List.class).addAll(nextUserList); + delegateTask.getVariable("order",List.class).addAll(order); + nextUserList=delegateTask.getVariable("jtzrIdList",List.class); + order=delegateTask.getVariable("order",List.class); + }else { + delegateTask.setVariable("jtzrIdList", nextUserList); + delegateTask.setVariable("order",order); + } + + + + + //截止时间 流程描述 创建人 + 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 prcName = object.getString("standNumber")+"-"+object.getString("standName") + "-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (delegateTask.getVariable("count2",Integer.class)>= delegateTask.getVariable("managerIdList",List.class).size()) { + if (nextUserList != null && !nextUserList.isEmpty()) { + int i=0; + for (String nextUser : nextUserList) { + if (null!=nextUser && !nextUser.isEmpty()) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(map.get(order.get(i)).toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + i++; + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4Before.java new file mode 100644 index 00000000..070ff1dd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step4Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step4Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzpgStep4?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5After.java new file mode 100644 index 00000000..61eaf7be --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5After.java @@ -0,0 +1,93 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class Step5After 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); + + List nextUserList=new ArrayList<>(); + if (null!=object.getString("keys")){ + String[] s=object.getString("keys").split("-"); + delegateTask.setVariable("ztManagerId",s[0]); + nextUserList.add(s[0]); + } + + //截止时间 流程描述 创建人 + 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 prcName = object.getString("standNumber")+"-"+object.getString("standName") + "-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5Before.java new file mode 100644 index 00000000..00799f63 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step5Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step5Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzpgStep5?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6After.java new file mode 100644 index 00000000..51edf247 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6After.java @@ -0,0 +1,147 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.mysql.cj.xdevapi.JsonArray; +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step6After 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); + + List nextUserList=new ArrayList<>(); + if (null!=delegateTask.getVariable("SDIdList") && "0".equals(object.getString("passFlag"))){ + nextUserList=delegateTask.getVariable("SDIdList",List.class); + } + Map map=new HashMap<>(); + if (null!=delegateTask.getVariable("res6")){ + map=delegateTask.getVariable("res6",Map.class); + } + Map project_people=delegateTask.getVariable("project_people",Map.class); + //子流程定义的计数器 + String[] s=object.getString("keys").split("-"); + if ("0".equals(object.getString("passFlag"))) { + if (null != delegateTask.getVariable("count6")) { + delegateTask.setVariable("count6", delegateTask.getVariable("count6", Integer.class) + 1); + } else { + delegateTask.setVariable("count6", 1); + } + JSONArray res=object.getJSONArray("dataList"); + if (null!=res && res.size()>0){ + for (Object o: res) { + JSONObject object1= JSON.parseObject(o.toString()); + String projectGroupId= String.valueOf(project_people.get(object1.getString("projectGroup"))); + if (null!=map.get(projectGroupId)){ + map.get(projectGroupId).getJSONArray("dataList").add(object1); + }else { + JSONObject object2=JSON.parseObject(object.toJSONString()); + JSONArray array=new JSONArray(); + array.add(object1); + object2.put("dataList",array); + map.put(projectGroupId,object2); + nextUserList.add(projectGroupId); + } + } + } + delegateTask.setVariable("SDIdList",nextUserList); + delegateTask.setVariable("passFlag","0"); + delegateTask.setVariable("res6",map); + }else { + if (null == delegateTask.getVariable("count6")) { + delegateTask.setVariable("count6", 0); + } + + nextUserList.add(s[1]); + delegateTask.setVariable("passFlag","1"); + } + + //截止时间 流程描述 创建人 + + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = object.getString("standNumber")+"-"+object.getString("standName") + "-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (delegateTask.getVariable("count6",Integer.class)>=delegateTask.getVariable("jtzrIdList",List.class).size()) { + for (String nextUser : map.keySet()) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(map.get(nextUser).toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } else if ("1".equals(object.getString("passFlag"))) { + 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); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6Before.java new file mode 100644 index 00000000..db80fbd9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step6Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step6Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzpgStep6?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7After.java new file mode 100644 index 00000000..04ba4a07 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7After.java @@ -0,0 +1,104 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step7After 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); + + // 多实例节点定义的计数器 + if (null!=delegateTask.getVariable("count7")){ + delegateTask.setVariable("count7",delegateTask.getVariable("count7",Integer.class)+1); + }else { + delegateTask.setVariable("count7",1); + } + JSONObject object1=new JSONObject(); + + List nextUserList=new ArrayList<>(); + delegateTask.setVariable("gjId",delegateTask.getVariable("DLUserIds",String.class)); + nextUserList.add(delegateTask.getVariable("DLUserIds",String.class)); + if (null!=delegateTask.getVariable("Step7Res")){ + object1=delegateTask.getVariable("Step7Res",JSONObject.class); + object1.getJSONArray("dataList").addAll(object.getJSONArray("dataList")); + }else { + object1=object; + delegateTask.setVariable("Step7Res",object1); + } + + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = object.getString("standNumber")+"-"+object.getString("standName") + "-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (delegateTask.getVariable("count7",Integer.class)>=delegateTask.getVariable("SDIdList",List.class).size()) { + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(delegateTask.getVariable("Step7Res",JSONObject.class).toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7Before.java new file mode 100644 index 00000000..889c6e21 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step7Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step7Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzpgStep7?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java new file mode 100644 index 00000000..f76fd7a4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8After.java @@ -0,0 +1,171 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +import com.alibaba.fastjson.JSON; +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.dto.SarStandUnqualified; +import com.ydw.bat.wkflow.business_main.datas.dto.SarStandardComplianceProductAssess; +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.business_slrs.dao.StandProjectRelationDto; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step8After 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); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + + List nextUserList=new ArrayList<>(); + JSONArray array=object.getJSONArray("dataList"); + List sarStandUnqualifieds=new ArrayList<>(); + List productAssesses=new ArrayList<>(); + List standProjectRelationDtos = new ArrayList<>(); + for (Object o: array) { + JSONObject object1 = JSON.parseObject(o.toString()); + List projectnum=new ArrayList<>(Arrays.asList(object1.getString("projectNumber").split(","))); + List projectName=new ArrayList<>(Arrays.asList(object1.getString("projectName").split(","))); + int i=0; + for (String s:projectnum) { + if (null != object1.getString("noCompliance") && !"".equals(object1.getString("noCompliance"))) { + + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(delegateTask.getVariable("standsId", String.class)); + sarStandUnqualified.setStandSerialNumber(object.getString("standNumber")); + sarStandUnqualified.setStandName(object.getString("standName")); + sarStandUnqualified.setItemsNum(object1.getString("itemsNum")); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setItemsName(object1.getString("itemsName")); + sarStandUnqualified.setProductLine(object1.getString("projectGroup")); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(projectName.get(i)); + sarStandUnqualified.setQaEngineer(delegateTask.getVariable("qualityEngineerName", String.class)); + sarStandUnqualified.setAuthEngineer(delegateTask.getVariable("certifiedEngineerName", String.class)); + sarStandUnqualified.setDutyEngineer(object1.getString("implementerId")); + sarStandUnqualified.setResponsibleUnit(object1.getString("responsibleUnit")); + sarStandUnqualified.setReason(object1.getString("noCompliance")); + sarStandUnqualified.setPlanCloseTime(object1.getDate("completionTime")); + sarStandUnqualified.setProductId(s); + sarStandUnqualifieds.add(sarStandUnqualified); + } + //合估评规 结果! + SarStandardComplianceProductAssess sarStandard = new SarStandardComplianceProductAssess(); + sarStandard.setProductName(projectName.get(i)); + sarStandard.setProductId(s); + sarStandard.setClauseName(object1.getString("itemsName")); + sarStandard.setProductLineId(object1.getString("projectGroup")); + sarStandard.setStandName(object.getString("standName")); + sarStandard.setStandNumber(object.getString("standNumber")); + sarStandard.setStandardItem(object1.getString("itemsNum")); + sarStandard.setType(String.valueOf(UUID.randomUUID())); + sarStandard.setStandId(delegateTask.getVariable("standsId", String.class)); + sarStandard.setStandType(delegateTask.getVariable("standType", String.class)); + sarStandard.setInterpretationTime(delegateTask.getCreateTime()); + //111 + sarStandard.setProductionCompletionTime(JSONObject.parseObject(String.valueOf(object1.get("zcCompletionTime")), Date.class)); + sarStandard.setProductionCountermeasures(object1.getString("zcCountermeasures")); + sarStandard.setProductionNonCompliance(object1.getString("zcNoCompliance")); + sarStandard.setProductionCompliance(object1.getString("zcComplianceReasons")); + sarStandard.setResearchCompliance(object1.getString("complianceReasons")); + sarStandard.setResearchCompletionTime(object1.getDate("completionTime")); + sarStandard.setResearchCountermeasures(object1.getString("countermeasures")); + sarStandard.setResearchNonCompliance(object1.getString("noCompliance")); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + sarStandard.setEvaluationPeople(object1.getString("implementerId")); + sarStandard.setEvaluationPeopleName(object1.getString("implementer")); + sarStandard.setNoInvolve(object1.getString("noInvolve")); + sarStandard.setEvaluationTime(simpleDateFormat.format(new Date())); + i++; + productAssesses.add(sarStandard); + } + + List strings=new ArrayList<>(Arrays.asList(object1.getString("projectIds").split(","))); + strings.forEach(s -> { + StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto(); + standProjectRelationDto.setProjectId(s); + standProjectRelationDto.setStandId(delegateTask.getVariable("standsId",String.class)); + if (!standProjectRelationDtos.contains(standProjectRelationDto)) { + standProjectRelationDtos.add(standProjectRelationDto); + } + }); + //数据归类 + } + //数据入库!!!! + lawsUserInfoService.batchInsert(standProjectRelationDtos); + lawsUserInfoService.addsarStandUnqualified(sarStandUnqualifieds); + lawsUserInfoService.addProduct(productAssesses); + + //截止时间 流程描述 创建人 + 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 prcName = object.getString("standNumber")+"-"+object.getString("standName") + "-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8Before.java new file mode 100644 index 00000000..65997dde --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step8Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step8Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzpgStep8?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java new file mode 100644 index 00000000..b7a11db5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9After.java @@ -0,0 +1,108 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class Step9After 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); + + //获取对象中的项目的数据 + delegateTask.setVariable("standsId",object.getString("standId")); + delegateTask.setVariable("standType",object.getString("standType")); + //业务经理Id + List nextUserList = new ArrayList(); + // bzywId 标准法规部业务经理 + delegateTask.setVariable("bzywId",object.getString("dockUser")); + nextUserList.add(object.getString("dockUser")); + //赋值标准法规部领导 最后一步审批用 + delegateTask.setVariable("DLUserIds", object.getString("ministerUser")); + + + delegateTask.setVariable("certifiedEngineerName",object.getString("certifiedEngineerName")); + delegateTask.setVariable("qualityEngineerName",object.getString("qualityEngineerName")); + + //认证工程师Id + delegateTask.setVariable("certifiedEngineer",object.getString("certifiedEngineer")); + //质量工程师Id + delegateTask.setVariable("qualityEngineer",object.getString("qualityEngineer")); + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + delegateTask.setVariable("stands",object.getString("standNumber")); + String prcName = object.getString("standNumber")+"-"+object.getString("standName") + "-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + if (null!=object.getJSONObject("newText")){ + one1.setMes(object.getJSONObject("newText").toJSONString()); + } + busProcessNameService.saveOrUpdate(one1); + } + + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9Before.java new file mode 100644 index 00000000..9ec842d3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationNewProcess/Step9Before.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationNewProcess; + +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 Step9Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzpgStep8-1?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java new file mode 100644 index 00000000..89f4e00a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java @@ -0,0 +1,206 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.dto.SarStandUnqualified; +import com.ydw.bat.wkflow.business_main.datas.dto.SarStandardComplianceProductAssess; +import com.ydw.bat.wkflow.business_main.datas.dto.Step3DTO; +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.business_slrs.dao.StandProjectRelationDto; +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.lang.StringUtils; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +public class PEPDepartLeaderAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //流程分类UUID + UUID uuid = UUID.randomUUID(); + + //根据流程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); + //存数据 存储集合 + JSONArray jsonArray=JSONArray.parseArray(object.getString("step3DTOS")); + JSONArray dataList=JSONArray.parseArray(object.getString("dataList")); + List sarStandUnqualifieds=new ArrayList<>(); + List productAssesses=new ArrayList<>(); + //清单和项目关联 + List standProjectRelationDtos = new ArrayList<>(); + int i=0; + for (Object j : jsonArray) { + Step3DTO o=JSONObject.parseObject(String.valueOf(j), Step3DTO.class); + JSONObject object1=JSONObject.parseObject(dataList.getString(i)); + //未符合项整改 保存 + //在研不合规 + if (null!=object1.getString("noCompliance") && !"".equals(object1.getString("noCompliance"))) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(delegateTask.getVariable("standsId",String.class)); + sarStandUnqualified.setStandSerialNumber(o.getStandNumber()); + sarStandUnqualified.setStandName(o.getStandName()); + sarStandUnqualified.setItemsNum(o.getItemNum()); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setItemsName(o.getItemsName()); + sarStandUnqualified.setProductLine(o.getProductLine()); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(o.getProjectName()); + sarStandUnqualified.setQaEngineer(delegateTask.getVariable("qualityEngineerName",String.class)); + sarStandUnqualified.setAuthEngineer(delegateTask.getVariable("certifiedEngineerName",String.class)); + sarStandUnqualified.setDutyEngineer(o.getImplementerId()); + sarStandUnqualified.setResponsibleUnit(o.getResponsibleUnit()); +// sarStandUnqualified.setProductType("research"); + sarStandUnqualified.setReason(object1.getString("noCompliance")); + sarStandUnqualified.setPlanCloseTime(JSONObject.parseObject(String.valueOf(object1.get("completionTime")),Date.class)); + sarStandUnqualified.setProductId(o.getProjectNumber()); + sarStandUnqualifieds.add(sarStandUnqualified); + } + + if (null!=object1.getString("zcNoCompliance") && !"".equals(object1.getString("zcNoCompliance"))) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(delegateTask.getVariable("standsId",String.class)); + sarStandUnqualified.setStandSerialNumber(o.getStandNumber()); + sarStandUnqualified.setStandName(o.getStandName()); + sarStandUnqualified.setItemsNum(o.getItemNum()); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setItemsName(o.getItemsName()); + sarStandUnqualified.setProductLine(o.getProductLine()); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(o.getProjectName()); + sarStandUnqualified.setQaEngineer(delegateTask.getVariable("qualityEngineerName",String.class)); + sarStandUnqualified.setAuthEngineer(delegateTask.getVariable("certifiedEngineerName",String.class)); + sarStandUnqualified.setDutyEngineer(o.getImplementerId()); + sarStandUnqualified.setResponsibleUnit(o.getResponsibleUnit()); + sarStandUnqualified.setReason(object1.getString("zcNoCompliance")); +// sarStandUnqualified.setProductType("product"); + sarStandUnqualified.setPlanCloseTime(JSONObject.parseObject(String.valueOf(object1.get("zcCompletionTime")),Date.class)); + sarStandUnqualified.setProductId(o.getProjectNumber()); + sarStandUnqualifieds.add(sarStandUnqualified); + } + //合估评规 结果! + o.setTypeId(String.valueOf(uuid)); + SarStandardComplianceProductAssess sarStandard=new SarStandardComplianceProductAssess(); + sarStandard.setProductName(o.getProjectName()); + sarStandard.setProductId(o.getProjectNumber()); + sarStandard.setClauseName(o.getItemsName()); + sarStandard.setProductLineId(o.getProductLine()); + sarStandard.setStandName(o.getStandName()); + sarStandard.setStandNumber(o.getStandNumber()); + sarStandard.setStandardItem(o.getItemNum()); + sarStandard.setType(o.getTypeId()); + sarStandard.setStandId(delegateTask.getVariable("standsId",String.class)); + sarStandard.setStandType(delegateTask.getVariable("standType",String.class)); + sarStandard.setInterpretationTime(delegateTask.getCreateTime()); + //111 + sarStandard.setProductionCompletionTime(JSONObject.parseObject(String.valueOf(object1.get("zcCompletionTime")),Date.class)); + sarStandard.setProductionCountermeasures(object1.getString("zcCountermeasures")); + sarStandard.setProductionNonCompliance(object1.getString("zcNoCompliance")); + sarStandard.setProductionCompliance(object1.getString("zcComplianceReasons")); + sarStandard.setResearchCompliance(object1.getString("complianceReasons")); + sarStandard.setResearchCompletionTime(JSONObject.parseObject(String.valueOf(object1.get("completionTime")),Date.class)); + sarStandard.setResearchCountermeasures(object1.getString("countermeasures")); + sarStandard.setResearchNonCompliance(object1.getString("noCompliance")); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + sarStandard.setEvaluationPeople(object1.getString("implementer")); + sarStandard.setEvaluationPeopleName(object1.getString("implementerId")); + sarStandard.setEvaluationTime(simpleDateFormat.format(new Date())); +// try { +// if (null!=delegateTask.getVariable("XCXSSRQ")) { +// sarStandard.setResearchImplementationTime(simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("XCXSSRQ")))); +// } +// if (null!=delegateTask.getVariable("ZCCSSRQ")) { +// sarStandard.setProductionImplementationTime(simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("ZCCSSRQ")))); +// } +// } catch (ParseException e) { +// e.printStackTrace(); +// } + i++; + Map map=delegateTask.getVariable("numberWithId",Map.class); + StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto(); + standProjectRelationDto.setProjectId(String.valueOf(map.get(o.getProjectNumber()))); + standProjectRelationDto.setStandId(delegateTask.getVariable("standsId",String.class)); + if (!standProjectRelationDtos.contains(standProjectRelationDto)) { + standProjectRelationDtos.add(standProjectRelationDto); + } + //数据归类 + productAssesses.add(sarStandard); + } + //数据入库!!!! + lawsUserInfoService.batchInsert(standProjectRelationDtos); + lawsUserInfoService.addsarStandUnqualified(sarStandUnqualifieds); + lawsUserInfoService.addProduct(productAssesses); + //是否审批通过 passFlag == 1 通过 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + func1(delegateTask, busBean, object, "0"); + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-部门领导审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + } + + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java new file mode 100644 index 00000000..ffe27d04 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPDepartLeaderBefore 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("xmpgStep7?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumAfter.java new file mode 100644 index 00000000..bb236a45 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumAfter.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +public class PEPSumAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + + + //标准法规部门领导 + List nextUserList = new ArrayList(); + if (StringUtils.isNotBlank(delegateTask.getVariable("DLUserIds",String.class))) { + nextUserList.add(delegateTask.getVariable("DLUserIds",String.class)); + delegateTask.setVariable("DLUserId", delegateTask.getVariable("DLUserIds",String.class)); + } else { + throw new ActivitiException("请选择标准法规部门领导!!"); + } + + + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-标准法规部领导审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java new file mode 100644 index 00000000..e3a178c3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPSumBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep6?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java new file mode 100644 index 00000000..97bff023 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java @@ -0,0 +1,187 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +import com.alibaba.fastjson.JSONArray; +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_main.datas.dto.DataList; +import com.ydw.bat.wkflow.business_main.datas.dto.PEPDTO; +import com.ydw.bat.wkflow.business_main.datas.dto.PEPres; +import com.ydw.bat.wkflow.business_main.datas.dto.Step3DTO; +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class PEPffresPersonAfter 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 prcName = ""; + prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-汇总审批"; + + + List nextUserList = new ArrayList(); + if (StringUtils.isNotBlank(object.getString("fenFlag"))) { + if ("2".equals(object.getString("fenFlag"))) { + //通过 记录通过的流程条数 + if (null != delegateTask.getVariable("PEPCount")) { + String as = String.valueOf(delegateTask.getVariable("PEPCount")); + delegateTask.setVariable("PEPCount", String.valueOf(Integer.valueOf(as) + 1)); + } else { + delegateTask.setVariable("PEPCount", "1"); + } + delegateTask.setVariable("fenFlag", "1"); + } else { + //不通过就要驳回 + object.put("dataList", delegateTask.getVariable(object.getString("key"))); + nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("workPeople", String.valueOf(delegateTask.getVariable("workPeople"))); + delegateTask.setVariable("fenFlag", "2"); + object.put("mark", "back"); + 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(String.valueOf(delegateTask.getVariable("workPeople"))); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } +// 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (String.valueOf(delegateTask.getVariable("PEPCount")).equals(String.valueOf(delegateTask.getVariable("workPeoples", List.class).size()))) { + prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-合规性评估"; + oneStep1(delegateTask, busBean, nextUserList, prcName); + } + + } + + private void oneStep1(DelegateTask delegateTask, IBusProcessNewService busBean, List nextUserList, String prcName) { + //中间对象 + List CPX = new ArrayList<>(); + Map> map = new HashMap<>(); + Map maps = new HashMap<>(); + List busProcessNews=busBean.findLastworkPeople("projectEvaluationProcess5",delegateTask.getProcessInstanceId()); + for (BusProcessNew b:busProcessNews) { + JSONObject object=JSONObject.parseObject(b.getMesg()); + if ("".equals(b.getCommitText())) { + JSONArray jsonArray = JSONArray.parseArray(object.getString("step3DTOS")); + JSONArray dataList = JSONArray.parseArray(object.getString("dataList")); + //去除jaonArry中的无效数据 + JSONArray remove=new JSONArray(); + List standard=new ArrayList<>(); + dataList.forEach(o -> { + JSONObject os=JSONObject.parseObject(o.toString()); + standard.add(os.getString("itemNum")+os.getString("projectNumber")); + }); + jsonArray.forEach(o -> { + JSONObject object1=JSONObject.parseObject(o.toString()); + if (!standard.contains(object1.getString("itemNum")+object1.getString("projectNumber"))){ + remove.add(o); + } + }); + jsonArray.removeAll(remove); + PEPDTO res = JSONObject.parseObject(object.toString(), PEPDTO.class); + int i = 0; + for (Object j : jsonArray) { + Step3DTO o = JSONObject.parseObject(String.valueOf(j), Step3DTO.class); + if (!CPX.contains(o.getProjectManager())) { + CPX.add(o.getProjectManager()); + } + if (null != maps.get(o.getProjectManager())) { + maps.get(o.getProjectManager()).getStep3DTOS().add(o); + maps.get(o.getProjectManager()).getDataList().add(JSONObject.parseObject(String.valueOf(dataList.get(i)), DataList.class)); + + } else { + PEPDTO re = new PEPDTO(); + BeanUtils.copyProperties(res, re); + List mis = new ArrayList<>(); + mis.add(JSONObject.parseObject(String.valueOf(j), Step3DTO.class)); + re.setStep3DTOS(mis); + List dataLists = new ArrayList<>(); + DataList list = JSONObject.parseObject(String.valueOf(dataList.get(i)), DataList.class); + dataLists.add(list); + re.setDataList(dataLists); + maps.put(o.getProjectManager(), re); + } + i++; + } + } + } + //生成任务信息 + for (String cp : CPX) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(JsonUtil.toJson(maps.get(cp))); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(cp); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + //赋值 节点 + if (null == delegateTask.getVariable("CPXpeoples")) { + delegateTask.setVariable("CPXpeoples", CPX); + } else { + delegateTask.getVariable("CPXpeoples", List.class).addAll(CPX); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java new file mode 100644 index 00000000..8c2321c9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPffresPersonBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep5?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java new file mode 100644 index 00000000..df65e3ef --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java @@ -0,0 +1,126 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + + +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.dto.*; +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.util.DealWithDate; +import com.ydw.bat.wkflow.util.JsonDateValueProcessor; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import net.sf.json.JsonConfig; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class PEPmanagerApproveAfter 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()); + PEPDTO pepdto = JSONObject.parseObject(datas.getFormValsJson(), PEPDTO.class); + delegateTask.setVariable("objectJson", object); + //后续节点所需要的数据 + List liablePeopleList = new ArrayList<>(); + //获取对象中的项目的数据 + //先获取标准的数据 + List breakdownList = JSONArray.parseArray(object.getString("breakdownList"), BreakdownList.class); + //再获取产品线和项目对应信息 + List dataList = JSONArray.parseArray(object.getString("dataList"), DataList.class); + //在研为0 在产为1 + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-流程下发"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + if (null!=object.get("passFlag")){ + one1.setOverTime(OVERTIME); + } + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //生成任务信息 + Map numberWithId=new HashMap<>(); + Map map=new HashMap<>(); + //是否审批通过 passFlag == 1 不通过 + if (null!=object.get("passFlag")) { + //如果流程通过标识为1 则为不通过发送消息给用户流程结束 + delegateTask.setVariable("passFlag","2"); + } else { + delegateTask.setVariable("passFlag","1"); + int count=0; + for (DataList da : dataList) { + PEPres pePres=new PEPres(); + List pepdtos=new ArrayList<>(); + pepdtos.add(pepdto); + pePres.setPepdtos(pepdtos); + map.put(da.getDistributePersonId(),pePres); +// 处理分发责任人 + if (!liablePeopleList.contains(da.getDistributePersonId())){ + liablePeopleList.add(da.getDistributePersonId()); + count++; + } + + } + delegateTask.setVariable("numberWithId",numberWithId); + delegateTask.setVariable("liablePeopleList",liablePeopleList); + delegateTask.setVariable("PEPAllCount",count); + } + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if(!list.isEmpty()){ + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(liablePeopleList != null && !liablePeopleList.isEmpty()){ + for(String liable : liablePeopleList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(DealWithDate.delWithTime(map.get(liable))); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(liable); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java new file mode 100644 index 00000000..ec6d142e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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 PEPmanagerApproveBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep2?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java new file mode 100644 index 00000000..30d849cf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java @@ -0,0 +1,108 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PEPstartAfter 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); + //获取对象中的项目的数据 + delegateTask.setVariable("standsId",object.getString("standId")); + delegateTask.setVariable("standType",object.getString("standType")); + //业务经理Id + List nextUserList = new ArrayList(); + //赋值审批经理 + delegateTask.setVariable("YWuserId", object.getString("dockUser")); + nextUserList.add(object.getString("dockUser")); + //存储新车型实施日期,在产车实施日期 + delegateTask.setVariable("ZCCSSRQ",object.getString("ZCCSSRQ")); + delegateTask.setVariable("XCXSSRQ",object.getString("XCXSSRQ")); + //赋值标准法规部领导 + delegateTask.setVariable("DLUserIds", object.getString("ministerUser")); + delegateTask.setVariable("qualityEngineer", object.getString("qualityEngineer")); + + delegateTask.setVariable("certifiedEngineerName",object.getString("certifiedEngineerName")); + delegateTask.setVariable("qualityEngineerName",object.getString("qualityEngineerName")); + + //认证工程师Id + delegateTask.setVariable("certifiedEngineer",object.getString("certifiedEngineer")); + //质量工程师Id + delegateTask.setVariable("qualityEngineer",object.getString("qualityEngineer")); + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + delegateTask.setVariable("stands",object.getString("standNumber")); + String prcName = String.valueOf(object.getString("standNumber"))+"-标准项目合规评估流程-审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartBefore.java new file mode 100644 index 00000000..0b0faa89 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartBefore.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class PEPstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java new file mode 100644 index 00000000..98a86c0e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java @@ -0,0 +1,123 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +public class PEPtaskEstimateAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + JSONArray jsonArray = JSONArray.parseArray(object.getString("dataList")); + JSONArray ne = JSONArray.parseArray(object.getString("dataList")); + //操作数据库 + JSONArray remove = new JSONArray(); + for (Object json : jsonArray) { + JSONObject jsonObject1 = JSONObject.parseObject(json.toString()); + if ("".equals(jsonObject1.get("complianceReasons")) && "".equals(jsonObject1.get("noCompliance")) + && "".equals(jsonObject1.get("countermeasures")) && "".equals(jsonObject1.get("completionTime"))) { + remove.add(jsonObject1); + } + } + String uuid = String.valueOf(UUID.randomUUID()); + //代码放这带数据 + delegateTask.setVariable(uuid, jsonArray); + ne.removeAll(remove); + object.put("dataList", ne); + object.put("key", uuid); + //设置分发负责人 + List nextUserList = new ArrayList(); + if (null!=ne && ne.size()>0) { + JSONObject object1 = JSONObject.parseObject(ne.getString(0)); + if (StringUtils.isNotBlank(object1.getString("distributePersonId"))) { + delegateTask.setVariable("ffUserId", object1.getString("distributePersonId")); + nextUserList.add(delegateTask.getVariable("ffUserId", String.class)); + } + }else if (null!=remove && remove.size()>0){ + JSONObject object1 = JSONObject.parseObject(remove.getString(0)); + if (StringUtils.isNotBlank(object1.getString("distributePersonId"))) { + delegateTask.setVariable("ffUserId", object1.getString("distributePersonId")); + nextUserList.add(delegateTask.getVariable("ffUserId", String.class)); + } + } + //截止时间 流程描述 创建人 + 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 prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-分发负责人审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List list = busBean.list(queryWrapper3); + if (!list.isEmpty()) { + BusProcessNew busProcessNews = list.get(0); + busProcessNews.setTaskId(delegateTask.getId()); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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.setPrcName(prcName); + busProcessNewNext.setUserId(nextUser); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java new file mode 100644 index 00000000..1b9765d6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java @@ -0,0 +1,45 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class PEPtaskEstimateBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IOaTaskExecService execService = SpringContextUtil.getBean(IOaTaskExecService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep4?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + + // 干活节点流程 + one1.setTaskStatus(2); + one1.setEndTime(Utils.interceptTime(execService.endTime(delegateTask.getProcessInstanceId()))); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueAfter.java new file mode 100644 index 00000000..511bf29b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueAfter.java @@ -0,0 +1,121 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.dto.PEPres; +import com.ydw.bat.wkflow.business_main.datas.dto.Step3DTO; +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class PEPtaskLssueAfter 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); + + JSONArray object1 = JSONArray.parseArray(datas.getFormValsJson()); + List step3DTOS = JSONArray.parseArray(datas.getFormValsJson(), Step3DTO.class); + Map map = new HashMap(); + map.put(step3DTOS.get(0).getDistributePersonId(), datas.getFormValsJson()); + delegateTask.setVariable("Step3", map); + //流程下发给对应的人 + List peoples = delegateTask.getVariable("liablePeopleList", List.class); + List workPeoples = new ArrayList<>(); + List res = new ArrayList<>(); + Map> maps = new HashMap(); + for (String s : peoples) { + if (null != map.get(s)) { + res.addAll(JSONArray.parseArray(String.valueOf(map.get(s)), Step3DTO.class)); + JSONArray.parseArray(String.valueOf(map.get(s)), Step3DTO.class).forEach(step3DTO -> { + List users = new ArrayList<>(Arrays.asList(step3DTO.getImplementerId().split(","))); + List names = new ArrayList<>(Arrays.asList(step3DTO.getImplementer().split(","))); + int i = 0; + + for (String s1 : users) { + Step3DTO result = new Step3DTO(); + BeanUtils.copyProperties(step3DTO, result); + result.setCertifiedEngineerName(String.valueOf(delegateTask.getVariable("certifiedEngineerName"))); + result.setQualityEngineerName(String.valueOf(delegateTask.getVariable("qualityEngineerName"))); + result.setImplementerId(s1); + result.setImplementer(names.get(i)); + if (!workPeoples.contains(s1)) { + workPeoples.add(s1); + } + if (null != maps.get(s1)) { + maps.get(s1).add(result); + } else { + List dtos = new ArrayList<>(); + dtos.add(result); + maps.put(s1, dtos); + } + i++; + } + }); + } + } + if (null == delegateTask.getVariable("workPeoples")) { + delegateTask.setVariable("workPeoples", workPeoples); + } else { + delegateTask.getVariable("workPeoples", List.class).addAll(workPeoples); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-合规性评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("5"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + + //更改遍历方式!!遍历生成的数据条数 每条都要判断!! + if (workPeoples != null && !workPeoples.isEmpty()) { + for (String nextUser : workPeoples) { + PEPres press = new PEPres(); + press.setStep3DTOS(maps.get(nextUser)); + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(JSONObject.toJSONString(press)); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java new file mode 100644 index 00000000..d46c9f8b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java @@ -0,0 +1,43 @@ +package com.ydw.bat.wkflow.listener.projectEvaluationProcess; + +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class PEPtaskLssueBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + JSONObject object = JSONObject.parseObject(one1.getMesg()); + one1.setLink("xmpgStep3?prcType=5&routerType=oa"); + one1.setTaskInfo(delegateTask.getName()); + // 干活节点流程 + one1.setTaskStatus(2); + one1.setEndTime(Utils.interceptTime(object.getString("endTime"))); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/Step2After.java b/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/Step2After.java new file mode 100644 index 00000000..024d2ad8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/Step2After.java @@ -0,0 +1,84 @@ +package com.ydw.bat.wkflow.listener.qbzxdlxjh; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * 企标制修订立项计划-立项确认 + */ +public class Step2After 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 prcName = object.getString("processName"); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("26"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + 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("finish"); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/Step2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/Step2Before.java new file mode 100644 index 00000000..38cbc367 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/Step2Before.java @@ -0,0 +1,39 @@ +package com.ydw.bat.wkflow.listener.qbzxdlxjh; + +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 Step2Before 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("xmpgStep2?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/startAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/startAfter.java new file mode 100644 index 00000000..0dcb74d1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/startAfter.java @@ -0,0 +1,89 @@ +package com.ydw.bat.wkflow.listener.qbzxdlxjh; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.List; + +/** + * 企标制修订立项计划-起草 + */ +//启动 +public class startAfter 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); + + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("dockUser")); + delegateTask.setVariable("zrId",object.getString("dockUser")); + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("startId",user); + delegateTask.setVariable("startName",username); + String prcName = object.getString("processName"); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("26"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + if(!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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/startBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/startBefore.java new file mode 100644 index 00000000..576e98ea --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/qbzxdlxjh/startBefore.java @@ -0,0 +1,14 @@ +package com.ydw.bat.wkflow.listener.qbzxdlxjh; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * 企标制修订立项计划-起草 + */ +public class startBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + //流程发起节点 + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyAfter.java new file mode 100644 index 00000000..f4848430 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyAfter.java @@ -0,0 +1,139 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +import com.alibaba.fastjson.JSON; +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.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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.activiti.engine.impl.json.JsonObjectConverter; +import org.apache.commons.lang.StringUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * chargeVerify - 入会人员所在部门负责人审核 + */ +public class ChargeVerifyAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动入会流程-"; + JSONObject sum = new JSONObject(); + if(null == delegateTask.getVariable("membersSumJSON")){ + delegateTask.setVariable("membersSumJSON",sum); + } + Integer count = 0; + if(null == delegateTask.getVariable("chargePassCount")){ + delegateTask.setVariable("chargePassCount",count); + } + if("1".equals(object.getString("passFlag"))){//通过 + JSONArray os = object.getJSONObject("rh_pageData").getJSONArray("myPartRole"); + sum = delegateTask.getVariable("membersSumJSON",JSONObject.class); + if(sum.isEmpty()){ + sum = object; + delegateTask.setVariable("membersSumJSON",sum); + }else { + JSONObject o1 = sum.getJSONObject("rh_pageData"); + JSONObject o = os.getJSONObject(0); + JSONArray os1 = sum.getJSONObject("rh_pageData").getJSONArray("myPartRole"); + os1.add(o); + o1.put("myPartRole",os1); + sum.put("rh_pageData",o1); + delegateTask.setVariable("membersSumJSON",sum); + } + count = delegateTask.getVariable("chargePassCount",Integer.class); + delegateTask.setVariable("chargePassCount",count + 1); + delegateTask.setVariable("pass2",1);//排他通道 + if(delegateTask.getVariable("memberCount", Integer.class).equals(delegateTask.getVariable("chargePassCount", Integer.class))){ + prcName = prcName + "标准法规工程师汇总修订"; + if(StringUtils.isNotBlank(object.getString("engineerSum"))) { + nextUserList.add(object.getString("engineerSum")); + delegateTask.setVariable("engineerSum", object.getString("engineerSum")); + } + } + }else{ + prcName = prcName + "入会代表填写入会信息表"; + delegateTask.setVariable("pass2",0);//排他通道 + nextUserList.add(object.getString("member")); + } + +// 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("20"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + if(delegateTask.getVariable("pass2",Integer.class).equals(0)){ + busProcessNewNext.setMesg(object.toJSONString()); + }else{ + JSONObject hand = delegateTask.getVariable("membersSumJSON",JSONObject.class); + busProcessNewNext.setMesg(hand.toJSONString()); + } + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyBefore.java new file mode 100644 index 00000000..475e88cc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ChargeVerifyBefore.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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 ChargeVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzrhStep4?prcType=20"; + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseAfter.java new file mode 100644 index 00000000..ed87b78f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseAfter.java @@ -0,0 +1,163 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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.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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * DirectorChoose - 技术委员会分委会主任/入会代表所在中心主任提名入会代表 + */ +public class DirectorChooseAfter 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); + List nextUserList = new ArrayList(); + + + String prcName = "标准化活动入会流程-"; + //如果 他是通过 passFlag==1 + List passMemberList = new ArrayList<>(); + if(null == delegateTask.getVariable("memberList")){ + delegateTask.setVariable("memberList", passMemberList); + } + + //全员不通过,检测条件 directorCount + Integer allCount = delegateTask.getVariable("directorList",List.class).size(); + Integer count = 0; + if(null == delegateTask.getVariable("directorCount")){ + delegateTask.setVariable("directorCount", count); + } + count = delegateTask.getVariable("directorCount",Integer.class); + delegateTask.setVariable("directorCount",count+1); + + if("1".equals(object.getString("passFlag"))) { + prcName = prcName + "入会代表填写入会信息表"; + JSONObject object1=object.getJSONObject("rh_pageData"); + if (object1.getString("comityOpRoleId").contains(",")){ + nextUserList.addAll(new ArrayList<>(Arrays.asList(object1.getString("comityOpRoleId").split(",")))); + }else { + nextUserList.add(object1.getString("comityOpRoleId")); + } + if (null!=delegateTask.getVariable("memberList")) { + List middle=delegateTask.getVariable("memberList",List.class); + middle.addAll(nextUserList); + delegateTask.setVariable("memberList",middle); + }else { + delegateTask.setVariable("memberList",nextUserList); + } + delegateTask.setVariable("passFlag","0"); + delegateTask.setVariable("memberCount",delegateTask.getVariable("memberList",List.class).size()); + } + if (delegateTask.getVariable("memberList",List.class).size()==0){ + delegateTask.setVariable("passFlag","1"); + prcName = prcName + "流程结束"; + int i=1; + if (null!=delegateTask.getVariable("directorListCount")){ + i=delegateTask.getVariable("directorListCount",Integer.class)+1; + delegateTask.setVariable("directorListCount",i); + }else { + delegateTask.setVariable("directorListCount",i); + } + if (i>=delegateTask.getVariable("directorList",List.class).size()){ + 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) { + one1.setPrcType("20"); + one1.setOverTime(OVERTIME); + busProcessNameService.saveOrUpdate(one1); + } + + + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + + } + + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + 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 ("1".equals(delegateTask.getVariable("passFlag"))){ + one1.setOverTime(OVERTIME); + } + one1.setPrcType("20"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseBefore.java new file mode 100644 index 00000000..34411513 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/DirectorChooseBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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 DirectorChooseBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzrhStep2?prcType=20"; + + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseAfter.java new file mode 100644 index 00000000..64f7c80c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseAfter.java @@ -0,0 +1,96 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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.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.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.List; + +/** + * EngineerRevise - 标准法规工程师汇总修订 + */ +public class EngineerReviseAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动入会流程-"; + prcName = prcName + "标准法规部主管领导审核"; + nextUserList.add(object.getString("leader")); + delegateTask.setVariable("leader", object.getString("leader")); + + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("20"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseBefore.java new file mode 100644 index 00000000..cdbe19ed --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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 EngineerReviseBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzrhStep5?prcType=20"; + + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneAfter.java new file mode 100644 index 00000000..19332caf --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneAfter.java @@ -0,0 +1,169 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +import com.alibaba.fastjson.JSONArray; +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.dto.WG.WgDeptShow; +import com.ydw.bat.wkflow.business_main.datas.dto.WG.WgNetInfoDTO; +import com.ydw.bat.wkflow.business_main.datas.dto.WG.WgWorkGroupShowDTO; +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.business_slrs.dao.WgDept; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import lombok.SneakyThrows; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +import java.rmi.activation.ActivationException; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * EngineerReviseDone - 标准法规工程师汇总修订 + */ +public class EngineerReviseDoneAfter implements TaskListener { + @SneakyThrows + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService infoService=SpringContextUtil.getBean(LawsUserInfoService.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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动入会流程-"; + //入库 + JSONObject object1 = object.getJSONObject("rh_pageData"); + WgWorkGroupShowDTO wgWorkGroupShowDTO = new WgWorkGroupShowDTO(); + if (StringUtils.isNotEmpty(object1.getString("comityName"))) { + wgWorkGroupShowDTO.setId(object1.getString("comityName")); + wgWorkGroupShowDTO.setLevel("1"); + wgWorkGroupShowDTO.setNature("1"); + if (StringUtils.isNotEmpty(object1.getString("comityNameOne"))) { + wgWorkGroupShowDTO.setId(object1.getString("comityNameOne")); + wgWorkGroupShowDTO.setLevel("2"); + wgWorkGroupShowDTO.setNature("2"); + if (StringUtils.isNotEmpty(object1.getString("comityNameTwo"))) { + wgWorkGroupShowDTO.setId(object1.getString("comityNameTwo")); + wgWorkGroupShowDTO.setLevel("3"); + wgWorkGroupShowDTO.setNature("3"); + } + } + } + wgWorkGroupShowDTO.setTypes("0"); + wgWorkGroupShowDTO.setStatus("1"); + JSONArray jsonArray=object1.getJSONArray("comityTel"); + List wgNetInfoDTOS=new ArrayList<>(); + if (!jsonArray.isEmpty()){ + for (Object o : jsonArray) { + JSONObject object2=JSONObject.parseObject(o.toString()); + WgNetInfoDTO wgNetInfoDTO=new WgNetInfoDTO(); + wgNetInfoDTO.setId(String.valueOf(UUID.randomUUID())); + wgNetInfoDTO.setWgId(wgWorkGroupShowDTO.getId()); + wgNetInfoDTO.setJoinId(String.valueOf(UUID.randomUUID())); + wgNetInfoDTO.setNetId(object2.getString("tel_nameId")); + wgNetInfoDTO.setPhone(object2.getString("tel_phone")); + wgNetInfoDTO.setEmail(object2.getString("tel_mail")); + wgNetInfoDTOS.add(wgNetInfoDTO); + } + } + wgWorkGroupShowDTO.setWgNetInfos(wgNetInfoDTOS); + + JSONArray jsonArray1=object1.getJSONArray("myPartRole"); + List wgDepts=new ArrayList<>(); + if (!jsonArray1.isEmpty()){ + for (Object o : jsonArray1) { + JSONObject jsonObject=JSONObject.parseObject(o.toString()); + WgDeptShow wgDept=new WgDeptShow(); + wgDept.setId(String.valueOf(UUID.randomUUID())); + wgDept.setWgId(wgWorkGroupShowDTO.getId()); + wgDept.setDeptPeopleId(jsonObject.getString("fillPeopleId")); + wgDept.setIdentity(jsonObject.getString("fillPost")); + wgDept.setEmail(jsonObject.getString("fillMail")); + wgDept.setPhone(jsonObject.getString("fillTel")); + wgDept.setJoinfile(JsonUtil.toJson(jsonObject.get("fillFile"))); + wgDepts.add(wgDept); + } + } + wgWorkGroupShowDTO.setWgDepts(wgDepts); + infoService.wg_work_group_update(wgWorkGroupShowDTO); + prcName = prcName + "流程结束"; + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("20"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setOverTime(OVERTIME); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneBefore.java new file mode 100644 index 00000000..ffed6d8c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/EngineerReviseDoneBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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 EngineerReviseDoneBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzrhStep6?prcType=20"; +//taskInfo=标准法规工程师汇总修订完毕 + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/Kev.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/Kev.java new file mode 100644 index 00000000..b1d6957b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/Kev.java @@ -0,0 +1,51 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + + +/** + * + * |Debug|调试; |Run|运行使用; |Library|参考移植; + * + * Author:Kevin + * Version:1.2.2 + */ +public class Kev { + + + + /** + * |debug;输出方法名,类名 + */ + public static void showClassFunction(){ + StackTraceElement e = new Exception().getStackTrace()[1]; + String className = e.getClassName(); + String functionName = e.getMethodName(); +// String packageName = e.getClass().getPackage().getName(); +// String className = e.getClass().getSimpleName();//此方法方便看 +// String rat = ".\n" + packageName + "." + className + " [" + functionName + "]" + ">>>>>"; + String rat = className + " [" + functionName + "] " + ">>>>> "; + System.out.format("\33[32;4m" + rat); + } + public static void showClassFunction(int index){ + StackTraceElement e = new Exception().getStackTrace()[index]; + String className = e.getClassName(); + String functionName = e.getMethodName(); + String rat = className + " [" + functionName + "] " + ">>>>> "; + System.out.format("\33[32;4m" + rat); + } + + // 显示当前运行的函数--用于调试,将输出结果与函数名匹配输出 +// public static void showFunction(){ +// String _thisMethodName = new Exception().getStackTrace()[1].getMethodName();// 获得当前的方法名 +// String rat = "[" + _thisMethodName + "]" + ">>>>>"; +// System.out.format("\33[32;4m" + rat); +// } + + +// 显示第n级函数名 +// public static void showFunction(int index){ +// String _thisMethodName = new Exception().getStackTrace()[index].getMethodName(); +// String rat = "[" + _thisMethodName + "]" + ">>>>>"; +// System.out.format("\33[32;4m" + rat); +// } + +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyAfter.java new file mode 100644 index 00000000..3131ed6e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyAfter.java @@ -0,0 +1,111 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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.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.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; + +/** + * LeaderVerify - 标准法规部主管领导审核 + */ +public class LeaderVerifyAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动入会流程-"; + if("1".equals(object.getString("passFlag"))) {//通过 + delegateTask.setVariable("pass3",1); + if(StringUtils.isNotBlank(object.getString("manageDepartmentList"))) { + + if (object.getString("manageDepartmentList").contains(",")) { + nextUserList = Arrays.asList(object.getString("manageDepartmentList").split(",")); + } else { + nextUserList.add(object.getString("manageDepartmentList")); + } + // 配置多实例 + prcName = prcName + "费用管理部门会签"; + delegateTask.setVariable("manageDepartmentList", nextUserList); + delegateTask.setVariable("manageDepartmentCount",nextUserList.size()); + } + }else{ + prcName = prcName + "标准法规工程师汇总修订"; + delegateTask.setVariable("pass3",0); + nextUserList.add(delegateTask.getVariable("engineerSum",String.class)); + } + // 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("20"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyBefore.java new file mode 100644 index 00000000..22058ddd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/LeaderVerifyBefore.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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 LeaderVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzrhStep6?prcType=20"; +// taskInfo=标准法规部主管领导审核 + + + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignAfter.java new file mode 100644 index 00000000..236ca1d3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignAfter.java @@ -0,0 +1,112 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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.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.util.SpringContextUtil; +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.util.ArrayList; +import java.util.List; + +/** + * ManageSign - 费用管理部门会签 + */ +public class ManageSignAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动入会流程-"; + Integer count = 0; + if(null == delegateTask.getVariable("managePassCount")){ + delegateTask.setVariable("managePassCount",count); + } + if("1".equals(object.getString("passFlag"))) {//通过 + count = delegateTask.getVariable("managePassCount",Integer.class); + count++; + delegateTask.setVariable("managePassCount",count); + if(delegateTask.getVariable("manageDepartmentCount", Integer.class).equals(delegateTask.getVariable("managePassCount", Integer.class))){ + prcName = prcName + "技术委员会常务副主任/总院院长审定"; + nextUserList.add(object.getString("president")); + delegateTask.setVariable("president", object.getString("president")); + delegateTask.setVariable("managePassCount",0); + delegateTask.setVariable("pass4",1); + } + }else{ + prcName = prcName + "标准法规工程师汇总修订"; + delegateTask.setVariable("pass4",0); + nextUserList.add(delegateTask.getVariable("engineerSum",String.class)); + } + +// 存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("20"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignBefore.java new file mode 100644 index 00000000..8659bb5c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/ManageSignBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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 ManageSignBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzrhStep6?prcType=20"; +//taskInfo=费用管理部门会签 + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyAfter.java new file mode 100644 index 00000000..ac8cb422 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyAfter.java @@ -0,0 +1,100 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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.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.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.List; + +/** + * PresidentVerify - 技术委员会常务副主任/总院院长审定 + */ +public class PresidentVerifyAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动入会流程-"; + if("1".equals(object.getString("passFlag"))) {//通过 + prcName = prcName + "标准法规工程师汇总修订完毕"; + delegateTask.setVariable("pass5",1); + nextUserList.add(object.getString("engineerSumDone")); + delegateTask.setVariable("engineerSumDone", object.getString("engineerSumDone")); + }else{ + prcName = prcName + "标准法规工程师汇总修订"; + delegateTask.setVariable("pass5",0); + nextUserList.add(delegateTask.getVariable("engineerSum",String.class)); + } + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("20"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyBefore.java new file mode 100644 index 00000000..0324f75a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/PresidentVerifyBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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 PresidentVerifyBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzrhStep6?prcType=20"; +//taskInfo=技术委员会常务副主任 + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialAfter.java new file mode 100644 index 00000000..1ac74d8a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialAfter.java @@ -0,0 +1,139 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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.dto.WG.WgWorkGroupShowDTO; +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.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; + +/** + * WriteMasterial - 标准法规工程师填写入会资料 + */ +public class WriteMaterialAfter 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); + + LawsUserInfoService infoService=SpringContextUtil.getBean(LawsUserInfoService.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); + + List nextUserList = new ArrayList(); + + String prcName = "标准化活动入会流程-"; + + // 入会申请信息重新封装 + if(StringUtils.isNotBlank(object.getString("directorList"))) { + + if (object.getString("directorList").contains(",")) { + nextUserList = Arrays.asList(object.getString("directorList").split(",")); + } else { + nextUserList.add(object.getString("directorList")); + } + // 配置多实例 + delegateTask.setVariable("directorList", nextUserList); + prcName = prcName + "技术委员会分委会主任/入会代表所在中心主任提名入会代表"; + } + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("20"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + JSONObject object1 = object.getJSONObject("rh_pageData"); + WgWorkGroupShowDTO wgWorkGroupShowDTO = new WgWorkGroupShowDTO(); + if (StringUtils.isNotEmpty(object1.getString("comityName"))) { + wgWorkGroupShowDTO.setId(object1.getString("comityName")); + wgWorkGroupShowDTO.setLevel("1"); + wgWorkGroupShowDTO.setNature("1"); + if (StringUtils.isNotEmpty(object1.getString("comityNameOne"))) { + wgWorkGroupShowDTO.setId(object1.getString("comityNameOne")); + wgWorkGroupShowDTO.setLevel("2"); + wgWorkGroupShowDTO.setNature("2"); + if (StringUtils.isNotEmpty(object1.getString("comityNameTwo"))) { + wgWorkGroupShowDTO.setId(object1.getString("comityNameTwo")); + wgWorkGroupShowDTO.setLevel("3"); + wgWorkGroupShowDTO.setNature("3"); + } + } + } + wgWorkGroupShowDTO.setTypes("0"); + wgWorkGroupShowDTO.setStatus("0"); + infoService.wg_work_group_update(wgWorkGroupShowDTO); + + + + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String nextUser : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause");//资源类型--条款 + busProcessNewNext.setPId(delegateTask.getProcessInstanceId());//流程实例Id + busProcessNewNext.setMesg(object.toJSONString());//信息 + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());//节点信息 + busProcessNewNext.setFinishFlag("0");//完成注记 + busProcessNewNext.setTaskInfo(delegateTask.getName());//节点信息 + busProcessNewNext.setUserId(nextUser);//处理人 + busProcessNewNext.setPrcName(prcName);//流程名 + busBean.save(busProcessNewNext); + System.out.println("---------------------user1--------------"); + System.out.println("处理人:" + nextUser); + System.out.println("流程名:" + prcName); + System.out.println("节点信息:" + delegateTask.getName()); + System.out.println("节点信息2:" + delegateTask.getTaskDefinitionKey()); + } + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialBefore.java new file mode 100644 index 00000000..5960d0ea --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMaterialBefore.java @@ -0,0 +1,14 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class WriteMaterialBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoAfter.java new file mode 100644 index 00000000..a5cca551 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoAfter.java @@ -0,0 +1,95 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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.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.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.List; + +/** + * WriteMemberInfo - 入会代表填写入会信息表 + */ +public class WriteMemberInfoAfter 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); + List nextUserList = new ArrayList(); + + String prcName = "标准化活动入会流程-"; + prcName = prcName + "入会人员所在部门负责人审核"; + nextUserList.add(object.getString("charge")); + delegateTask.setVariable("charge",object.getString("charge")); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser", user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName", username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName", standName); + + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("20"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + //存储当前节点意见 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoBefore.java new file mode 100644 index 00000000..844af9b0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardApplyMeetProcess/WriteMemberInfoBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.standardApplyMeetProcess; + +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 WriteMemberInfoBefore implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + + String link = "bzrhStep3?prcType=20"; + + 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(link); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + }} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java new file mode 100644 index 00000000..3f63bde7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java @@ -0,0 +1,115 @@ +package com.ydw.bat.wkflow.listener.standardLibrary; + +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.business_oa.webService.service.WebServiceOAService; +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.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 标准入库申请人修订后manager + */ +public class ApplyApplicantAfter 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); + + List nextUserList = new ArrayList(); + +// JSONObject array = object.getJSONObject("hqsqForm"); + + if(StringUtils.isNotBlank(object.getString("jlUserId"))){ + delegateTask.setVariable("managerUserId",object.getString("jlUserId")); + nextUserList.add(object.getString("jlUserId")); + }else { + throw new ActivitiException("1#2经理人不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + if(object.getString("standInData").equals("0")){ + standName = object.getString("standName"); + }else { + standName = object.getString("standEnName"); + } + String standAllName = ""; + if(object.getString("standYear") != null && !object.getString("standYear").equals("")){ + standAllName = verifyObj(object.getString("standSort")) + " " + verifyObj(object.getString("standNumber")) + "-" + verifyObj(object.getString("standYear")); + }else { + standAllName = verifyObj(object.getString("standSort")) + " " + verifyObj(object.getString("standNumber")); + } + /** + * 流程名称 标准号+"标准入库" + 下一个节点名称 + */ + String prcName = standAllName+"-"+standName+"-入库"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("1"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List 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); + } + + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(nextUser); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + } + } + } + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java new file mode 100644 index 00000000..ff89c931 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java @@ -0,0 +1,42 @@ +package com.ydw.bat.wkflow.listener.standardLibrary; + +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.BusProcessNew; +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.business_oa.webService.service.WebServiceOAService; +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 ApplyApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep4?prcType=1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java new file mode 100644 index 00000000..b0ec8b17 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java @@ -0,0 +1,112 @@ +package com.ydw.bat.wkflow.listener.standardLibrary; + +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.business_oa.webService.service.WebServiceOAService; +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.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 标准入库申请人会签后manager + */ +public class CountersignAfter 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); + + List nextUserList = new ArrayList(); + +// JSONObject array = object.getJSONObject("hqsqForm"); + + if(StringUtils.isNotBlank(object.getString("applyUpdUserId"))){ + delegateTask.setVariable("applyUserId",object.getString("applyUpdUserId")); + nextUserList.add(object.getString("applyUpdUserId")); + }else { + throw new ActivitiException("1#2申请人修订用户不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + if(object.getString("standInData").equals("0")){ + standName = object.getString("standName"); + }else { + standName = object.getString("standEnName"); + } + String standAllName = ""; + if(object.getString("standYear") != null && !object.getString("standYear").equals("")){ + standAllName = verifyObj(object.getString("standSort")) + " " + verifyObj(object.getString("standNumber")) + "-" + verifyObj(object.getString("standYear")); + }else { + standAllName = verifyObj(object.getString("standSort")) + " " + verifyObj(object.getString("standNumber")); + } + String prcName = standAllName+"-"+standName+"-入库"; + delegateTask.setVariable("prcs",prcName); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("1"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List 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); + } + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(nextUser); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java new file mode 100644 index 00000000..2dde4173 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.listener.standardLibrary; + +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.business_oa.webService.service.WebServiceOAService; +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 CountersignBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep3?prcType=1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveAfter.java new file mode 100644 index 00000000..92e40b41 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveAfter.java @@ -0,0 +1,135 @@ +package com.ydw.bat.wkflow.listener.standardLibrary; + +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.dto.WG.NewsFeed; +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.common.WorkflowUtil; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; +import java.util.UUID; + +/** + * 经理人审批后 + */ +public class ManagerApproveAfter 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); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + + String standName = ""; + if(object.getString("standInData").equals("0")){ + standName = object.getString("standName"); + }else { + standName = object.getString("standEnName"); + } + String standAllName = ""; + if(object.getString("standYear") != null && !object.getString("standYear").equals("")){ + standAllName = verifyObj(object.getString("standSort")) + " " + verifyObj(object.getString("standNumber")) + "-" + verifyObj(object.getString("standYear")); + }else { + standAllName = verifyObj(object.getString("standSort")) + " " + verifyObj(object.getString("standNumber")); + } + + + if ("1".equalsIgnoreCase(approvalOpinion)) { + delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId")); + + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("applyUpdUserId")); + + /** + * 流程名称 标准号+"标准入库" + 下一个节点名称 + */ + String prcName = standAllName+"-"+standName+"-入库"; + busProcessNew.setPrcName(prcName); +// busProcessNew.setPrcName(delegateTask.getVariable("prcs",String.class)); + busBean.save(busProcessNew); + + func1(delegateTask, busBean, object, "1"); + delegateTask.setVariable("jlFlag", 1); + } else { +// NewsFeed newsFeed = new NewsFeed(); +// newsFeed.setId(String.valueOf(UUID.randomUUID())); +// newsFeed.setRenewTime(new Date()); +// newsFeed.setResourceType(object.getString("standType")); +// newsFeed.setStandard(object.getString("standNumber")); +// newsFeed.setStandardName(object.getString("standName")); +// newsFeed.setReleaseDate(object.getString("issueTime")); +// newsFeed.setTextState(object.getString("textStatus")); +// if("hc99551723c".equals(object.getString("textStatus"))){ +// newsFeed.setMessageType("0"); +// lawsUserInfoService.insertNewsFeed(newsFeed); +// }else if("8rjsx83ows".equals(object.getString("textStatus")) ||"hya6gay4vx".equals(object.getString("textStatus")) +// ||"ncb6osftj8".equals(object.getString("textStatus")) ||"3dx7oy5jff".equals(object.getString("textStatus"))){ +// newsFeed.setMessageType("1"); +// lawsUserInfoService.insertNewsFeed(newsFeed); +// } + delegateTask.setVariable("jlFlag", 0); + func2(delegateTask, busBean, object, "0", busProcessNameService); + } + } + + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag, IBusProcessNameService busProcessNameService) { + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if (one2 != null) { + //one2.setPrcName("入库流程结束"); + one2.setOverTime(OVERTIME); + one2.setPrcType("1"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID", delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if (one1 != null) { + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java new file mode 100644 index 00000000..db725dbb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java @@ -0,0 +1,44 @@ +package com.ydw.bat.wkflow.listener.standardLibrary; + +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.BusProcessNew; +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.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.TaskService; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.activiti.engine.task.Task; + +import java.util.List; + +/** + * 经理人审批前 + */ +public class ManagerApproveBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.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()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java new file mode 100644 index 00000000..e36c7c63 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java @@ -0,0 +1,136 @@ +package com.ydw.bat.wkflow.listener.standardLibrary; + +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.business_oa.webService.service.WebServiceOAService; +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.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 标准入库申请人发起后 + */ +public class SLApplicantAfter 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); + + List nextUserList = new ArrayList(); + + // 逻辑判断是否会签 signFlag +// JSONObject array = object.getJSONObject("hqsqForm"); + + if(object.getString("signFlag").equals("1")){ + delegateTask.setVariable("hqFlag",1); + + if(StringUtils.isNotBlank(object.getString("zrUserId"))){ + + if(object.getString("zrUserId").contains(",")){ + nextUserList = Arrays.asList(object.getString("zrUserId").split(",")); + }else { + nextUserList.add(object.getString("zrUserId")); + } + // 配置多实例 + delegateTask.setVariable("hqUserList",nextUserList); + delegateTask.addCandidateUsers(nextUserList); + }else { + throw new ActivitiException("1#2会签状态不存在,请配置相关状态"); + } + }else { + delegateTask.setVariable("hqFlag",2); + if(StringUtils.isNotBlank(object.getString("jlUserId"))){ + delegateTask.setVariable("managerUserId",object.getString("jlUserId")); + nextUserList.add(object.getString("jlUserId")); + }else { + throw new ActivitiException("1#2经理人不存在,请配置相关人员"); + } + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + if("0".equals(object.getString("standInData"))){ + standName = object.getString("standName"); + }else { + standName = object.getString("standEnName"); + } + String standAllName = ""; + if(object.getString("standYear") != null && !object.getString("standYear").equals("")){ + standAllName = verifyObj(object.getString("standSort")) + " " + verifyObj(object.getString("standNumber")) + "-" + verifyObj(object.getString("standYear")); + }else { + standAllName = verifyObj(object.getString("standSort")) + " " + verifyObj(object.getString("standNumber")); + } + String prcName = standAllName+"-"+standName+"-入库"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("1"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantBefore.java new file mode 100644 index 00000000..401a7e68 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantBefore.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.standardLibrary; + +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.BusProcessNew; +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.WkFlowSendEmail; +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 SLApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } +// + +// WkFlowSendEmail.sendEmailTodo(delegateTask,"会前申请流程"); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrAfter.java new file mode 100644 index 00000000..d2f2979a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrAfter.java @@ -0,0 +1,87 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.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.Date; +import java.util.List; + +/** + * 子流程重新选执行人发起后 + */ +public class ChooseZrAfter 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); + + List nextUserList = new ArrayList(); + //重新选择执行人 + if(StringUtils.isNotBlank(object.getString("xzUserId"))){ + if(StringUtils.isNotBlank(object.getString("xzUserId"))){ + delegateTask.setVariable("zxUserId",object.getString("xzUserId")); + } + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserIdName"); + + String prcName = delegateTask.getVariable("prcName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("9"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrBefore.java new file mode 100644 index 00000000..4d2415ce --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ChooseZrBefore.java @@ -0,0 +1,29 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.List; + +/** + * 子流程重新选执行人发起前 + */ +public class ChooseZrBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayAfter.java new file mode 100644 index 00000000..9b0ebf05 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayAfter.java @@ -0,0 +1,204 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.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.business_slrs.dao.SarFileSplitInfoEO; +import com.ydw.bat.wkflow.business_slrs.dao.SarInterpretationNationalStandard; +import com.ydw.bat.wkflow.business_slrs.dao.SarStandItems; +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.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.UUID; + +/** + * 部长审核发起后 + */ +public class DeptApplayAfter 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); + LawsUserInfoService lawsUserInfoService=SpringContextUtil.getBean(LawsUserInfoService.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); + + List nextUserList = new ArrayList(); + + QueryWrapper queryWrapperByPrcNum = new QueryWrapper(); + queryWrapperByPrcNum.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName onePrcNum = busProcessNameService.getOne(queryWrapperByPrcNum); + String prcNum = ""; + if (null != onePrcNum) { + prcNum = onePrcNum.getPrcNum(); + } + String prcName = object.getString("itemsNum")+"-"+object.getString("itemsName")+"-"+"解读"; + + //部长进行审批(1:通过) + if (object.getString("gcApplyFlag").equals("1")) { + delegateTask.setVariable("bzFlag", 1); + JSONArray jsonArray=JSONArray.parseArray(object.getString("itemList")); + List sarStandItems=new ArrayList<>(); + List standards=new ArrayList<>(); + String finalPrcNum = prcNum; + jsonArray.forEach(o -> { + JSONObject os=JSONObject.parseObject(o.toString()); + //分解单数据 + SarStandItems sarStandItems1=new SarStandItems(); + sarStandItems1.setFileType(delegateTask.getVariable("fileTypeOnly",String.class)); + sarStandItems1.setStandId(object.getString("standId")); + sarStandItems1.setItemsNum(os.getString("itemsNum")); + sarStandItems1.setItemsName(os.getString("itemsName")); + sarStandItems1.setResponsibleUnit(os.getString("responsibleUnitShow")); + sarStandItems1.setDutyEngineer(os.getString("zxUserIdName")); + sarStandItems1.setTermsConditions(os.getString("itermsConditions")); + sarStandItems1.setXccssrq(os.getString("newData")); + sarStandItems1.setZccssrq(os.getString("onlineData")); + sarStandItems1.setComparedWithPrevious(os.getString("changePoint")); + sarStandItems1.setComplianceState(os.getString("complianceState")); + sarStandItems1.setApplyArctic(os.getString("applyArctic")); + sarStandItems1.setComplianceRequire(os.getString("complianceRequir")); + sarStandItems1.setReadContent(os.getString("technicalRequir")); + sarStandItems.add(sarStandItems1); + //结果数据 + SarInterpretationNationalStandard standard=new SarInterpretationNationalStandard(); + standard.setStandId(object.getString("standId")); + standard.setStandType(object.getString("standInData"));//GB 需要前端传 + standard.setStandName(object.getString("itemsName")); + standard.setComparedWithPrevious(os.getString("changePoint")); + standard.setCoreTechnicalRequirement(os.getString("technicalRequir")); + standard.setComplianceState(object.getString("complianceState")); + standard.setCreationTime(object.getDate("creationTime")); + standard.setLastVersionNumber(object.getString("itemsNum1")); + standard.setComplianceState(os.getString("complianceState")); + standard.setSpecificItem(os.getString("itemsNum")); + standard.setStandNumber(object.getString("itemsNum")); + standard.setInterpretationTime(new Date()); + standard.setRiskDegree("0"); + standard.setPrcNum(finalPrcNum); + standards.add(standard); + }); + + JSONArray jsonArray1=JSONArray.parseArray(delegateTask.getVariable("itemListOld",String.class)); + if (null!=jsonArray1 && jsonArray1.size()>0) { + jsonArray1.forEach(obj -> { + JSONObject object1 = JSONObject.parseObject(obj.toString()); + SarStandItems sarStandItems1 = new SarStandItems(); + sarStandItems1.setFileType(delegateTask.getVariable("fileTypeOnly", String.class)); + sarStandItems1.setStandId(object.getString("standId")); + sarStandItems1.setItemsNum(object1.getString("itemsNum")); + sarStandItems1.setItemsName(object1.getString("itemsName")); + sarStandItems1.setResponsibleUnit(object1.getString("responsibleUnitShow")); + sarStandItems1.setDutyEngineer(object1.getString("zxUserIdName")); + sarStandItems1.setTermsConditions(object1.getString("itermsConditions")); + sarStandItems1.setReadContent(object1.getString("technicalRequir")); + sarStandItems.add(sarStandItems1); + }); + } + //标准状态修改 + SarFileSplitInfoEO sarFileSplitInfoEO=new SarFileSplitInfoEO(); + sarFileSplitInfoEO.setSplitStatus("4"); + sarFileSplitInfoEO.setId(delegateTask.getVariable("statusId",String.class)); + lawsUserInfoService.updateSarFileSplitInfo(sarFileSplitInfoEO); + + lawsUserInfoService.sarStandItemsSaveBatch(sarStandItems); + lawsUserInfoService.SarInterpretationNationalStandardSaveBatch(standards); + prcName=prcName+"-流程结束"; + if (null==delegateTask.getVariable("lastCount")){ + delegateTask.setVariable("lastCount",1); + }else { + delegateTask.setVariable("lastCount",delegateTask.getVariable("lastCount",Integer.class)+1); + } + } else { + if (null==delegateTask.getVariable("lastCount")){ + delegateTask.setVariable("lastCount",0); + } + delegateTask.setVariable("bzFlag", 2); +// prcName=prcName+"-填写解读分析"; + JSONObject object1=object.getJSONObject("RollBack"); + nextUserList.add(String.valueOf(object1.getString("id"))); + delegateTask.setVariable("zxUserId",object.getJSONObject("RollBack")); + } + + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserIdName"); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + if (delegateTask.getVariable("lastCount",Integer.class)>=delegateTask.getVariable("zxUserList",List.class).size()) { + one1.setOverTime(OVERTIME); + } + one1.setPrcType("9"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper = new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + 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); + } + }else { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one2 = busBean.getOne(queryWrapper1); + if(one2!=null){ + one2.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one2); + } + } + /*if (delegateTask.getVariable("bzFlag").equals("2")) { + + }*/ + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java new file mode 100644 index 00000000..ec1ad023 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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 DeptApplayBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep6?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrAfter.java new file mode 100644 index 00000000..e3287544 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrAfter.java @@ -0,0 +1,107 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import com.alibaba.fastjson.JSON; +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.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.standardRead.vo.JSONArrayVo; +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 java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 下发至部门责任人发起后 + */ +public class DeptZrAfter 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); + //获取全局变量里的数据 + JSONArray responUserList = (delegateTask.getVariable("zxUserList", JSONArray.class)); + if (responUserList == null) + responUserList = new JSONArray(); + //数组去重 + JSONArray responUserList1 = object.getJSONArray("itemList"); + List list = responUserList1.toJavaList(JSONArrayVo.class); + Map> userGroupMap = list.stream().collect(Collectors.groupingBy(JSONArrayVo::getZxUserId)); + Set set = userGroupMap.keySet(); + List nextUserList = new ArrayList(); + for (String str : set) { + nextUserList.add(str); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("id",str); + jsonObject.put("applyUserId",delegateTask.getAssignee()); + jsonObject.put("KEYS",str+delegateTask.getAssignee()); + responUserList.add(jsonObject); + } + delegateTask.setVariable("zxUserList",responUserList); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserIdName"); + + String prcName = object.getString("itemsNum")+"-"+object.getString("itemsName")+"-"+"解读"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("9"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper = new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ //2次 + List listRes = userGroupMap.get(nextUser); + object.put("itemList", JSON.toJSONString(listRes)); + object.put("AOLIGEI",nextUser+delegateTask.getAssignee()); + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java new file mode 100644 index 00000000..f03a2469 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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 DeptZrBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep2?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayAfter.java new file mode 100644 index 00000000..f987de1c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayAfter.java @@ -0,0 +1,113 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.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.Date; +import java.util.List; + +/** + * 工程师审核发起后 + */ +public class EngineerApplayAfter 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); + + List nextUserList = new ArrayList(); + + + String prcName = object.getString("itemsNum")+"-"+object.getString("itemsName")+"-"+"解读"; + + //工程师是否要进行审核 + if (object.getString("zrApplyFlag").equals("1")) { + delegateTask.setVariable("gcFlag", 1); +// prcName=prcName+"-部长审批"; + if (StringUtils.isNotBlank(object.getString("deptUserId"))) { + delegateTask.setVariable("deptUserId", object.getString("deptUserId")); + nextUserList.add(object.getString("deptUserId")); + } + } else { +// prcName=prcName+"-填写解读分析"; + delegateTask.setVariable("gcFlag", 2); + JSONObject object1=object.getJSONObject("RollBack"); + nextUserList.add(String.valueOf(object1.getString("id"))); + delegateTask.setVariable("zxUserId",object.getJSONObject("RollBack")); + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserIdName"); + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { +// one1.setOverTime(OVERTIME); + one1.setPrcType("9"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper = new QueryWrapper(); + updataWapper.eq("TASK_ID", delegateTask.getId()); + updataWapper.eq("P_ID", delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew, updataWapper); + 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); + } + } else { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one2 = busBean.getOne(queryWrapper1); + if(one2!=null){ + one2.setCommitFlag("0"); + one2.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one2); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java new file mode 100644 index 00000000..6dae30e3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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 EngineerApplayBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep5?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainAfter.java new file mode 100644 index 00000000..534fa4a2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainAfter.java @@ -0,0 +1,91 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * 下发执行人发起后 + */ +public class ExpainAfter 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); + + JSONArray responUserList = new JSONArray(); + //是否要进行审核 + delegateTask.setVariable("jdFlag",1); + responUserList = (delegateTask.getVariable("zxUserList", JSONArray.class)); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserIdName"); + + String prcName = object.getString("itemsNum")+"-"+object.getString("itemsName")+"-"+"解读"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ +// one1.setOverTime(OVERTIME); + one1.setPrcType("9"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper = new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + if(responUserList != null){ + for (Object obj:responUserList) { + JSONObject object1 = (JSONObject)obj; + if (object.getString("AOLIGEI").equals(object1.getString("KEYS"))) { + object.put("RollBack",object1); + 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.setPrcName(prcName); + busProcessNewNext.setUserId(object1.getString("applyUserId")); + busBean.save(busProcessNewNext); + } + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java new file mode 100644 index 00000000..426d6058 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java @@ -0,0 +1,46 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.util.List; + +/** + * 下发执行人发起前 + */ +public class ExpainBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IOaTaskExecService execService = SpringContextUtil.getBean(IOaTaskExecService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep3?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); + + // 干活节点流程 + one1.setTaskStatus(2); + + one1.setEndTime(Utils.interceptTime(execService.endTime(delegateTask.getProcessInstanceId()))); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java new file mode 100644 index 00000000..32c28626 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java @@ -0,0 +1,114 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import com.alibaba.fastjson.JSON; +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.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.business_slrs.dao.SarFileSplitInfoEO; +import com.ydw.bat.wkflow.listener.standardRead.vo.JSONArrayVo; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 标准解读发起后 + */ +public class ResolveAfter 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); + LawsUserInfoService lawsUserInfoService=SpringContextUtil.getBean(LawsUserInfoService.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); + delegateTask.setVariable("itemListOld",object.getString("itemListOld")); + List nextUserList = new ArrayList(); + JSONArray responUserList = object.getJSONArray("itemList"); + List list = responUserList.toJavaList(JSONArrayVo.class); + Map> userGroupMap = list.stream().collect(Collectors.groupingBy(JSONArrayVo::getZrUserId)); + Set set = userGroupMap.keySet(); + for (String str : set) { + nextUserList.add(str); + } + // 配置多实例 + delegateTask.setVariable("fileTypeOnly",object.getString("fileType")); + delegateTask.setVariable("zrUserList", nextUserList); + //拆分标准 解读中情况下 也展示数据 + SarFileSplitInfoEO sarFileSplitInfoEO=new SarFileSplitInfoEO(); + sarFileSplitInfoEO.setSplitStatus("3"); + sarFileSplitInfoEO.setStandNameSplit(object.getString("itemsName")); + sarFileSplitInfoEO.setStandNumSplit(object.getString("itemsNum")); + sarFileSplitInfoEO.setId(object.getString("statusId")); + delegateTask.setVariable("statusId",object.getString("statusId")); + lawsUserInfoService.updateSarFileSplitInfo(sarFileSplitInfoEO); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("applyUserId"); + delegateTask.setVariable("userId",user); + String username = object.getString("applyUserIdName"); + delegateTask.setVariable("createDate",new Date()); + String title=object.getString("itemsNum1")+"-"+object.getString("itemsName1"); + delegateTask.setVariable("titles",title); +// String prcName = title+"-标准解读流程-选择执行人"; + String prcName = object.getString("itemsNum")+"-"+object.getString("itemsName")+"-"+"解读"; + String prcName1 = object.getString("itemsNum")+"-"+object.getString("itemsName")+"-"+"解读"; + delegateTask.setVariable("prcName",prcName); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("9"); + one1.setPrcName(prcName1); + one1.setCreatUser(user); + 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){ //2次 + List listRes = userGroupMap.get(nextUser); + object.put("itemList", JSON.toJSONString(listRes)); + 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); + } + } + } + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveBefore.java new file mode 100644 index 00000000..45b1306d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveBefore.java @@ -0,0 +1,14 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +/** + * 标准解读发起前 + */ +public class ResolveBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayAfter.java new file mode 100644 index 00000000..1d4a6b70 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayAfter.java @@ -0,0 +1,116 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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.util.SpringContextUtil; +import lombok.extern.slf4j.Slf4j; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 责任人审核发起后 + */ +@Slf4j +public class ZrApplayAfter 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); + + List nextUserList = new ArrayList(); + + String prcName = object.getString("itemsNum")+"-"+object.getString("itemsName")+"-"+"解读"; + //责任人是否要进行审核 + if(object.getString("resolveFlag").equals("1")){ + delegateTask.setVariable("zrFlag",1); +// prcName=prcName+"-工程师审核"; +// if(StringUtils.isNotBlank(object.getString("applyUserId"))){ +// delegateTask.setVariable("engineerUserId",object.getString("applyUserId")); +// nextUserList.add(object.getString("applyUserId")); +// } +// if(StringUtils.isNotBlank(object.getString("applyUserId"))){ + delegateTask.setVariable("engineerUserId",delegateTask.getVariable("userId",String.class)); + nextUserList.add(delegateTask.getVariable("userId",String.class)); +// } + }else { +// prcName=prcName+"-填写解读分析"; + delegateTask.setVariable("zrFlag",2); + log.error("解读流程当前工作节点驳回人为:"+String.valueOf(delegateTask.getVariable("zxUserId"))); + JSONObject object1=object.getJSONObject("RollBack"); + nextUserList.add(String.valueOf(object1.getString("id"))); + delegateTask.setVariable("zxUserId",object.getJSONObject("RollBack")); + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("applyUserId"); + String username = object.getString("applyUserIdName"); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("9"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + 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()); + + QueryWrapper updataWapper = new QueryWrapper(); + updataWapper.eq("TASK_ID",delegateTask.getId()); + updataWapper.eq("P_ID",delegateTask.getProcessInstanceId()); + busBean.update(busProcessNew,updataWapper); + 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); + } + } else { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one2 = busBean.getOne(queryWrapper1); + if(one2!=null){ + one2.setCommitFlag("0"); + one2.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one2); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java new file mode 100644 index 00000000..de63ff7f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.standardRead; + +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 ZrApplayBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep4?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/vo/JSONArrayVo.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/vo/JSONArrayVo.java new file mode 100644 index 00000000..2a102c01 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/vo/JSONArrayVo.java @@ -0,0 +1,113 @@ +package com.ydw.bat.wkflow.listener.standardRead.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class JSONArrayVo { + private String id; + + private String infoId; + + private String itemsNum; + + private String itemsName; + + private String itermsConditions; + + private String newcarPutTime; + + private String productPutTime; + + private String menuId; + + private String svpps; + + private String applyArctic; + + private String referenceStand; + + private String specialRequest; + + private String relevanceFile; + + private String remarks; + + private String validFlag; + + private String creationUser; + + private String creationTime; + + private String modifyTime; + + private String modifyUser; + + private String infoIdList; + + private String idList; + + private String itemValEOList; + + private String delItemIds; + + private String sMenuId; + + private String relevanceFileAttid; + + private String fo; + + private String dutyEngineer; + + private String claimType; + + private String busStandCover; + + private String fileType; + + private String foShow; + + private String dutyEngineerShow; + + private String svppsShow; + + private String claimTypeShow; + + private String busStandCoverShow; + + private String fileTypeShow; + + private String responsibleUnit; + + private String responsibleUnitShow; + + private String itemsCondi; + //部门责任人 + private String zrUserId; + //选择执行人 + private String zxUserId; + + private String zxUserIdName; + + private String zrUserIdName; + + private List paramsList; + + private String newData; + + private String onlineData; + + private String changePoint; + + private String itemsId; + + private String itemsId2; + + private String technicalRequir; + + private String zrUserName; + + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/vo/ParamVo.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/vo/ParamVo.java new file mode 100644 index 00000000..9f799fc7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/vo/ParamVo.java @@ -0,0 +1,23 @@ +package com.ydw.bat.wkflow.listener.standardRead.vo; + +import lombok.Data; + +@Data +public class ParamVo { + + private String id; + + private String itemId; + + private String description; + + private String figure; + + private String validFlag; + + private String creationTime; + + private String modifyTime; + + private String infoId; +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java new file mode 100644 index 00000000..2063a781 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java @@ -0,0 +1,94 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 标准法规清单申请会签后manager + */ +public class CountersignSRPAfter 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); + + List nextUserList = new ArrayList(); + +// JSONObject array = object.getJSONObject("hqsqForm"); + + if(StringUtils.isNotBlank(delegateTask.getVariable("createUser",String.class))){ + delegateTask.setVariable("applyUserId",delegateTask.getVariable("createUser",String.class)); + nextUserList.add(delegateTask.getVariable("createUser",String.class)); + }else { + throw new ActivitiException("1#2申请人修订用户不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String prcName = delegateTask.getVariable("prcName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("4"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew busProcessNew = list.get(0); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(busProcessNew); + } + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(nextUser); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java new file mode 100644 index 00000000..fd68e267 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +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 CountersignSRPBefore 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("bzqdfbStep2?prcType=4"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java new file mode 100644 index 00000000..25a9f595 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java @@ -0,0 +1,93 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 标准法规清单申请人修订后manager + */ +public class SRPApplyApplicantAfter 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); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("directorUser"))){ + delegateTask.setVariable("managerUserId",object.getString("directorUser")); + nextUserList.add(object.getString("directorUser")); + }else { + throw new ActivitiException("1#2经理人不存在,请配置相关人员"); + } + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + + String prcName = delegateTask.getVariable("prcName",String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("4"); +// one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew busProcessNew = list.get(0); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busProcessNew.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(busProcessNew); + } + + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(nextUser); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java new file mode 100644 index 00000000..b4cef66c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +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 SRPApplyApplicantBefore 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("bzqdfbStep3?prcType=4"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java new file mode 100644 index 00000000..7affa1eb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java @@ -0,0 +1,149 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +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.dto.AddDetailedDto; +import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.springframework.beans.factory.annotation.Autowired; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 经理人审批后 + */ +public class SRPManagerApproveAfter implements TaskListener{ + + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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()); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + + if("1".equalsIgnoreCase(approvalOpinion)){ + delegateTask.setVariable("jlFlag",1); + delegateTask.setVariable("applyUserId",delegateTask.getVariable("createUser",String.class)); + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(delegateTask.getVariable("createUser",String.class)); + busProcessNew.setPrcName(delegateTask.getVariable("prcName",String.class)); + busBean.save(busProcessNew); + + func1(delegateTask, busBean, object,"1"); + }else { + SarLawsDetailedList lawsDetailedList=lawsUserInfoService.getStandById(object.getString("standId")); + if (null!=lawsDetailedList){ + DetailedUpDto detailed=new DetailedUpDto(); + detailed.setId(object.getString("standId")); + detailed.setApplicationScope(object.getString("applyRegion")); + detailed.setFileIds(object.getString("fileId")); + detailed.setRemark(object.getString("descriptionList")); +// detailed.setInforlist(object.getString("inforlist")); + JSONArray jsonArray = JSONArray.parseArray(object.getString("dataList")); + String info=""; + String putTime=""; + String zccTime=""; + String xcxTime=""; + for (Object o: jsonArray) { + JSONObject object1=JSONObject.parseObject(o.toString()); + info=info+object1.getString("id")+","; + if (!"".equals(object1.getString("issueTime"))) { + putTime = putTime + object1.getString("issueTime") + ","; + } + if (!"".equals(object1.getString("ZCCSSRQ"))) { + zccTime = zccTime + object1.getString("ZCCSSRQ") + ","; + } + if (!"".equals(object1.getString("XCXSSRQ"))) { + xcxTime = xcxTime + object1.getString("XCXSSRQ") + ","; + } + } + detailed.setInforlist(info.substring(0,info.length()-1)); + if (!putTime.isEmpty()) { + detailed.setInforlist1(putTime.substring(0, putTime.length() - 1)); + } + if (!zccTime.isEmpty()) { + detailed.setInforlist2(zccTime.substring(0, zccTime.length() - 1)); + } + if (!xcxTime.isEmpty()) { + detailed.setInforlist3(xcxTime.substring(0, xcxTime.length() - 1)); + } + detailed.setDetailedListState("1"); + detailed.setReNewPeople(delegateTask.getVariable("createUser",String.class)); + Date date=new Date(); + SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + detailed.setDetailedListVision(simpleDateFormat.format(date)); + lawsUserInfoService.updateLaws(detailed); + }else { + throw new ActivitiException("清单信息不存在,若多次出现此信息请联系管理员!!!"); + } + delegateTask.setVariable("jlFlag",0); + func2(delegateTask, busBean, object,"0",busProcessNameService); + + } + + } + + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object,String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if(one1!=null){ + one1.setTaskInfo(delegateTask.getName()); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } + + private void func2(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object,String commitFlag ,IBusProcessNameService busProcessNameService) { + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if(one2!=null){ + one2.setOverTime(OVERTIME); + one2.setPrcType("4"); + busProcessNameService.saveOrUpdate(one2); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if(one1!=null){ + one1.setTaskInfo(delegateTask.getName()); + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java new file mode 100644 index 00000000..8cb88fe6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java @@ -0,0 +1,37 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +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 SRPManagerApproveBefore 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("bzqdfbStep4?prcType=4"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java new file mode 100644 index 00000000..5beda0fb --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java @@ -0,0 +1,144 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +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.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +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.util.SpringContextUtil; +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.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +public class SRPstartAfter 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.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); + + List nextUserList = new ArrayList(); + + // 逻辑判断是否会签 signFlag + + if(object.getString("signFlag").equals("1")){ + delegateTask.setVariable("hqFlag",1); + + if(StringUtils.isNotBlank(object.getString("dockUser"))){ + + if(object.getString("dockUser").contains(",")){ + nextUserList = Arrays.asList(object.getString("dockUser").split(",")); + }else { + nextUserList.add(object.getString("dockUser")); + } + // 配置多实例 + delegateTask.setVariable("hqUserList",nextUserList); + } + }else { + delegateTask.setVariable("hqFlag",2); + if(StringUtils.isNotBlank(object.getString("directorUser"))){ + delegateTask.setVariable("managerUserId",object.getString("directorUser")); + nextUserList.add(object.getString("directorUser")); + } + } + + //设置审批中的状态 + SarLawsDetailedList lawsDetailedList=lawsUserInfoService.getStandById(object.getString("standId")); + if (null!=lawsDetailedList){ + DetailedUpDto detailed=new DetailedUpDto(); + detailed.setId(object.getString("standId")); + detailed.setDetailedListState("3"); + lawsUserInfoService.updateLaws(detailed); + }else { + throw new ActivitiException("清单信息不存在,若多次出现此信息请联系管理员!!!"); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + delegateTask.setVariable("createUser",user); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("createUserName",username); + String standName = object.getString("listName"); + delegateTask.setVariable("listName",standName); + String prcName=object.getString("listName")+"-清单确认"; + delegateTask.setVariable("prcName",prcName); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("4"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + 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); + } + }else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("业务经理审批"); + busProcessNewNext.setUserId(object.getString("jlUserId")); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartBefore.java new file mode 100644 index 00000000..29e31706 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class SRPstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step1After.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step1After.java new file mode 100644 index 00000000..d5096377 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step1After.java @@ -0,0 +1,100 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 项目合规评估流程-项目 + */ +public class Step1After 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); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + //赋值标准法规工程师,工程经理,标准法规部部长 + if (object.getString("serviceManager").contains(",")){ + nextUserList.addAll(Arrays.asList(object.getString("serviceManager").split(","))); + }else { + nextUserList.add(object.getString("serviceManager")); + } + delegateTask.setVariable("managerList",nextUserList); + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + delegateTask.setVariable("prcCreateUser", user); + delegateTask.setVariable("prcCreateUserName", username); + String prcName = object.getString("projectNumber")+object.getString("projectName")+"-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("6"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + 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); + busProcessNews.setCommitText(object.getString("commentText")); + busBean.save(busProcessNews); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step1Before.java new file mode 100644 index 00000000..72366044 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step1Before.java @@ -0,0 +1,13 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +public class Step1Before implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step2After.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step2After.java new file mode 100644 index 00000000..4cc7ee63 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step2After.java @@ -0,0 +1,169 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + + +import com.alibaba.fastjson.JSON; +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.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.*; + +public class Step2After 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); + List nextUserList = new ArrayList<>(); + //计数器 + if (null != delegateTask.getVariable("count2")) { + delegateTask.setVariable("count2", delegateTask.getVariable("count2", Integer.class) + 1); + } else { + delegateTask.setVariable("count2", 1); + } + //数据存储器 + Map map = new HashMap<>(); + if (null != delegateTask.getVariable("Step2res")) { + map = delegateTask.getVariable("Step2res", Map.class); + } + //处理数据 + JSONArray array = object.getJSONArray("dataList"); + for (Object o : array) { + JSONObject object1 = JSON.parseObject(o.toString()); + + if (!"有条款".equals(object1.getString("people")) && !"请选择责任人".equals(object1.getString("workPeople"))) { + List middles = new ArrayList<>(Arrays.asList(object1.getString("workPeopleId").split(","))); + for (String s : middles) { + if (null != map.get(delegateTask.getAssignee()+"-"+s)) { + map.get(delegateTask.getAssignee()+"-"+s).getJSONArray("dataList").add(object1); + } else { + JSONArray jsonArray = new JSONArray(); + jsonArray.add(object1); + JSONObject res = JSON.parseObject(object.toJSONString()); + res.put("dataList", jsonArray); + res.put("GC_FZ",delegateTask.getAssignee()+"-"+s); + map.put(delegateTask.getAssignee()+"-"+s, res); + } + } + } + JSONArray array1 = object1.getJSONArray("children"); + if (null != array1) { + //遍历条款 生成数据 + for (Object o2 : array1) { + JSONObject object2 = JSON.parseObject(o2.toString()); + if (!"请选择责任人".equals(object2.getString("workPeople"))) { + List middleChildren = new ArrayList<>(Arrays.asList(object2.getString("workPeopleId").split(","))); + for (String ss : middleChildren) { + if (null != map.get(delegateTask.getAssignee()+"-"+ss)) { + JSONArray middle = map.get(delegateTask.getAssignee()+"-"+ss).getJSONArray("dataList"); + //如果有上级 那么就将数据重新组装 在赋值 因为要转对象 地址会变 =。= 暂时想不到好办法 + JSONArray dataList=new JSONArray(); + boolean flag=true; + for (Object o3 : middle) { + JSONObject object3 = JSONObject.parseObject(o3.toString()); + if (object3.getString("standId").equals(object2.getString("key"))) { + object3.getJSONArray("children").add(object2); + flag=false; + } + dataList.add(object3); + } + //如果没有父级 那么生成他 + if (flag){ + JSONObject push=JSON.parseObject(object1.toJSONString()); + JSONArray jsonArray3 = new JSONArray(); + jsonArray3.add(object2); + push.put("children", jsonArray3); + map.get(delegateTask.getAssignee()+"-"+ss).getJSONArray("dataList").add(push); + }else { + map.get(delegateTask.getAssignee()+"-"+ss).put("dataList",dataList); + } + } else { + JSONArray jsonArray = new JSONArray(); + jsonArray.add(object1); + JSONArray jsonArray1 = new JSONArray(); + jsonArray1.add(object2); + object1.put("children", jsonArray1); + JSONObject res = JSON.parseObject(object.toJSONString()); + res.put("dataList", jsonArray); + res.put("GC_FZ",delegateTask.getAssignee()+"-"+ss); + map.put(delegateTask.getAssignee()+"-"+ss, res); + } + } + } + } + } + } + + delegateTask.setVariable("Step2res", map); + for (String s : map.keySet()) { + if (null != s) { + String peo[] = s.split("-"); + nextUserList.add(peo[1]); + } + } + delegateTask.setVariable("zrList", nextUserList); + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = object.getString("projectNumber")+object.getString("projectName")+"-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("6"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见1 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + if (delegateTask.getVariable("count2", Integer.class) >= delegateTask.getVariable("managerList", List.class).size()) { + for (String userId : map.keySet()) { + String peo[] = userId.split("-"); + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(map.get(userId).toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(peo[1]); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step2Before.java new file mode 100644 index 00000000..1c571280 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step2Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + +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 Step2Before 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("xmpgStep2?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step3After.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step3After.java new file mode 100644 index 00000000..ab908f14 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step3After.java @@ -0,0 +1,85 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.List; + +public class Step3After 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); + List nextUserList=new ArrayList<>(); + //后续节点所需要的数据 + String a[]=object.getString("GC_FZ").split("-"); + nextUserList.add(a[0]); + delegateTask.setVariable("shManager",a[0]); + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = object.getString("projectNumber")+object.getString("projectName")+"-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("6"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step3Before.java new file mode 100644 index 00000000..5d6d3fb5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step3Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + +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 Step3Before 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("xmpgStep3?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step4After.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step4After.java new file mode 100644 index 00000000..cb5cb7ef --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step4After.java @@ -0,0 +1,129 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + + +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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.List; + +public class Step4After 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); + List nextUserList=new ArrayList<>(); + //设置计数器 + if (null!=delegateTask.getVariable("count4")){ + delegateTask.setVariable("count4",delegateTask.getVariable("count4",Integer.class)+1); + }else { + delegateTask.setVariable("count4",1); + } + + //后续节点所需要的数据 + JSONObject resJson=new JSONObject(); + if (null!=delegateTask.getVariable("resJSON")){ + resJson=delegateTask.getVariable("resJSON",JSONObject.class); + } + if ("0".equals(object.getString("passFlag"))){ + if (null!=resJson.getString("GC_FZ")){ + resJson.getJSONArray("dataList").addAll(object.getJSONArray("dataList")); + }else { + resJson=object; + } + delegateTask.setVariable("resJSON",resJson); + delegateTask.setVariable("passFlag","0"); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("beLeaderId",delegateTask.getVariable("prcCreateUser",String.class)); + }else { + String a[]=object.getString("GC_FZ").split("-"); + nextUserList.add(a[1]); + delegateTask.setVariable("zrId",a[1]); + delegateTask.setVariable("passFlag","1"); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName",String.class); + String prcName = object.getString("projectNumber")+object.getString("projectName")+"-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setPrcType("6"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null!=object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + if ("0".equals(object.getString("passFlag"))) { + if (delegateTask.getVariable("count4", Integer.class) >= delegateTask.getVariable("zrList", List.class).size()) { + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String userId : nextUserList) { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(delegateTask.getVariable("resJSON",JSONObject.class).toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + }else { + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String userId : 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(userId); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step4Before.java new file mode 100644 index 00000000..98c16aef --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step4Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + +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 Step4Before 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("xmpgStep4?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step5After.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step5After.java new file mode 100644 index 00000000..ba9681b2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step5After.java @@ -0,0 +1,174 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + + +import com.alibaba.fastjson.JSON; +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.dto.SarStandUnqualified; +import com.ydw.bat.wkflow.business_main.datas.dto.SarStandardComplianceProductAssess; +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.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.*; + +public class Step5After 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); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + + UUID uuid = UUID.randomUUID(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //根据流程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); + //不一致项 存储集合 + List standUnqualifieds = new ArrayList<>(); + //评估结果存储集合 + List sarStandardComplianceProductAssesses = new ArrayList<>(); + List nextUserList = new ArrayList<>(); + //后续节点所需要的数据 + JSONArray jsonArray = object.getJSONArray("dataList"); + Map map=new HashMap<>(); + JSONArray array=object.getJSONArray("children"); + for (Object o:array){ + if (null!=o){ + JSONObject jsonObject=JSON.parseObject(o.toString()); + map.put(jsonObject.getString("id"),jsonObject.getString("key")); + } + } + + for (Object o : jsonArray) { + JSONObject jsonObject = JSON.parseObject(o.toString()); + if (null != jsonObject.getString("noCompliance") && !"".equals(jsonObject.getString("noCompliance"))) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + if (null!=map.get(jsonObject.getString("standId"))){ + sarStandUnqualified.setStandId(map.get(jsonObject.getString("standId"))); + }else { + sarStandUnqualified.setStandId(jsonObject.getString("standId")); + } + sarStandUnqualified.setStandSerialNumber(jsonObject.getString("standSort") + " " + jsonObject.getString("standNumber") + "-" + jsonObject.getString("standYear")); + if (null != jsonObject.getString("standName") && !"".equals(jsonObject.getString("standName"))) { + sarStandUnqualified.setStandName(jsonObject.getString("standName")); + } else { + sarStandUnqualified.setStandName(jsonObject.getString("standEnName")); + } + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(object.getString("projectName")); + sarStandUnqualified.setResponsibleUnit(jsonObject.getString("zrbm")); + sarStandUnqualified.setReason(jsonObject.getString("noCompliance")); + sarStandUnqualified.setPlanCloseTime(jsonObject.getDate("completionTime")); + sarStandUnqualified.setProductLine(object.getString("productLine")); + sarStandUnqualified.setProductId(object.getString("projectNumber")); + sarStandUnqualified.setItemsNum(jsonObject.getString("itemsNum")); + sarStandUnqualified.setItemsName(jsonObject.getString("itemsName")); + sarStandUnqualified.setDutyEngineer(jsonObject.getString("workPeopleId")); + standUnqualifieds.add(sarStandUnqualified); + } + if (null!=jsonObject.getString("remarks") || null!=jsonObject.getString("complianceReasons") || null!= jsonObject.getString("noCompliance")) { + //合估评规 结果! + SarStandardComplianceProductAssess sarStandard = new SarStandardComplianceProductAssess(); + if (null!=map.get(jsonObject.getString("standId"))){ + sarStandard.setStandId(map.get(jsonObject.getString("standId"))); + }else { + sarStandard.setStandId(jsonObject.getString("standId")); + } + if (null != jsonObject.getString("standName") && !"".equals(jsonObject.getString("standName"))) { + sarStandard.setStandName(jsonObject.getString("standName")); + } else { + sarStandard.setStandName(jsonObject.getString("standEnName")); + } + sarStandard.setProductLineId(object.getString("productLine")); + sarStandard.setProductId(object.getString("projectNumber")); + sarStandard.setProductName(object.getString("projectName")); + sarStandard.setStandNumber(jsonObject.getString("standSort") + " " + jsonObject.getString("standNumber") + "-" + jsonObject.getString("standYear")); + sarStandard.setStandType(jsonObject.getString("standType")); + sarStandard.setType(String.valueOf(uuid)); + sarStandard.setResearchCompletionTime(jsonObject.getDate("completionTime")); + sarStandard.setResearchCountermeasures(jsonObject.getString("countermeasures")); + sarStandard.setResearchNonCompliance(jsonObject.getString("noCompliance")); + sarStandard.setResearchCompliance(jsonObject.getString("complianceReasons")); + sarStandard.setClauseName(jsonObject.getString("itemsName")); + sarStandard.setStandardItem(jsonObject.getString("itemsNum")); + sarStandard.setEvaluationTime(simpleDateFormat.format(new Date())); + sarStandard.setEvaluationPeopleName(jsonObject.getString("workPeople")); + sarStandard.setEvaluationPeople(jsonObject.getString("workPeopleId")); + sarStandard.setNoInvolve(jsonObject.getString("remarks")); + sarStandardComplianceProductAssesses.add(sarStandard); + } + + } + //数据入库!!!! + lawsUserInfoService.addsarStandUnqualified(standUnqualifieds); + lawsUserInfoService.addProduct(sarStandardComplianceProductAssesses); + + + //截止时间 流程描述 创建人 + 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 prcName = object.getString("projectNumber")+object.getString("projectName")+"-合规评估"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + one1.setOverTime(OVERTIME); + one1.setPrcType("6"); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + // 存储当前节点意见1 + if (null != object.getString("commentText")) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + queryWrapper3.eq("TASK_ID", delegateTask.getId()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); + List 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")); + busBean.saveOrUpdate(busProcessNews); + } + } + + 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("finish"); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step5Before.java new file mode 100644 index 00000000..bb09950c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/xmhgpgXM/Step5Before.java @@ -0,0 +1,36 @@ +package com.ydw.bat.wkflow.listener.xmhgpgXM; + +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 Step5Before 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("xmpgStep5?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/util/DealWithDate.java b/src/main/java/com/ydw/bat/wkflow/util/DealWithDate.java new file mode 100644 index 00000000..887fb2a7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/util/DealWithDate.java @@ -0,0 +1,26 @@ +package com.ydw.bat.wkflow.util; + +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAtotal; +import com.ydw.bat.wkflow.business_main.datas.dto.PEPres; +import net.sf.json.JSONObject; +import net.sf.json.JsonConfig; + +import java.util.Date; + +public class DealWithDate { + + public static String delWithTime(PEPres a){ + JsonConfig jsonConfig = new JsonConfig(); + jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor()); + JSONObject jsonObject = JSONObject.fromObject(a,jsonConfig); + return jsonObject.toString(); + } + + public static String delWithTimePCA(PCAtotal a){ + JsonConfig jsonConfig = new JsonConfig(); + jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor()); + JSONObject jsonObject = JSONObject.fromObject(a,jsonConfig); + return jsonObject.toString(); + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/util/JsonDateValueProcessor.java b/src/main/java/com/ydw/bat/wkflow/util/JsonDateValueProcessor.java new file mode 100644 index 00000000..2a33f772 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/util/JsonDateValueProcessor.java @@ -0,0 +1,41 @@ +package com.ydw.bat.wkflow.util; + +import net.sf.json.JsonConfig; +import net.sf.json.processors.JsonValueProcessor; + +import java.text.SimpleDateFormat; +import java.util.Date; + +public class JsonDateValueProcessor implements JsonValueProcessor { + + private String datePattern = "yyyy-MM-dd HH:mm:ss";//默认样式,可以在构造方法中修改 + public JsonDateValueProcessor() { + super(); + } + public JsonDateValueProcessor(String datePattern) { + super(); + this.datePattern = datePattern; + } + public Object processArrayValue(Object value, JsonConfig jsonConfig) { + try { + if(value instanceof Date){ + SimpleDateFormat sdf = new SimpleDateFormat(datePattern); + Date date = (Date)value; + return sdf.format(date); + } + return value == null ? null : value.toString(); + } catch (Exception e) { + return null; + } + } + public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { + return processArrayValue(value, jsonConfig); + } + public String getDatePattern() { + return datePattern; + } + public void setDatePattern(String datePattern) { + this.datePattern = datePattern; + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/util/Utils.java b/src/main/java/com/ydw/bat/wkflow/util/Utils.java index 17f9c111..5901e174 100644 --- a/src/main/java/com/ydw/bat/wkflow/util/Utils.java +++ b/src/main/java/com/ydw/bat/wkflow/util/Utils.java @@ -2,11 +2,17 @@ package com.ydw.bat.wkflow.util; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang3.StringUtils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.MessageFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.*; /** * @Description: TODO @@ -15,6 +21,69 @@ import java.util.Map; */ public class Utils { + public static String format(String value, Object... paras) { + return MessageFormat.format(value, paras); + } + + public static int subDayNum(String endTime){ + if (endTime.length() >= 10) { + endTime = endTime.substring(0, 10); + } + DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate startDate = LocalDate.parse(new SimpleDateFormat("yyyy-MM-dd").format(new Date()),fmt); + LocalDate endDate = LocalDate.parse(endTime,fmt); + int days = (int) startDate.until(endDate, ChronoUnit.DAYS); + return days; + } + + public static String addDay(Integer dayInt) { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date today = new Date(); + Calendar theCa = Calendar.getInstance(); + theCa.setTime(today); + theCa.add(theCa.DATE, +dayInt);//最后一个数字30可改,30天的意思 + Date start = theCa.getTime(); + String startDate = sdf.format(start);//三十天之前日期 + + return startDate; + } + + public static String interceptTime(String timeStr) { + if (StringUtils.isNotBlank(timeStr)) { + System.out.println(timeStr.length()); + if (timeStr.contains("T")) { + DateTimeFormatter df20 = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH); + DateTimeFormatter df24 = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH); + LocalDateTime ldt = LocalDateTime.parse(timeStr, timeStr.length() > 20 ? df24:df20); + ZoneId currentZone = ZoneId.of("UTC"); + ZoneId newZone = ZoneId.of("Asia/Shanghai"); + timeStr = ldt.atZone(currentZone).withZoneSameInstant(newZone).toLocalDateTime().toString(); + } + if (timeStr.length() >= 10) { + return timeStr.substring(0, 10); + } + } + return timeStr; + } + + public static String subDay(String date, Integer dayInt) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date today = null; + try { + today = sdf.parse(date); + } catch (ParseException e) { + } + String endDate = sdf.format(today);//当前日期 + Calendar theCa = Calendar.getInstance(); + theCa.setTime(today); + theCa.add(theCa.DATE, -dayInt);//最后一个数字30可改,30天的意思 + Date start = theCa.getTime(); + String startDate = sdf.format(start);//三十天之前日期 + + return startDate; + } + public static Map jsonArrGroup(JSONArray arr, String groupName, String sGroupName) { Map map = new HashMap<>(); String tempIdStr = ""; diff --git a/src/main/java/com/ydw/bat/wkflow/util/http/PageInfo.java b/src/main/java/com/ydw/bat/wkflow/util/http/PageInfo.java new file mode 100644 index 00000000..0dbd9f38 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/util/http/PageInfo.java @@ -0,0 +1,168 @@ +package com.ydw.bat.wkflow.util.http; + +import org.apache.commons.lang3.StringUtils; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class PageInfo { + private Integer pageNo; + private Integer pageSize; + private Long count; + private Long pageCount; + private List list; + private List> title; + private Map ext; + private String orderBy; + + public PageInfo() { + this.pageNo = 1; + this.pageSize = 10; + this.list = new ArrayList(); + this.title = new ArrayList(); + this.ext = new HashMap(); + this.orderBy = ""; + this.pageSize = 1; + } + + public PageInfo(HttpServletRequest request) { + this.pageNo = 1; + this.pageSize = 10; + this.list = new ArrayList(); + this.title = new ArrayList(); + this.ext = new HashMap(); + this.orderBy = ""; + String no = request.getParameter("pageNo"); + if (StringUtils.isEmpty(no)) { + this.setPageNo(1); + } else if (StringUtils.isNumeric(no)) { + this.setPageNo(Integer.parseInt(no)); + } + + String size = request.getParameter("pageSize"); + if (StringUtils.isEmpty(size)) { + this.setPageSize(10); + } + + if (StringUtils.isNumeric(size)) { + this.setPageSize(Integer.parseInt(size)); + } + + String orderByParam = request.getParameter("orderBy"); + if (StringUtils.isNotBlank(orderByParam)) { + this.setOrderBy(orderByParam); + } + + } + + public PageInfo(Integer pageNo, Integer pageSize) { + this(pageNo, pageSize, 0L); + } + + public PageInfo(Integer pageNo, Integer pageSize, Long count) { + this(pageNo, pageSize, count, new ArrayList()); + } + + public PageInfo(Integer pageNo, Integer pageSize, Long count, List list) { + this.pageNo = 1; + this.pageSize = 10; + this.list = new ArrayList(); + this.title = new ArrayList(); + this.ext = new HashMap(); + this.orderBy = ""; + if (pageNo == null) { + pageNo = 1; + } + + if (pageSize == null) { + pageSize = 10; + } + + this.setCount(count); + this.setPageNo(Math.abs(pageNo)); + this.setPageSize(Math.abs(pageSize)); + this.setList(list); + } + + public Long getCount() { + return this.count; + } + + public void setCount(Long count) { + this.count = count; + if ((long) this.pageSize >= count) { + this.pageNo = 1; + } + + } + + public Integer getPageNo() { + return this.pageNo; + } + + public void setPageNo(Integer pageNo) { + this.pageNo = pageNo; + } + + public Integer getPageSize() { + return this.pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize <= 0 ? 10 : pageSize; + } + + public List getList() { + return this.list; + } + + public PageInfo setList(List list) { + this.list = list; + return this; + } + + public String getOrderBy() { + return this.orderBy; + } + + public void setOrderBy(String orderBy) { + this.orderBy = orderBy; + } + + public Map getExt() { + return this.ext; + } + + public void setExt(Map ext) { + this.ext = ext; + } + + public Long getPageCount() { + if (this.count % (long) this.pageSize != 0L) { + this.pageCount = this.count / (long) this.pageSize + 1L; + } else { + this.pageCount = this.count / (long) this.pageSize; + } + + if (this.pageCount < 1L) { + this.pageCount = 1L; + } + + return this.pageCount; + } + + public void setPageCount(Long pageCount) { + this.pageCount = pageCount; + } + + public List> getTitle() { + return this.title; + } + + public void setTitle(List> title) { + this.title = title; + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/util/http/ResponseMessage.java b/src/main/java/com/ydw/bat/wkflow/util/http/ResponseMessage.java new file mode 100644 index 00000000..5227ece8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/util/http/ResponseMessage.java @@ -0,0 +1,58 @@ +package com.ydw.bat.wkflow.util.http; + +public class ResponseMessage { + private String respCode; + private String respMsg; + private T data; + private boolean ok; + + public ResponseMessage() { + } + + public ResponseMessage(String respCode, String message) { + this.respCode = respCode; + this.respMsg = message; + } + + public ResponseMessage(String respCode, String message, boolean ok) { + this.respCode = respCode; + this.respMsg = message; + this.ok = ok; + } + + public ResponseMessage(String respCode, String message, boolean ok, T data) { + this.respCode = respCode; + this.respMsg = message; + this.ok = ok; + this.data = data; + } + + public String getRespCode() { + return this.respCode; + } + + public void setRespCode(String respCode) { + this.respCode = respCode; + } + + public String getMessage() { + return this.respMsg; + } + + public void setMessage(String message) { + this.respMsg = message; + } + + public T getData() { + return this.data; + } + + public void setData(T data) { + this.data = data; + } + + public boolean isOk() { + return this.ok; + } +} + diff --git a/src/main/java/com/ydw/bat/wkflow/util/http/ResponseMessageCodeEnum.java b/src/main/java/com/ydw/bat/wkflow/util/http/ResponseMessageCodeEnum.java new file mode 100644 index 00000000..3e9f5b73 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/util/http/ResponseMessageCodeEnum.java @@ -0,0 +1,20 @@ +package com.ydw.bat.wkflow.util.http; + +public enum ResponseMessageCodeEnum { + SUCCESS("0"), + ERROR("-1"), + VALID_ERROR("1000"), + SAVE_SUCCESS("r0001"), + UPDATE_SUCCESS("r0002"), + REMOVE_SUCCESS("r0003"); + + private String code; + + private ResponseMessageCodeEnum(String code) { + this.code = code; + } + + public String getCode() { + return this.code; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/util/http/Result.java b/src/main/java/com/ydw/bat/wkflow/util/http/Result.java new file mode 100644 index 00000000..b0851e47 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/util/http/Result.java @@ -0,0 +1,42 @@ +package com.ydw.bat.wkflow.util.http; + +public class Result { + public Result() { + } + + public static ResponseMessage success() { + return new ResponseMessage(ResponseMessageCodeEnum.SUCCESS.getCode(), "", true); + } + + public static ResponseMessage success(String code, T t) { + return new ResponseMessage(code, "", true, t); + } + + public static ResponseMessage success(String code, String message) { + return new ResponseMessage(code, message); + } + + public static ResponseMessage success(String code, String message, T t) { + return new ResponseMessage(code, message, true, t); + } + + public static ResponseMessage success(T t) { + return new ResponseMessage(ResponseMessageCodeEnum.SUCCESS.getCode(), "", true, t); + } + + public static ResponseMessage error() { + return error(""); + } + + public static ResponseMessage error(String message) { + return error(ResponseMessageCodeEnum.ERROR.getCode(), message); + } + + public static ResponseMessage error(String code, String message) { + return error(code, message, (Object)null); + } + + public static ResponseMessage error(String code, String message, T t) { + return new ResponseMessage(code, message, false, t); + } +} diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 8df7b006..48b57516 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -14,7 +14,7 @@ logging: eureka: client: serviceUrl: - defaultZone: http://127.0.0.1:16000/eureka/ + defaultZone: http:/192.168.10.47:16000/eureka/ spring: application: name: bat-wkflow diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7f907c0a..843c8366 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,7 +1,7 @@ wkfow: auth: fk-auth server: - port: 17211 + port: 4203 tomcat: uri-encoding: UTF-8 servlet: @@ -15,7 +15,9 @@ logging: eureka: client: serviceUrl: - defaultZone: http://127.0.0.1:8671/eureka/ + defaultZone: http://10.100.5.117:4201/eureka/ + instance: + prefer-ip-address: true spring: application: name: bat-wkflow @@ -27,19 +29,69 @@ spring: servlet: multipart: maxFileSize: "100MB" - maxRequestSize: "100MB" + maxRequestSize: "100MB" datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/foton-bat-wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 - username: root - password: root + 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-关闭 check-process-definitions: false profiles: active: dev + # 相关服务配置同业务系统 + rabbitmq: + host: 10.100.5.119 + port: 5672 + username: admin + password: foton@admin + listener: + direct: + # 默认加载 发版 需改为 true + auto-startup: true + simple: + concurrency: 5 + max-concurrency: 10 + acknowledge-mode: manual + #消费失败消息干掉 + default-requeue-rejected: true + retry: + #5秒 + initial-interval: 5000 + enabled: true + #最大重试9次 + max-attempts: 6 + # 消费者默认加载 发版 需改为 true + auto-startup: true + + # ============================================================================= + # 邮箱配置-1 + # ============================================================================= + mail: + host: smtp.163.com + protocol: smtp + username: foton_admin@163.com + password: QDQMXXMCKFARNDEI + properties: + smtp: + auth: true + starttls: + enable: true + required: true + mail: + smtp: + ssl: + enable: true + port: 465 +# ============================================================================= +# 邮箱配置-2 +# ============================================================================= +mail: + valid: true + mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl @@ -47,3 +99,22 @@ mybatis-plus: ribbon: ReadTimeout: 60000 ConnectTimeout: 60000 + +# 配置 是否 启用 OA +oa: + flag: true + +# 配置前端服务全路径地址 如下 /#/ +webUrl: https://srms.foton.com.cn/#/ + +isNotScheduled: true + +buss: + edit: + file: + path: /data/slrs/file/ + down: + file: + path: https://srms.foton.com.cn/file/ +# path: http://foton.natapp1.cc/file/ + diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 0319ca9a..289f3041 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -9,7 +9,7 @@ - + diff --git a/src/main/resources/mapper/busProcessEvaluationHis/BusProcessEvaluationHisMapper.xml b/src/main/resources/mapper/busProcessEvaluationHis/BusProcessEvaluationHisMapper.xml new file mode 100644 index 00000000..2b2b4f7f --- /dev/null +++ b/src/main/resources/mapper/busProcessEvaluationHis/BusProcessEvaluationHisMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/mapper/busProcessModelHis/BusProcessModelHisMapper.xml b/src/main/resources/mapper/busProcessModelHis/BusProcessModelHisMapper.xml new file mode 100644 index 00000000..8e8fb814 --- /dev/null +++ b/src/main/resources/mapper/busProcessModelHis/BusProcessModelHisMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/mapper/datas/BusProcessNameMapper.xml b/src/main/resources/mapper/datas/BusProcessNameMapper.xml index 492b07f8..a81c520d 100644 --- a/src/main/resources/mapper/datas/BusProcessNameMapper.xml +++ b/src/main/resources/mapper/datas/BusProcessNameMapper.xml @@ -29,4 +29,26 @@ AND BUS_PROCESS_NEW.TASK_ID = #{taskId} + + diff --git a/src/main/resources/mapper/datas/BusProcessNewMapper.xml b/src/main/resources/mapper/datas/BusProcessNewMapper.xml index de0bff7c..e3a7a9b0 100644 --- a/src/main/resources/mapper/datas/BusProcessNewMapper.xml +++ b/src/main/resources/mapper/datas/BusProcessNewMapper.xml @@ -4,27 +4,63 @@ + + + + + + + + + + diff --git a/src/main/resources/mapper/esPrcRelation/EsPrcRelationMapper.xml b/src/main/resources/mapper/esPrcRelation/EsPrcRelationMapper.xml new file mode 100644 index 00000000..fa8aab59 --- /dev/null +++ b/src/main/resources/mapper/esPrcRelation/EsPrcRelationMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/esTechRelation/EsTechRelationMapper.xml b/src/main/resources/mapper/esTechRelation/EsTechRelationMapper.xml new file mode 100644 index 00000000..6dc59a5f --- /dev/null +++ b/src/main/resources/mapper/esTechRelation/EsTechRelationMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/main/resources/mapper/oaTaskExec/OaTaskExecMapper.xml b/src/main/resources/mapper/oaTaskExec/OaTaskExecMapper.xml new file mode 100644 index 00000000..530e7eb0 --- /dev/null +++ b/src/main/resources/mapper/oaTaskExec/OaTaskExecMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml b/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml new file mode 100644 index 00000000..b86489d1 --- /dev/null +++ b/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml @@ -0,0 +1,5 @@ + + + + +