diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java index 00fd8b1d1..487725f35 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java @@ -550,6 +550,316 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl{ + String e1Title = StringUtils.isNotEmpty(e1.getTitle()) ? e1.getTitle() : ""; + String e2Title = StringUtils.isNotEmpty(e2.getTitle()) ? e2.getTitle() : ""; + return comparator.compare(e1Title,e2Title); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1Title = StringUtils.isNotEmpty(e1.getTitle()) ? e1.getTitle() : ""; + String e2Title = StringUtils.isNotEmpty(e2.getTitle()) ? e2.getTitle() : ""; + return comparator.compare(e2Title,e1Title); + }); + } + } + // 子标题 subtitle + if("subtitle".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1Subtitle = StringUtils.isNotEmpty(e1.getSubtitle()) ? e1.getSubtitle() : ""; + String e2Subtitle = StringUtils.isNotEmpty(e2.getSubtitle()) ? e2.getSubtitle() : ""; + return comparator.compare(e1Subtitle,e2Subtitle); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1Subtitle = StringUtils.isNotEmpty(e1.getSubtitle()) ? e1.getSubtitle() : ""; + String e2Subtitle = StringUtils.isNotEmpty(e2.getSubtitle()) ? e2.getSubtitle() : ""; + return comparator.compare(e2Subtitle,e1Subtitle); + }); + } + } + // 适用地区 region_dictText + if("region_dictText".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1Region = StringUtils.isNotEmpty(e1.getRegion()) ? e1.getRegion() : ""; + String e2Region = StringUtils.isNotEmpty(e2.getRegion()) ? e2.getRegion() : ""; + return comparator.compare(e1Region,e2Region); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1Region = StringUtils.isNotEmpty(e1.getRegion()) ? e1.getRegion() : ""; + String e2Region = StringUtils.isNotEmpty(e2.getRegion()) ? e2.getRegion() : ""; + return comparator.compare(e2Region,e1Region); + }); + } + } + // 对应标准 correspondingStandard + if("correspondingStandard".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1correspondingStandard = StringUtils.isNotEmpty(e1.getCorrespondingStandard()) ? e1.getCorrespondingStandard() : ""; + String e2correspondingStandard = StringUtils.isNotEmpty(e2.getCorrespondingStandard()) ? e2.getCorrespondingStandard() : ""; + return comparator.compare(e1correspondingStandard,e2correspondingStandard); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1correspondingStandard = StringUtils.isNotEmpty(e1.getCorrespondingStandard()) ? e1.getCorrespondingStandard() : ""; + String e2correspondingStandard = StringUtils.isNotEmpty(e2.getCorrespondingStandard()) ? e2.getCorrespondingStandard() : ""; + return comparator.compare(e2correspondingStandard,e1correspondingStandard); + }); + } + } + // 实施类别 implementType_dictText + if("implementType_dictText".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1ImplementType_dictText = StringUtils.isNotEmpty(e1.getImplementType_dictText()) ? e1.getImplementType_dictText() : ""; + String e2ImplementType_dictText = StringUtils.isNotEmpty(e2.getImplementType_dictText()) ? e2.getImplementType_dictText() : ""; + return comparator.compare(e1ImplementType_dictText,e2ImplementType_dictText); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1ImplementType_dictText = StringUtils.isNotEmpty(e1.getImplementType_dictText()) ? e1.getImplementType_dictText() : ""; + String e2ImplementType_dictText = StringUtils.isNotEmpty(e2.getImplementType_dictText()) ? e2.getImplementType_dictText() : ""; + return comparator.compare(e2ImplementType_dictText,e1ImplementType_dictText); + }); + } + } + // 新车实施日期 xin1Che1Xing2Shi2Shi1Ri4Qi1String + if("xin1Che1Xing2Shi2Shi1Ri4Qi1String".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + if(e1.getXin1Che1Xing2Shi2Shi1Ri4Qi1() != null && e2.getXin1Che1Xing2Shi2Shi1Ri4Qi1() != null){ + String e1xin1Che1Xing2Shi2Shi1Ri4Qi = DateUtils.formatDate(e1.getXin1Che1Xing2Shi2Shi1Ri4Qi1()); + String e2xin1Che1Xing2Shi2Shi1Ri4Qi = DateUtils.formatDate(e2.getXin1Che1Xing2Shi2Shi1Ri4Qi1()); + return comparator.compare(e1xin1Che1Xing2Shi2Shi1Ri4Qi,e2xin1Che1Xing2Shi2Shi1Ri4Qi); + } + return 0; + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + if(e1.getXin1Che1Xing2Shi2Shi1Ri4Qi1() != null && e2.getXin1Che1Xing2Shi2Shi1Ri4Qi1() != null){ + String e1xin1Che1Xing2Shi2Shi1Ri4Qi = DateUtils.formatDate(e1.getXin1Che1Xing2Shi2Shi1Ri4Qi1()); + String e2xin1Che1Xing2Shi2Shi1Ri4Qi = DateUtils.formatDate(e2.getXin1Che1Xing2Shi2Shi1Ri4Qi1()); + return comparator.compare(e2xin1Che1Xing2Shi2Shi1Ri4Qi,e1xin1Che1Xing2Shi2Shi1Ri4Qi); + } + return 0; + }); + } + } + // 在产车实施日期 implementTimeString + if("implementTimeString".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + if(e1.getImplementTime() != null && e2.getImplementTime() != null){ + String e1ImplementTime = DateUtils.formatDate(e1.getImplementTime()); + String e2ImplementTime = DateUtils.formatDate(e2.getImplementTime()); + return comparator.compare(e1ImplementTime,e2ImplementTime); + } + return 0; + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + if(e1.getImplementTime() != null && e2.getImplementTime() != null){ + String e1ImplementTime = DateUtils.formatDate(e1.getImplementTime()); + String e2ImplementTime = DateUtils.formatDate(e2.getImplementTime()); + return comparator.compare(e2ImplementTime,e1ImplementTime); + } + return 0; + }); + } + } + // 认证类型 attestationType_dictText + if("attestationType_dictText".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1AttestationType_dictText = StringUtils.isNotEmpty(e1.getAttestationType_dictText()) ? e1.getAttestationType_dictText() : ""; + String e2AttestationType_dictText = StringUtils.isNotEmpty(e2.getAttestationType_dictText()) ? e2.getAttestationType_dictText() : ""; + return comparator.compare(e1AttestationType_dictText,e2AttestationType_dictText); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1AttestationType_dictText = StringUtils.isNotEmpty(e1.getAttestationType_dictText()) ? e1.getAttestationType_dictText() : ""; + String e2AttestationType_dictText = StringUtils.isNotEmpty(e2.getAttestationType_dictText()) ? e2.getAttestationType_dictText() : ""; + return comparator.compare(e2AttestationType_dictText,e1AttestationType_dictText); + }); + } + } + + // 认证级别 attestationRank + if("attestationRank".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1AttestationRank_dictText = StringUtils.isNotEmpty(e1.getAttestationRank_dictText()) ? e1.getAttestationRank_dictText() : ""; + String e2AttestationRank_dictText = StringUtils.isNotEmpty(e2.getAttestationRank_dictText()) ? e2.getAttestationRank_dictText() : ""; + return comparator.compare(e1AttestationRank_dictText,e2AttestationRank_dictText); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1AttestationRank_dictText = StringUtils.isNotEmpty(e1.getAttestationRank_dictText()) ? e1.getAttestationRank_dictText() : ""; + String e2AttestationRank_dictText = StringUtils.isNotEmpty(e2.getAttestationRank_dictText()) ? e2.getAttestationRank_dictText() : ""; + return comparator.compare(e2AttestationRank_dictText,e1AttestationRank_dictText); + }); + } + } + + // 适用增补件 applicableSupplement + if("applicableSupplement".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1ApplicableSupplement = StringUtils.isNotEmpty(e1.getApplicableSupplement()) ? e1.getApplicableSupplement() : ""; + String e2ApplicableSupplement = StringUtils.isNotEmpty(e2.getApplicableSupplement()) ? e2.getApplicableSupplement() : ""; + return comparator.compare(e1ApplicableSupplement,e2ApplicableSupplement); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1ApplicableSupplement = StringUtils.isNotEmpty(e1.getApplicableSupplement()) ? e1.getApplicableSupplement() : ""; + String e2ApplicableSupplement = StringUtils.isNotEmpty(e2.getApplicableSupplement()) ? e2.getApplicableSupplement() : ""; + return comparator.compare(e2ApplicableSupplement,e1ApplicableSupplement); + }); + } + } + + // 法规工程师 regulationOwnerName + /*if("regulationOwnerName".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + if(e1.getApplicableSupplement() != null && e2.getApplicableSupplement() != null){ + return comparator.compare(e1.getApplicableSupplement(),e2.getApplicableSupplement()); + } + return 0; + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + if(e1.getApplicableSupplement() != null && e2.getApplicableSupplement() != null){ + return comparator.compare(e2.getApplicableSupplement(),e1.getApplicableSupplement()); + } + return 0; + }); + } + }*/ + // homologationEngineerName 认证工程师 + + // engineeringInterfacePersonName 工程接口人 + + // 备注 remark + if("remark".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1Remark = StringUtils.isNotEmpty(e1.getRemark()) ? e1.getRemark() : ""; + String e2Remark = StringUtils.isNotEmpty(e2.getRemark()) ? e2.getRemark() : ""; + return comparator.compare(e1Remark,e2Remark); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1Remark = StringUtils.isNotEmpty(e1.getRemark()) ? e1.getRemark() : ""; + String e2Remark = StringUtils.isNotEmpty(e2.getRemark()) ? e2.getRemark() : ""; + return comparator.compare(e2Remark,e1Remark); + }); + } + } + // 设计符合性 交付物 designDeliverableTemplateName + if("designDeliverableTemplateName".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1DesignDeliverableTemplateName = StringUtils.isNotEmpty(e1.getDesignDeliverableTemplateName()) ? e1.getDesignDeliverableTemplateName() : ""; + String e2DesignDeliverableTemplateName = StringUtils.isNotEmpty(e2.getDesignDeliverableTemplateName()) ? e2.getDesignDeliverableTemplateName() : ""; + return comparator.compare(e1DesignDeliverableTemplateName,e2DesignDeliverableTemplateName); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1DesignDeliverableTemplateName = StringUtils.isNotEmpty(e1.getDesignDeliverableTemplateName()) ? e1.getDesignDeliverableTemplateName() : ""; + String e2DesignDeliverableTemplateName = StringUtils.isNotEmpty(e2.getDesignDeliverableTemplateName()) ? e2.getDesignDeliverableTemplateName() : ""; + return comparator.compare(e2DesignDeliverableTemplateName,e1DesignDeliverableTemplateName); + }); + } + } + // 设计符合性 责任人 designDuty_dictText + if("designDuty_dictText".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1DesignDuty_dictText = StringUtils.isNotEmpty(e1.getDesignDuty_dictText()) ? e1.getDesignDuty_dictText() : ""; + String e2DesignDuty_dictText = StringUtils.isNotEmpty(e2.getDesignDuty_dictText()) ? e2.getDesignDuty_dictText() : ""; + return comparator.compare(e1DesignDuty_dictText,e2DesignDuty_dictText); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1DesignDuty_dictText = StringUtils.isNotEmpty(e1.getDesignDuty_dictText()) ? e1.getDesignDuty_dictText() : ""; + String e2DesignDuty_dictText = StringUtils.isNotEmpty(e2.getDesignDuty_dictText()) ? e2.getDesignDuty_dictText() : ""; + return comparator.compare(e2DesignDuty_dictText,e1DesignDuty_dictText); + }); + } + } + // 设计符合性 交付物说明 designRemark + if("designRemark".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1DesignRemark = StringUtils.isNotEmpty(e1.getDesignRemark()) ? e1.getDesignRemark() : ""; + String e2DesignRemark = StringUtils.isNotEmpty(e2.getDesignRemark()) ? e2.getDesignRemark() : ""; + return comparator.compare(e1DesignRemark,e2DesignRemark); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1DesignRemark = StringUtils.isNotEmpty(e1.getDesignRemark()) ? e1.getDesignRemark() : ""; + String e2DesignRemark = StringUtils.isNotEmpty(e2.getDesignRemark()) ? e2.getDesignRemark() : ""; + return comparator.compare(e2DesignRemark,e1DesignRemark); + }); + } + } + + // 验证符合性 交付物 verifyDeliverableTemplateName + if("verifyDeliverableTemplateName".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1VerifyDeliverableTemplateName = StringUtils.isNotEmpty(e1.getVerifyDeliverableTemplateName()) ? e1.getVerifyDeliverableTemplateName() : ""; + String e2VerifyDeliverableTemplateName = StringUtils.isNotEmpty(e2.getVerifyDeliverableTemplateName()) ? e2.getVerifyDeliverableTemplateName() : ""; + return comparator.compare(e1VerifyDeliverableTemplateName,e2VerifyDeliverableTemplateName); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1VerifyDeliverableTemplateName = StringUtils.isNotEmpty(e1.getVerifyDeliverableTemplateName()) ? e1.getVerifyDeliverableTemplateName() : ""; + String e2VerifyDeliverableTemplateName = StringUtils.isNotEmpty(e2.getVerifyDeliverableTemplateName()) ? e2.getVerifyDeliverableTemplateName() : ""; + return comparator.compare(e2VerifyDeliverableTemplateName,e1VerifyDeliverableTemplateName); + }); + } + } + // 验证符合性 责任人 verifyDuty_dictText + if("verifyDuty_dictText".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1VerifyDuty_dictText = StringUtils.isNotEmpty(e1.getVerifyDuty_dictText()) ? e1.getVerifyDuty_dictText() : ""; + String e2VerifyDuty_dictText = StringUtils.isNotEmpty(e2.getVerifyDuty_dictText()) ? e2.getVerifyDuty_dictText() : ""; + return comparator.compare(e1VerifyDuty_dictText,e2VerifyDuty_dictText); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1VerifyDuty_dictText = StringUtils.isNotEmpty(e1.getVerifyDuty_dictText()) ? e1.getVerifyDuty_dictText() : ""; + String e2VerifyDuty_dictText = StringUtils.isNotEmpty(e2.getVerifyDuty_dictText()) ? e2.getVerifyDuty_dictText() : ""; + return comparator.compare(e2VerifyDuty_dictText,e1VerifyDuty_dictText); + }); + } + } + // 设计符合性 交付物说明 verifyRemark + if("verifyRemark".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + String e1VerifyRemark = StringUtils.isNotEmpty(e1.getVerifyRemark()) ? e1.getVerifyRemark() : ""; + String e2VerifyRemark = StringUtils.isNotEmpty(e2.getVerifyRemark()) ? e2.getVerifyRemark() : ""; + return comparator.compare(e1VerifyRemark,e2VerifyRemark); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + String e1VerifyRemark = StringUtils.isNotEmpty(e1.getVerifyRemark()) ? e1.getVerifyRemark() : ""; + String e2VerifyRemark = StringUtils.isNotEmpty(e2.getVerifyRemark()) ? e2.getVerifyRemark() : ""; + return comparator.compare(e2VerifyRemark,e1VerifyRemark); + }); + } + } //适用范围 if("shi4Yong4Fan4Wei2".equals(orderByField)){ if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java index 1fcf0cfda..7bfd3191f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java @@ -512,4 +512,11 @@ public class ProjectLawsInventoryEOController extends JeroController updateFlowStatusBatch(@RequestBody JSONObject json) { return this.projectLawsInventoryEOService.updateFlowStatusBatch(json); } + + @AutoLog(value = "项目库-法规清单表-引用交付物") + @ApiOperation(value="项目库-法规清单表-引用交付物", notes="项目库-法规清单表-引用交付物") + @PostMapping(value = "/citeDeliverable") + public Result citeDeliverable(@RequestBody JSONObject json) { + return this.projectLawsInventoryEOService.citeDeliverable(json); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java index 537d5f671..f9dd65114 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java @@ -81,6 +81,8 @@ public enum OperatorTypeEnum { LAWS_INVENTORY_ENGINEERING_INTERFACE_PERSON_EXPEDITING("法规清单-工程接口人催办","lawsInventoryEngineeringInterfacePersonExpediting"), LAWS_INVENTORY_DESIGN_UPDATE_FLOW_STATUS("法规清单-更新设计符合性流程状态","lawsInventoryDesignUpdateFlowStatus"), LAWS_INVENTORY_VERIFY_UPDATE_FLOW_STATUS("法规清单-更新验证符合性流程状态","lawsInventoryVerifyUpdateFlowStatus"), + LAWS_INVENTORY_DESIGN_CITE_DELIVERABLE("法规清单-设计-引用交付物","lawsInventoryDesignCiteDeliverable"), + LAWS_INVENTORY_VERIFY_CITE_DELIVERABLE("法规清单-验证-引用交付物","lawsInventoryVerifyCiteDeliverable"), /** * 待办中心-将法规工程师的法规清单确认待办任务转为已办 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java index 978ab186e..8b877e8ac 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java @@ -251,4 +251,6 @@ public interface IProjectLawsInventoryEOService extends IService updateFlowStatusBatch(JSONObject json); + + Result citeDeliverable(JSONObject json); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 314329eb6..89be76086 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -11897,4 +11897,112 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().success("批量更新状态成功!"); } + + @Override + public Result citeDeliverable(JSONObject json) { + String cut = json.getString("cut"); + String operateType = json.getString("operateType"); + String flowType = ""; + if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_DESIGN_CITE_DELIVERABLE.getValue())){ + flowType = FlowTypeEnum.SJFHXSHLC.getValue(); + }else if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_VERIFY_CITE_DELIVERABLE.getValue())){ + flowType = FlowTypeEnum.YZFHXSCLC.getValue(); + } + + String resultMsg = ""; + ProcessHistoryEO citePhEo = null; + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + resultMsg = "引用交付物成功!"; + }else { + resultMsg = "Successfully referenced deliverables!"; + } + + String serialNumber = json.getString("serialNumber"); + String dutyTerritory = json.getString("dutyTerritory"); + String citeProjectLibraryId = json.getString("citeProjectLibraryId"); + if(StringUtils.isEmpty(citeProjectLibraryId)){ + throw new JeroBootException("请选择引用的项目!"); + } + + // 符合性流程已完成的状态 + List complianceFlowStatusList = new ArrayList<>(); + complianceFlowStatusList.add(ComplianceFlowStatusEnum.CONFORMITY.getValue()); + complianceFlowStatusList.add(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); + complianceFlowStatusList.add(ComplianceFlowStatusEnum.TO_TRACK.getValue()); + complianceFlowStatusList.add(ComplianceFlowStatusEnum.UNINVOLVED.getValue()); + + QueryWrapper citePliQueryWrap = new QueryWrapper<>(); + citePliQueryWrap.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,citeProjectLibraryId); + if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){ + citePliQueryWrap.lambda().in(ProjectLawsInventoryEO::getDesignFlowStatus,complianceFlowStatusList); + } else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){ + citePliQueryWrap.lambda().in(ProjectLawsInventoryEO::getVerifyFlowStatus,complianceFlowStatusList); + } + List citePliEoList = this.list(citePliQueryWrap); + if(CollectionUtils.isNotEmpty(citePliEoList)){ + List citePliEoListTemp = citePliEoList.stream().filter(citePliEo -> { + boolean serialNumberFlag = (StringUtils.equals(serialNumber,citePliEo.getSerialNumber())); + boolean dutyTerritoryFlag = Arrays.equals(dutyTerritory.split(","), citePliEo.getDutyTerritory().split(",")); + boolean deliverableTypeFlag = false; + + if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_DESIGN_CITE_DELIVERABLE.getValue())){ + String designDeliverableType = json.getString("designDeliverableType"); + deliverableTypeFlag = Arrays.equals(designDeliverableType.split(","), citePliEo.getDesignDeliverableType().split(",")); + }else if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_VERIFY_CITE_DELIVERABLE.getValue())){ + String verifyDeliverableType = json.getString("verifyDeliverableType"); + deliverableTypeFlag = Arrays.equals(verifyDeliverableType.split(","), citePliEo.getVerifyDeliverableType().split(",")); + } + + return serialNumberFlag && dutyTerritoryFlag && deliverableTypeFlag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(citePliEoListTemp)){ + ProjectLawsInventoryEO citePliEo = citePliEoListTemp.get(0); + String citePliEoId = citePliEo.getId(); + + QueryWrapper citePiQueryWrap = new QueryWrapper<>(); + citePiQueryWrap.lambda().eq(ProcessInfoEO::getProjectLawsInventoryId,citePliEoId); + citePiQueryWrap.lambda().eq(ProcessInfoEO::getFlowType,flowType); + citePiQueryWrap.orderByDesc("create_time"); + List citePiEoList = this.processInfoEOService.list(citePiQueryWrap); + if(CollectionUtils.isNotEmpty(citePiEoList)){ + ProcessInfoEO citePiEo = citePiEoList.get(0); + String citePiEoActiProcInstId = citePiEo.getActiProcInstId(); + + List taskDefinitionKeyList = new ArrayList<>(); + if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){ + taskDefinitionKeyList.add(DesignComplianceFlowNodeKeyEnum.ZRRTJJFW.getValue()); + taskDefinitionKeyList.add(DesignComplianceFlowNodeKeyEnum.DEZRRTJJFW.getValue()); + } else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){ + taskDefinitionKeyList.add(VerifyComplianceFlowNodeKeyEnum.ZRRTJJFW.getValue()); + taskDefinitionKeyList.add(VerifyComplianceFlowNodeKeyEnum.DEZRRTJJFW.getValue()); + } + + QueryWrapper citePhQueryWrap = new QueryWrapper<>(); + citePhQueryWrap.lambda().eq(ProcessHistoryEO::getActiProcInstId,citePiEoActiProcInstId); + citePhQueryWrap.lambda().in(ProcessHistoryEO::getTaskDefinitionKey,taskDefinitionKeyList); + citePhQueryWrap.orderByDesc("create_time"); + List citePhEoList = this.processHistoryEOService.list(citePhQueryWrap); + if (CollectionUtils.isNotEmpty(citePhEoList)) { + citePhEo = citePhEoList.get(0); + } + } + } + + if(ObjectUtils.isEmpty(citePhEo)){ + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + resultMsg = "所选引用项目中,没有匹配到数据,请重新选择!"; + }else { + resultMsg = "There is no matching data in the selected reference project. Please reselect!"; + } + } + }else { + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + resultMsg = "所选引用项目中流程完成数据为空,请重新选择!"; + }else { + resultMsg = "The process completion data in the selected reference project is empty, please reselect!"; + } + } + return Result.OK(resultMsg,citePhEo); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml index ae920fd76..24f7d0ea7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml @@ -19,9 +19,10 @@ - - and project_name is not null - + and temp.project_name is not null + and ( temp.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%') @@ -112,7 +113,10 @@ order by temp.create_time desc