标准合规评估流程!!!

This commit is contained in:
yuezhihang
2021-07-15 16:19:39 +08:00
parent 34d5a31bc9
commit b1f18338d4
25 changed files with 818 additions and 336 deletions
@@ -5,6 +5,7 @@ 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.dto.SarStandUnqualified;
import com.ydw.bat.wkflow.business_main.datas.entity.*;
import feign.Headers;
import org.apache.ibatis.annotations.Param;
@@ -92,6 +93,10 @@ public interface LawsUserInfoService {
public ResponseMessage updateLaws(@RequestBody DetailedUpDto addDetailedDto);
@PostMapping("sarStandUnqualified/sar-stand-unqualified/add")
public ResponseMessage addsarStandUnqualified(@RequestBody List<SarStandUnqualified> sarStandUnqualifieds);
@RequestMapping(value = "sarLawsDetailedList/sar-laws-detailed-list/getStandById",method = RequestMethod.POST)
public SarLawsDetailedList getStandById(@RequestParam("id") String id);
@@ -0,0 +1,87 @@
/**
* Copyright 2021 bejson.com
*/
package com.ydw.bat.wkflow.business_main.datas.dto;
import java.util.Date;
/**
* Auto-generated: 2021-07-09 16:11:32
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class BreakdownList {
private String id;
private String svpps;
private String standId;
private String itemsNum;
private String claimType;
private String itemsName;
private String applyArctic;
private String busStandCover;
private String responsibleUnit;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setSvpps(String svpps) {
this.svpps = svpps;
}
public String getSvpps() {
return svpps;
}
public void setStandId(String standId) {
this.standId = standId;
}
public String getStandId() {
return standId;
}
public void setItemsNum(String itemsNum) {
this.itemsNum = itemsNum;
}
public String getItemsNum() {
return itemsNum;
}
public void setClaimType(String claimType) {
this.claimType = claimType;
}
public String getClaimType() {
return claimType;
}
public void setItemsName(String itemsName) {
this.itemsName = itemsName;
}
public String getItemsName() {
return itemsName;
}
public void setApplyArctic(String applyArctic) {
this.applyArctic = applyArctic;
}
public String getApplyArctic() {
return applyArctic;
}
public void setBusStandCover(String busStandCover) {
this.busStandCover = busStandCover;
}
public String getBusStandCover() {
return busStandCover;
}
public void setResponsibleUnit(String responsibleUnit) {
this.responsibleUnit = responsibleUnit;
}
public String getResponsibleUnit() {
return responsibleUnit;
}
}
@@ -0,0 +1,45 @@
/**
* Copyright 2021 bejson.com
*/
package com.ydw.bat.wkflow.business_main.datas.dto;
import lombok.Data;
import java.util.List;
/**
* Auto-generated: 2021-07-09 16:11:32
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
@Data
public class DataList {
private String uname;
private String productLine;
private String distributePerson;
private String distributePersonId;
private String projectManager;
private List<SarStandProjectLibraries> sarStandProjectLibraries;
public void setUname(String uname) {
this.uname = uname;
}
public String getUname() {
return uname;
}
public void setProductLine(String productLine) {
this.productLine = productLine;
}
public String getProductLine() {
return productLine;
}
public void setSarStandProjectLibraries(List<SarStandProjectLibraries> sarStandProjectLibraries) {
this.sarStandProjectLibraries = sarStandProjectLibraries;
}
public List<SarStandProjectLibraries> getSarStandProjectLibraries() {
return sarStandProjectLibraries;
}
}
@@ -1,30 +1,39 @@
/**
* Copyright 2021 bejson.com
*/
package com.ydw.bat.wkflow.business_main.datas.dto;
import java.util.Date;
import lombok.Data;
/**
* Auto-generated: 2021-07-08 14:51:4
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
import java.util.List;
@Data
public class PEPDTO {
private String id;
private String projectPlatfor;
private String projectNumber;
private String projectName;
private String projectClassification;
private String projectStatus;
private String projectGroup;
private Date projectStartDate;
private Date projectEndDate;
private String currentNode;
private String projectLevel;
private String productLine;
private List<DataList> dataList;
private SarStandProjectLibraries sarStandProjectLibraries;
private String jlUserId;
private String passFlag;
private String zrUserId;
private String standName;
private String standNumber;
private List<BreakdownList> breakdownList;
private String prcCreateUser;
private String applyUpdUserId;
private String approvalOpinion;
private String qualityEngineer;
private String qualityEngineerName;
private String certifiedEngineer;
private String certifiedEngineerName;
private String prcCreateUserName;
//返回分发责任人
private String distributePerson;
private String distributePersonId;
private String uname;
private String projectManager;
//责任人 (对应到每条数据一个责任人)
private String workPeople;
//在研在产字段!!! 待定中 下发落实人需要使用
//时间字段
private String ZCCSSRQ;
private String XCXSSRQ;
public void setId(String id) {
this.id = id;
}
@@ -32,88 +41,88 @@ public class PEPDTO {
return id;
}
public void setProjectPlatfor(String projectPlatfor) {
this.projectPlatfor = projectPlatfor;
public void setDataList(List<DataList> dataList) {
this.dataList = dataList;
}
public String getProjectPlatfor() {
return projectPlatfor;
public List<DataList> getDataList() {
return dataList;
}
public void setProjectNumber(String projectNumber) {
this.projectNumber = projectNumber;
public void setJlUserId(String jlUserId) {
this.jlUserId = jlUserId;
}
public String getProjectNumber() {
return projectNumber;
public String getJlUserId() {
return jlUserId;
}
public void setProjectName(String projectName) {
this.projectName = projectName;
public void setZrUserId(String zrUserId) {
this.zrUserId = zrUserId;
}
public String getProjectName() {
return projectName;
public String getZrUserId() {
return zrUserId;
}
public void setProjectClassification(String projectClassification) {
this.projectClassification = projectClassification;
public void setStandName(String standName) {
this.standName = standName;
}
public String getProjectClassification() {
return projectClassification;
public String getStandName() {
return standName;
}
public void setProjectStatus(String projectStatus) {
this.projectStatus = projectStatus;
public void setStandNumber(String standNumber) {
this.standNumber = standNumber;
}
public String getProjectStatus() {
return projectStatus;
public String getStandNumber() {
return standNumber;
}
public void setProjectGroup(String projectGroup) {
this.projectGroup = projectGroup;
public void setBreakdownList(List<BreakdownList> breakdownList) {
this.breakdownList = breakdownList;
}
public String getProjectGroup() {
return projectGroup;
public List<BreakdownList> getBreakdownList() {
return breakdownList;
}
public void setProjectStartDate(Date projectStartDate) {
this.projectStartDate = projectStartDate;
public void setPrcCreateUser(String prcCreateUser) {
this.prcCreateUser = prcCreateUser;
}
public Date getProjectStartDate() {
return projectStartDate;
public String getPrcCreateUser() {
return prcCreateUser;
}
public void setProjectEndDate(Date projectEndDate) {
this.projectEndDate = projectEndDate;
public void setApplyUpdUserId(String applyUpdUserId) {
this.applyUpdUserId = applyUpdUserId;
}
public Date getProjectEndDate() {
return projectEndDate;
public String getApplyUpdUserId() {
return applyUpdUserId;
}
public void setCurrentNode(String currentNode) {
this.currentNode = currentNode;
public void setApprovalOpinion(String approvalOpinion) {
this.approvalOpinion = approvalOpinion;
}
public String getCurrentNode() {
return currentNode;
public String getApprovalOpinion() {
return approvalOpinion;
}
public void setProjectLevel(String projectLevel) {
this.projectLevel = projectLevel;
public void setQualityEngineer(String qualityEngineer) {
this.qualityEngineer = qualityEngineer;
}
public String getProjectLevel() {
return projectLevel;
public String getQualityEngineer() {
return qualityEngineer;
}
public void setProductLine(String productLine) {
this.productLine = productLine;
public void setCertifiedEngineer(String certifiedEngineer) {
this.certifiedEngineer = certifiedEngineer;
}
public String getProductLine() {
return productLine;
public String getCertifiedEngineer() {
return certifiedEngineer;
}
public void setProjectManager(String projectManager) {
this.projectManager = projectManager;
public void setPrcCreateUserName(String prcCreateUserName) {
this.prcCreateUserName = prcCreateUserName;
}
public String getProjectManager() {
return projectManager;
public String getPrcCreateUserName() {
return prcCreateUserName;
}
}
@@ -0,0 +1,14 @@
package com.ydw.bat.wkflow.business_main.datas.dto;
import lombok.Data;
import java.util.List;
@Data
public class PEPres {
private List<PEPDTO> pepdtos;
private List<Step3DTO> step3DTOS;
}
@@ -0,0 +1,127 @@
/**
* Copyright 2021 bejson.com
*/
package com.ydw.bat.wkflow.business_main.datas.dto;
import java.util.Date;
/**
* Auto-generated: 2021-07-09 16:11:32
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class SarStandProjectLibraries {
private String id;
private String uname;
private String currentNode;
private String productLine;
private String projectName;
private String projectGroup;
private String projectLevel;
private String projectNumber;
private String projectStatus;
private Date projectEndDate;
private String projectManager;
private String projectPlatfor;
private Date projectStartDate;
private String projectClassification;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUname() {
return uname;
}
public void setCurrentNode(String currentNode) {
this.currentNode = currentNode;
}
public String getCurrentNode() {
return currentNode;
}
public void setProductLine(String productLine) {
this.productLine = productLine;
}
public String getProductLine() {
return productLine;
}
public void setProjectName(String projectName) {
this.projectName = projectName;
}
public String getProjectName() {
return projectName;
}
public void setProjectGroup(String projectGroup) {
this.projectGroup = projectGroup;
}
public String getProjectGroup() {
return projectGroup;
}
public void setProjectLevel(String projectLevel) {
this.projectLevel = projectLevel;
}
public String getProjectLevel() {
return projectLevel;
}
public void setProjectNumber(String projectNumber) {
this.projectNumber = projectNumber;
}
public String getProjectNumber() {
return projectNumber;
}
public void setProjectStatus(String projectStatus) {
this.projectStatus = projectStatus;
}
public String getProjectStatus() {
return projectStatus;
}
public void setProjectEndDate(Date projectEndDate) {
this.projectEndDate = projectEndDate;
}
public Date getProjectEndDate() {
return projectEndDate;
}
public void setProjectManager(String projectManager) {
this.projectManager = projectManager;
}
public String getProjectManager() {
return projectManager;
}
public void setProjectPlatfor(String projectPlatfor) {
this.projectPlatfor = projectPlatfor;
}
public String getProjectPlatfor() {
return projectPlatfor;
}
public void setProjectStartDate(Date projectStartDate) {
this.projectStartDate = projectStartDate;
}
public Date getProjectStartDate() {
return projectStartDate;
}
public void setProjectClassification(String projectClassification) {
this.projectClassification = projectClassification;
}
public String getProjectClassification() {
return projectClassification;
}
}
@@ -0,0 +1,95 @@
package com.ydw.bat.wkflow.business_main.datas.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.sql.Timestamp;
/**
* <p>
*
* </p>
*
* @author super_liu
* @since 2021-06-15
*/
@Data
@Accessors(chain = true)
@ApiModel(value="SarStandUnqualified对象", description="")
public class SarStandUnqualified {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "标准ID")
private String standId;
@ApiModelProperty(value = "标准名称")
private String standName;
@ApiModelProperty(value = "条款号")
private String itemsNum;
@ApiModelProperty(value = "条款名称")
private String itemsName;
@ApiModelProperty(value = "产品线")
private String productLine;
@ApiModelProperty(value = "责任部门")
private String responsibleUnit;
@ApiModelProperty(value = "项目名称")
private String productName;
@ApiModelProperty(value = "创建部门")
private String createDeptId;
@ApiModelProperty(value = "创建人")
private String createById;
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
@ApiModelProperty(value = "关闭状态(1为开启,2为关闭)")
@TableField("CLOSE_STATE")
private Integer closeState;
@ApiModelProperty(value = "实际关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp actualCloseTime;
@ApiModelProperty(value = "计划关闭时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp planCloseTime;
@ApiModelProperty(value = "未符合原因")
private String reason;
@ApiModelProperty(value = "质量工程师")
private String qaEngineer;
@ApiModelProperty(value = "认证工程师")
private String authEngineer;
@ApiModelProperty(value = "责任工程师")
private String dutyEngineer;
@ApiModelProperty(value = "产品类型(research为在研产品,product为在产产品)")
private String productType;
@ApiModelProperty(value = "主键")
private String id;
}
@@ -0,0 +1,34 @@
/**
* Copyright 2021 bejson.com
*/
package com.ydw.bat.wkflow.business_main.datas.dto;
import lombok.Data;
/**
* Auto-generated: 2021-07-12 17:52:47
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
@Data
public class Step3DTO {
private String uname;
private String itemNum;
private String itemsName;
private String standName;
private String implementer;
private String productLine;
private String projectName;
private String standNumber;
private String implementerId;
private String projectNumber;
private String projectManager;
private String qualityEngineer;
private String distributePerson;
private String certifiedEngineer;
private String distributePersonId;
private String zCCSSRQ;
private String xCXSSRQ;
}
@@ -34,37 +34,39 @@ public class PEPDepartLeaderAfter implements TaskListener {
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
//根据流程id找到流程信息
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
//存数据
// List<String> nextUserList = new ArrayList();
//是否审批通过 passFlag == 1 通过
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,"0");
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setMesg(object.toJSONString());
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busProcessNew.setUserId(delegateTask.getVariable("DLUserId",String.class));
busBean.save(busProcessNew);
func1(delegateTask, busBean, object, "0");
//截止时间 流程描述 创建人
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+"-标准项目合规评估-标准法规部业务经理审批";
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());
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
@@ -74,11 +76,11 @@ public class PEPDepartLeaderAfter implements TaskListener {
}
}
private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object,String commitFlag) {
private void func1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, String commitFlag) {
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("TASK_ID",delegateTask.getId());
queryWrapper1.eq("TASK_ID", delegateTask.getId());
BusProcessNew one1 = busBean.getOne(queryWrapper1);
if(one1!=null){
if (one1 != null) {
one1.setCommitFlag(commitFlag);
one1.setCommitText(object.getString("commentText"));
busBean.saveOrUpdate(one1);
@@ -15,6 +15,8 @@ public class PEPDepartLeaderBefore implements TaskListener {
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<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
@@ -39,30 +39,29 @@ public class PEPSumAfter implements TaskListener {
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
//业务经理Id
//标准法规部门领导
List<String> nextUserList = new ArrayList();
if (StringUtils.isNotBlank(object.getString(""))){
nextUserList.add(object.getString("DLUserId"));
delegateTask.setVariable("DLUserId",object.getString("DLUserId"));
}else {
if (StringUtils.isNotBlank(delegateTask.getVariable("DLUserIds",String.class))) {
nextUserList.add(delegateTask.getVariable("DLUserIds",String.class));
delegateTask.setVariable("DLUserId", delegateTask.getVariable("DLUserIds",String.class));
} else {
throw new ActivitiException("请选择标准法规部门领导!!");
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估";
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());
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
@@ -71,6 +70,7 @@ public class PEPSumAfter implements TaskListener {
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
// throw new ActivitiException("sshaifhiqhfka");
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
busProcessNew.setPId(delegateTask.getProcessInstanceId());
@@ -81,8 +81,8 @@ public class PEPSumAfter implements TaskListener {
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busBean.save(busProcessNew);
if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : nextUserList){
if (nextUserList != null && !nextUserList.isEmpty()) {
for (String nextUser : nextUserList) {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
@@ -15,6 +15,8 @@ public class PEPSumBefore implements TaskListener {
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<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
@@ -1,9 +1,11 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tmsps.fk.common.util.JsonUtil;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.dto.PEPres;
import com.ydw.bat.wkflow.business_main.datas.dto.Step3DTO;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
@@ -31,44 +33,41 @@ public class PEPffresPersonAfter implements TaskListener {
//流程信息
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
//根据流程id找到流程信息
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
//设置分发负责人
List<String> nextUserList = new ArrayList();
if (StringUtils.isNotBlank(object.getString("fenFlag"))){
if ("1".equals(object.getString("fenFlag"))){
if (StringUtils.isNotBlank(object.getString("fenFlag"))) {
if ("1".equals(object.getString("fenFlag"))) {
//通过 记录通过的流程条数
if (StringUtils.isNotBlank(String.valueOf(delegateTask.getVariable("PEPCount")))){
String as= String.valueOf(delegateTask.getVariable("PEPCount"));
delegateTask.setVariable("PEPCount",String.valueOf(Integer.valueOf(as)+1));
}else {
delegateTask.setVariable("PEPCount","0");
if (null!=delegateTask.getVariable("PEPCount")) {
String as = String.valueOf(delegateTask.getVariable("PEPCount"));
delegateTask.setVariable("PEPCount", String.valueOf(Integer.valueOf(as) + 1));
} else {
delegateTask.setVariable("PEPCount", "1");
}
delegateTask.setVariable("fenFlag",object.getString("fenFlag"));
}else {
delegateTask.setVariable("fenFlag", object.getString("fenFlag"));
} else {
//不通过就要驳回
nextUserList.add(object.getString("workPeople"));
delegateTask.setVariable("workPeople",object.getString("workPeople"));
delegateTask.setVariable("fenFlag",object.getString("fenFlag"));
delegateTask.setVariable("workPeople", object.getString("workPeople"));
delegateTask.setVariable("fenFlag", object.getString("fenFlag"));
}
}
//截止时间 流程描述 创建人
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+"-标准项目合规评估-标准法规部业务经理审批";
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());
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
@@ -76,7 +75,7 @@ public class PEPffresPersonAfter implements TaskListener {
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
// 存储当前节点意见
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
busProcessNew.setPId(delegateTask.getProcessInstanceId());
@@ -87,59 +86,43 @@ public class PEPffresPersonAfter implements TaskListener {
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busBean.save(busProcessNew);
if(nextUserList != null && !nextUserList.isEmpty() && "2".equals(object.getString("fenFlag"))){
oneStep(delegateTask, busBean, object, nextUserList);
}else if ("1".equals(object.getString("fenFlag")) && String.valueOf(delegateTask.getVariable("PEPCount")).equals(String.valueOf(delegateTask.getVariable("PEPAllCount")))){
oneStep1(delegateTask, busBean, object, nextUserList);
}else {
oneStep(delegateTask, busBean, object, nextUserList);
}
}
private void oneStep(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, List<String> nextUserList) {
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);
}
}
// TODO: 2021/7/7
private void oneStep1(DelegateTask delegateTask, IBusProcessNewService busBean, JSONObject object, List<String> nextUserList) {
List<BusProcessNew> busProcessNews = busBean.findLastworkPeople("ProjectEvaluationProcess5",delegateTask.getProcessInstanceId());
//中间对象
Map<String,List<BusProcessNew>> map=new HashMap<>();
List<String> CPX=new ArrayList<>();
for (BusProcessNew bus:busProcessNews) {
//数据归纳
JSONObject object1 = JSONObject.parseObject(bus.getMesg());
String key=object1.getString("CPXpeople");
if (StringUtils.isNotBlank(key)){
List<BusProcessNew> middle=new ArrayList<>();
if (null!=map.get(key)){
map.get(key).add(bus);
Map<String, List<BusProcessNew>> map = new HashMap<>();
Map<String, List<Step3DTO>> maps = new HashMap<>();
List<String> CPX = new ArrayList<>();
JSONArray jsonArray=JSONArray.parseArray(object.getString("step3DTOS"));
for (Object j : jsonArray) {
Step3DTO o=JSONObject.parseObject(String.valueOf(j), Step3DTO.class);
if (!CPX.contains(o.getProjectManager())){
CPX.add(o.getProjectManager());
}
if (null!=maps.get(o.getProjectManager())){
maps.get(o.getProjectManager()).add(o);
}else {
//判断存在多少个 产品线负责人
CPX.add(key);
middle.add(bus);
map.put(key,middle);
List<Step3DTO> mis=new ArrayList<>();
mis.add(o);
maps.put(o.getProjectManager(),mis);
}
}else {
throw new ActivitiException("请检查是否存在,产品线负责人!!");
}
}
//生成任务信息
for (String cp:CPX) {
for (String cp : CPX) {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(JsonUtil.toJson(map.get(cp)));
if (null!=map.get(cp)) {
busProcessNewNext.setMesg(JsonUtil.toJson(map.get(cp)));
}else {
PEPres pePres=new PEPres();
pePres.setStep3DTOS(maps.get(cp));
busProcessNewNext.setMesg(JsonUtil.toJson(pePres));
}
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
@@ -147,6 +130,11 @@ public class PEPffresPersonAfter implements TaskListener {
busBean.save(busProcessNewNext);
}
//赋值 节点
delegateTask.setVariable("CPXpeoples",CPX);
if (null==delegateTask.getVariable("CPXpeoples")) {
delegateTask.setVariable("CPXpeoples", CPX);
}else {
delegateTask.getVariable("CPXpeoples",List.class).addAll(CPX);
}
}
}
@@ -15,6 +15,8 @@ public class PEPffresPersonBefore implements TaskListener {
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<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
@@ -1,8 +1,10 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.dto.*;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
@@ -12,17 +14,13 @@ 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 org.springframework.beans.BeanUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
public class PEPmanagerApproveAfter implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
//默认流程数据接口
@@ -32,49 +30,31 @@ public class PEPmanagerApproveAfter implements TaskListener {
//流程信息
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
//根据流程id找到流程信息
QueryWrapper<Datas> queryWrapper = 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<String> nextUserList = new ArrayList();
//是否审批通过 passFlag == 1 不通过
if ("2".equals(String.valueOf(object.get("passFlag")))){
//如果流程通过标识为1 则为不通过发送消息给用户流程结束
}else {
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("liablePeopleList",nextUserList);
}
//设置一个计数器
if (StringUtils.isNotBlank(delegateTask.getVariable("PEPAllCount",String.class))){
delegateTask.setVariable("PEPAllCount", String.valueOf(delegateTask.getVariable("PEPAllCount",Integer.class)
+nextUserList.size()));
}else {
delegateTask.setVariable("PEPAllCount",nextUserList.size());
}
}
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
PEPDTO pepdto = JSONObject.parseObject(datas.getFormValsJson(), PEPDTO.class);
delegateTask.setVariable("objectJson", object);
delegateTask.setVariable("passFlag",object.getString("passFlag"));
//后续节点所需要的数据
List<String> liablePeopleList = new ArrayList<>();
//获取对象中的项目的数据
//先获取标准的数据
List<BreakdownList> breakdownList = JSONArray.parseArray(object.getString("breakdownList"), BreakdownList.class);
//再获取产品线和项目对应信息
List<DataList> dataList = JSONArray.parseArray(object.getString("dataList"), DataList.class);
//在研为0 在产为1
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估-标准法规部业务经理审批";
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());
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
@@ -82,6 +62,64 @@ public class PEPmanagerApproveAfter implements TaskListener {
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
//生成任务信息
Map<String,PEPres> map=new HashMap<>();
//是否审批通过 passFlag == 1 不通过
if ("2".equals(String.valueOf(object.get("passFlag")))) {
//如果流程通过标识为1 则为不通过发送消息给用户流程结束
} else {
int count=0;
for (DataList da : dataList) {
PEPres pePres=new PEPres();
List<PEPDTO> pepdtos=new ArrayList<>();
for (SarStandProjectLibraries sa:da.getSarStandProjectLibraries()) {
for (BreakdownList breakdownList1:breakdownList) {
//造数据
//项目
PEPDTO res = new PEPDTO();
BeanUtils.copyProperties(pepdto, res);
List<DataList> dataLists = new ArrayList<>();
DataList dataList1 = new DataList();
List<SarStandProjectLibraries> list = new ArrayList<>();
SarStandProjectLibraries libraries = new SarStandProjectLibraries();
BeanUtils.copyProperties(sa, libraries);
res.setSarStandProjectLibraries(libraries);
list.add(sa);
dataList1.setSarStandProjectLibraries(list);
dataLists.add(dataList1);
res.setDataList(dataLists);
//标准 数据
BreakdownList breakdownList2 = new BreakdownList();
BeanUtils.copyProperties(breakdownList1, breakdownList2);
List<BreakdownList> breakdownLists = new ArrayList<>();
breakdownLists.add(breakdownList2);
res.setBreakdownList(breakdownLists);
res.setCertifiedEngineerName(object.getString("certifiedEngineerName"));
res.setQualityEngineerName(object.getString("qualityEngineerName"));
//存储终点数据
res.setDistributePerson(da.getDistributePerson());
res.setDistributePersonId(da.getDistributePersonId());
res.setUname(da.getUname());
res.setProjectManager(da.getProjectManager());
//时间
res.setXCXSSRQ(String.valueOf(delegateTask.getVariable("XCXSSRQ")));
res.setZCCSSRQ(String.valueOf(delegateTask.getVariable("ZCCSSRQ")));
pepdtos.add(res);
}
}
pePres.setPepdtos(pepdtos);
map.put(da.getDistributePersonId(),pePres);
// 处理分发责任人
if (!liablePeopleList.contains(da.getDistributePersonId())){
liablePeopleList.add(da.getDistributePersonId());
count++;
}
}
delegateTask.setVariable("liablePeopleList",liablePeopleList);
delegateTask.setVariable("PEPAllCount",count);
}
// 存储当前节点意见1
// 存储当前节点意见
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setMsgType("clause");
@@ -93,16 +131,17 @@ public class PEPmanagerApproveAfter implements TaskListener {
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busBean.save(busProcessNew);
if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : nextUserList){
if(liablePeopleList != null && !liablePeopleList.isEmpty()){
for(String liable : liablePeopleList){
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(object.toJSONString());
busProcessNewNext.setMesg(JSONObject.toJSONString(map.get(liable)));
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busProcessNewNext.setUserId(liable);
busBean.save(busProcessNewNext);
}
}
@@ -15,6 +15,7 @@ public class PEPmanagerApproveBefore implements TaskListener {
public void notify(DelegateTask delegateTask) {
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId());
queryWrapper1.isNull("TASK_ID");
List<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
@@ -1,16 +1,14 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService;
import com.ydw.bat.wkflow.business_main.datas.service.IDatasService;
import com.ydw.bat.wkflow.util.SpringContextUtil;
import org.activiti.engine.ActivitiException;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
@@ -31,35 +29,35 @@ public class PEPstartAfter implements TaskListener {
//流程信息
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
//根据流程id找到流程信息
QueryWrapper<Datas> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object2 = JSONObject.parseObject(datas.getFormValsJson());
JSONObject object = null;
delegateTask.setVariable("objectJson",object2);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson", object);
//获取对象中的项目的数据
// JSONArray os=object.getJSONArray("sarStandProjectLibraries");
// for (Object o:os) {
// System.out.println(object1);
// }
//业务经理Id
List<String> nextUserList = new ArrayList();
delegateTask.setVariable("YWuserId",object.getString("YWuserId"));
nextUserList.add(object.getString("YWuserId"));
//赋值审批经理
delegateTask.setVariable("YWuserId", object.getString("dockUser"));
nextUserList.add(object.getString("dockUser"));
//存储新车型实施日期,在产车实施日期
delegateTask.setVariable("ZCCSSRQ",object.getString("ZCCSSRQ"));
delegateTask.setVariable("XCXSSRQ",object.getString("XCXSSRQ"));
//赋值标准法规部领导
delegateTask.setVariable("DLUserIds", object.getString("ministerUser"));
delegateTask.setVariable("qualityEngineer", object.getString("qualityEngineer"));
//截止时间 流程描述 创建人
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+"-标准项目合规评估";
delegateTask.setVariable("prcCreateUser", user);
delegateTask.setVariable("prcCreateUserName", username);
String prcName = "标准项目合规评估流程-发起";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID",delegateTask.getProcessInstanceId());
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
@@ -67,30 +65,30 @@ public class PEPstartAfter implements TaskListener {
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
throw new ActivitiException("lalallallal");
// 存储当前节点意见
// 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);
// }
// }
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.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);
}
}
}
}
@@ -1,5 +1,6 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
@@ -10,13 +11,13 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
import com.ydw.bat.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;
@@ -39,24 +40,25 @@ public class PEPtaskEstimateAfter implements TaskListener {
queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId());
Datas datas = datasService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
delegateTask.setVariable("objectJson",object);
JSONObject object = JSONObject.parseObject(datas.getFormValsJson());
JSONArray jsonArray=JSONArray.parseArray(object.getString("dataList"));
//设置分发负责人
List<String> nextUserList = new ArrayList();
if (StringUtils.isNotBlank(object.getString("ffUserId"))){
delegateTask.setVariable("ffUserId",object.getString("ffUserId"));
nextUserList.add(object.getString("ffUserId"));
JSONObject object1=JSONObject.parseObject(jsonArray.getString(0));
if (StringUtils.isNotBlank(object1.getString("distributePersonId"))) {
delegateTask.setVariable("ffUserId", object1.getString("distributePersonId"));
nextUserList.add(delegateTask.getVariable("ffUserId",String.class));
}
//截止时间 流程描述 创建人
String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String user = object.getString("prcCreateUser");
String username = object.getString("prcCreateUserName");
String standName = object.getString("standName");
String prcName = standName+"-标准项目合规评估-标准法规部业务经理审批";
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());
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if(one1!=null){
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
@@ -75,8 +77,8 @@ public class PEPtaskEstimateAfter implements TaskListener {
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busBean.save(busProcessNew);
if(nextUserList != null && !nextUserList.isEmpty()){
for(String nextUser : nextUserList){
if (nextUserList != null && !nextUserList.isEmpty()) {
for (String nextUser : nextUserList) {
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
@@ -15,9 +15,11 @@ public class PEPtaskEstimateBefore implements TaskListener {
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<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
if (!list.isEmpty()) {
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
busBean.saveOrUpdate(one1);
@@ -1,8 +1,10 @@
package com.ydw.bat.wkflow.listener.projectEvaluationProcess;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
import com.ydw.bat.wkflow.business_main.datas.dto.PEPres;
import com.ydw.bat.wkflow.business_main.datas.dto.Step3DTO;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew;
import com.ydw.bat.wkflow.business_main.datas.entity.Datas;
@@ -10,15 +12,13 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService;
import com.ydw.bat.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.*;
public class PEPtaskLssueAfter implements TaskListener {
@@ -32,68 +32,88 @@ public class PEPtaskLssueAfter implements TaskListener {
//流程信息
IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class);
LawsUserInfoService lawsUserInfoService = SpringContextUtil.getBean(LawsUserInfoService.class);
//根据流程id找到流程信息
QueryWrapper<Datas> queryWrapper = 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<String> nextUserList = new ArrayList();
//流程下发给对应的人
if (StringUtils.isNotBlank(object.getString("workPeoples"))){
if(object.getString("workPeoples").contains(",")){
nextUserList = Arrays.asList(object.getString("workPeoples").split(","));
JSONArray object1 = JSONArray.parseArray(datas.getFormValsJson());
List<Step3DTO> step3DTOS = JSONArray.parseArray(datas.getFormValsJson(), Step3DTO.class);
Map map = new HashMap();
map.put(step3DTOS.get(0).getDistributePersonId(), datas.getFormValsJson());
delegateTask.setVariable("Step3", map);
//流程下发给对应的人
List<String> peoples = delegateTask.getVariable("liablePeopleList", List.class);
List<String> workPeoples=new ArrayList<>();
List<Step3DTO> res = new ArrayList<>();
Map<String,List<Step3DTO>> maps=new HashMap();
for (String s : peoples) {
if (null!=map.get(s)) {
res.addAll(JSONArray.parseArray(String.valueOf(map.get(s)), Step3DTO.class));
JSONArray.parseArray(String.valueOf(map.get(s)), Step3DTO.class).forEach(step3DTO -> {
if (!workPeoples.contains(step3DTO.getImplementerId())) {
workPeoples.add(step3DTO.getImplementerId());
}
if (null != maps.get(step3DTO.getImplementerId())) {
maps.get(step3DTO.getImplementerId()).add(step3DTO);
} else {
List<Step3DTO> dtos = new ArrayList<>();
dtos.add(step3DTO);
maps.put(step3DTO.getImplementerId(), dtos);
}
});
}
}
if (null==delegateTask.getVariable("workPeoples")) {
delegateTask.setVariable("workPeoples", workPeoples);
}else {
nextUserList.add(object.getString("workPeoples"));
delegateTask.getVariable("workPeoples",List.class).addAll(workPeoples);
}
// 配置多实例
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 = "标准项目合规评估-流程下发";
QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("PRC_ID", delegateTask.getProcessInstanceId());
BusProcessName one1 = busProcessNameService.getOne(queryWrapper2);
if (one1 != null) {
one1.setOverTime(OVERTIME);
one1.setPrcType("5");
one1.setPrcName(prcName);
one1.setCreatUser(user);
one1.setCreatUserName(username);
busProcessNameService.saveOrUpdate(one1);
}
// 存储当前节点意见
//截止时间 流程描述 创建人
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("5");
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);
BusProcessNew busProcessNew = new BusProcessNew();
PEPres pePres=new PEPres();
pePres.setStep3DTOS(res);
busProcessNew.setMsgType("clause");
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setMesg(JSONObject.toJSONString(pePres));
busProcessNew.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setFinishFlag("0");
busProcessNew.setTaskInfo(delegateTask.getName());
busBean.save(busProcessNew);
//更改遍历方式!!遍历生成的数据条数 每条都要判断!!
if (workPeoples != null && !workPeoples.isEmpty()) {
for (String nextUser : workPeoples) {
PEPres press=new PEPres();
press.setStep3DTOS(maps.get(nextUser));
BusProcessNew busProcessNewNext = new BusProcessNew();
busProcessNewNext.setMsgType("clause");
busProcessNewNext.setPId(delegateTask.getProcessInstanceId());
busProcessNewNext.setMesg(JSONObject.toJSONString(press));
busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey());
busProcessNewNext.setFinishFlag("0");
busProcessNewNext.setTaskInfo(delegateTask.getName());
busProcessNewNext.setUserId(nextUser);
busBean.save(busProcessNewNext);
}
}
}
}
// }
}
@@ -15,9 +15,11 @@ public class PEPtaskLssueBefore implements TaskListener {
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<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
if (!list.isEmpty()) {
BusProcessNew one1 = list.get(0);
one1.setTaskId(delegateTask.getId());
busBean.saveOrUpdate(one1);
@@ -20,6 +20,8 @@ public class ApplyApplicantBefore implements TaskListener{
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<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
@@ -17,6 +17,8 @@ public class CountersignBefore implements TaskListener{
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<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
@@ -20,6 +20,8 @@ public class ManagerApproveBefore implements TaskListener{
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<BusProcessNew> list = busBean.list(queryWrapper1);
if(!list.isEmpty()){
+1 -1
View File
@@ -18,7 +18,7 @@ eureka:
defaultZone: http://192.168.10.47:8761/eureka/
spring:
application:
name: bat-wkflow
name: shan3
http:
encoding:
charset: UTF-8