From 96d9e28c57b4daf1aed3fa819a4d1b1a912835be Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Mon, 5 Jul 2021 15:49:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E5=87=86=E6=B8=85=E5=8D=95=E6=B5=81?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TaskController.java | 5 +- .../task/TodoTaskController.java | 14 +- .../business_auth/LawsUserInfoService.java | 16 ++- .../datas/dto/AddDetailedDto.java | 45 ++++++ .../datas/dto/DetailedUpDto.java | 60 ++++++++ .../datas/dto/SarLawsDetailedList.java | 71 +++++++++ .../CountersignSRPAfter.java | 94 ++++++++++++ .../CountersignSRPBefore.java | 28 ++++ .../SRPApplyApplicantAfter.java | 92 ++++++++++++ .../SRPApplyApplicantBefore.java | 28 ++++ .../SRPManagerApproveAfter.java | 95 ++++++++++++ .../SRPManagerApproveBefore.java | 28 ++++ .../SRPstartAfter.java | 136 ++++++++++++++++++ .../SRPstartBefore.java | 27 ++++ 14 files changed, 729 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/AddDetailedDto.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarLawsDetailedList.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java create mode 100644 src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartBefore.java diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java index e2e7dc0b..c6559d31 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java @@ -66,8 +66,9 @@ public class TaskController { // historicTaskInstance.put("assignee", map.get("USR_NAME")); // } if(ChkUtil.isNull(historicTaskInstance.get("assignee"))) { - ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); - if(listUser.getData()!=null){ +// ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); + ResponseMessage> listUser = new ResponseMessage<>(); + if(false){ List qbgcs = new ArrayList<>(); for (OrgEO orgEO : listUser.getData()) { qbgcs.add(orgEO.getUserName()); 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 bfba52a9..b9f06098 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 @@ -1979,17 +1979,19 @@ public class TodoTaskController extends BaseAction { assignee += ((byId.getData().getOrgName() != null && !byId.getData().getOrgName().equals("")) ? byId.getData().getOrgName() + "-" + byId.getData().getUname() : byId.getData().getUname()) + ","; } } - }else{ + } + else{ String end = this.isEnd(busProcessName.getPrcId()); if(end.equals("0")){ - ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); - if(listUser.getData()!=null){ -// List qbgcs = new ArrayList<>(); +// ResponseMessage> listUser = lawsUserInfoService.getManagerByOrgIdNew("企业标准管理工程师"); + ResponseMessage> listUser=new ResponseMessage<>(); + if(false){ + List qbgcs = new ArrayList<>(); for (OrgEO orgEO : listUser.getData()) { assignee+=orgEO.getRoleName()+"-"+orgEO.getUserName(); } -// String str= StringUtils.join(qbgcs, ","); -// assignee+=str; + String str= StringUtils.join(qbgcs, ","); + assignee+=str; } } } 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 097a9413..858862ab 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 @@ -2,9 +2,12 @@ package com.ydw.bat.wkflow.business_auth; import com.github.pagehelper.PageInfo; import com.tmsps.fk.common.wrapper.Wrapper; +import com.ydw.bat.wkflow.business_main.datas.dto.AddDetailedDto; +import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; import com.ydw.bat.wkflow.business_main.datas.entity.*; import feign.Headers; -import feign.Param; +import org.apache.ibatis.annotations.Param; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; @@ -16,7 +19,7 @@ import java.util.Map; import java.util.Set; @Component -@FeignClient(value = "FotonLAWSSystem",path="/api",url="") +@FeignClient(value = "FotonLAWSSystem3",path="/api",url="") @RequestMapping("/") public interface LawsUserInfoService { @@ -84,4 +87,13 @@ public interface LawsUserInfoService { @GetMapping("lawss/mail/sendMailByUserIdFeign") public ResponseMessage sendEmail(@RequestParam("userId") String userId, @RequestParam("msg") String msg, @RequestParam("title") String title); + + @PutMapping("sarLawsDetailedList/sar-laws-detailed-list/updateList") + public ResponseMessage updateLaws(@RequestBody DetailedUpDto addDetailedDto); + + + @RequestMapping(value = "sarLawsDetailedList/sar-laws-detailed-list/getStandById",method = RequestMethod.POST) + public SarLawsDetailedList getStandById(@RequestParam("id") String id); + + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/AddDetailedDto.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/AddDetailedDto.java new file mode 100644 index 00000000..0d9a7917 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/AddDetailedDto.java @@ -0,0 +1,45 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +/** + * //TODO 添加类、接口描述 + * + * @author ZhangZhiYuan + * @date 2021-06-24 + */ +@Data +public class AddDetailedDto { + + @ApiModelProperty(value = "国家或地区") + private String countryArea; + @ApiModelProperty(value = "项目名称") + private String projectName; + @ApiModelProperty(value = "清单类别") + private String detailedList; + @ApiModelProperty(value = "区分,国家地区为1,项目名称为2,清单类别为3") + private String sortKey; + @ApiModelProperty(value = "清单名称") + private String detailedListName; + + @ApiModelProperty(value = "清单详情") + private String remark; + + @ApiModelProperty(value = "清单状态,1为未发布,2为发布") + private String detailedListState; + @ApiModelProperty(value = "适用领域") + private String applicationScope; + @ApiModelProperty(value = "更新人") + private String updatePeople; + @ApiModelProperty(value = "上传的附件") + private MultipartFile[] files; + @ApiModelProperty(value = "要添加的清单id") + private String[] lawsIds; + + + public MultipartFile getFiles(int i) { + return files[i]; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java new file mode 100644 index 00000000..2b0a8c6a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/DetailedUpDto.java @@ -0,0 +1,60 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * //TODO 添加类、接口描述 + * + * @author ZhangZhiYuan + * @date 2021-06-25 + */ +@Data +public class DetailedUpDto { + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "国家或地区") + private String countryArea; + + @ApiModelProperty(value = "项目名称") + private String projectName; + + @ApiModelProperty(value = "清单类别") + private String detailedList; + + @ApiModelProperty(value = "区分,国家地区为1,项目名称为2,清单类别为3") + private String sortKey; + + @ApiModelProperty(value = "清单名称") + private String detailedListName; + + @ApiModelProperty(value = "清单状态,1为未发布,2为发布") + private String detailedListState; + + @ApiModelProperty(value = "清单版本,默认V0") + private String detailedListVision; + + @ApiModelProperty(value = "适用领域") + private String applicationScope; + + @ApiModelProperty(value = "附件id") + private String fileId; + + + @ApiModelProperty(value = "更新时间") + private Date reNewTime; + + @ApiModelProperty(value = "更新人") + private String reNewPeople; + + @ApiModelProperty(value = "要添加的清单id") + private String[] lawsIds; + + @ApiModelProperty(value = "清单详情") + private String remark; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarLawsDetailedList.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarLawsDetailedList.java new file mode 100644 index 00000000..95035112 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/SarLawsDetailedList.java @@ -0,0 +1,71 @@ +package com.ydw.bat.wkflow.business_main.datas.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + *

+ * + *

+ * + * @author szc + * @since 2021-06-15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@ApiModel(value="SarLawsDetailedList对象", description="") +public class SarLawsDetailedList { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("id") + private String id; + + @ApiModelProperty(value = "国家或地区") + private String countryArea; + + @ApiModelProperty(value = "项目名称") + private String projectName; + + @ApiModelProperty(value = "清单类别") + private String detailedList; + + @ApiModelProperty(value = "区分,国家地区为1,项目名称为2,清单类别为3") + private String sortKey; + + @ApiModelProperty(value = "清单名称") + private String detailedListName; + + @ApiModelProperty(value = "清单状态,1为未发布,2为发布") + private String detailedListState; + + @ApiModelProperty(value = "清单版本,默认V0") + private String detailedListVision; + + @ApiModelProperty(value = "适用领域") + private String applicationScope; + + @ApiModelProperty(value = "清单列表") + private String remark; + + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + @ApiModelProperty(value = "更新人") + private String updatePeople; + + @ApiModelProperty(value = "附件id") + private String fileId; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java new file mode 100644 index 00000000..b5ebb8e5 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPAfter.java @@ -0,0 +1,94 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 标准法规清单申请会签后manager + */ +public class CountersignSRPAfter implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + +// JSONObject array = object.getJSONObject("hqsqForm"); + + if(StringUtils.isNotBlank(object.getString("applyUpdUserId"))){ + delegateTask.setVariable("applyUserId",object.getString("applyUpdUserId")); + nextUserList.add(object.getString("applyUpdUserId")); + }else { + throw new ActivitiException("1#2申请人修订用户不存在,请配置相关人员"); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); +// object.getString("standName") + String standName = object.getString("standName"); + String prcName = standName+"-标准法规清单申请"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew busProcessNew = list.get(0); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNew); + } + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(nextUser); + busBean.save(busProcessNew); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java new file mode 100644 index 00000000..bb6095a4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java @@ -0,0 +1,28 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +/** + * 标准法规清单申请会签前 + */ +public class CountersignSRPBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java new file mode 100644 index 00000000..ae81660a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantAfter.java @@ -0,0 +1,92 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 标准法规清单申请人修订后manager + */ +public class SRPApplyApplicantAfter implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + if(StringUtils.isNotBlank(object.getString("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 = object.getString("standName"); + String prcName = standName+"-标准法规清单申请-修订"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew busProcessNew = list.get(0); + busProcessNew.setTaskId(delegateTask.getId()); + busProcessNew.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(busProcessNew); + } + + + if(nextUserList != null && !nextUserList.isEmpty()){ + for(String nextUser : nextUserList){ + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(nextUser); + busBean.save(busProcessNew); + } + } + + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java new file mode 100644 index 00000000..ee81ca5f --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java @@ -0,0 +1,28 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +/** + * 标准法规清单申请人修订前 + */ +public class SRPApplyApplicantBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java new file mode 100644 index 00000000..7d7d6038 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveAfter.java @@ -0,0 +1,95 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.dto.AddDetailedDto; +import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 经理人审批后 + */ +public class SRPManagerApproveAfter implements TaskListener{ + + @Override + public void notify(DelegateTask delegateTask) { + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + + String approvalOpinion = object.get("approvalOpinion") == null ? "" : object.get("approvalOpinion").toString(); + + if("1".equalsIgnoreCase(approvalOpinion)){ + delegateTask.setVariable("jlFlag",1); + delegateTask.setVariable("applyUserId",object.getString("applyUpdUserId")); + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.setFinishFlag("0"); + busProcessNew.setTaskInfo(delegateTask.getName()); + busProcessNew.setUserId(object.getString("applyUpdUserId")); + busBean.save(busProcessNew); + + func1(delegateTask, busBean, object,"1"); + }else { + SarLawsDetailedList lawsDetailedList=lawsUserInfoService.getStandById(object.getString("standId")); + if (null!=lawsDetailedList){ +// 获取字母 + Pattern p = Pattern.compile("[\\d]"); + Matcher matcher = p.matcher(lawsDetailedList.getDetailedListVision()); + String re1 = matcher.replaceAll(""); +// 获取数字 + Pattern p2 = Pattern.compile("[a-zA-z]"); + Matcher matcher2 = p2.matcher(lawsDetailedList.getDetailedListVision()); + String re2 = matcher2.replaceAll(""); + + DetailedUpDto detailed=new DetailedUpDto(); + detailed.setId(object.getString("standId")); + detailed.setApplicationScope(object.getString("applyRegion")); + detailed.setFileId(object.getString("enclosure")); + detailed.setRemark(object.getString("descriptionList")); + detailed.setDetailedListState("1"); + detailed.setDetailedListVision(re1+String.valueOf(Integer.valueOf(re2)+1)); + lawsUserInfoService.updateLaws(detailed); + }else { + throw new ActivitiException("清单信息不存在,若多次出现此信息请联系管理员!!!"); + } + delegateTask.setVariable("jlFlag",0); + func1(delegateTask, busBean, object,"0"); + } + } + + private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object,String commitFlag) { + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",delegateTask.getId()); + BusProcessNew one1 = busBean.getOne(queryWrapper1); + if(one1!=null){ + one1.setCommitFlag(commitFlag); + one1.setCommitText(object.getString("commentText")); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java new file mode 100644 index 00000000..74f55520 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java @@ -0,0 +1,28 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +/** + * 经理人审批前 + */ +public class SRPManagerApproveBefore implements TaskListener{ + @Override + public void notify(DelegateTask delegateTask) { + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.isNull("TASK_ID"); + List list = busBean.list(queryWrapper1); + if(!list.isEmpty()){ + BusProcessNew one1 = list.get(0); + one1.setTaskId(delegateTask.getId()); + busBean.saveOrUpdate(one1); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java new file mode 100644 index 00000000..a9de90d0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartAfter.java @@ -0,0 +1,136 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.dto.DetailedUpDto; +import com.ydw.bat.wkflow.business_main.datas.dto.SarLawsDetailedList; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.ActivitiException; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; +import org.apache.commons.lang.StringUtils; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class SRPstartAfter implements TaskListener { + + + @Override + public void notify(DelegateTask delegateTask) { + //默认流程数据接口 + IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + //流程节点信息 + IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + //流程信息 + IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); + + LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class); + + //根据流程id找到流程信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); + Datas datas = datasService.getOne(queryWrapper); + + JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); + delegateTask.setVariable("objectJson",object); + + List nextUserList = new ArrayList(); + + // 逻辑判断是否会签 signFlag + + if(object.getString("signFlag").equals("1")){ + delegateTask.setVariable("hqFlag",1); + + if(StringUtils.isNotBlank(object.getString("zrUserId"))){ + + if(object.getString("zrUserId").contains(",")){ + nextUserList = Arrays.asList(object.getString("zrUserId").split(",")); + }else { + nextUserList.add(object.getString("zrUserId")); + } + // 配置多实例 + delegateTask.setVariable("hqUserList",nextUserList); + } + }else { + delegateTask.setVariable("hqFlag",2); + if(StringUtils.isNotBlank(object.getString("jlUserId"))){ + delegateTask.setVariable("managerUserId",object.getString("jlUserId")); + } + } + + //设置审批中的状态 + SarLawsDetailedList lawsDetailedList=lawsUserInfoService.getStandById(object.getString("standId")); + if (null!=lawsDetailedList){ + DetailedUpDto detailed=new DetailedUpDto(); + detailed.setId(object.getString("standId")); + detailed.setDetailedListState("3"); + lawsUserInfoService.updateLaws(detailed); + }else { + throw new ActivitiException("清单信息不存在,若多次出现此信息请联系管理员!!!"); + } + + //截止时间 流程描述 创建人 + String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String user = object.getString("prcCreateUser"); + String username = object.getString("prcCreateUserName"); + String standName = object.getString("standName"); + String prcName = standName+"-标准法规清单申请"; + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId()); + BusProcessName one1 = busProcessNameService.getOne(queryWrapper2); + if(one1!=null){ + one1.setOverTime(OVERTIME); + one1.setPrcType("3"); + one1.setPrcName(prcName); + one1.setCreatUser(user); + one1.setCreatUserName(username); + busProcessNameService.saveOrUpdate(one1); + } + // 存储当前节点意见 + BusProcessNew busProcessNew = new BusProcessNew(); + busProcessNew.setMsgType("clause"); + busProcessNew.setPId(delegateTask.getProcessInstanceId()); + busProcessNew.setMesg(object.toJSONString()); + busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey()); + busProcessNew.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); + busBean.save(busProcessNewNext); + } + }else { + BusProcessNew busProcessNewNext = new BusProcessNew(); + busProcessNewNext.setMsgType("clause"); + busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); + busProcessNewNext.setMesg(object.toJSONString()); + busProcessNewNext.setFinishFlag("0"); + busProcessNewNext.setTaskInfo("业务经理审批"); + busProcessNewNext.setUserId(object.getString("jlUserId")); + busBean.save(busProcessNewNext); + } + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartBefore.java new file mode 100644 index 00000000..29e31706 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPstartBefore.java @@ -0,0 +1,27 @@ +package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.delegate.DelegateTask; +import org.activiti.engine.delegate.TaskListener; + +import java.util.List; + +public class SRPstartBefore implements TaskListener { + + @Override + public void notify(DelegateTask delegateTask) { +// IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); +// QueryWrapper queryWrapper1 = new QueryWrapper(); +// queryWrapper1.isNull("TASK_ID"); +// List list = busBean.list(queryWrapper1); +// if(!list.isEmpty()){ +// BusProcessNew one1 = list.get(0); +// one1.setTaskId(delegateTask.getId()); +// busBean.saveOrUpdate(one1); +// } + } + +}