diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java index 892291b0..0a66d9a7 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAchildren.java @@ -22,4 +22,12 @@ public class PCAchildren { private String workPeople; private String workPeopleId; + private String noCompliance; + private String zcNoCompliance; + private String complianceReasons; + private String countermeasures; + private String zcCountermeasures; + private Date zcCompletionTime; + private Date completionTime; + private String zcComplianceReasons; } \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java index 45e92196..e34a6510 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/dto/PCA/PCAdataList.java @@ -33,4 +33,13 @@ public class PCAdataList { private String workPeopleId; private List children; + private String noCompliance; + private String zcNoCompliance; + private String complianceReasons; + private String countermeasures; + private String zcCountermeasures; + private Date zcCompletionTime; + private Date completionTime; + private String zcComplianceReasons; + } \ No newline at end of file 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 758bd50e..82f72ed1 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 @@ -11,6 +11,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.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; @@ -85,6 +86,5 @@ public class PCAComplianceAssessmentAfter implements TaskListener { busBean.save(busProcessNewNext); } } - } } 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 11846b65..1e85584d 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 @@ -102,14 +102,16 @@ public class PCAbafgManagerApproveAfter implements TaskListener { } } }else { - List busProcessNews=busBean.findLastworkPeople("Projectcomplianceassessment6",delegateTask.getProcessInstanceId()); + List busProcessNews=busBean.findLastworkPeople("Projectcomplianceassessment10",delegateTask.getProcessInstanceId()); PCAtotal res = new PCAtotal(); for (BusProcessNew bus:busProcessNews) { PCAtotal pcAtotal=JSONObject.parseObject(bus.getMesg(),PCAtotal.class); - if (StringUtils.isNotEmpty(res.getBZFlag())){ - res.getDataList().addAll(pcAtotal.getDataList()); - }else { - BeanUtils.copyProperties(pcAtotal,res); + if ("1".equals(pcAtotal.getBZFlag())) { + if (StringUtils.isNotEmpty(res.getBZFlag())) { + res.getDataList().addAll(pcAtotal.getDataList()); + } else { + BeanUtils.copyProperties(pcAtotal, res); + } } } if (nextUserList != null && !nextUserList.isEmpty()) { @@ -126,5 +128,6 @@ public class PCAbafgManagerApproveAfter implements TaskListener { } } } + } } 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 d848255d..164b8c7e 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 @@ -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.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAchildren; import com.ydw.bat.wkflow.business_main.datas.dto.PCA.PCAtotal; import com.ydw.bat.wkflow.business_main.datas.dto.SarStandUnqualified; import com.ydw.bat.wkflow.business_main.datas.dto.SarStandardComplianceProductAssess; @@ -41,16 +42,130 @@ public class PCAdlApproveAfter implements TaskListener { Datas datas = datasService.getOne(queryWrapper); JSONObject object = JSONObject.parseObject(datas.getFormValsJson()); delegateTask.setVariable("objectJson", object); - //后续节点所需要的数据 List nextUserList=new ArrayList<>(); - PCAtotal res =JSONObject.parseObject(datas.getFormValsJson(),PCAtotal.class); - //不一致项 存储集合 - List standUnqualifieds=new ArrayList<>(); - //评估结果存储集合 - List sarStandardComplianceProductAssesses=new ArrayList<>(); + if ("1".equals(object.get("dlFlag"))) { + //后续节点所需要的数据 + PCAtotal res = JSONObject.parseObject(datas.getFormValsJson(), PCAtotal.class); + //不一致项 存储集合 + List standUnqualifieds = new ArrayList<>(); + //评估结果存储集合 + List sarStandardComplianceProductAssesses = new ArrayList<>(); + + res.getDataList().forEach(pcAdataList -> { + //标准一级别 + if (null != pcAdataList.getNoCompliance()) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(pcAdataList.getStandId()); + sarStandUnqualified.setStandName(pcAdataList.getStandName()); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(res.getProjectName()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); + sarStandUnqualified.setProductType("research"); + sarStandUnqualified.setReason(pcAdataList.getNoCompliance()); + sarStandUnqualified.setPlanCloseTime(pcAdataList.getCompletionTime()); + standUnqualifieds.add(sarStandUnqualified); + } + + if (null != pcAdataList.getZcNoCompliance()) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(pcAdataList.getStandId()); + sarStandUnqualified.setStandName(pcAdataList.getStandName()); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(res.getProjectName()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); + sarStandUnqualified.setReason(pcAdataList.getZcNoCompliance()); + sarStandUnqualified.setProductType("product"); + sarStandUnqualified.setPlanCloseTime(pcAdataList.getZcCompletionTime()); + standUnqualifieds.add(sarStandUnqualified); + } + //合估评规 结果! + SarStandardComplianceProductAssess sarStandard = new SarStandardComplianceProductAssess(); +// sarStandard.setProductLineId(o.getProductLine()); + sarStandard.setStandName(pcAdataList.getStandName()); + sarStandard.setStandNumber(pcAdataList.getStandId()); + //111 + sarStandard.setProductionCompletionTime(pcAdataList.getZcCompletionTime()); + sarStandard.setProductionCountermeasures(pcAdataList.getZcCountermeasures()); + sarStandard.setProductionCompliance(pcAdataList.getZcNoCompliance()); + sarStandard.setResearchCompletionTime(pcAdataList.getCompletionTime()); + sarStandard.setResearchCountermeasures(pcAdataList.getCountermeasures()); + sarStandard.setResearchNonCompliance(pcAdataList.getNoCompliance()); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + sarStandard.setResearchImplementationTime(pcAdataList.getXcxssrqgj()); +// simpleDateFormat.parse(String.valueOf(delegateTask.getVariable("XCXSSRQ"))) + sarStandard.setProductionImplementationTime(pcAdataList.getZccssrqgj()); + sarStandardComplianceProductAssesses.add(sarStandard); + //遍历条目 + for (PCAchildren pcAchildren : pcAdataList.getChildren()) { + if (null != pcAchildren.getNoCompliance()) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(pcAchildren.getStandId()); + sarStandUnqualified.setStandName(pcAdataList.getStandName()); + sarStandUnqualified.setItemsNum(pcAchildren.getItemsNum()); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setItemsName(pcAchildren.getItemsName()); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(res.getProjectName()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); + sarStandUnqualified.setProductType("research"); + sarStandUnqualified.setReason(pcAchildren.getNoCompliance()); + sarStandUnqualified.setPlanCloseTime(pcAchildren.getCompletionTime()); + standUnqualifieds.add(sarStandUnqualified); + } + + if (null != pcAdataList.getZcNoCompliance()) { + SarStandUnqualified sarStandUnqualified = new SarStandUnqualified(); + //少一个standId 不合格原因 在研在产! + sarStandUnqualified.setStandId(pcAchildren.getStandId()); + sarStandUnqualified.setStandName(pcAdataList.getStandName()); + sarStandUnqualified.setItemsNum(pcAchildren.getItemsNum()); + sarStandUnqualified.setCreateById(delegateTask.getVariable("prcCreateUser", String.class)); + sarStandUnqualified.setItemsName(pcAchildren.getItemsName()); + sarStandUnqualified.setCloseState(1); + sarStandUnqualified.setCreateTime(new Date()); + sarStandUnqualified.setProductName(res.getProjectName()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); + sarStandUnqualified.setResponsibleUnit(pcAdataList.getZrbm()); + sarStandUnqualified.setReason(pcAchildren.getZcNoCompliance()); + sarStandUnqualified.setProductType("product"); + sarStandUnqualified.setPlanCloseTime(pcAchildren.getZcCompletionTime()); + standUnqualifieds.add(sarStandUnqualified); + } +//合估评规 结果! + SarStandardComplianceProductAssess sarStandardChild = new SarStandardComplianceProductAssess(); + // sarStandard.setProductLineId(o.getProductLine()); + sarStandardChild.setStandName(pcAdataList.getStandName()); + sarStandardChild.setStandNumber(pcAdataList.getStandId()); + sarStandardChild.setProductionCompletionTime(pcAchildren.getZcCompletionTime()); + sarStandardChild.setProductionCountermeasures(pcAchildren.getZcCountermeasures()); + sarStandardChild.setProductionCompliance(pcAchildren.getZcNoCompliance()); + sarStandardChild.setResearchCompletionTime(pcAchildren.getCompletionTime()); + sarStandardChild.setResearchCountermeasures(pcAchildren.getCountermeasures()); + sarStandardChild.setResearchNonCompliance(pcAchildren.getNoCompliance()); + sarStandardChild.setResearchImplementationTime(pcAdataList.getXcxssrqgj()); + sarStandardChild.setProductionImplementationTime(pcAdataList.getZccssrqgj()); + sarStandardComplianceProductAssesses.add(sarStandardChild); + } + }); + //数据入库!!!! + lawsUserInfoService.addsarStandUnqualified(standUnqualifieds); + lawsUserInfoService.addProduct(sarStandardComplianceProductAssesses); + delegateTask.setVariable("dlFlag","1"); + }else { + delegateTask.setVariable("dlFlag","2"); + nextUserList.add(String.valueOf(delegateTask.getVariable("sum"))); + } //截止时间 流程描述 创建人 String OVERTIME = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); String user = delegateTask.getVariable("prcCreateUser",String.class); @@ -67,7 +182,6 @@ public class PCAdlApproveAfter implements TaskListener { one1.setCreatUserName(username); busProcessNameService.saveOrUpdate(one1); } - // 存储当前节点意见1 if (null!=object.getString("commentText")) { QueryWrapper queryWrapper3 = new QueryWrapper(); 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 d4533217..6ecd025b 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 @@ -17,6 +17,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.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.BeanUtils; @@ -48,6 +49,8 @@ public class PCAffLiableDistributeAfter implements TaskListener { //准备标准数据 Map mapData=new HashMap<>(); pcAtotal.getDataList().forEach(pcAdataList -> { + List pcAchildren=new ArrayList<>(); + pcAdataList.setChildren(pcAchildren); mapData.put(pcAdataList.getStandId(),pcAdataList); }); Map map=new HashMap<>(); @@ -61,9 +64,6 @@ public class PCAffLiableDistributeAfter implements TaskListener { flag++; } } - if (flag==0){ - map.get(o.getWorkPeopleId()).getDataList().add(mapData.get(o.getKey())); - } }else { PCAtotal pcs=new PCAtotal(); BeanUtils.copyProperties(pcAtotal,pcs); @@ -72,7 +72,10 @@ public class PCAffLiableDistributeAfter implements TaskListener { list.add(o); pcs.setChildren(list); List list2=new ArrayList<>(); - list2.add(mapData.get(o.getKey())); + 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); } @@ -104,7 +107,7 @@ public class PCAffLiableDistributeAfter implements TaskListener { BusProcessNew busProcessNewNext = new BusProcessNew(); busProcessNewNext.setMsgType("clause"); busProcessNewNext.setPId(delegateTask.getProcessInstanceId()); - busProcessNewNext.setMesg(JsonUtil.toJson(map.get(userId))); + busProcessNewNext.setMesg(String.valueOf(JSONObject.toJSON(map.get(userId)))); busProcessNewNext.setTaskInfo(delegateTask.getTaskDefinitionKey()); busProcessNewNext.setFinishFlag("0"); busProcessNewNext.setTaskInfo(delegateTask.getName()); @@ -112,6 +115,5 @@ public class PCAffLiableDistributeAfter implements TaskListener { busBean.save(busProcessNewNext); } } - } }