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 c7e9e76f..91f3d3a0 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 @@ -190,6 +190,20 @@ public class TodoTaskController extends BaseAction { 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 = "改派人员")}) @@ -223,6 +237,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); } @@ -240,86 +255,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("改派成功"); } @@ -1964,10 +1979,12 @@ public class TodoTaskController extends BaseAction { queryWrapper1.eq("P_ID",busProcessName.getPrcId()); queryWrapper1.eq("TASK_ID",task.getId()); BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1); - if (null!=busProcessNew.getPrcName()){ - busProcessName.setPrcName(busProcessNew.getPrcName()); - }else { - busProcessNew.setPrcName(""); + if (null!=busProcessNew) { + if (null != busProcessNew.getPrcName()) { + busProcessName.setPrcName(busProcessNew.getPrcName()); + } else { + busProcessNew.setPrcName(""); + } } } @@ -2085,10 +2102,12 @@ public class TodoTaskController extends BaseAction { queryWrapper1.eq("P_ID",busProcessName.getPrcId()); queryWrapper1.eq("TASK_ID",task.getId()); BusProcessNew busProcessNew=iBusProcessNewService.getOne(queryWrapper1); - if (null!=busProcessNew.getPrcName()){ - busProcessName.setPrcName(busProcessNew.getPrcName()); - }else { - busProcessNew.setPrcName(""); + if (null!=busProcessNew) { + if (null != busProcessNew.getPrcName()) { + busProcessName.setPrcName(busProcessNew.getPrcName()); + } else { + busProcessNew.setPrcName(""); + } } } } @@ -2286,6 +2305,9 @@ public class TodoTaskController extends BaseAction { @GetMapping("/forceRecall") public Wrapper forceRecall(String prcId) { runtimeService.deleteProcessInstance(prcId, "用户强制撤回"); + if(StringUtils.isNotBlank(prcId)){ + webServiceOAService.deleteOAByPid(prcId); + } Map map = new HashMap(); map.put("P_ID", prcId); iBusProcessNewService.removeByMap(map); 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 cc446b52..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 @@ -28,6 +28,8 @@ public interface BusProcessNewMapper extends BaseMapper { 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/IBusProcessNameService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNameService.java index ef1a600f..2f931d6c 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,7 @@ import java.util.List; public interface IBusProcessNameService extends IService { List findBusProcessNameForEnd(String prcNum); + + //新查询代办接口 初步测试中 + List todoTask(TaskCommonQuery taskCommonQuery); } 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 688fd2c1..d9607774 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 @@ -31,6 +31,7 @@ public interface IBusProcessNewService extends IService { 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(); 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..cc8ee279 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,9 @@ public class BusProcessNameServiceImpl extends ServiceImpl todoTask(TaskCommonQuery taskCommonQuery) { + return busProcessNameMapper.todoTask(taskCommonQuery); + } + } 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 90bb6c40..78d5e51c 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 @@ -74,6 +74,11 @@ public class BusProcessNewServiceImpl extends ServiceImpl findLastworkPeople2(String key, String pId) { + return baseMapper.findLastworkPeople2(key,pId); + } + @Override public List everyDayTenOlock() { return baseMapper.everyDayTenOlock(); 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 index f5df0403..1a488b10 100644 --- 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 @@ -20,6 +20,20 @@ public class CreateMQService { @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 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..473e56ce --- /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_oa/webService/service/WebServiceOAService.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java index 508f6c53..67654f89 100644 --- 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 @@ -2,15 +2,24 @@ 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 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 index e92bd717..a05d3632 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -1,12 +1,11 @@ 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.BusProcessName; -import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; -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.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; @@ -16,11 +15,13 @@ 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; @@ -59,6 +60,9 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { @Autowired private OkHttpUtil okHttpUtil; + @Autowired + private SendTodoLogMapper sendTodoLogMapper; + @Autowired private LawsUserInfoService lawsUserInfoService; @@ -72,6 +76,140 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { credentials = Credentials.basic(api_key,api_secret); } + /** + * 单个删除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.put("pid",fromObject.getString("PId")); + BusProcessNew object = JSON.parseObject(jsonObjectFilter.toString(),BusProcessNew.class); + + List notifyTodoSendContexts = new ArrayList<>(); + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + notifyTodoSendContext.setAppName("FOTON"); + 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()); + + // 重新发送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("FOTON"); + 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("FOTON"); + 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("http://172.24.12.64:85/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){ 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_slrs/dao/SarInterpretationNationalStandard.java b/src/main/java/com/ydw/bat/wkflow/business_slrs/dao/SarInterpretationNationalStandard.java index 4f3bfb2d..111bfc02 100644 --- 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 @@ -86,4 +86,8 @@ public class SarInterpretationNationalStandard { private Date interpretationTime; + @ApiModelProperty(value = "风险程度") + private String riskDegree; + + } 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..f899449a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/AdminReviewAfter.java @@ -0,0 +1,111 @@ +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 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("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..ce5008f7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DeptLeaderReviewAfter.java @@ -0,0 +1,110 @@ +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 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("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..f216d141 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/DistributionAfter.java @@ -0,0 +1,120 @@ +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 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("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..ed1aa349 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/FeedBackAfter.java @@ -0,0 +1,103 @@ +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 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("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..885a3273 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/LaunchAfter.java @@ -0,0 +1,103 @@ +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 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("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..9d51a335 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/MinisterReviewAfter.java @@ -0,0 +1,119 @@ +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.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; + } +} 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..e670127d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ReLaunchAfter.java @@ -0,0 +1,102 @@ +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.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.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..79d68d6b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubMinisterReviewAfter.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 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 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("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..9526cf8c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/SubViceDirectorAfter.java @@ -0,0 +1,136 @@ +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 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); + + 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"))){ + delegateTask.setVariable("lawsProveViceChiefVerify",0); + + //流程结束 + 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){ +// 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..23d56c36 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/KCSTPReviewProcess/ViceDirectorAfter.java @@ -0,0 +1,123 @@ +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 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.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; + } +} 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/ProjectComplianceAssessment/PCAdlApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java index 9e7d6f6b..0efa199b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java @@ -68,7 +68,6 @@ public class PCAdlApproveAfter implements TaskListener { sarStandUnqualified.setCloseState(1); sarStandUnqualified.setCreateTime(new Date()); sarStandUnqualified.setProductName(res.getProjectName()); -// sarStandUnqualified.setProductLine(res.getProductLine()); sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); sarStandUnqualified.setProductType("research"); sarStandUnqualified.setReason(pcAdataList.getNoCompliance()); 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 index 151b30c7..963d8c5c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistributeAfter.java @@ -62,20 +62,27 @@ public class PCAffLiableDistributeAfter implements TaskListener { int flag=0; for (PCAdataList ps: map.get(o.getWorkPeopleId()).getDataList()) { if (ps.getStandId().equals(mapData.get(o.getKey()).getStandId())){ + ps.getChildren().add(o); flag++; } } + if (flag==0){ + map.get(o.getWorkPeopleId()).getDataList().add(mapData.get(o.getKey())); + mapData.get(o.getKey()).getChildren().add(o); + } }else { PCAtotal pcs=new PCAtotal(); BeanUtils.copyProperties(pcAtotal,pcs); //建立空的子 为了后面遍历 List list=new ArrayList<>(); + List list1=new ArrayList<>(); list.add(o); + list1.add(o); pcs.setChildren(list); List list2=new ArrayList<>(); PCAdataList adataLists=new PCAdataList(); BeanUtils.copyProperties(mapData.get(o.getKey()),adataLists); - adataLists.setChildren(list); + adataLists.setChildren(list1); list2.add(adataLists); pcs.setDataList(list2); map.put(o.getWorkPeopleId(),pcs); 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 index 080b05e4..44f9d6cb 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalAfter.java @@ -105,4 +105,4 @@ public class DockingApprovalAfter implements TaskListener { busBean.save(busProcessNewNext); } } -} \ No newline at end of file +} 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 index 153a7dd2..81f1b8f9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignAfter.java @@ -98,9 +98,8 @@ public class MinisterAndDockerSignAfter implements TaskListener { 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){ - if(count==null)count=0; count++; delegateTask.setVariable("task3OKCount",count); } 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 index daa7a937..497cd854 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignAfter.java @@ -42,10 +42,9 @@ public class DirectorSignAfter implements TaskListener { //截止时间 流程描述 创建人 - 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 = object.getString("title"); + String standName = delegateTask.getVariable("title",String.class); String prcName = standName+"-标准调研流程"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); 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 index fed5f8a9..32ff460e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalAfter.java @@ -43,7 +43,7 @@ public class DockingApprovalAfter implements TaskListener { 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 = object.getString("title"); + String standName = delegateTask.getVariable("title",String.class); String prcName = standName+"-标准调研流程"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); 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 index b2c429d8..46e723a9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignAfter.java @@ -47,7 +47,7 @@ public class MinisterAndDockerSignAfter implements TaskListener { 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 = object.getString("title"); + String standName = delegateTask.getVariable("title",String.class); String prcName = standName+"-标准调研流程"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); 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 index 70b23a72..520bdf00 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignAfter.java @@ -44,7 +44,7 @@ public class PresidentSignAfter implements TaskListener { 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 = object.getString("title"); + String standName = delegateTask.getVariable("title",String.class); String prcName = standName+"-标准调研流程"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); 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 index b146c367..8f41809c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignAfter.java @@ -54,7 +54,7 @@ public class ResponUserSignAfter implements TaskListener { 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 = object.getString("title"); + String standName = delegateTask.getVariable("title",String.class); String prcName = standName+"-标准调研流程"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); 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 index 166eebab..36877c46 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserAfter.java @@ -34,6 +34,8 @@ public class SelectResponsibleUserAfter implements TaskListener { List nextUserList = new ArrayList(); + object.put("docUser",delegateTask.getAssignee()); + String userListString=object.getString("responUserList"); String userListStringName=object.getString("responUserListName"); @@ -54,23 +56,27 @@ public class SelectResponsibleUserAfter implements TaskListener { json.put("dockUser",delegateTask.getAssignee()); responUserList.add(json); strings.add(userList.get(i)); - map.put(userList.get(i),json); + 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); } - delegateTask.setVariable("datas",map); + 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 = object.getString("startUser"); - String username = object.getString("startUserName"); - String standName = object.getString("title"); + 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()); 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 index 848bcfe2..ad9c94e1 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/StartSurveyAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/StartSurveyAfter.java @@ -69,6 +69,7 @@ public class StartSurveyAfter implements TaskListener { delegateTask.setVariable("startId",user); delegateTask.setVariable("startName",username); String standName = object.getString("title"); + delegateTask.setVariable("title",standName); String prcName = standName+"-标准调研流程"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); 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 index d7b2e6f9..ead81dfd 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyAfter.java @@ -50,7 +50,7 @@ public class SummarySurveyAfter implements TaskListener { 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 = object.getString("title"); + String standName = delegateTask.getVariable("title",String.class); String prcName = standName+"-标准调研流程"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); 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 index d7222aa2..373b0c13 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultAfter.java @@ -37,23 +37,22 @@ public class UploadResearchResultAfter implements TaskListener { 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(responUser))); + 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")) - ){ + 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")); + 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); + responUserList.set(i, obj); + break; - break; - } + } } delegateTask.setVariable("dockUsers",os.getString("dockUser")); @@ -67,7 +66,7 @@ public class UploadResearchResultAfter implements TaskListener { 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 = object.getString("title"); + String standName = delegateTask.getVariable("title",String.class); String prcName = standName+"-标准调研流程"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); 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..fbeb6c7f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep1After.java @@ -0,0 +1,87 @@ +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 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"); + }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 ("1".equals(object.getString("passFlag"))) { + prcName = "企标废止流程-流程结束"; + }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 (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..1a26796a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2After.java @@ -0,0 +1,94 @@ +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.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(); + 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()); + 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 = "企标复审流程-起草人修改标准状态"; + 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 (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..40b3c171 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep3After.java @@ -0,0 +1,72 @@ +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 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 = "企标复审流程-标准法规部部长审核"; + 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 (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..69a5f231 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep4After.java @@ -0,0 +1,83 @@ +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 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 ("0".equals(object.getString("bzFlag"))){ + prcName = "企标复审流程-审定责任人审定"; + }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 (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..806d6533 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep5After.java @@ -0,0 +1,83 @@ +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 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 ("0".equals(object.getString("sdFlag"))){ + prcName = "企标复审流程-批准负责人审批"; + }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 (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..b6596ff9 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6After.java @@ -0,0 +1,111 @@ +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 java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +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); + + //根据流程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"); + }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 ("0".equals(object.getString("sdFlag"))){ + prcName = "企标复审流程-批准负责人审批"; + }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.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/ProcessstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartAfter.java new file mode 100644 index 00000000..a6ef7053 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessstartAfter.java @@ -0,0 +1,83 @@ +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 java.util.ArrayList; +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")); + + + //截止时间 流程描述 创建人 + 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("24"); + 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/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/bussLibrary/BLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantAfter.java new file mode 100644 index 00000000..ec3c213c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BLApplicantAfter.java @@ -0,0 +1,108 @@ +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.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); + + 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("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其他起草人参数不存在,请配置相关用户"); + } + + + //截止时间 流程描述 创建人 + 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("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/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/BussLibrary10After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10After.java new file mode 100644 index 00000000..43b9f4d4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10After.java @@ -0,0 +1,95 @@ +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 = "企标制修订流程及企业标准库流程"; + 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("zrUserId"))){ + + delegateTask.setVariable("zrUserId",object.getString("zrUserId")); + nextUserList.add(object.getString("zrUserId")); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("bzFlag", 0); + }else { + throw new ActivitiException("1#2副主任用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("zqcUsrId"))) { + 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("zqcUsrId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("zqcUsrId")); + delegateTask.setVariable("bzFlag", 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..a9d50274 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10Before.java @@ -0,0 +1,37 @@ +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"); + 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..4c9c2974 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11After.java @@ -0,0 +1,95 @@ +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 = "企标制修订流程及企业标准库流程"; + 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("zqcUsrId"))){ + + delegateTask.setVariable("pxUserId",object.getString("zqcUsrId")); + nextUserList.add(object.getString("zqcUsrId")); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("zrFlag", 0); + }else { + throw new ActivitiException("1#2主起草人用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("zqcUsrId"))) { + 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("zqcUsrId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("zqcUsrId")); + 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..fcb82a63 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11Before.java @@ -0,0 +1,37 @@ +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"); + 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..9561b929 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary12After.java @@ -0,0 +1,55 @@ +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 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("bzhUserId"))){ + delegateTask.setVariable("bzhUserId",object.getString("bzhUserId")); + nextUserList.add(object.getString("bzhUserId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + String prcName = "企标制修订流程及企业标准库流程"; + 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/BussLibrary12Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary12Before.java new file mode 100644 index 00000000..ec94bfc2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary12Before.java @@ -0,0 +1,37 @@ +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 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"); + 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/BussLibrary2After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary2After.java new file mode 100644 index 00000000..0bba48cd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary2After.java @@ -0,0 +1,101 @@ +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.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(); + + if(StringUtils.isNotBlank(object.getString("zqcUsrId"))){ + delegateTask.setVariable("hzUserId",object.getString("zqcUsrId")); + nextUserList.add(object.getString("zqcUsrId")); + }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("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..a3222e1d --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary2Before.java @@ -0,0 +1,37 @@ +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 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"); + 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); + } + } +} 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..ec79ad27 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary3After.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.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 = "企标制修订流程及企业标准库流程"; + 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..53a5d06e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary3Before.java @@ -0,0 +1,37 @@ +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 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"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary3?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} 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..99dd2bc1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4After.java @@ -0,0 +1,102 @@ +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 = "企标制修订流程及企业标准库流程"; + 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("zqcUsrId"))) { + 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("zqcUsrId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("hzUserId",object.getString("zqcUsrId")); + 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..17c6dc9f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4Before.java @@ -0,0 +1,37 @@ +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"); + 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..60192394 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5After.java @@ -0,0 +1,95 @@ +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 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(); + + if(StringUtils.isNotBlank(object.getString("zqcUsrId"))){ + delegateTask.setVariable("xdUserId",object.getString("zqcUsrId")); + nextUserList.add(object.getString("zqcUsrId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + 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("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/BussLibrary5Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5Before.java new file mode 100644 index 00000000..798099f5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5Before.java @@ -0,0 +1,37 @@ +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 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"); + List list = busBean.list(queryWrapper1); + 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..10af1f4b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6After.java @@ -0,0 +1,93 @@ +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 = "企标制修订流程及企业标准库流程"; + 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/BussLibrary6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6Before.java new file mode 100644 index 00000000..ddf9f1b5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6Before.java @@ -0,0 +1,37 @@ +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 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"); + List list = busBean.list(queryWrapper1); + 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/BussLibrary7After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java new file mode 100644 index 00000000..ee243d43 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java @@ -0,0 +1,93 @@ +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 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); + + 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("fzrUserId"))){ + delegateTask.setVariable("fzrUserId",object.getString("fzrUserId")); + nextUserList.add(object.getString("fzrUserId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + 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("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/BussLibrary7Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7Before.java new file mode 100644 index 00000000..8576931c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7Before.java @@ -0,0 +1,37 @@ +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"); + 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..0a67fe49 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8After.java @@ -0,0 +1,95 @@ +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 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 = "企标制修订流程及企业标准库流程"; + 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("bzhFlag", 0); + }else { + throw new ActivitiException("1#2部长用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("zqcUsrId"))) { + 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("zqcUsrId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("zqcUsrId")); + delegateTask.setVariable("bzhFlag", 1); + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + } + + 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..fc2755a3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary8Before.java @@ -0,0 +1,37 @@ +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 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"); + 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..bae8e033 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9After.java @@ -0,0 +1,95 @@ +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 = "企标制修订流程及企业标准库流程"; + 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); + delegateTask.setVariable("bzFlag", 0); + }else { + throw new ActivitiException("1#2副主任用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("zqcUsrId"))) { + 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("zqcUsrId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("zqcUsrId")); + delegateTask.setVariable("bzFlag", 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/BussLibrary9Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9Before.java new file mode 100644 index 00000000..6a60c078 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary9Before.java @@ -0,0 +1,37 @@ +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"); + 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..6c8ac0fd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3After.java @@ -0,0 +1,110 @@ +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 object = 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); + JSONObject object = JSONObject.parseObject(one.getMesg()); + 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 = "企标制修订流程及企业标准库流程"; + 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(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/bussLibrary/BussLibraryC3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3Before.java new file mode 100644 index 00000000..c4019e75 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC3Before.java @@ -0,0 +1,37 @@ +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"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary3-1?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..14db7631 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6After.java @@ -0,0 +1,110 @@ +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 object = 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); + JSONObject object = JSONObject.parseObject(one.getMesg()); + 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 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("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(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/bussLibrary/BussLibraryC6Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6Before.java new file mode 100644 index 00000000..0e3d08be --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibraryC6Before.java @@ -0,0 +1,37 @@ +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"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary6-1?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..abddb267 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussUtils.java @@ -0,0 +1,89 @@ +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.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 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.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.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.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/enterpriseBidReviewProcess/ProcessStep1After.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1After.java new file mode 100644 index 00000000..bb76be12 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep1After.java @@ -0,0 +1,78 @@ +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 (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..51167d90 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep2After.java @@ -0,0 +1,98 @@ +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 (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..18b16954 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3After.java @@ -0,0 +1,95 @@ +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 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(); + //根据意见选择 企标状态并对企标信息进行修改 + if ("修订".equals(object.getString("nextStatus"))){ + + }else if ("废止".equals(object.getString("nextStatus"))){ + // TODO: 2021/11/16 等待超哥的修改企标状态的接口 + } + + 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); + } + + + // 存储当前节点意见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); + } + } + 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.setCommitFlag("0"); + 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..35737660 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessstartAfter.java @@ -0,0 +1,78 @@ +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 (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..99742d71 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1After.java @@ -0,0 +1,89 @@ +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 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 = ""; + if ("0".equals(object.getString("passFlag"))) { + prcName = "企标制修订计划-部门中心主任会签"; + }else { + prcName = "企标制修订计划-企标制修订计划整改"; + } + 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 (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..f36b28d0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep1Before.java @@ -0,0 +1,36 @@ +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..94c4267e --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2After.java @@ -0,0 +1,92 @@ +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 org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +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("deptCenterFlag")) { + 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", null); + delegateTask.setVariable("count",null); + } + } + //截止时间 流程描述 创建人 + 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 (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/ProcessStep2Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2Before.java new file mode 100644 index 00000000..60ff5ea2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep2Before.java @@ -0,0 +1,36 @@ +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..db1c2325 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3After.java @@ -0,0 +1,84 @@ +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 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", null); + delegateTask.setVariable("count",null); + } + + //截止时间 流程描述 创建人 + 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 (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..ec5839e3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep3Before.java @@ -0,0 +1,36 @@ +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..827c8279 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java @@ -0,0 +1,92 @@ +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 org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +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 + List nextUserList = new ArrayList(); + String prcName = ""; + //根据意见选择 企标状态并对企标信息进行修改 bzfgId + if ("0".equals(object.getString("bzfgbzFlag"))){ + prcName = "企标制修订计划-流程结束"; + delegateTask.setVariable("bzfgbzFlag",0); + }else { + prcName="企标制修订计划整改"; + delegateTask.setVariable("bzfgbzFlag",1); + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("createUser",delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("deptCenterFlag", null); + delegateTask.setVariable("count",null); + } + + //截止时间 流程描述 创建人 + 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 (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/ProcessStep4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4Before.java new file mode 100644 index 00000000..f1721435 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4Before.java @@ -0,0 +1,36 @@ +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..3ba7948b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep5After.java @@ -0,0 +1,82 @@ +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 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 = ""; + //根据意见选择 企标状态并对企标信息进行修改 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); + 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); + } + }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..8d7c8343 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep5Before.java @@ -0,0 +1,36 @@ +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/ProcessstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartAfter.java new file mode 100644 index 00000000..20843ed3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartAfter.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.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +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 deptCenterId + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("dockUser")); + delegateTask.setVariable("topmanagerId",object.getString("dockUser")); + + //存储后续需要的人员 + delegateTask.setVariable("Step1",object.getString("countersigner")); + delegateTask.setVariable("Step2",object.getString("examine")); + delegateTask.setVariable("Step3",object.getString("approver")); + + //截止时间 流程描述 创建人 + 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("25"); + 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/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java new file mode 100644 index 00000000..f16c7ddc --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessstartBefore.java @@ -0,0 +1,13 @@ +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/lawsLibrary/LCLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantAfter.java new file mode 100644 index 00000000..afed8254 --- /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 object = 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); + JSONObject object = JSONObject.parseObject(one.getMesg()); + List nextUserList = new ArrayList(); + + 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.setId(one.getId()); + 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/lawsLibrary/LCLApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.java new file mode 100644 index 00000000..c8af4d69 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LCLApplicantBefore.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 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"); + 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/LawsManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java index 1da03b91..6d9e8ec5 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveAfter.java @@ -32,7 +32,7 @@ public class LawsManagerApproveAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); - + String prcName = "政策入库流程"; if ("1".equalsIgnoreCase(approvalOpinion)) { delegateTask.setVariable("applyUserId", object.getString("applyUpdUserId")); @@ -44,7 +44,7 @@ public class LawsManagerApproveAfter implements TaskListener { busProcessNew.setFinishFlag("0"); busProcessNew.setTaskInfo(delegateTask.getName()); busProcessNew.setUserId(object.getString("applyUpdUserId")); - busProcessNew.setPrcName(delegateTask.getVariable("prcs",String.class)); + busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); func1(delegateTask, busBean, object, "1"); 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 index d019a55a..e845d073 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/lawsLibrary/LawsManagerApproveBefore.java @@ -30,7 +30,7 @@ public class LawsManagerApproveBefore implements TaskListener{ one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 - one1.setLink("bzrkStep2?prcType=1"); + one1.setLink("zcrkStep2?prcType=laws1"); 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 index 9f8fa453..ea7e09be 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DistributionAfter.java @@ -16,10 +16,8 @@ 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; +import java.util.*; + /** * 任务下发 */ @@ -38,16 +36,30 @@ public class DistributionAfter implements TaskListener { 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.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"); @@ -81,10 +93,14 @@ public class DistributionAfter implements TaskListener { 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(object.toJSONString()); + busProcessNewNext.setMesg(repositoryObject.toJSONString()); busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); 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 index dd57a56e..96f93b90 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/DockerReviewAfter.java @@ -56,7 +56,7 @@ public class DockerReviewAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程-法规工程师修订征求意见"; + String prcName = "政策征求意见流程-法规工程师单条审核"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); 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 index 010ee93c..331be057 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerReviewAfter.java @@ -1,5 +1,6 @@ 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; @@ -14,10 +15,7 @@ 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; +import java.util.*; /** * 工程师审核 @@ -38,10 +36,19 @@ public class EngineerReviewAfter implements TaskListener { List nextUserList = new ArrayList(); - if ("0".equals(object.getString("actionFlag"))){ - String lawsProveEngineer = JSONObject.parseObject(object.getString("form")).getString("lawsProveEngineerId"); + if ("0".equals( object.getString("actionFlag"))){ + JSONObject form = JSONObject.parseObject(object.getString("form")); + String lawsProveEngineer = JSONObject.parseObject(form.getString("form")).getString("lawsProveEngineerId"); if(StringUtils.isNotBlank(lawsProveEngineer)){ + JSONArray commentCollectionList =delegateTask.getVariable("commentCollectionList", JSONArray.class); + if (commentCollectionList==null) { + commentCollectionList=new JSONArray(); + } + commentCollectionList.addAll(object.getJSONArray("info")); + delegateTask.setVariable("commentCollectionList",commentCollectionList); + + delegateTask.setVariable("lawsProveEngineerId2",lawsProveEngineer); delegateTask.setVariable("lawsProveEngineerVerify",0); @@ -59,7 +66,7 @@ public class EngineerReviewAfter implements TaskListener { String username = object.getString("prcCreateUserName"); // object.getString("standName") String standName = ""; - String prcName = "政策征求意见流程-法规工程师修订"; + String prcName = "政策征求意见流程-法规工程师汇总修订"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); @@ -72,17 +79,30 @@ public class EngineerReviewAfter implements TaskListener { 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); + + /** + * 当子任务结束时存储 + */ + 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(commentCount>=commentUserList.size()){ + // 存储当前节点意见 + 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){ 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 index ff0055cd..768b0e5c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionAfter.java @@ -38,8 +38,8 @@ public class EngineerRevisionAfter implements TaskListener { List nextUserList = new ArrayList(); - - String lawsProveMinister = JSONObject.parseObject(object.getString("form")).getString("lawsProveMinisterId"); + JSONObject form = JSONObject.parseObject(object.getString("form")); + String lawsProveMinister = JSONObject.parseObject(form.getString("form")).getString("lawsProveMinisterId"); if(StringUtils.isNotBlank(lawsProveMinister)){ delegateTask.setVariable("lawsProveMinisterId",lawsProveMinister); 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 index d1543447..c0b22a0a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/EngineerRevisionBefore.java @@ -1,5 +1,8 @@ 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; @@ -27,6 +30,17 @@ public class EngineerRevisionBefore implements TaskListener { 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"); 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 index 78676eed..c774bc6a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/FillCommentAfter.java @@ -1,5 +1,7 @@ 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; @@ -39,6 +41,8 @@ public class FillCommentAfter implements TaskListener { List nextUserList = new ArrayList(); if(StringUtils.isNotBlank(responseDocker)){ + + delegateTask.setVariable("responseDockerId",responseDocker); nextUserList= Arrays.asList(responseDocker.split(",")); delegateTask.addCandidateUsers(nextUserList); 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 index 5a3cf765..36345396 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/MinisterReviewAfter.java @@ -38,7 +38,9 @@ public class MinisterReviewAfter implements TaskListener { List nextUserList = new ArrayList(); if ("0".equals(object.getString("actionFlag"))){ - String lawsProveViceChief = JSONObject.parseObject(object.getString("form")).getString("lawsProveViceChiefId"); + + JSONObject form = JSONObject.parseObject(object.getString("form")); + String lawsProveViceChief = JSONObject.parseObject(form.getString("form")).getString("lawsProveViceChiefId"); if(StringUtils.isNotBlank(lawsProveViceChief)){ delegateTask.setVariable("lawsProveMinisterVerify",0); 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 index f443591e..ffd0a1ba 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyCommentProcess/ViceDirectorAfter.java @@ -38,7 +38,10 @@ public class ViceDirectorAfter implements TaskListener { List nextUserList = new ArrayList(); if ("0".equals(object.getString("actionFlag"))){ - String lawsProveChief = JSONObject.parseObject(object.getString("form")).getString("lawsProveChiefId"); + + + JSONObject form = JSONObject.parseObject(object.getString("form")); + String lawsProveChief = JSONObject.parseObject(form.getString("form")).getString("lawsProveChiefId"); if(StringUtils.isNotBlank(lawsProveChief)){ delegateTask.setVariable("lawsProveViceChiefVerify",0); 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 index 55f10b37..5d26b627 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonAfter.java @@ -83,7 +83,6 @@ public class PEPffresPersonAfter implements TaskListener { } } //截止时间 流程描述 创建人 - 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); @@ -91,7 +90,6 @@ public class PEPffresPersonAfter implements TaskListener { 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); 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 index 5bb2ab87..3c67a913 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPstartAfter.java @@ -53,7 +53,6 @@ public class PEPstartAfter implements TaskListener { delegateTask.setVariable("certifiedEngineerName",object.getString("certifiedEngineerName")); delegateTask.setVariable("qualityEngineerName",object.getString("qualityEngineerName")); //截止时间 流程描述 创建人 - 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); @@ -64,7 +63,6 @@ public class PEPstartAfter implements TaskListener { 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); @@ -72,16 +70,6 @@ public class PEPstartAfter implements TaskListener { 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.setFinishFlag("0"); -// busProcessNew.setTaskInfo(delegateTask.getName()); -// busBean.saveOrUpdate(busProcessNew); if (nextUserList != null && !nextUserList.isEmpty()) { for (String nextUser : nextUserList) { 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 index d2e10da8..24c4aa3d 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueAfter.java @@ -75,7 +75,6 @@ public class PEPtaskLssueAfter implements TaskListener { delegateTask.getVariable("workPeoples", List.class).addAll(workPeoples); } //截止时间 流程描述 创建人 - 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)+"-标准项目合规评估-合规性评估"; @@ -83,7 +82,6 @@ public class PEPtaskLssueAfter implements TaskListener { 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); 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 index 3804f42c..a961463e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayAfter.java @@ -82,6 +82,7 @@ public class DeptApplayAfter implements TaskListener{ standard.setSpecificItem(os.getString("itemsNum")); standard.setStandNumber(object.getString("itemsNum")); standard.setInterpretationTime(delegateTask.getCreateTime()); + standard.setRiskDegree("0"); standards.add(standard); }); 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 index bcb6ebac..67958b60 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java @@ -49,9 +49,11 @@ public class ResolveAfter implements TaskListener{ } // 配置多实例 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); 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 f2c9bf4e..ab75f860 100644 --- a/src/main/resources/mapper/datas/BusProcessNewMapper.xml +++ b/src/main/resources/mapper/datas/BusProcessNewMapper.xml @@ -34,6 +34,11 @@ WHERE bpn.P_ID = #{pId} and aht.TASK_DEF_KEY_ = #{key} + +