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..d1fed25b 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 @@ -44,10 +44,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.tmsps.fk.common.base.action.BaseAction; import com.tmsps.fk.common.util.ChkUtil; @@ -190,6 +187,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 +234,7 @@ public class TodoTaskController extends BaseAction { List list1 = iBusProcessNewService.list(queryWrapper1); if (list1.size() > 0) { for (BusProcessNew busProcessNew : list1) { + webServiceOAService.deleteOAByTaskIdResetTodo(busProcessNew,assignee); busProcessNew.setUserId(assignee); iBusProcessNewService.saveOrUpdate(busProcessNew); } @@ -240,86 +252,86 @@ public class TodoTaskController extends BaseAction { } //发送邮件 - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PRC_ID", pId); - BusProcessName name = iBusProcessNameService.getOne(queryWrapper); - String type = name.getPrcType(); - Integer typeInt = 99; - if (StringUtils.isNotEmpty(type)){ - typeInt = Integer.valueOf(type); - } - switch (typeInt){ - case 1: - type = "法规入库及评估流程"; - break; - case 2: - type = "标准法规技术储备评估流程"; - break; - case 3: - type = "项目评估流程"; - break; - case 4: - type = "企标制修订流程"; - break; - case 5: - type = "未符合项跟踪流程"; - break; - case 6: - type = "企标制修订申请流程"; - break; - case 7: - type = "企标废止流程"; - break; - case 8: - type = "企标延期制修订申请流程"; - break; - case 9: - type = "标准采购流程"; - break; - case 10: - type = "工作组会前申请流程"; - break; - case 11: - type = "企标制修订评估流程"; - break; - case 12: - type = "企标勘误流程"; - break; - case 13: - type = "行政管理要求评估流程"; - break; - case 14: - type = "政策入库及评估流程"; - break; - case 15: - type = "标准翻译申请流程"; - break; - case 16: - type = "工作组会后管理流程"; - break; - case 17: - type = "企标备案流程"; - break; - case 18: - type = "标准法规清单发布/更新流程"; - break; - case 19: - type = "企标复审流程"; - break; - default: - break; - } - ResponseMessage userVOResponseMessage = lawsUserInfoService.getById(userId); - UserVO userVO = userVOResponseMessage.getData(); - String userName = ""; - if (null != userVO) { - userName = userVO.getUname(); - } - String content = "您好,"+name.getPrcNum()+"-"+ name.getPrcName() +" "+ userName +"委托您处理待办任务 ,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter )。\n" + - " ——来自 全球标准法规管理系统"; - lawsUserInfoService.sendEmail(userId,content,"GSRM——【待办任务】["+type+"]有您的待办任务"); - - logger.info("task {} find " + taskId); +// QueryWrapper queryWrapper = new QueryWrapper(); +// queryWrapper.eq("PRC_ID", pId); +// BusProcessName name = iBusProcessNameService.getOne(queryWrapper); +// String type = name.getPrcType(); +// Integer typeInt = 99; +// if (StringUtils.isNotEmpty(type)){ +// typeInt = Integer.valueOf(type); +// } +// switch (typeInt){ +// case 1: +// type = "法规入库及评估流程"; +// break; +// case 2: +// type = "标准法规技术储备评估流程"; +// break; +// case 3: +// type = "项目评估流程"; +// break; +// case 4: +// type = "企标制修订流程"; +// break; +// case 5: +// type = "未符合项跟踪流程"; +// break; +// case 6: +// type = "企标制修订申请流程"; +// break; +// case 7: +// type = "企标废止流程"; +// break; +// case 8: +// type = "企标延期制修订申请流程"; +// break; +// case 9: +// type = "标准采购流程"; +// break; +// case 10: +// type = "工作组会前申请流程"; +// break; +// case 11: +// type = "企标制修订评估流程"; +// break; +// case 12: +// type = "企标勘误流程"; +// break; +// case 13: +// type = "行政管理要求评估流程"; +// break; +// case 14: +// type = "政策入库及评估流程"; +// break; +// case 15: +// type = "标准翻译申请流程"; +// break; +// case 16: +// type = "工作组会后管理流程"; +// break; +// case 17: +// type = "企标备案流程"; +// break; +// case 18: +// type = "标准法规清单发布/更新流程"; +// break; +// case 19: +// type = "企标复审流程"; +// break; +// default: +// break; +// } +// ResponseMessage userVOResponseMessage = lawsUserInfoService.getById(userId); +// UserVO userVO = userVOResponseMessage.getData(); +// String userName = ""; +// if (null != userVO) { +// userName = userVO.getUname(); +// } +// String content = "您好,"+name.getPrcNum()+"-"+ name.getPrcName() +" "+ userName +"委托您处理待办任务 ,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter )。\n" + +// " ——来自 全球标准法规管理系统"; +// lawsUserInfoService.sendEmail(userId,content,"GSRM——【待办任务】["+type+"]有您的待办任务"); +// +// logger.info("task {} find " + taskId); return WrapMapper.ok("改派成功"); } @@ -1964,10 +1976,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 +2099,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 +2302,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); @@ -2499,6 +2518,19 @@ public class TodoTaskController extends BaseAction { } + @ApiOperation(value = "删除草稿") + @PostMapping("/delCG") + public String delCG(@RequestParam("id") String id) { + List strings=new ArrayList<>(); + if (id.contains(",")){ + strings.addAll(new ArrayList<>(Arrays.asList(id.split(",")))); + }else { + strings.add(id); + } + return iBusProcessNameService.delDB(strings); + } + + // @ApiOperation(value = "查询流程信息", notes = "根据流程流程编号查询名称等信息") // @ApiImplicitParams({@ApiImplicitParam(name = "prcNum", value = "流程编号")}) // @PostMapping("/findProcessNameByPrcNum") diff --git a/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java b/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java index 448331d1..c49ec118 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_auth/LawsUserInfoService.java @@ -128,4 +128,35 @@ public interface LawsUserInfoService { @PostMapping("/sapMeetInfo/addMeeting") public int addMeeting(@RequestBody SapMeeting sapMeeting); + @GetMapping("/sapMeetInfo/getMeetingsByMonth") + public List getMeetingsByMonth(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date); + + @GetMapping("/sapMeetInfo/getMeetingsByMonthType") + public List getMeetingsByMonthType(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@RequestParam("type") int type); + + @GetMapping("/sapMeetInfo/getMeetingsByDate") + public List getMeetingsByDate(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@RequestParam("type") int type); + + @GetMapping("/sapMeetInfo/getOneById") + public SapMeeting getOneById(@RequestParam("id") String id); + + @PostMapping("/sapMeetInfo/getDateMeeting") + public int getDateMeeting(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,@RequestParam("id") String id,@RequestParam("type") int type); + + @PostMapping("/esRevisePlan/es-revise-plan/modPlanByWk") + public ResponseMessage modPlan(@RequestBody EsRevisePlanDTO esRevisePlan); + + @PostMapping("/esRevisePlan/es-revise-plan/addPlanByWk") + public ResponseMessage addPlan(@RequestBody EsRevisePlanDTO esRevisePlan); + + @GetMapping("/esRevisePlan/es-revise-plan/delPlanByWk") + public ResponseMessage delPlan(@RequestParam("id") String id); + + + @GetMapping("/lawss/sarBussionessStand/updateSarBussionessStand") + public ResponseMessage updateSarBussionessStand(@RequestBody SarBussionessStand sarBussionessStandEO); + + + + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandUnqualified.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandUnqualified.java index bae35d09..7d19fd9e 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandUnqualified.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandUnqualified.java @@ -28,6 +28,9 @@ public class SarStandUnqualified { private static final long serialVersionUID = 1L; + @ApiModelProperty(value = "产品线编号") + private String productId; + @ApiModelProperty(value = "标准ID") private String standId; diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandardComplianceProductAssess.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandardComplianceProductAssess.java index 2b2c9488..adc70651 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandardComplianceProductAssess.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarStandardComplianceProductAssess.java @@ -117,5 +117,17 @@ public class SarStandardComplianceProductAssess { @TableField("type") private String type; + @ApiModelProperty(value = "评估时间") + @TableField("evaluation_time") + private String evaluationTime; + + @ApiModelProperty(value = "评估人") + @TableField("evaluation_people") + private String evaluationPeople; + + @ApiModelProperty(value = "评估人") + @TableField("evaluation_people_name") + private String evaluationPeopleName; + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java new file mode 100644 index 00000000..f2eccd01 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/EsRevisePlanDTO.java @@ -0,0 +1,71 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + *

+ * 企标制修订计划 + *

+ * + * @author zcr + * @since 2021-11-14 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="EsRevisePlan对象", description="企标制修订计划") +public class EsRevisePlanDTO { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "企标名称") + private String esName; + + @ApiModelProperty(value = "计划状态") + private String planStatus; + + @ApiModelProperty(value = "制修订状态") + private String reviseStatus; + + @ApiModelProperty(value = "起草人") + private String drafter; + + @ApiModelProperty(value = "评审责任人") + private String resPerson; + + @ApiModelProperty(value = "工作组组长") + private String wgLeader; + + + @ApiModelProperty(value = "起草人姓名") + private String drafterName; + + @ApiModelProperty(value = "评审责任人姓名") + private String resPersonName; + + @ApiModelProperty(value = "工作组组长姓名") + private String wgLeaderName; + + @ApiModelProperty(value = "计划标准初稿完成时间") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date draftTime; + + @ApiModelProperty(value = "计划标准发布时间") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date releaseTime; + + @ApiModelProperty(value = "起草责任单位") + private String unit; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SarBussionessStand.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SarBussionessStand.java new file mode 100644 index 00000000..53aa397c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SarBussionessStand.java @@ -0,0 +1,528 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.*; + +/** + *

+ * 企业标准信息表 + *

+ * + * @author super_liu + * @since 2021-07-13 + */ +@Data +@Accessors(chain = true) +@ApiModel(value="SarBussionessStand对象", description="企业标准信息表") +public class SarBussionessStand { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "企标标准号") + @TableField("STAND_CODE") + private String standCode; + + @ApiModelProperty(value = "标准编号") + @TableField("STAND_NUMBER") + private String standNumber; + + @ApiModelProperty(value = "标准名称") + @TableField("STAND_NAME") + private String standName; + + @ApiModelProperty(value = "标准英文名称") + @TableField("STAND_EN_NAME") + private String standEnName; + + @ApiModelProperty(value = "发布日期") + @TableField("ISSUE_TIME") + private String issueTime; + + @ApiModelProperty(value = "实施日期") + @TableField("PUT_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String putTime; + + @ApiModelProperty(value = "代替标准号") + @TableField("REPLACE_STAND_NUM") + private String replaceStandNum; + + @ApiModelProperty(value = "被代替标准号") + @TableField("REPLACED_STAND_NUM") + private String replacedStandNum; + + @ApiModelProperty(value = "标准状态") + @TableField("STAND_STATUS") + private String standStatus; + + @ApiModelProperty(value = "适用国家/地区") + @TableField("APPLY_COUNTRY") + private String applyCountry; + + @ApiModelProperty(value = "标准性质") + @TableField("STAND_NATURE") + private String standNature; + + @ApiModelProperty(value = "标准类别") + @TableField("STAND_SORT") + private String standSort; + + @ApiModelProperty(value = "标准年份") + @TableField("STAND_YEAR") + private String standYear; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + // 新添加字段 + @ApiModelProperty(value = "文本状态") + @TableField("TEXT_STATUS_BUSS") + private String textStatusBuss; + + + // 非表字段 + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String firstPutTime; + + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String putTimeShow; + + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String issueTimeShow; + + @TableField(exist = false) + private String issueTimeStr; + + @TableField(exist = false) + private String putTimeStr; + + //目录ID 非标准信息表中的字段 + @TableField(exist = false) + private String menuId; + + @TableField(exist = false) + private String menuParentId; + + @TableField(exist = false) + private String standStatusShow; // 标准状态下拉框 --单选 + + @TableField(exist = false) + private String standNatrueShow; + + @TableField(exist = false) + private String standSortShow; + + @TableField(exist = false) + private String applyCountryShow; + + @TableField(exist = false) + private List standFileList = new ArrayList(); + + @TableField(exist = false) + private List opinionFilesList = new ArrayList(); + + @TableField(exist = false) + private List relevanceFileList = new ArrayList(); + + @TableField(exist = false) + private String collectId; + + //文件的类型 + @TableField(exist = false) + private String standFileClassify; + + //文件的下载id + @TableField(exist = false) + private String attId; + + //记录是否修改了替代文件号 + @TableField(exist = false) + private int upReplaceNumFlag; + //记录是否修改了文件号 + @TableField(exist = false) + private int upNumFlag; + // 数据库新加的字段 + + @TableField(exist = false) + private String remark;//备注 + + @TableField(exist = false) + private Map attrInfoMap = new LinkedHashMap<>(); //属性表字段与值 + + @TableField(exist = false) + private Map attrInfoCaseMap = new LinkedHashMap<>(); //属性表字段与值小写前端带入渲染 + + @TableField(exist = false) + private String sarStandAttrEOStr; //新增修改时属性表信息 + + @TableField(exist = false) + private String fileIds; //全部文件ID + + @TableField(exist = false) + private List attrInfoList = new ArrayList<>(); + + public static long getSerialVersionUID() { + return serialVersionUID; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getStandCode() { + return standCode; + } + + public void setStandCode(String standCode) { + this.standCode = standCode; + } + + public String getStandName() { + return standName; + } + + public void setStandName(String standName) { + this.standName = standName; + } + + public String getStandEnName() { + return standEnName; + } + + public void setStandEnName(String standEnName) { + this.standEnName = standEnName; + } + + public String getIssueTime() { + return issueTime; + } + + public void setIssueTime(String issueTime) { + this.issueTime = issueTime; + } + + public String getPutTime() { + return putTime; + } + + public void setPutTime(String putTime) { + this.putTime = putTime; + } + + public String getReplaceStandNum() { + return replaceStandNum; + } + + public void setReplaceStandNum(String replaceStandNum) { + this.replaceStandNum = replaceStandNum; + } + + public String getReplacedStandNum() { + return replacedStandNum; + } + + public void setReplacedStandNum(String replacedStandNum) { + this.replacedStandNum = replacedStandNum; + } + + public String getStandStatus() { + return standStatus; + } + + public void setStandStatus(String standStatus) { + this.standStatus = standStatus; + } + + public String getApplyCountry() { + return applyCountry; + } + + public void setApplyCountry(String applyCountry) { + this.applyCountry = applyCountry; + } + + public String getStandNature() { + return standNature; + } + + public void setStandNature(String standNature) { + this.standNature = standNature; + } + + public String getStandSort() { + return standSort; + } + + public void setStandSort(String standSort) { + this.standSort = standSort; + } + + public String getStandYear() { + return standYear; + } + + public void setStandYear(String standYear) { + this.standYear = standYear; + } + + public Integer getValidFlag() { + return validFlag; + } + + public void setValidFlag(Integer validFlag) { + this.validFlag = validFlag; + } + + public Date getCreationTime() { + return creationTime; + } + + public void setCreationTime(Date creationTime) { + this.creationTime = creationTime; + } + + public Date getModifyTime() { + return modifyTime; + } + + public void setModifyTime(Date modifyTime) { + this.modifyTime = modifyTime; + } + + public String getTextStatusBuss() { + return textStatusBuss; + } + + public void setTextStatusBuss(String textStatusBuss) { + this.textStatusBuss = textStatusBuss; + } + + public String getFirstPutTime() { + return firstPutTime; + } + + public void setFirstPutTime(String firstPutTime) { + this.firstPutTime = firstPutTime; + } + + public String getPutTimeShow() { + return putTimeShow; + } + + public void setPutTimeShow(String putTimeShow) { + this.putTimeShow = putTimeShow; + } + + public String getIssueTimeShow() { + return issueTimeShow; + } + + public void setIssueTimeShow(String issueTimeShow) { + this.issueTimeShow = issueTimeShow; + } + + public String getIssueTimeStr() { + return issueTimeStr; + } + + public void setIssueTimeStr(String issueTimeStr) { + this.issueTimeStr = issueTimeStr; + } + + public String getPutTimeStr() { + return putTimeStr; + } + + public void setPutTimeStr(String putTimeStr) { + this.putTimeStr = putTimeStr; + } + + public String getMenuId() { + return menuId; + } + + public void setMenuId(String menuId) { + this.menuId = menuId; + } + + public String getMenuParentId() { + return menuParentId; + } + + public void setMenuParentId(String menuParentId) { + this.menuParentId = menuParentId; + } + + public String getStandStatusShow() { + return standStatusShow; + } + + public void setStandStatusShow(String standStatusShow) { + this.standStatusShow = standStatusShow; + } + + public String getStandNatrueShow() { + return standNatrueShow; + } + + public void setStandNatrueShow(String standNatrueShow) { + this.standNatrueShow = standNatrueShow; + } + + public String getStandSortShow() { + return standSortShow; + } + + public void setStandSortShow(String standSortShow) { + this.standSortShow = standSortShow; + } + + public String getApplyCountryShow() { + return applyCountryShow; + } + + public void setApplyCountryShow(String applyCountryShow) { + this.applyCountryShow = applyCountryShow; + } + + public List getStandFileList() { + return standFileList; + } + + public void setStandFileList(List standFileList) { + this.standFileList = standFileList; + } + + public List getOpinionFilesList() { + return opinionFilesList; + } + + public void setOpinionFilesList(List opinionFilesList) { + this.opinionFilesList = opinionFilesList; + } + + public List getRelevanceFileList() { + return relevanceFileList; + } + + public void setRelevanceFileList(List relevanceFileList) { + this.relevanceFileList = relevanceFileList; + } + + public String getCollectId() { + return collectId; + } + + public void setCollectId(String collectId) { + this.collectId = collectId; + } + + public String getStandFileClassify() { + return standFileClassify; + } + + public void setStandFileClassify(String standFileClassify) { + this.standFileClassify = standFileClassify; + } + + public String getAttId() { + return attId; + } + + public void setAttId(String attId) { + this.attId = attId; + } + + public int getUpReplaceNumFlag() { + return upReplaceNumFlag; + } + + public void setUpReplaceNumFlag(int upReplaceNumFlag) { + this.upReplaceNumFlag = upReplaceNumFlag; + } + + public int getUpNumFlag() { + return upNumFlag; + } + + public void setUpNumFlag(int upNumFlag) { + this.upNumFlag = upNumFlag; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public Map getAttrInfoMap() { + return attrInfoMap; + } + + public void setAttrInfoMap(Map attrInfoMap) { + this.attrInfoMap = attrInfoMap; + } + + public Map getAttrInfoCaseMap() { + return attrInfoCaseMap; + } + + public void setAttrInfoCaseMap(Map attrInfoCaseMap) { + this.attrInfoCaseMap = attrInfoCaseMap; + } + + public String getSarStandAttrEOStr() { + return sarStandAttrEOStr; + } + + public void setSarStandAttrEOStr(String sarStandAttrEOStr) { + this.sarStandAttrEOStr = sarStandAttrEOStr; + } + + public String getFileIds() { + return fileIds; + } + + public void setFileIds(String fileIds) { + this.fileIds = fileIds; + } + + public List getAttrInfoList() { + return attrInfoList; + } + + public void setAttrInfoList(List attrInfoList) { + this.attrInfoList = attrInfoList; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/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 250e500a..d2cd2539 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(); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNameService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNameService.java index ef1a600f..4f4d534e 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNameService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNameService.java @@ -1,5 +1,6 @@ package com.ydw.bat.wkflow.business_main.datas.service; +import com.ydw.bat.wkflow.business_activiti.dto.TaskCommonQuery; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.beans.factory.annotation.Autowired; @@ -17,4 +18,10 @@ import java.util.List; public interface IBusProcessNameService extends IService { List findBusProcessNameForEnd(String prcNum); + + //新查询代办接口 初步测试中 + List todoTask(TaskCommonQuery taskCommonQuery); + + + String delDB(List id); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IBusProcessNewService.java index c699cf84..9a8a641d 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..ec1737e9 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNameServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNameServiceImpl.java @@ -1,5 +1,6 @@ package com.ydw.bat.wkflow.business_main.datas.service.impl; +import com.ydw.bat.wkflow.business_activiti.dto.TaskCommonQuery; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.ydw.bat.wkflow.business_main.datas.mapper.BusProcessNameMapper; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; @@ -28,4 +29,18 @@ public class BusProcessNameServiceImpl extends ServiceImpl todoTask(TaskCommonQuery taskCommonQuery) { + return busProcessNameMapper.todoTask(taskCommonQuery); + } + + @Override + public String delDB(List id) { + if (busProcessNameMapper.deleteBatchIds(id)>0) { + return "success"; + }else { + return "error"; + } + } + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/BusProcessNewServiceImpl.java index 85e6da57..6cfec6b9 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..c1361067 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 @@ -82,8 +82,12 @@ public class SarInterpretationNationalStandard { @ApiModelProperty(value = "评估时间") @TableField("INTERPRETATION_TIME") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") 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/PCAComplianceAssessmentAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java index 86eb7402..93773ca4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentAfter.java @@ -19,6 +19,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.UUID; public class PCAComplianceAssessmentAfter implements TaskListener { @@ -41,8 +42,33 @@ public class PCAComplianceAssessmentAfter implements TaskListener { List nextUserList=new ArrayList<>(); JSONArray jsonArray=JSONArray.parseArray(object.getString("dataList")); JSONObject jsonObject=JSONObject.parseObject(jsonArray.get(0).toString()); - nextUserList.add(jsonObject.getString("liablePeopleId")); - delegateTask.setVariable("ffUserId",jsonObject.getString("liablePeopleId")); + //新去除数据之后的结果 + JSONArray newRes=new JSONArray(); + for (Object json:jsonArray) { + JSONObject jsonObject1=JSONObject.parseObject(json.toString()); + JSONArray remove=new JSONArray(); + for (Object os:jsonObject1.getJSONArray("children")) { + JSONObject jsonObject2=JSONObject.parseObject(os.toString()); + if ("".equals(jsonObject2.get("complianceReasons"))&&"".equals(jsonObject2.get("noCompliance")) + && "".equals(jsonObject2.get("countermeasures")) && null==jsonObject2.get("completionTime")){ + remove.add(jsonObject2); + } + } + jsonObject1.getJSONArray("children").removeAll(remove); + if (jsonObject1.getJSONArray("children").size()==0 && "".equals(jsonObject1.get("complianceReasons"))&&"".equals(jsonObject1.get("noCompliance")) + && "".equals(jsonObject1.get("countermeasures")) && null==jsonObject1.get("completionTime")){ + + }else { + newRes.add(jsonObject1); + } + } + String uuid= String.valueOf(UUID.randomUUID()); + delegateTask.setVariable(uuid,jsonArray); + object.put("dataList",newRes); + object.put("key",uuid); + JSONObject res=JSONObject.parseObject(jsonArray.get(0).toString()); + nextUserList.add(res.getString("liablePeopleId")); + delegateTask.setVariable("ffUserId",res.getString("liablePeopleId")); //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String user = delegateTask.getVariable("prcCreateUser",String.class); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java index 7f261fa7..37a1c914 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbafgManagerApproveAfter.java @@ -4,6 +4,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.tmsps.fk.common.util.JsonUtil; +import com.ydw.bat.wkflow.business_main.datas.dto.DataList; import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAtotal; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; @@ -53,6 +54,7 @@ public class PCAbafgManagerApproveAfter implements TaskListener { delegateTask.setVariable("pass", "1"); } } else { + object.put("dataList",delegateTask.getVariable(object.getString("key"))); nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); delegateTask.setVariable("bzFlag", "2"); } @@ -101,8 +103,10 @@ public class PCAbafgManagerApproveAfter implements TaskListener { busProcessNewNext.setMesg(object.toJSONString()); busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskId("996"); busProcessNewNext.setTaskInfo(delegateTask.getName()); busProcessNewNext.setUserId(userId); + busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveAfter.java index 9e7d6f6b..fd5cc25f 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 @@ -55,7 +55,7 @@ public class PCAdlApproveAfter implements TaskListener { List standUnqualifieds = new ArrayList<>(); //评估结果存储集合 List sarStandardComplianceProductAssesses = new ArrayList<>(); - + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); res.getDataList().forEach(pcAdataList -> { //标准一级别 if (null != pcAdataList.getNoCompliance()) { @@ -68,12 +68,12 @@ 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()); sarStandUnqualified.setPlanCloseTime(pcAdataList.getCompletionTime()); sarStandUnqualified.setProductLine(delegateTask.getVariable("productLines",String.class)); + sarStandUnqualified.setProductId(delegateTask.getVariable("stId",String.class)); standUnqualifieds.add(sarStandUnqualified); } @@ -92,6 +92,7 @@ public class PCAdlApproveAfter implements TaskListener { sarStandUnqualified.setReason(pcAdataList.getZcNoCompliance()); sarStandUnqualified.setProductType("product"); sarStandUnqualified.setPlanCloseTime(pcAdataList.getZcCompletionTime()); + sarStandUnqualified.setProductId(delegateTask.getVariable("stId",String.class)); standUnqualifieds.add(sarStandUnqualified); } @@ -120,8 +121,9 @@ public class PCAdlApproveAfter implements TaskListener { sarStandard.setResearchImplementationTime(pcAdataList.getXcxssrqgj()); sarStandard.setClauseName(pcAdataList.getItemsName()); sarStandard.setStandardItem(pcAdataList.getItemNum()); - - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + sarStandard.setEvaluationTime(simpleDateFormat.format(new Date())); + sarStandard.setEvaluationPeopleName(pcAdataList.getWorkPeople()); + sarStandard.setEvaluationPeople(pcAdataList.getWorkPeople()); sarStandard.setResearchImplementationTime(pcAdataList.getXcxssrqgj()); // simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("XCXSSRQ"))) sarStandard.setProductionImplementationTime(pcAdataList.getZccssrqgj()); @@ -146,6 +148,7 @@ public class PCAdlApproveAfter implements TaskListener { sarStandUnqualified.setProductType("research"); sarStandUnqualified.setReason(pcAchildren.getNoCompliance()); sarStandUnqualified.setPlanCloseTime(pcAchildren.getCompletionTime()); + sarStandUnqualified.setProductId(delegateTask.getVariable("stId",String.class)); standUnqualifieds.add(sarStandUnqualified); } @@ -167,6 +170,7 @@ public class PCAdlApproveAfter implements TaskListener { sarStandUnqualified.setReason(pcAchildren.getZcNoCompliance()); sarStandUnqualified.setProductType("product"); sarStandUnqualified.setPlanCloseTime(pcAchildren.getZcCompletionTime()); + sarStandUnqualified.setProductId(delegateTask.getVariable("stId",String.class)); standUnqualifieds.add(sarStandUnqualified); } //合估评规 结果! @@ -192,6 +196,9 @@ public class PCAdlApproveAfter implements TaskListener { sarStandardChild.setProductionImplementationTime(pcAdataList.getZccssrqgj()); sarStandardChild.setClauseName(pcAchildren.getItemsName()); sarStandardChild.setStandardItem(pcAchildren.getItemsNum()); + sarStandardChild.setEvaluationTime(simpleDateFormat.format(new Date())); + sarStandardChild.setEvaluationPeopleName(pcAchildren.getWorkPeople()); + sarStandardChild.setEvaluationPeople(pcAchildren.getWorkPeople()); sarStandardComplianceProductAssesses.add(sarStandardChild); } }); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java index a5fd1ad4..fee4756e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveAfter.java @@ -1,8 +1,10 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.dto.DataList; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.Datas; @@ -42,6 +44,7 @@ public class PCAffLiableApproveAfter implements TaskListener { delegateTask.setVariable("JGManager", delegateTask.getVariable("JGUserId")); delegateTask.setVariable("ffFlag", "1"); }else { + object.put("dataList",delegateTask.getVariable(object.getString("key"))); nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); delegateTask.setVariable("ffFlag", "2"); } 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..f160367a 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 @@ -43,55 +43,120 @@ public class PCAffLiableDistributeAfter implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson", object); - PCAtotal pcAtotal=JSONObject.parseObject(datas.getFormValsJson(),PCAtotal.class); + PCAtotal pcAtotal = JSONObject.parseObject(datas.getFormValsJson(), PCAtotal.class); //后续节点所需要的数据 - List nextUserList=new ArrayList<>(); + List nextUserList = new ArrayList<>(); //猜测写代码 //准备标准数据 - Map mapData=new HashMap<>(); + Map map = new HashMap<>(); + + Map mapData = new HashMap<>(); pcAtotal.getDataList().forEach(pcAdataList -> { - List pcAchildren=new ArrayList<>(); + List pcAchildren = new ArrayList<>(); pcAdataList.setChildren(pcAchildren); - mapData.put(pcAdataList.getStandId(),pcAdataList); + mapData.put(pcAdataList.getStandId(), pcAdataList); }); - Map map=new HashMap<>(); - //获取被分发的条款 + + //获取被分发的条款----人员多选修改 pcAtotal.getChildren().forEach(o -> { - if (null!=map.get(o.getWorkPeopleId())){ - map.get(o.getWorkPeopleId()).getChildren().add(o); - int flag=0; - for (PCAdataList ps: map.get(o.getWorkPeopleId()).getDataList()) { - if (ps.getStandId().equals(mapData.get(o.getKey()).getStandId())){ - flag++; + if (null!=o && null != o.getWorkPeopleId()) { + List ids = new ArrayList(Arrays.asList(o.getWorkPeopleId().split(","))); + List names = new ArrayList(Arrays.asList(o.getWorkPeople().split(","))); + int i = 0; + for (String id : ids) { + //重组数据 + PCAchildren middle = new PCAchildren(); + BeanUtils.copyProperties(o, middle); + middle.setWorkPeopleId(id); + middle.setWorkPeople(names.get(i)); + if (null != map.get(id)) { + map.get(id).getChildren().add(middle); + int flag = 0; + for (PCAdataList ps : map.get(id).getDataList()) { + if (ps.getStandId().equals(mapData.get(middle.getKey()).getStandId())) { + ps.getChildren().add(middle); + flag++; + } + } + if (flag == 0) { + map.get(id).getDataList().add(mapData.get(middle.getKey())); + mapData.get(middle.getKey()).getChildren().add(middle); + } + } else { + PCAtotal pcs = new PCAtotal(); + BeanUtils.copyProperties(pcAtotal, pcs); + //建立空的子 为了后面遍历 + List list = new ArrayList<>(); + List list1 = new ArrayList<>(); + list.add(middle); + list1.add(middle); + pcs.setChildren(list); + List list2 = new ArrayList<>(); + PCAdataList adataLists = new PCAdataList(); + BeanUtils.copyProperties(mapData.get(middle.getKey()), adataLists); + adataLists.setWorkPeopleId(id); + adataLists.setWorkPeople(names.get(i)); + adataLists.setChildren(list1); + list2.add(adataLists); + pcs.setDataList(list2); + map.put(id, pcs); } + i++; + } + } + }); + mapData.keySet().forEach(s -> { + if (null != mapData.get(s).getWorkPeopleId()) { + List peos = new ArrayList<>(Arrays.asList(mapData.get(s).getWorkPeopleId().split(","))); + List names = new ArrayList<>(Arrays.asList(mapData.get(s).getWorkPeople().split(","))); + int count=0; + for (String i : peos) { + if (null==map.get(i)){ + PCAtotal pcs = new PCAtotal(); + BeanUtils.copyProperties(pcAtotal, pcs); + //建立空的子 为了后面遍历 + List list = new ArrayList<>(); + List list2 = new ArrayList<>(); + PCAdataList pcAdataList = new PCAdataList(); + BeanUtils.copyProperties(mapData.get(s),pcAdataList); + pcAdataList.setChildren(list); + pcAdataList.setWorkPeopleId(i); + pcAdataList.setWorkPeople(names.get(count)); + list2.add(pcAdataList); + pcs.setDataList(list2); + map.put(i,pcs); + }else { + boolean flag=true; + for (PCAdataList pc:map.get(i).getDataList()) { + if (pc.getStandId().equals(mapData.get(s).getStandId())){ + flag=false; + } + } + if (flag){ + List list = new ArrayList<>(); + PCAdataList pcAdataList = new PCAdataList(); + BeanUtils.copyProperties(mapData.get(s),pcAdataList); + pcAdataList.setChildren(list); + pcAdataList.setWorkPeopleId(i); + pcAdataList.setWorkPeople(names.get(count)); + map.get(i).getDataList().add(pcAdataList); + } + } + count++; } - }else { - PCAtotal pcs=new PCAtotal(); - BeanUtils.copyProperties(pcAtotal,pcs); - //建立空的子 为了后面遍历 - List list=new ArrayList<>(); - list.add(o); - pcs.setChildren(list); - List list2=new ArrayList<>(); - PCAdataList adataLists=new PCAdataList(); - BeanUtils.copyProperties(mapData.get(o.getKey()),adataLists); - adataLists.setChildren(list); - list2.add(adataLists); - pcs.setDataList(list2); - map.put(o.getWorkPeopleId(),pcs); } }); map.forEach((s, pcAtotal1) -> { - if (null!=s) { + if (null != s && !"".equals(s)) { nextUserList.add(s); } }); - delegateTask.setVariable("workPeoples",nextUserList); + delegateTask.setVariable("workPeoples", nextUserList); //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - String user = delegateTask.getVariable("prcCreateUser",String.class); - String username = delegateTask.getVariable("prcCreateUserName",String.class); - String prcName = delegateTask.getVariable("stId",String.class)+"-项目合规评估流程-合规性评估"; + String user = delegateTask.getVariable("prcCreateUser", String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = delegateTask.getVariable("stId", String.class) + "-项目合规评估流程-合规性评估"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); @@ -105,8 +170,8 @@ public class PCAffLiableDistributeAfter implements TaskListener { } // 存储当前节点意见 - if(nextUserList != null && !nextUserList.isEmpty()){ - for(String userId : nextUserList){ + if (nextUserList != null && !nextUserList.isEmpty()) { + for (String userId : nextUserList) { BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); @@ -119,5 +184,6 @@ public class PCAffLiableDistributeAfter implements TaskListener { busBean.save(busProcessNewNext); } } + } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java index 149e681e..4941983a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveAfter.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.dto.DataList; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.Datas; @@ -43,6 +44,7 @@ public class PCAgcManagerApproveAfter implements TaskListener { delegateTask.setVariable("bzManager", delegateTask.getVariable("bzfgl")); delegateTask.setVariable("gcFlag","1"); }else { + object.put("dataList",delegateTask.getVariable(object.getString("key"))); nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); delegateTask.setVariable("gcFlag", "2"); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java index 8c2f80f6..6352e441 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveAfter.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.dto.DataList; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.Datas; @@ -44,6 +45,7 @@ public class PCAjgManagerApproveAfter implements TaskListener { delegateTask.setVariable("gcManager", delegateTask.getVariable("gcjl")); delegateTask.setVariable("jgFlag","1"); }else { + object.put("dataList",delegateTask.getVariable(object.getString("key"))); nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); delegateTask.setVariable("jgFlag", "2"); } 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..afe97b04 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep2After.java @@ -0,0 +1,98 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ProcessStep2After implements TaskListener { + + //分发多个责任人 + @Override + public void notify(DelegateTask delegateTask) { + //默认流程数据接口 + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + if (null == delegateTask.getVariable("count")){ + delegateTask.setVariable("count",delegateTask.getVariable("workPeopleList",List.class).size()); + } + if (delegateTask.getVariable("count",Integer.class)==1){ + //对数据进行处理 现阶段是数据貌似是只需要人和意见就可以了!!!! + QueryWrapper wrapper=new QueryWrapper<>(); + wrapper.eq("TASK_ID","6969696969696969"); + wrapper.eq("P_ID",delegateTask.getProcessInstanceId()); + List busProcessNews = busBean.list(wrapper); + List stings=new ArrayList<>(); + stings.add(object.getString("presentPeople")+"-"+object.getString("reviewComments")); + busProcessNews.forEach(busProcessNew -> { + JSONObject object1=JSONObject.parseObject(busProcessNew.getMesg()); + stings.add(object1.getString("presentPeople")+"-"+object1.getString("reviewComments")); + }); + object.put("res", JSONArray.toJSON(stings.toString())); + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)-1); + }else { + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)-1); + } + nextUserList.add(delegateTask.getVariable("prcCreateUser",String.class)); + delegateTask.setVariable("qcId",delegateTask.getVariable("prcCreateUser",String.class)); + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = "企标废止流程-起草人修改标准状态"; + 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..a843aa97 --- /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..982a7850 --- /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..0252988a --- /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..98b0d4cd --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/aboliish/ProcessStep6After.java @@ -0,0 +1,122 @@ +package com.ydw.bat.wkflow.listener.aboliish; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.entity.SarBussionessStand; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProcessStep6After implements TaskListener { + + //分发多个责任人 + @Override + public void notify(DelegateTask delegateTask) { + //默认流程数据接口 + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); + //标准法规部业务经理Id ${sdFlag==0} bafzFlag + List nextUserList = new ArrayList(); + if ("0".equals(object.getString("bafzFlag"))){ + delegateTask.setVariable("bafzFlag","0"); + //入库"3lqnlgmgcn" + if ("废止".equals(object.getString("nextStatus"))) { + SarBussionessStand sarBussionessStand = new SarBussionessStand(); + sarBussionessStand.setTextStatusBuss(object.getString("standtextStatus")); + sarBussionessStand.setId(object.getString("standId")); + lawsUserInfoService.updateSarBussionessStand(sarBussionessStand); + } + }else { + delegateTask.setVariable("bafzFlag","1"); + nextUserList.add(delegateTask.getVariable("qcId",String.class)); + } + + //截止时间 流程描述 创建人 + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + String prcName = ""; + if ("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..5cd49b81 --- /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("zhrUserId"))){ + + delegateTask.setVariable("zhrUserId",object.getString("zhrUserId")); + nextUserList.add(object.getString("zhrUserId")); + + BussUtils.approvalFunc2(delegateTask, object, prcName, nextUserList); + delegateTask.setVariable("fzrFlag", 0); + }else { + throw new ActivitiException("1#2副主任用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("xdUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("xdUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); + delegateTask.setVariable("fzrFlag", 1); + }else { + throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary10Before.java new file mode 100644 index 00000000..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..86deba31 --- /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("xdUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("xdUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); + delegateTask.setVariable("zrFlag", 1); + }else { + throw new ActivitiException("1#2修订用户参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary11Before.java new file mode 100644 index 00000000..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..69473259 --- /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("hzUserId"))){ + delegateTask.setVariable("hzUserId",object.getString("hzUserId")); + nextUserList.add(object.getString("hzUserId")); + }else { + throw new ActivitiException("1#2主起草人不存在,请配置相关人员"); + } + + + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = ""; + String prcName = "企标制修订流程及企业标准库流程"; + 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..14f34546 --- /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("hzUserId"))) { + 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("chzUserId",object.getString("hzUserId")); + delegateTask.setVariable("bzhFlag", 1); + }else { + throw new ActivitiException("1#2汇总用户参数不存在,请配置相关用户"); + } + } + }else { + throw new ActivitiException("1#2 提交OR驳回参数不存在"); + } + } + + private String verifyObj(String str){ + return (str == null || str.equals("")) ? "" : str; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4Before.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary4Before.java new file mode 100644 index 00000000..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..a567d11a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary5After.java @@ -0,0 +1,104 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 会签征求意见后 + */ +public class BussLibrary5After implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + JSONArray ideaList =delegateTask.getVariable("ideaList", JSONArray.class); + if (ideaList==null) { + ideaList=new JSONArray(); + } + + ideaList.addAll(object.getJSONArray("infoList")); + delegateTask.setVariable("ideaList",ideaList); + + if(StringUtils.isNotBlank(object.getString("xdUserId"))){ + delegateTask.setVariable("xdUserId",object.getString("xdUserId")); + nextUserList.add(object.getString("xdUserId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String prcName = "企标制修订流程及企业标准库流程"; + 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..6d3838b2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary6Before.java @@ -0,0 +1,50 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +/** + * 主起草人修订并组织评审前 + */ +public class BussLibrary6Before implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + + /** + * 汇总已审批通过的意见 + */ + String msg = one1.getMesg(); + JSONObject jsonObject = JSON.parseObject(msg); + JSONArray ideaList=delegateTask.getVariable("ideaList",JSONArray.class); + jsonObject.put("infoList",ideaList); + one1.setMesg(jsonObject.toJSONString()); + + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bussLibrary5?prcType=buss1"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java new file mode 100644 index 00000000..3055089b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/bussLibrary/BussLibrary7After.java @@ -0,0 +1,99 @@ +package com.ydw.bat.wkflow.listener.bussLibrary; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +import java.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("jsfzrUserId"))){ + delegateTask.setVariable("jsfzrUserId",object.getString("jsfzrUserId")); + nextUserList.add(object.getString("jsfzrUserId")); + }else { + throw new ActivitiException("1#2标准化员不存在,请配置相关人员"); + } + + JSONArray evaluationData =delegateTask.getVariable("evaluationList", JSONArray.class); + if (evaluationData==null) { + 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..c43fb0b9 --- /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("jsfzrFlag", 0); + }else { + throw new ActivitiException("1#2部长用户参数不存在,请配置相关用户"); + } + } else { + if(StringUtils.isNotBlank(object.getString("xdUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("zqcUsrId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); + delegateTask.setVariable("jsfzrFlag", 1); + }else { + throw new ActivitiException("1#2 提交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..698adb1b --- /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("xdUserId"))) { + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("xdUserId")); + busProcessNew.setPrcName(prcName); + busBean.save(busProcessNew); + + BussUtils.approvalFunc1(delegateTask, busBean, object, prcName,"1"); + delegateTask.setVariable("cxdUserId",object.getString("xdUserId")); + delegateTask.setVariable("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..68325b08 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseBidReviewProcess/ProcessStep3After.java @@ -0,0 +1,101 @@ +package com.ydw.bat.wkflow.listener.enterpriseBidReviewProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.entity.SarBussionessStand; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProcessStep3After implements TaskListener { + + //分发多个责任人 + @Override + public void notify(DelegateTask delegateTask) { + //默认流程数据接口 + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson", object); + //标准法规部业务经理Id + List nextUserList = new ArrayList(); + //根据意见选择 企标状态并对企标信息进行修改 + if ("修订".equals(object.getString("nextStatus"))){ + + }else if ("废止".equals(object.getString("nextStatus"))){ + SarBussionessStand sarBussionessStand = new SarBussionessStand(); + sarBussionessStand.setTextStatusBuss(object.getString("standtextStatus")); + sarBussionessStand.setId(object.getString("standId")); + lawsUserInfoService.updateSarBussionessStand(sarBussionessStand); + } + + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one2 = busProcessNameService.getOne(queryWrapper2); + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + if(one2!=null){ + one2.setOverTime(OVERTIME); + one2.setPrcType("23"); + busProcessNameService.saveOrUpdate(one2); + } + + + // 存储当前节点意见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.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..2376c544 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/enterpriseStandardSystemRevisionPlan/ProcessStep4After.java @@ -0,0 +1,145 @@ +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_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.entity.EsRevisePlanDTO; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProcessStep4After implements TaskListener { + + //分发多个责任人 + @Override + public void notify(DelegateTask delegateTask) { + //默认流程数据接口 + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程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); + //1合并 2延期 3取消 4更名 5立项 + if ("1".equals(object.getString("type"))){ + lawsUserInfoService.delPlan(object.getString("esId1")+","+object.getString("esId2")); + EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); + esRevisePlanDTO.setEsName(object.getString("esName")); + esRevisePlanDTO.setUnit(object.getString("unit")); + esRevisePlanDTO.setDrafter(object.getString("drafter")); + esRevisePlanDTO.setResPerson(object.getString("resPerson")); + esRevisePlanDTO.setPlanStatus(object.getString("planStatus")); + esRevisePlanDTO.setReviseStatus(object.getString("reviseStatus")); + esRevisePlanDTO.setWgLeader(object.getString("wgLeader")); + esRevisePlanDTO.setDraftTime(object.getDate("draftTime")); + esRevisePlanDTO.setReleaseTime(object.getDate("releaseTime")); + lawsUserInfoService.addPlan(esRevisePlanDTO); + }else if ("2".equals(object.getString("type"))){ + EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); + esRevisePlanDTO.setId(object.getString("esId")); + esRevisePlanDTO.setReleaseTime(object.getDate("yqReleaseTime")); + esRevisePlanDTO.setDraftTime(object.getDate("yqDraftTime")); + lawsUserInfoService.modPlan(esRevisePlanDTO); + }else if ("3".equals(object.getString("type"))){ + lawsUserInfoService.delPlan(object.getString("esId")); + }else if ("4".equals(object.getString("type"))){ + EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); + esRevisePlanDTO.setEsName(object.getString("renameEs")); + esRevisePlanDTO.setId(object.getString("esId")); + lawsUserInfoService.modPlan(esRevisePlanDTO); + }else { + //立项 + EsRevisePlanDTO esRevisePlanDTO=new EsRevisePlanDTO(); + esRevisePlanDTO.setEsName(object.getString("esName")); + esRevisePlanDTO.setUnit(object.getString("unit")); + esRevisePlanDTO.setDrafter(object.getString("drafter")); + esRevisePlanDTO.setResPerson(object.getString("resPerson")); + esRevisePlanDTO.setPlanStatus(object.getString("planStatus")); + esRevisePlanDTO.setReviseStatus(object.getString("reviseStatus")); + esRevisePlanDTO.setWgLeader(object.getString("wgLeader")); + esRevisePlanDTO.setDraftTime(object.getDate("draftTime")); + esRevisePlanDTO.setReleaseTime(object.getDate("releaseTime")); + lawsUserInfoService.addPlan(esRevisePlanDTO); + } + }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 OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("prcCreateUser",String.class); + String username = delegateTask.getVariable("prcCreateUserName", String.class); + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if (one1 != null) { + if ("0".equals(object.getString("bzfgbzFlag"))){ + one1.setOverTime(OVERTIME); + } + 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); + } +// throw new ActivitiException("fa"); + } +} 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/itemlistvalidationprocess/Step1After.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1After.java new file mode 100644 index 00000000..228a9f92 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1After.java @@ -0,0 +1,81 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_slrs.dao.StandProjectRelationDto; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +//分发 +public class Step1After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + if (object.getString("detailPeople").contains(",")){ + nextUserList.addAll(new ArrayList<>(Arrays.asList(object.getString("detailPeople").split(",")))); + }else { + nextUserList.add(object.getString("detailPeople")); + } + delegateTask.setVariable("qrPeopleList",nextUserList); + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String prcName = "项目清单确认流程-确认人确认"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + if ("0".equals(object.getString("passFlag"))) { + one1.setOverTime(OVERTIME); + } + one1.setPrcType("10"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + + if(!nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1Before.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1Before.java new file mode 100644 index 00000000..9f7e7348 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step1Before.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class Step1Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep3?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3After.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3After.java new file mode 100644 index 00000000..f6393bd3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3After.java @@ -0,0 +1,73 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_slrs.dao.StandProjectRelationDto; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.rmi.activation.ActivationException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +//汇总 +public class Step3After implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + LawsUserInfoService lawsUserInfoService=SpringContextUtil.getBean(LawsUserInfoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + nextUserList.add(object.getString("approveId")); + delegateTask.setVariable("approveId",object.getString("approveId")); + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = delegateTask.getVariable("startId",String.class); + String username = delegateTask.getVariable("startName",String.class); + String prcName = "项目清单确认流程-标准法规部经理审批"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setPrcType("10"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + if(!nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo(delegateTask.getName()); + busProcessNewNext.setUserId(nextUser); + busProcessNewNext.setPrcName(prcName); + busBean.save(busProcessNewNext); + } + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3Before.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3Before.java new file mode 100644 index 00000000..4444d599 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/Step3Before.java @@ -0,0 +1,35 @@ +package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class Step3Before implements TaskListener { + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); + busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep3?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.java index 79dc48ad..90577c95 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveAfter.java @@ -19,7 +19,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; - +//评估 public class bzApproveAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -42,21 +42,28 @@ public class bzApproveAfter implements TaskListener { JSONArray jsonArray = JSONArray.parseArray(object.getString("dataList")); for (Object os : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(os.toString()); - StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto(); - standProjectRelationDto.setProjectId(object.getString("projectId")); - standProjectRelationDto.setStandId(jsonObject.getString("id")); - standProjectRelationDtos.add(standProjectRelationDto); + if ("涉及".equals(jsonObject.getString("involve"))) { + StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto(); + standProjectRelationDto.setProjectId(object.getString("projectId")); + standProjectRelationDto.setStandId(jsonObject.getString("standId")); + standProjectRelationDtos.add(standProjectRelationDto); + } } lawsUserInfoService.batchInsert(standProjectRelationDtos); }else { delegateTask.setVariable("passFlag","1"); - nextUserList.add(delegateTask.getVariable("confirmId",String.class)); + nextUserList.add(delegateTask.getVariable("cpManagerSum",String.class)); } //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String user = delegateTask.getVariable("startId",String.class); String username = delegateTask.getVariable("startName",String.class); - String prcName = "项目清单确认流程"; + 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); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmAfter.java index 24684cd3..71d9bc47 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmAfter.java @@ -1,32 +1,30 @@ package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; + import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; -import com.ydw.bat.wkflow.business_slrs.dao.StandProjectRelationDto; import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; +//确认 public class confirmAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); - LawsUserInfoService lawsUserInfoService=SpringContextUtil.getBean(LawsUserInfoService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -35,23 +33,64 @@ public class confirmAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson",object); List nextUserList = new ArrayList(); - delegateTask.setVariable("approveId",object.getString("approveId")); - nextUserList.add(object.getString("approveId")); - List standProjectRelationDtos = new ArrayList<>(); -// JSONArray jsonArray=JSONArray.parseArray(object.getString("dataList")); -// for (Object os:jsonArray) { -// JSONObject jsonObject=JSONObject.parseObject(os.toString()); -// StandProjectRelationDto standProjectRelationDto=new StandProjectRelationDto(); -// standProjectRelationDto.setProjectId(object.getString("projectId")); -// standProjectRelationDto.setStandId(jsonObject.getString("id")); -// standProjectRelationDtos.add(standProjectRelationDto); -// } -// lawsUserInfoService.batchInsert(standProjectRelationDtos); + //设计一个确认人的计数器 + if (null!=delegateTask.getVariable("count")){ + delegateTask.setVariable("count",delegateTask.getVariable("count",Integer.class)+1); + }else { + delegateTask.setVariable("count",1); + } + //判断是否为最后一步 决定数据是否需要合并***---*** + if (delegateTask.getVariable("qrPeopleList",List.class).size()==delegateTask.getVariable("count",Integer.class)){ + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID","xmqd"); + queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); + List busProcessNews=busBean.list(queryWrapper1); + JSONArray res=new JSONArray(); + JSONArray middle=new JSONArray(); + Map map=new HashMap<>(); + Map successmap=new HashMap<>(); + List standIds=new ArrayList<>(); + List successIds=new ArrayList<>(); + middle.addAll(object.getJSONArray("dataList")); + middle.forEach(o -> { + JSONObject object1=JSONObject.parseObject(o.toString()); + makeData(map, successmap, standIds, successIds, object, object1); + }); + for (BusProcessNew bus:busProcessNews) { + JSONObject object1=JSONObject.parseObject(bus.getMesg()); + JSONArray jsonArray=object1.getJSONArray("dataList"); + jsonArray.forEach(o -> { + JSONObject object11=JSONObject.parseObject(o.toString()); + makeData(map, successmap, standIds, successIds, object1, object11); + }); + } + //草拟吗 + successmap.keySet().forEach(s -> { + res.add(successmap.get(s)); + }); + map.keySet().forEach(s -> { + if (successIds.contains(s)) { + JSONObject jsonObject=successmap.get(s); + jsonObject.put("involve","involve"); + jsonObject.put("remarks",map.get(s).getString("remarks")); + }else { + res.add(map.get(s)); + } + }); +// successmap.keySet().forEach(s -> { +// if (!standIds.contains(s)){ +// res.add(successmap.get(s)); +// } +// }); + object.put("dataList",res); + } + nextUserList.add(delegateTask.getVariable("cpManager",String.class)); + delegateTask.setVariable("cpManagerSum",delegateTask.getVariable("cpManager",String.class)); //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String user = delegateTask.getVariable("startId",String.class); String username = delegateTask.getVariable("startName",String.class); - String prcName = "项目清单确认流程"; + String prcName = "项目清单确认流程-产品工程经理查看汇总清单"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); @@ -63,8 +102,6 @@ public class confirmAfter implements TaskListener { one1.setCreatUserName(username); busProcessNameService.saveOrUpdate(one1); } - - if(!nextUserList.isEmpty()){ for(String nextUser : nextUserList){ BusProcessNew busProcessNewNext = new BusProcessNew(); @@ -74,10 +111,42 @@ public class confirmAfter implements TaskListener { busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); + if (delegateTask.getVariable("qrPeopleList",List.class).size()!=delegateTask.getVariable("count",Integer.class)){ + busProcessNewNext.setTaskId("xmqd"); + } busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); } } } + + private void makeData(Map map, Map successmap, List standIds, List successIds, JSONObject object1, JSONObject object11) { +// if (!standIds.contains(object11.getString("standId"))){ + if ("noInvolve".equals(object11.getString("involve"))){ + if (!standIds.contains(object11.getString("standId"))) { + object11.put("remarks", object1.getString("currentPerson") + ":" + object11.getString("remarks")); + standIds.add(object11.getString("standId")); + map.put(object11.getString("standId"), object11); + }else { + standIds.add(object11.getString("standId")); + map.get(object11.getString("standId")).put("remarks",map.get(object11.getString("standId")).getString("remarks")+","+object1.getString("currentPerson")+":"+object11.getString("remarks")); + } + }else { + if (!successIds.contains(object11.getString("standId"))) { + successmap.put(object11.getString("standId"),object11); + successIds.add(object11.getString("standId")); + } + } +// }else { +// if ("noInvolve".equals(object11.getString("involve"))){ +// standIds.add(object11.getString("standId")); +// map.get(object11.getString("standId")).put("remarks",map.get(object11.getString("standId")).getString("remarks")+","+object1.getString("currentPerson")+":"+object11.getString("remarks")); +// }else { +// if (!successIds.contains(object11.getString("standId"))) { +// successmap.put(object11.getString("standId"),object11); +// } +// } +// } + } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java index e2da5788..90719b02 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartAfter.java @@ -16,7 +16,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; - +//启动 public class itemlistvalidationprocessStartAfter implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -33,7 +33,7 @@ public class itemlistvalidationprocessStartAfter implements TaskListener { List nextUserList = new ArrayList(); nextUserList.add(object.getString("confirmId")); - delegateTask.setVariable("confirmId",object.getString("confirmId")); + delegateTask.setVariable("cpManager",object.getString("confirmId")); delegateTask.setVariable("dl",object.getString("approveId")); @@ -42,7 +42,7 @@ public class itemlistvalidationprocessStartAfter implements TaskListener { String username = object.getString("startUserName"); delegateTask.setVariable("startId",user); delegateTask.setVariable("startName",username); - 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/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/projectEvaluationProcess/PEPDepartLeaderAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java index f51ae55d..edd9edcd 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderAfter.java @@ -13,6 +13,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_slrs.dao.StandProjectRelationDto; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; @@ -53,13 +54,15 @@ public class PEPDepartLeaderAfter implements TaskListener { JSONArray dataList=JSONArray.parseArray(object.getString("dataList")); List sarStandUnqualifieds=new ArrayList<>(); List productAssesses=new ArrayList<>(); + //清单和项目关联 + List standProjectRelationDtos = new ArrayList<>(); int i=0; for (Object j : jsonArray) { Step3DTO o=JSONObject.parseObject(String.valueOf(j), Step3DTO.class); JSONObject object1=JSONObject.parseObject(dataList.getString(i)); //未符合项整改 保存 //在研不合规 - if (null!=object1.getString("noCompliance")) { + if (null!=object1.getString("noCompliance") && !"".equals(object1.getString("noCompliance"))) { SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); //少一个standId 不合格原因 在研在产! sarStandUnqualified.setStandId(delegateTask.getVariable("standsId",String.class)); @@ -79,10 +82,11 @@ public class PEPDepartLeaderAfter implements TaskListener { sarStandUnqualified.setProductType("research"); sarStandUnqualified.setReason(object1.getString("noCompliance")); sarStandUnqualified.setPlanCloseTime(JSONObject.parseObject(String.valueOf(object1.get("completionTime")),Date.class)); + sarStandUnqualified.setProductId(o.getProjectNumber()); sarStandUnqualifieds.add(sarStandUnqualified); } - if (null!=object1.getString("zcNoCompliance")) { + if (null!=object1.getString("zcNoCompliance") && !"".equals(object1.getString("zcNoCompliance"))) { SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); //少一个standId 不合格原因 在研在产! sarStandUnqualified.setStandId(delegateTask.getVariable("standsId",String.class)); @@ -102,6 +106,7 @@ public class PEPDepartLeaderAfter implements TaskListener { sarStandUnqualified.setReason(object1.getString("zcNoCompliance")); sarStandUnqualified.setProductType("product"); sarStandUnqualified.setPlanCloseTime(JSONObject.parseObject(String.valueOf(object1.get("zcCompletionTime")),Date.class)); + sarStandUnqualified.setProductId(o.getProjectNumber()); sarStandUnqualifieds.add(sarStandUnqualified); } //合估评规 结果! @@ -128,6 +133,9 @@ public class PEPDepartLeaderAfter implements TaskListener { sarStandard.setResearchCountermeasures(object1.getString("countermeasures")); sarStandard.setResearchNonCompliance(object1.getString("noCompliance")); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + sarStandard.setEvaluationPeople(object1.getString("implementer")); + sarStandard.setEvaluationPeopleName(object1.getString("implementerId")); + sarStandard.setEvaluationTime(simpleDateFormat.format(new Date())); try { if (null!=delegateTask.getVariable("XCXSSRQ")) { sarStandard.setResearchImplementationTime(simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("XCXSSRQ")))); @@ -139,10 +147,18 @@ public class PEPDepartLeaderAfter implements TaskListener { e.printStackTrace(); } i++; + Map map=delegateTask.getVariable("numberWithId",Map.class); + StandProjectRelationDto standProjectRelationDto = new StandProjectRelationDto(); + standProjectRelationDto.setProjectId(String.valueOf(map.get(o.getProjectNumber()))); + standProjectRelationDto.setStandId(delegateTask.getVariable("standsId",String.class)); + if (!standProjectRelationDtos.contains(standProjectRelationDto)) { + standProjectRelationDtos.add(standProjectRelationDto); + } //数据归类 productAssesses.add(sarStandard); } //数据入库!!!! + lawsUserInfoService.batchInsert(standProjectRelationDtos); lawsUserInfoService.addsarStandUnqualified(sarStandUnqualifieds); lawsUserInfoService.addProduct(productAssesses); //是否审批通过 passFlag == 1 通过 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..b1416a74 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 @@ -45,7 +45,10 @@ public class PEPffresPersonAfter implements TaskListener { delegateTask.setVariable("objectJson", object); String prcName = ""; - if ("2".equals(object.getString("fenFlag")) && String.valueOf(delegateTask.getVariable("PEPCount")).equals(String.valueOf(delegateTask.getVariable("workPeoples", List.class).size())) ) { + if ("2".equals(object.getString("fenFlag")) && null == delegateTask.getVariable("PEPCount") && delegateTask.getVariable("workPeoples", List.class).size()==1){ + prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-汇总审批"; + } + else if ("2".equals(object.getString("fenFlag")) && String.valueOf(delegateTask.getVariable("PEPCount")).equals(String.valueOf(delegateTask.getVariable("workPeoples", List.class).size())) ) { prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-汇总审批"; } else { prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-合规性评估"; @@ -65,10 +68,11 @@ public class PEPffresPersonAfter implements TaskListener { delegateTask.setVariable("fenFlag", "1"); } else { //不通过就要驳回 + object.put("dataList",delegateTask.getVariable(object.getString("key"))); nextUserList.add(String.valueOf(delegateTask.getVariable("workPeople"))); delegateTask.setVariable("workPeople", String.valueOf(delegateTask.getVariable("workPeople"))); delegateTask.setVariable("fenFlag", "2"); - + object.put("mark","back"); BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); @@ -83,7 +87,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 +94,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); @@ -126,9 +128,23 @@ public class PEPffresPersonAfter implements TaskListener { List busProcessNews=busBean.findLastworkPeople("projectEvaluationProcess5",delegateTask.getProcessInstanceId()); for (BusProcessNew b:busProcessNews) { JSONObject object=JSONObject.parseObject(b.getMesg()); - if (!"1".equals(object.getString("fenFlag"))) { + if ("".equals(b.getCommitText())) { JSONArray jsonArray = JSONArray.parseArray(object.getString("step3DTOS")); JSONArray dataList = JSONArray.parseArray(object.getString("dataList")); + //去除jaonArry中的无效数据 + JSONArray remove=new JSONArray(); + List standard=new ArrayList<>(); + dataList.forEach(o -> { + JSONObject os=JSONObject.parseObject(o.toString()); + standard.add(os.getString("itemNum")+os.getString("projectNumber")); + }); + jsonArray.forEach(o -> { + JSONObject object1=JSONObject.parseObject(o.toString()); + if (!standard.contains(object1.getString("itemNum")+object1.getString("projectNumber"))){ + remove.add(o); + } + }); + jsonArray.removeAll(remove); PEPDTO res = JSONObject.parseObject(object.toString(), PEPDTO.class); int i = 0; for (Object j : jsonArray) { diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java index 79b49b58..fa27c72e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveAfter.java @@ -15,6 +15,7 @@ import com.ydw.bat.wkflow.util.DealWithDate; import com.ydw.bat.wkflow.util.JsonDateValueProcessor; import com.ydw.bat.wkflow.util.SpringContextUtil; import net.sf.json.JsonConfig; +import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.springframework.beans.BeanUtils; @@ -57,7 +58,6 @@ public class PEPmanagerApproveAfter 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); @@ -65,6 +65,7 @@ public class PEPmanagerApproveAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } //生成任务信息 + Map numberWithId=new HashMap<>(); Map map=new HashMap<>(); //是否审批通过 passFlag == 1 不通过 if (null!=object.get("passFlag")) { @@ -77,6 +78,7 @@ public class PEPmanagerApproveAfter implements TaskListener { PEPres pePres=new PEPres(); List pepdtos=new ArrayList<>(); for (SarStandProjectLibraries sa:da.getSarStandProjectLibraries()) { + numberWithId.put(sa.getProjectNumber(),sa.getId()); for (BreakdownList breakdownList1:breakdownList) { //造数据 //项目 @@ -120,6 +122,7 @@ public class PEPmanagerApproveAfter implements TaskListener { } } + delegateTask.setVariable("numberWithId",numberWithId); delegateTask.setVariable("liablePeopleList",liablePeopleList); delegateTask.setVariable("PEPAllCount",count); } 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/PEPtaskEstimateAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java index 0c7a9910..1f83bd38 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateAfter.java @@ -15,11 +15,13 @@ import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.UUID; public class PEPtaskEstimateAfter implements TaskListener { @@ -42,19 +44,35 @@ public class PEPtaskEstimateAfter implements TaskListener { JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); - JSONArray jsonArray=JSONArray.parseArray(object.getString("dataList")); + JSONArray jsonArray = JSONArray.parseArray(object.getString("dataList")); + JSONArray ne = JSONArray.parseArray(object.getString("dataList")); + //操作数据库 + JSONArray remove = new JSONArray(); + for (Object json : jsonArray) { + JSONObject jsonObject1 = JSONObject.parseObject(json.toString()); + if ("".equals(jsonObject1.get("complianceReasons")) && "".equals(jsonObject1.get("noCompliance")) + && "".equals(jsonObject1.get("countermeasures")) && "".equals(jsonObject1.get("completionTime"))) { + remove.add(jsonObject1); + } + } + String uuid = String.valueOf(UUID.randomUUID()); + //代码放这带数据 + delegateTask.setVariable(uuid, jsonArray); + ne.removeAll(remove); + object.put("dataList", ne); + object.put("key", uuid); //设置分发负责人 List nextUserList = new ArrayList(); - JSONObject object1=JSONObject.parseObject(jsonArray.getString(0)); + JSONObject object1 = JSONObject.parseObject(ne.getString(0)); if (StringUtils.isNotBlank(object1.getString("distributePersonId"))) { delegateTask.setVariable("ffUserId", object1.getString("distributePersonId")); - nextUserList.add(delegateTask.getVariable("ffUserId",String.class)); + nextUserList.add(delegateTask.getVariable("ffUserId", String.class)); } //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String user = delegateTask.getVariable("prcCreateUser", String.class); String username = delegateTask.getVariable("prcCreateUserName", String.class); - String prcName = delegateTask.getVariable("stands",String.class)+"-标准项目合规评估-分发负责人审批"; + String prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-分发负责人审批"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); @@ -67,12 +85,12 @@ public class PEPtaskEstimateAfter implements TaskListener { busProcessNameService.saveOrUpdate(one1); } // 存储当前节点意见 - if (null!=object.getString("commentText")) { + if (null != object.getString("commentText")) { QueryWrapper queryWrapper3 = new QueryWrapper(); queryWrapper3.eq("TASK_ID", delegateTask.getId()); - queryWrapper3.eq("USER_ID",delegateTask.getAssignee()); + queryWrapper3.eq("USER_ID", delegateTask.getAssignee()); List list = busBean.list(queryWrapper3); - if(!list.isEmpty()){ + if (!list.isEmpty()) { BusProcessNew busProcessNews = list.get(0); busProcessNews.setTaskId(delegateTask.getId()); busProcessNews.setCommitText(object.getString("commentText")); 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..fc1ab3ec 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 @@ -16,6 +16,7 @@ import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; import java.text.SimpleDateFormat; import java.util.*; @@ -52,20 +53,28 @@ public class PEPtaskLssueAfter implements TaskListener { res.addAll(JSONArray.parseArray(String.valueOf(map.get(s)), Step3DTO.class)); JSONArray.parseArray(String.valueOf(map.get(s)), Step3DTO.class).forEach(step3DTO -> { List users = new ArrayList<>(Arrays.asList(step3DTO.getImplementerId().split(","))); - users.forEach(s1 -> { - step3DTO.setCertifiedEngineerName(String.valueOf(delegateTask.getVariable("certifiedEngineerName"))); - step3DTO.setQualityEngineerName(String.valueOf(delegateTask.getVariable("qualityEngineerName"))); + List names = new ArrayList<>(Arrays.asList(step3DTO.getImplementer().split(","))); + int i = 0; + + for (String s1 : users) { + Step3DTO result = new Step3DTO(); + BeanUtils.copyProperties(step3DTO, result); + result.setCertifiedEngineerName(String.valueOf(delegateTask.getVariable("certifiedEngineerName"))); + result.setQualityEngineerName(String.valueOf(delegateTask.getVariable("qualityEngineerName"))); + result.setImplementerId(s1); + result.setImplementer(names.get(i)); if (!workPeoples.contains(s1)) { workPeoples.add(s1); } if (null != maps.get(s1)) { - maps.get(s1).add(step3DTO); + maps.get(s1).add(result); } else { List dtos = new ArrayList<>(); - dtos.add(step3DTO); + dtos.add(result); maps.put(s1, dtos); } - }); + i++; + } }); } } @@ -74,16 +83,15 @@ public class PEPtaskLssueAfter implements TaskListener { } else { 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)+"-标准项目合规评估-合规性评估"; + String prcName = delegateTask.getVariable("stands", String.class) + "-标准项目合规评估-合规性评估"; QueryWrapper queryWrapper2 = new QueryWrapper(); queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId()); BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); if (one1 != null) { -// one1.setOverTime(OVERTIME); one1.setPrcType("5"); one1.setPrcName(prcName); one1.setCreatUser(user); 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..3e28572b 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 @@ -53,7 +53,7 @@ public class DeptApplayAfter implements TaskListener{ JSONObject os=JSONObject.parseObject(o.toString()); //分解单数据 SarStandItems sarStandItems1=new SarStandItems(); - sarStandItems1.setFileType("FBGBJBD"); + sarStandItems1.setFileType(delegateTask.getVariable("fileTypeOnly",String.class)); sarStandItems1.setStandId(object.getString("standId")); sarStandItems1.setItemsNum(os.getString("itemsNum")); sarStandItems1.setItemsName(os.getString("itemsName")); @@ -81,7 +81,8 @@ public class DeptApplayAfter implements TaskListener{ standard.setComplianceState(os.getString("complianceState")); standard.setSpecificItem(os.getString("itemsNum")); standard.setStandNumber(object.getString("itemsNum")); - standard.setInterpretationTime(delegateTask.getCreateTime()); + standard.setInterpretationTime(new Date()); + standard.setRiskDegree("0"); standards.add(standard); }); @@ -89,7 +90,7 @@ public class DeptApplayAfter implements TaskListener{ jsonArray1.forEach(obj ->{ JSONObject object1 = JSONObject.parseObject(obj.toString()); SarStandItems sarStandItems1=new SarStandItems(); - sarStandItems1.setFileType("FBGBJBD"); + sarStandItems1.setFileType(delegateTask.getVariable("fileTypeOnly",String.class)); sarStandItems1.setStandId(object.getString("standId")); sarStandItems1.setItemsNum(object1.getString("itemsNum")); sarStandItems1.setItemsName(object1.getString("itemsName")); @@ -156,7 +157,6 @@ public class DeptApplayAfter implements TaskListener{ queryWrapper1.eq("TASK_ID",delegateTask.getId()); BusProcessNew one2 = busBean.getOne(queryWrapper1); if(one2!=null){ - one2.setCommitFlag("0"); one2.setCommitText(object.getString("commentText")); busBean.saveOrUpdate(one2); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ResolveAfter.java index bcb6ebac..45f33539 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 @@ -48,10 +48,13 @@ public class ResolveAfter implements TaskListener{ nextUserList.add(str); } // 配置多实例 + delegateTask.setVariable("fileTypeOnly",object.getString("fileType")); delegateTask.setVariable("zrUserList", nextUserList); - + //拆分标准 解读中情况下 也展示数据 SarFileSplitInfoEO sarFileSplitInfoEO=new SarFileSplitInfoEO(); sarFileSplitInfoEO.setSplitStatus("3"); + sarFileSplitInfoEO.setStandNameSplit(object.getString("itemsName")); + sarFileSplitInfoEO.setStandNumSplit(object.getString("itemsNum")); sarFileSplitInfoEO.setId(object.getString("statusId")); delegateTask.setVariable("statusId",object.getString("statusId")); lawsUserInfoService.updateSarFileSplitInfo(sarFileSplitInfoEO); 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 56294e89..b7e9b4db 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} + +