diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java index 6bd5300c7..5dad3661e 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java @@ -101,6 +101,7 @@ public class SysDictItem implements Serializable { private java.lang.String attributeType; /**逻辑删除标识*/ + /**value:0可用,1逻辑删除**/ @TableLogic public Integer delFlag; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/DicCodeEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/DicCodeEnum.java index d109cf276..c1f571268 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/DicCodeEnum.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/DicCodeEnum.java @@ -4,16 +4,17 @@ package com.jero.modules.system.enums; * 数据字典code枚举类 */ public enum DicCodeEnum { - REGION("适用地区","0","region"), + REGION("适用地区","1493782108399820801","region"), + DUTY_TERRITORY("责任领域","1513417672023441409","duty_territory"), ; String name; - String value; + String id; String code; - private DicCodeEnum(String name, String value, String code) { + private DicCodeEnum(String name, String id, String code) { this.name = name; - this.value = value; + this.id = id; this.code = code; } @@ -25,13 +26,14 @@ public enum DicCodeEnum { this.name = name; } - public String getValue() { - return value; + public String getId() { + return id; } - public void setValue(String value) { - this.value = value; + public void setId(String id) { + this.id = id; } + public String getCode() { return code; } @@ -40,10 +42,10 @@ public enum DicCodeEnum { this.code = code; } - public static String getTextByValue(String value) { + public static String getTextByCode(String code) { DicCodeEnum[] values = values(); for (DicCodeEnum dicCodeEnum : values) { - if (dicCodeEnum.value.equals(value)) { + if (dicCodeEnum.code.equals(code)) { return dicCodeEnum.name; } } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java index e3eade81d..45c415dc5 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java @@ -26,7 +26,7 @@ public interface SysDictItemMapper extends BaseMapper { @Select("SELECT sys_dict_item.* FROM sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id WHERE DICT_CODE = #{dictCode} order by sys_dict_item.item_text asc") public List selectItemsOrderBySortOrder(String dictCode); - @Select("SELECT sys_dict.dict_code,sys_dict_item.* from sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id where status = 1") + @Select("SELECT sys_dict.dict_code,sys_dict_item.* from sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id where status = 1 and sys_dict_item.del_flag = 0") List selectItemsAll(); /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEOEn.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEOEn.java index 4cbe07987..16a256048 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEOEn.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEOEn.java @@ -65,12 +65,12 @@ public class AuthDummyInventoryInfoEOEn implements Serializable { private String category; /**检验项目*/ - @Excel(name = "Inspection Items", width = 15) + @Excel(name = "Inspection Items", width = 30) @ApiModelProperty(value = "检验项目") private String inspectionItem; /**配置项*/ - @Excel(name = "Configuration Item", width = 15) + @Excel(name = "Configuration Item", width = 30) @ApiModelProperty(value = "配置项") private String configItem; @@ -88,7 +88,7 @@ public class AuthDummyInventoryInfoEOEn implements Serializable { @ApiModelProperty(value = "责任领域") private String dutyTerritory; @TableField(exist = false) - @Excel(name = "Responsible Field", width = 15) + @Excel(name = "Responsible Field", width = 30) // 责任领域名称 private String dutyTerritoryName; /**责任领域名称-英文**/ @@ -100,25 +100,27 @@ public class AuthDummyInventoryInfoEOEn implements Serializable { @ApiModelProperty(value = "交付物") private String deliverable; - /**交付物模板*/ - @ApiModelProperty(value = "交付物模板") - private java.lang.String deliverableTemplate; - /**交付物模板名称**/ - @TableField(exist = false) - @Excel(name = "Deliverable Template", width = 40) - private String deliverableTemplateName; + /**交付物类型*/ @ApiModelProperty(value = "交付物类型") private String deliverableType; @TableField(exist = false) - @Excel(name = "Deliverable Type", width = 15) + @Excel(name = "Deliverable Type", width = 30) // 交付物类型名称 private String deliverableTypeName; // 交付物类型名称-英文 @TableField(exist = false) private String deliverableTypeNameEn; + /**交付物模板*/ + @ApiModelProperty(value = "交付物模板") + private java.lang.String deliverableTemplate; + /**交付物模板名称**/ + @TableField(exist = false) + @Excel(name = "Deliverable Template", width = 30) + private String deliverableTemplateName; + /**文档库id*/ // @Excel(name = "文档库id", width = 15) @ApiModelProperty(value = "文档库id") diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java index 3563262d5..95cb3b506 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java @@ -37,6 +37,7 @@ import com.jero.modules.project.enums.ProjectInventoryFieldEnum; import com.jero.modules.split.common.FileUnZip; import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.enums.DicCodeEnum; import com.jero.modules.system.enums.SysCategoryValueTypeEnum; import com.jero.modules.system.mapper.SysCategoryMapper; import com.jero.modules.system.mapper.SysDictItemMapper; @@ -1218,6 +1219,8 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl dutyTerritoryDictItemList = this.sysDictItemService.selectItemsByDictCode(DicCodeEnum.DUTY_TERRITORY.getCode()); + //编号验证 verifySerialNumber(datas,authDummyInventoryInfoEOTemp); for(AuthDummyInventoryInfoEO authDummyInventoryInfoEO :datas){ @@ -1306,7 +1309,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl"); + if(phasedImplDetailsArr.length < 3){ + if(CutEnum.CN.getValue().equals(cut)){ + errorMsg += "分阶段实施详情-必填项不能为空, "; + }else{ + errorMsg += "Phased Implementation Details - Required items cannot be empty,"; + } + countError++; + break; + } + if(phasedImplDetailsArr.length >= 1){ String standNumberOrClause = phasedImplDetailsArr[0]; if(StringUtils.isEmpty(standNumberOrClause)){ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java index 1ed1f31ef..3d882045c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java @@ -249,7 +249,7 @@ public class DummyInventoryInfoEO implements Serializable { private java.lang.String prehomoDeliverableTemplate; @TableField(exist = false) - @Excel(name = "Prehomo-交付物模板", width = 15) +// @Excel(name = "Prehomo-交付物模板", width = 15) private java.lang.String prehomoDeliverableTemplateName; /**prehomo确认-发起人*/ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java index 34339f806..da023aabc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java @@ -164,6 +164,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl listUserName = new ArrayList<>(); -// listUserName = sysUserMapper.getListUserName(); -// listUserName = listUserName.stream().distinct().collect(Collectors.toList()); + //获取当前的projectId + String projectId = projectCertificationInventoryEO.getProjectLibraryId(); + String cut = projectCertificationInventoryEO.getCut(); + //获取当前用户 + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + Map params = new HashMap<>(); + params.put("projectLibraryId",projectId); + params.put("userId",currentUser.getId()); + params.put("modelType",RoleRelModelTypeEnum.CERTIFICATION_INVENTORY.getValue()); + ProjectLibraryRoleRelEO projectLibraryRoleRelEO = projectLibraryRoleRelEOService.queryByProjectLibraryIdAndUserId(params); + String roleCode = projectLibraryRoleRelEO.getRoleCode(); + +// //判断当前用户与studio工程师是否一致,一致的话具有studio角色的切换 +// if(studionList.contains(currentUser)){ +// //用户有studio工程师的操作 +// } //获取当前的责任人 String dutyPerson = projectCertificationInventoryEO.getDutyPerson(); @@ -277,30 +291,115 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl dutyTerritoryList = new ArrayList<>(); dutyTerritoryList = Arrays.asList(projectCertificationInventoryEO.getDutyTerritory().split(",")); dutyTerritoryList = dutyTerritoryList.stream().distinct().collect(Collectors.toList()); - //获取当前的projectId - String projectId = projectCertificationInventoryEO.getProjectLibraryId(); + //根据责任领域个projectId去查相关人员名单 List projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectId, dutyTerritoryList); - //根据相关人员名单获取的工程接口人 + List allList = new ArrayList<>(); List enginnerList = new ArrayList<>(); + List lawEnginnerList = new ArrayList<>(); + List enginnerLawSetList = new ArrayList<>(); + List enginnerAttSetList = new ArrayList<>(); + //根据相关人员名单获取的工程接口人 for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ - enginnerList.add(relatedPersonnel.getEngineeringInterfacePerson()); - } - for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ - //如果工程接口人不为空的话 - if(enginnerList.size()>0){ - //判断哪个不存在 再去去存入 - if(!enginnerList.contains(dutyPerson)){ - relatedPersonnel.setEngineerAttSet(dutyPerson); -// projectRelatedPersonnelService.editById(relatedPersonnel); - } - }else { - //工程接口人为空的话,直接将责任设置到认证工程师下 - relatedPersonnel.setEngineerAttSet(dutyPerson); -// projectRelatedPersonnelService.editById(relatedPersonnel); + String enginneringInterfacePerson = relatedPersonnel.getEngineeringInterfacePerson(); + if(!StringUtils.isEmpty(enginneringInterfacePerson)){ + enginnerList = Arrays.stream(enginneringInterfacePerson.split(",")).collect(Collectors.toList()); + allList.addAll(enginnerList); } } + //获取相关人员名单中的法规工程师 + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + String lawEngineer = relatedPersonnel.getLawEngineer(); + if(!StringUtils.isEmpty(lawEngineer)){ + lawEnginnerList = Arrays.stream(lawEngineer.split(",")).collect(Collectors.toList()); + allList.addAll(lawEnginnerList); + } + } + //获取相关人员名单中的工程接口-法规工程师设置 + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + String engineerLawSet = relatedPersonnel.getEngineerLawSet(); + if(!StringUtils.isEmpty(engineerLawSet)){ + enginnerLawSetList = Arrays.stream(engineerLawSet.split(",")).collect(Collectors.toList()); + allList.addAll(enginnerLawSetList); + } + } + //获取相关人员名单中的工程接口-认证工程师设置 + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + String engineerAttSet = relatedPersonnel.getEngineerAttSet(); + if(!StringUtils.isEmpty(engineerAttSet)){ + enginnerAttSetList = Arrays.stream(engineerAttSet.split(",")).collect(Collectors.toList()); + allList.addAll(enginnerAttSetList); + } + } + //获取当前项目库id的studio工程师和认证工程师 + List studionList = new ArrayList<>(); + List certificationEngineerList = new ArrayList<>(); + List projectLibraryBases = projectLibraryBaseService.queryById(projectId, cut); + for(ProjectLibraryBase projectLibraryBase : projectLibraryBases){ + studionList.add(projectLibraryBase.getStudioEngineer()); + + String certificationEngineer = projectLibraryBase.getCertificationEngineer(); + if(!StringUtils.isEmpty(certificationEngineer)){ + certificationEngineerList = Arrays.stream(certificationEngineer.split(",")).collect(Collectors.toList()); + allList.addAll(certificationEngineerList); + } + } +// studionList = studionList.stream().distinct().collect(Collectors.toList()); +// certificationEngineerList = certificationEngineerList.stream().distinct().collect(Collectors.toList()); + + allList = allList.stream().distinct().collect(Collectors.toList()); + for(String all : allList){ + if(all.equals("")){ + allList.remove(all); + } + } + + //遍历所有人alllist中是否包含责任人,如果包含,不用操作。 + //-------如果不包含,再去判断当前用户的角色是studio、法规还是认证 + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + if(allList.size()>0){ + if(!allList.contains(dutyPerson)){ + + if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.STUDIO_ENGINEER.getValue())){ + if(relatedPersonnel.getEngineeringInterfacePerson() != null){ + String engineeringInterfacePerson = dutyPerson+","+relatedPersonnel.getEngineeringInterfacePerson(); + relatedPersonnel.setEngineeringInterfacePerson(engineeringInterfacePerson); + }else { + relatedPersonnel.setEngineeringInterfacePerson(dutyPerson); + } + }else if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.REGULATI_ENGINEER.getValue())){ + if(relatedPersonnel.getEngineerLawSet() != null){ + String engineerLawSet = dutyPerson+","+relatedPersonnel.getEngineerLawSet(); + relatedPersonnel.setEngineerLawSet(engineerLawSet); + }else { + relatedPersonnel.setEngineerLawSet(dutyPerson); + } + }else if(roleCode.equals(com.jero.modules.project.enums.ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())){ + if(relatedPersonnel.getEngineerAttSet() !=null){ + String engineerAttSet = dutyPerson+","+relatedPersonnel.getEngineerAttSet(); + relatedPersonnel.setEngineerAttSet(engineerAttSet); + }else { + relatedPersonnel.setEngineerAttSet(dutyPerson); + } + } + } + } + } +// for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ +// //如果工程接口人不为空的话 +// if(enginnerList.size()>0){ +// //判断哪个不存在 再去去存入 +// if(!enginnerList.contains(dutyPerson)){ +// relatedPersonnel.setEngineerAttSet(dutyPerson); +//// projectRelatedPersonnelService.editById(relatedPersonnel); +// } +// }else { +// //工程接口人为空的话,直接将责任设置到认证工程师下 +// relatedPersonnel.setEngineerAttSet(dutyPerson); +//// projectRelatedPersonnelService.editById(relatedPersonnel); +// } +// } this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList); 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 e2542b7ae..64c947d97 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 @@ -57,18 +57,22 @@ import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysRole; import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.enums.DicCodeEnum; import com.jero.modules.system.mapper.SysCategoryMapper; import com.jero.modules.system.mapper.SysDictItemMapper; import com.jero.modules.system.mapper.SysRoleMapper; import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.IProjectUserDutyTerritoryService; import com.jero.modules.system.service.ISysAnnouncementService; +import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; import com.jero.modules.todoCenter.entity.ProcessInfoEO; +import com.jero.modules.todoCenter.enums.DesignComplianceFlowNodeKeyEnum; import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum; +import com.jero.modules.todoCenter.enums.VerifyComplianceFlowNodeKeyEnum; import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; import com.jero.modules.todoCenter.service.IProcessInfoEOService; import com.jero.modules.wkflow.entity.ProcessHistoryEO; @@ -252,6 +256,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl dutyTerritoryList = new ArrayList<>(); dutyTerritoryList = Arrays.asList(projectLawsInventoryEO.getDutyTerritory().split(",")); dutyTerritoryList = dutyTerritoryList.stream().distinct().collect(Collectors.toList()); - + //获取当前的projectLibrartId String projectLibrartId = projectLawsInventoryEO.getProjectLibraryId(); + String cut = projectLawsInventoryEO.getCut(); + Map params = new HashMap<>(); + params.put("projectLibraryId",projectLibrartId); + params.put("userId",currentUser.getId()); + params.put("modelType",RoleRelModelTypeEnum.LAWS_INVENTORY.getValue()); + ProjectLibraryRoleRelEO projectLibraryRoleRelEO = projectLibraryRoleRelEOService.queryByProjectLibraryIdAndUserId(params); + String roleCode1 = projectLibraryRoleRelEO.getRoleCode(); + //分别获取当前编辑中的设计符合性和认证符合性责任人 List designDutyIdList = new ArrayList<>(); designDutyIdList = Arrays.asList(projectLawsInventoryEO.getDesignDutyId().split(",")); - designDutyIdList = designDutyIdList.stream().distinct().collect(Collectors.toList()); List verifyDutyIdList = new ArrayList<>(); verifyDutyIdList = Arrays.asList(projectLawsInventoryEO.getVerifyDutyId().split(",")); - verifyDutyIdList = verifyDutyIdList.stream().distinct().collect(Collectors.toList()); - - //allList 为法规工程师中验证符合性和确认符合中的责任人 - List allList = new ArrayList<>(); -// allList = Arrays.asList(designDutyIdList.toString()+","+verifyDutyIdList.toString()); - allList.addAll(designDutyIdList); - allList.addAll(verifyDutyIdList); - allList = allList.stream().distinct().collect(Collectors.toList()); + //allDutyList 为法规工程师中验证符合性和确认符合中的责任人 + List allDutyList = new ArrayList<>(); + allDutyList.addAll(designDutyIdList); + allDutyList.addAll(verifyDutyIdList); + allDutyList = allDutyList.stream().distinct().collect(Collectors.toList()); + //获取相关责任领域下的和projectLibrartId的相关人员名单的信息 List projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectLibrartId, dutyTerritoryList); - //enginnerList为每一条的工程接口人的集合 + List allList = new ArrayList<>(); List enginnerList = new ArrayList<>(); - for(ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList){ - enginnerList.add(projectRelatedPersonnel.getEngineeringInterfacePerson()); - } - if(projectRelatedPersonnelList.size()>0){ - for(ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList){ - if(enginnerList.size()<0){ - //直接将allList存入到 - String all = String.join(",",allList); - projectRelatedPersonnel.setEngineerLawSet(all); -// projectRelatedPersonnelService.editById(projectRelatedPersonnel); - - }else { - enginnerList = enginnerList.stream().distinct().collect(Collectors.toList()); - //比较allList中有而enginnerList中没有的工程接口人 - allList.removeAll(enginnerList); -// if(allList.size()>0){ -// flag = CollectionUtils.isEqualCollection(allList,enginnerList); -// if(!flag){ -// //进行遍历两个list,将allList中有的而enginnerList没有的存入到相关人员名单中的法规那里 -// -// for(String all : allList){ -// boolean flag1 = true; -// for(String enginner : enginnerList){ -// if(all.equals(enginner)){ -// flag1 = false; -// break; -// } -// } -// if(flag1){ -// resultList.add(all); -// } -// } -// } -// } - //将相关人员名单中没有的resultList添加到相关人员记录表中 - String result = String.join(",",allList); - projectRelatedPersonnel.setEngineerLawSet(result); -// projectRelatedPersonnelService.editById(projectRelatedPersonnel); - } + List lawEnginnerList = new ArrayList<>(); + List enginnerLawSetList = new ArrayList<>(); + List enginnerAttSetList = new ArrayList<>(); + //根据相关人员名单获取的工程接口人 + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + String enginneringInterfacePerson = relatedPersonnel.getEngineeringInterfacePerson(); + if(!StringUtils.isEmpty(enginneringInterfacePerson)){ + enginnerList = Arrays.stream(enginneringInterfacePerson.split(",")).collect(Collectors.toList()); + allList.addAll(enginnerList); } } + //获取相关人员名单中的法规工程师 + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + String lawEngineer = relatedPersonnel.getLawEngineer(); + if(!StringUtils.isEmpty(lawEngineer)){ + lawEnginnerList = Arrays.stream(lawEngineer.split(",")).collect(Collectors.toList()); + allList.addAll(lawEnginnerList); + } + } + //获取相关人员名单中的工程接口-法规工程师设置 + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + String engineerLawSet = relatedPersonnel.getEngineerLawSet(); + if(!StringUtils.isEmpty(engineerLawSet)){ + enginnerLawSetList = Arrays.stream(engineerLawSet.split(",")).collect(Collectors.toList()); + allList.addAll(enginnerLawSetList); + } + } + //获取相关人员名单中的工程接口-认证工程师设置 + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + String engineerAttSet = relatedPersonnel.getEngineerAttSet(); + if(!StringUtils.isEmpty(engineerAttSet)){ + enginnerAttSetList = Arrays.stream(engineerAttSet.split(",")).collect(Collectors.toList()); + allList.addAll(enginnerAttSetList); + } + } + //获取当前项目库id的studio工程师和认证工程师 + List studionList = new ArrayList<>(); + List certificationEngineerList = new ArrayList<>(); + List projectLibraryBases = projectLibraryBaseService.queryById(projectLibrartId, cut); + for(ProjectLibraryBase projectLibraryBase : projectLibraryBases){ + studionList.add(projectLibraryBase.getStudioEngineer()); + + String certificationEngineer = projectLibraryBase.getCertificationEngineer(); + if(!StringUtils.isEmpty(certificationEngineer)){ + certificationEngineerList = Arrays.stream(certificationEngineer.split(",")).collect(Collectors.toList()); + allList.addAll(certificationEngineerList); + } + } + allList = allList.stream().distinct().collect(Collectors.toList()); + for(String all : allList){ + if(all.equals("")){ + allList.remove(all); + } + } + //遍历所有人alllist中是否包含责任人,如果包含,不用操作。 + //-------如果不包含,再去判断当前用户的角色是studio、法规还是认证 + for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){ + if(allList.size()>0){ + for(String allDuty : allDutyList){ + String dutyPerson = allDuty; + if(!allList.contains(dutyPerson)){ + if(roleCode1.equals(com.jero.modules.project.enums.ProjectRoleEnum.STUDIO_ENGINEER.getValue())){ + if(relatedPersonnel.getEngineeringInterfacePerson() != null){ + String engineeringInterfacePerson = dutyPerson+","+relatedPersonnel.getEngineeringInterfacePerson(); + relatedPersonnel.setEngineeringInterfacePerson(engineeringInterfacePerson); + }else { + relatedPersonnel.setEngineeringInterfacePerson(dutyPerson); + } + }else if(roleCode1.equals(com.jero.modules.project.enums.ProjectRoleEnum.REGULATI_ENGINEER.getValue())){ + if(relatedPersonnel.getEngineerLawSet() != null){ + String engineerLawSet = dutyPerson+","+relatedPersonnel.getEngineerLawSet(); + relatedPersonnel.setEngineerLawSet(engineerLawSet); + }else { + relatedPersonnel.setEngineerLawSet(dutyPerson); + } + }else if(roleCode1.equals(com.jero.modules.project.enums.ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())){ + if(relatedPersonnel.getEngineerAttSet() !=null){ + String engineerAttSet = dutyPerson+","+relatedPersonnel.getEngineerAttSet(); + relatedPersonnel.setEngineerAttSet(engineerAttSet); + }else { + relatedPersonnel.setEngineerAttSet(dutyPerson); + } + } + } + } + + } + } + +// if(projectRelatedPersonnelList.size()>0){ +// for(ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList){ +// if(enginnerList.size()<0){ +// //直接将allList存入到 +// String all = String.join(",",allDutyList); +// projectRelatedPersonnel.setEngineerLawSet(all); +//// projectRelatedPersonnelService.editById(projectRelatedPersonnel); +// +// }else { +// enginnerList = enginnerList.stream().distinct().collect(Collectors.toList()); +// //比较allList中有而enginnerList中没有的工程接口人 +// allDutyList.removeAll(enginnerList); +//// if(allDutyList.size()>0){ +//// flag = CollectionUtils.isEqualCollection(allDutyList,enginnerList); +//// if(!flag){ +//// //进行遍历两个list,将allList中有的而enginnerList没有的存入到相关人员名单中的法规那里 +//// +//// for(String all : allDutyList){ +//// boolean flag1 = true; +//// for(String enginner : enginnerList){ +//// if(all.equals(enginner)){ +//// flag1 = false; +//// break; +//// } +//// } +//// if(flag1){ +//// resultList.add(all); +//// } +//// } +//// } +//// } +// //将相关人员名单中没有的resultList添加到相关人员记录表中 +// String result = String.join(",",allDutyList); +// projectRelatedPersonnel.setEngineerLawSet(result); +//// projectRelatedPersonnelService.editById(projectRelatedPersonnel); +// } +// } +// } this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList); @@ -648,11 +749,24 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl pidEoQueryWrap = new QueryWrapper<>(); + pidEoQueryWrap.lambda().eq(ProcessInfoDetailEO::getProjectLawsInventoryId,projectLawsInventoryEO.getId()); + List pidEoList = this.processInfoDetailEOService.list(pidEoQueryWrap); + if(CollectionUtils.isNotEmpty(pidEoList)){ + // 过滤出来,清单确认流程,并且是法规工程师审核节点的数据,转办给新的法规工程师 + List qdqrPidEoList = pidEoList.stream().filter(pidEo -> { + boolean flag = ( + StringUtils.equals(pidEo.getFlowType(),FlowTypeEnum.QDQR.getValue()) + && StringUtils.equals(pidEo.getTaskDefinitionKey(),InventoryAffirmNodeEnum.REGULATION_OWNER_AUDIT.getKey()) + && StringUtils.equals(pidEo.getStatus(), TaskStatusEnum.NOT_DONE.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(qdqrPidEoList)) { + qdqrPidEoList.forEach(qdqrPidEo -> { + qdqrPidEo.setUserId(projectLawsInventoryEO.getRegulationOwnerId()); + }); + this.processInfoDetailEOService.updateBatchById(qdqrPidEoList); + } + + List taskIdList = new ArrayList<>(); + + // 过滤出来,设计符合性流程,并且是法规工程师审核节点的数据,转办给新的法规工程师 + List designFlowPidEoList = pidEoList.stream().filter(pidEo -> { + boolean flag = ( + StringUtils.equals(pidEo.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue()) + && StringUtils.equals(pidEo.getTaskDefinitionKey(), DesignComplianceFlowNodeKeyEnum.FGGCSSH.getValue()) + && StringUtils.equals(pidEo.getStatus(), TaskStatusEnum.NOT_DONE.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(designFlowPidEoList)) { + designFlowPidEoList.forEach(qdqrPidEo -> { + qdqrPidEo.setUserId(projectLawsInventoryEO.getRegulationOwnerId()); + }); + this.processInfoDetailEOService.updateBatchById(designFlowPidEoList); + + taskIdList.addAll(designFlowPidEoList.stream().map(ProcessInfoDetailEO::getTaskId).collect(Collectors.toList())); + } + + // 过滤出来,验证符合性流程,并且是法规工程师审核节点的数据,转办给新的法规工程师 + List verifyFlowPidEoList = pidEoList.stream().filter(pidEo -> { + boolean flag = ( + StringUtils.equals(pidEo.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue()) + && StringUtils.equals(pidEo.getTaskDefinitionKey(), VerifyComplianceFlowNodeKeyEnum.FGGCSSH.getValue()) + && StringUtils.equals(pidEo.getStatus(), TaskStatusEnum.NOT_DONE.getValue()) + ); + return flag; + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(verifyFlowPidEoList)) { + verifyFlowPidEoList.forEach(qdqrPidEo -> { + qdqrPidEo.setUserId(projectLawsInventoryEO.getRegulationOwnerId()); + }); + this.processInfoDetailEOService.updateBatchById(verifyFlowPidEoList); + + taskIdList.addAll(verifyFlowPidEoList.stream().map(ProcessInfoDetailEO::getTaskId).collect(Collectors.toList())); + } + + if (CollectionUtils.isNotEmpty(taskIdList)) { + String taskIds = String.join(",", taskIdList); + // 更新流程服务办理人 + this.workFlowFeignClient.changeAssigneeBatch(taskIds,projectLawsInventoryEO.getRegulationOwnerId()); + } + } } } if((projectLawsInventoryOld.getDesignDueDate() != null && projectLawsInventoryEO.getDesignDueDate() != null) && toBeCheckedFlag){ @@ -6787,6 +6967,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl dutyTerritoryDictItemList = this.sysDictItemService.selectItemsByDictCode(DicCodeEnum.DUTY_TERRITORY.getCode()); + List userNameList = new ArrayList<>(); String designDutyIds = dataList.stream().map(ProjectLawsInventoryEO::getDesignDutyId).collect(Collectors.joining(",")); String verifyDutyIds = dataList.stream().map(ProjectLawsInventoryEO::getVerifyDutyId).collect(Collectors.joining(",")); @@ -6927,7 +7109,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl objectMap = iProjectRelatedPersonnelService.queryPersonByProjectId(projectLawsInventoryEOTemp.getProjectLibraryId(), value); @@ -9679,313 +9861,28 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl toBeCheckedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { - boolean flag =false; - if (StringUtils.equals(lawsInventory.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){ - flag = true; - } - return flag; - }).collect(Collectors.toList()); - - if(CollectionUtils.isNotEmpty(toBeCheckedLawsInventoryList)){ - Map> regulationOwnerGroupMap = toBeCheckedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getRegulationOwnerId)); - for (Map.Entry> regulationOwnerMap : regulationOwnerGroupMap.entrySet()) { - String regulationOwnerId = regulationOwnerMap.getKey(); - List lawsInventoryEOList = regulationOwnerMap.getValue(); - if(StringUtils.isEmpty(regulationOwnerId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ - continue; - } - - this.lawsInventoryEOListSortByInventoryAffirmDueDate(lawsInventoryEOList); - Date inventoryAffirmDueDate = lawsInventoryEOList.get(0).getInventoryAffirmDueDate(); - String endTime = ""; - if(inventoryAffirmDueDate != null){ - endTime = DateUtils.formatDate(inventoryAffirmDueDate); - } - String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); - - List userIdList = Arrays.asList(regulationOwnerId.split(",")); - // 给法规工程师发消息 - Map params = new HashMap<>(); - params.put("contentCn","您好,请及时校核法规清单内容并发起符合性流程,谢谢!"); - params.put("contentEn","Please check the content of the regulation list and initiate the compliance process in a timely manner. Thank you!"); - params.put("projectLibraryId",projectLibraryId); - params.put("endTime",endTime); - params.put("userIdList",userIdList); - params.put("serialNumbers",serialNumbers); - - ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); - String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 - String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 - // 获取法规清单 - 飞书跳转链接 - Map hrefFeishuMap = this.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN); - params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); - params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); - params.put("Initiator",projectLibraryBase.getStudioEngineerName()); - - this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_LIST_RELEASE1.getValue(),params); - } - } - } - - // 催办设计符合性流程状态为 清单待确认的 责任人 - List toBeConfirmedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { - boolean flag =false; - if (StringUtils.equals(lawsInventory.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())){ - flag = true; - } - return flag; - }).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(toBeConfirmedLawsInventoryList)) { - Map> designDutyGroupMap = toBeConfirmedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getDesignDutyId)); - for (Map.Entry> designDutyMap : designDutyGroupMap.entrySet()) { - String designDutyId = designDutyMap.getKey(); - List lawsInventoryEOList = designDutyMap.getValue(); - if(StringUtils.isEmpty(designDutyId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ - continue; - } - - this.lawsInventoryEOListSortByDesignDueDate(lawsInventoryEOList); - Date designDueDate = lawsInventoryEOList.get(0).getDesignDueDate(); - String endTime = ""; - if(designDueDate != null){ - endTime = DateUtils.formatDate(designDueDate); - } - String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); - - List userIdList = Arrays.asList(designDutyId.split(",")); - // 给设计符合性流程责任人发消息 - Map params = new HashMap<>(); - params.put("contentCn","您好,请及时查看确认以下任务要求,谢谢!"); - params.put("contentEn","Hello! Please check and confirm the following task requirement in a timely manner. Thank you!"); - params.put("projectLibraryId",projectLibraryId); - params.put("endTime",endTime); - params.put("userIdList",userIdList); - params.put("serialNumbers",serialNumbers); - - ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); - String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 - String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 - // 获取法规清单 - 飞书跳转链接 - Map hrefFeishuMap = this.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN); - params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); - params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); - params.put("Initiator",projectLibraryBase.getStudioEngineerName()); - - - this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_TASK_CONFIRMATION1.getValue(),params); - } - } - - // 催办设计符合性流程状态为 结果待提交的 责任人 - List toBeSubmitLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { - boolean flag =false; - if (StringUtils.equals(lawsInventory.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())){ - flag = true; - } - return flag; - }).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(toBeSubmitLawsInventoryList)) { - Map> designDutyGroupMap = toBeSubmitLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getVerifyDutyId)); - for (Map.Entry> designDutyMap : designDutyGroupMap.entrySet()) { - String designDutyId = designDutyMap.getKey(); - List lawsInventoryEOList = designDutyMap.getValue(); - if(StringUtils.isEmpty(designDutyId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ - continue; - } - this.lawsInventoryEOListSortByVerifyDueDate(lawsInventoryEOList); - - Date designDueDate = lawsInventoryEOList.get(0).getVerifyDueDate(); - String endTime = ""; - if(designDueDate != null){ - endTime = DateUtils.formatDate(designDueDate); - } - String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); - - List userIdList = Arrays.asList(designDutyId.split(",")); - // 给设计符合性流程责任人发消息 - Map params = new HashMap<>(); - params.put("contentCn","您好,请尽快查看处理此项任务,谢谢!"); - params.put("contentEn","Hello! Please check and address the task ASAP. Thank you!"); - params.put("projectLibraryId",projectLibraryId); - params.put("endTime",endTime); - params.put("userIdList",userIdList); - params.put("serialNumbers",serialNumbers); - - ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); - // String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 - String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 - // 获取待办中心 - 飞书跳转链接 - Map todoCenterParams = new HashMap<>(); - todoCenterParams.put("projectNameCn",PRN_CN); - Map hrefFeishuMap = this.getToDoCenterLinkHrefFeishu(projectLibraryBase.getId(), todoCenterParams); - params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); - params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); - - String regulationOwnerId = lawsInventoryEOList.get(0).getRegulationOwnerId(); - List regulationOwnerUserList = this.sysUserService.querySysUserListByIdList(Arrays.asList(regulationOwnerId.split(","))); - String regulationOwnerUserName = this.sysUserService.getUsernameByUserId(regulationOwnerUserList, regulationOwnerId); - params.put("Initiator",regulationOwnerUserName); - - this.sendMessageByTemplateId(TemplateInfoEnum2.DESIGN_COMPLIANCE_CONFIRMATION1.getValue(),params); - } + // 设计符合性 清单待校核状态数据催办。 + this.designExpeditingToBeChecked(projectLibraryId, projectLawsInventoryEOList); + // 设计符合性 结果待审查状态数据催办。 + this.designExpeditingToBeReviewed(projectLibraryId, projectLawsInventoryEOList); } + // 设计符合性 清单待确认状态数据催办 + this.designExpeditingToBeConfirmed(projectLibraryId, projectLawsInventoryEOList); + // 设计符合性 结果待提交状态数据催办 + this.designExpeditingToBeSubmitted(projectLibraryId, projectLawsInventoryEOList); } if(StringUtils.contains(expeditingType,OperatorTypeEnum.LAWS_INVENTORY_VERIFY_EXPEDITING.getValue())){ // 只有studio催办的时候,才会给法规工程师发消息 if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_STUDIO_EXPEDITING.getValue())){ - // 如果设计符合性流程状态为 清单待校核,催办时就需要给这一条数据的法规工程师发消息 - List toBeCheckedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { - boolean flag =false; - if (StringUtils.equals(lawsInventory.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){ - flag = true; - } - return flag; - }).collect(Collectors.toList()); - - if(CollectionUtils.isNotEmpty(toBeCheckedLawsInventoryList)){ - Map> regulationOwnerGroupMap = toBeCheckedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getRegulationOwnerId)); - for (Map.Entry> regulationOwnerMap : regulationOwnerGroupMap.entrySet()) { - String regulationOwnerId = regulationOwnerMap.getKey(); - List lawsInventoryEOList = regulationOwnerMap.getValue(); - if(StringUtils.isEmpty(regulationOwnerId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ - continue; - } - - this.lawsInventoryEOListSortByInventoryAffirmDueDate(lawsInventoryEOList); - Date inventoryAffirmDueDate = lawsInventoryEOList.get(0).getInventoryAffirmDueDate(); - String endTime = ""; - if(inventoryAffirmDueDate != null){ - endTime = DateUtils.formatDate(inventoryAffirmDueDate); - } - String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); - - List userIdList = Arrays.asList(regulationOwnerId.split(",")); - // 给法规工程师发消息 - Map params = new HashMap<>(); - params.put("contentCn","您好,请及时校核法规清单内容并发起符合性流程,谢谢!"); - params.put("contentEn","Please check the content of the regulation list and initiate the compliance process in a timely manner. Thank you!"); - params.put("projectLibraryId",projectLibraryId); - params.put("endTime",endTime); - params.put("userIdList",userIdList); - params.put("serialNumbers",serialNumbers); - - ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); - String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 - String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 - // 获取法规清单 - 飞书跳转链接 - Map hrefFeishuMap = this.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN); - params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); - params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); - params.put("Initiator",projectLibraryBase.getStudioEngineerName()); - - this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_LIST_RELEASE1.getValue(),params); - } - } - } - - // 催办验证符合性流程状态为 清单待确认的 责任人 - List toBeConfirmedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { - boolean flag =false; - if (StringUtils.equals(lawsInventory.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())){ - flag = true; - } - return flag; - }).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(toBeConfirmedLawsInventoryList)) { - Map> verifyDutyGroupMap = toBeConfirmedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getVerifyDutyId)); - for (Map.Entry> verifyDutyMap : verifyDutyGroupMap.entrySet()) { - String verifyDutyId = verifyDutyMap.getKey(); - List lawsInventoryEOList = verifyDutyMap.getValue(); - if(StringUtils.isEmpty(verifyDutyId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ - continue; - } - - this.lawsInventoryEOListSortByVerifyDueDate(lawsInventoryEOList); - Date verifyDueDate = lawsInventoryEOList.get(0).getVerifyDueDate(); - String endTime = ""; - if(verifyDueDate != null){ - endTime = DateUtils.formatDate(verifyDueDate); - } - String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); - - List userIdList = Arrays.asList(verifyDutyId.split(",")); - // 给设计符合性流程责任人发消息 - Map params = new HashMap<>(); - params.put("contentCn","您好,请及时查看确认以下任务要求,谢谢!"); - params.put("contentEn","Hello! Please check and confirm the following task requirement in a timely manner. Thank you!"); - params.put("projectLibraryId",projectLibraryId); - params.put("endTime",endTime); - params.put("userIdList",userIdList); - params.put("serialNumbers",serialNumbers); - - ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); - String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 - String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 - // 获取法规清单 - 飞书跳转链接 - Map hrefFeishuMap = this.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN); - params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); - params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); - params.put("Initiator",projectLibraryBase.getStudioEngineerName()); - - this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_TASK_CONFIRMATION1.getValue(),params); - } - } - - // 催办验证符合性流程状态为 结果待提交的 责任人 - List toBeSubmitLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { - boolean flag =false; - if (StringUtils.equals(lawsInventory.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())){ - flag = true; - } - return flag; - }).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(toBeSubmitLawsInventoryList)) { - Map> verifyDutyGroupMap = toBeSubmitLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getVerifyDutyId)); - for (Map.Entry> verifyDutyMap : verifyDutyGroupMap.entrySet()) { - String verifyDutyId = verifyDutyMap.getKey(); - List lawsInventoryEOList = verifyDutyMap.getValue(); - if(StringUtils.isEmpty(verifyDutyId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ - continue; - } - this.lawsInventoryEOListSortByVerifyDueDate(lawsInventoryEOList); - - Date verifyDueDate = lawsInventoryEOList.get(0).getVerifyDueDate(); - String endTime = ""; - if(verifyDueDate != null){ - endTime = DateUtils.formatDate(verifyDueDate); - } - String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); - - List userIdList = Arrays.asList(verifyDutyId.split(",")); - // 给设计符合性流程责任人发消息 - Map params = new HashMap<>(); - params.put("contentCn","您好,请尽快查看处理此项任务,谢谢!"); - params.put("contentEn","Hello! Please check and address the task ASAP. Thank you!"); - params.put("projectLibraryId",projectLibraryId); - params.put("endTime",endTime); - params.put("userIdList",userIdList); - params.put("serialNumbers",serialNumbers); - - ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); - // String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 - String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 - // 获取待办中心 - 飞书跳转链接 - Map todoCenterParams = new HashMap<>(); - todoCenterParams.put("projectNameCn",PRN_CN); - Map hrefFeishuMap = this.getToDoCenterLinkHrefFeishu(projectLibraryBase.getId(), todoCenterParams); - params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); - params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); - - String regulationOwnerId = lawsInventoryEOList.get(0).getRegulationOwnerId(); - List regulationOwnerUserList = this.sysUserService.querySysUserListByIdList(Arrays.asList(regulationOwnerId.split(","))); - String regulationOwnerUserName = this.sysUserService.getUsernameByUserId(regulationOwnerUserList, regulationOwnerId); - params.put("Initiator",regulationOwnerUserName); - - this.sendMessageByTemplateId(TemplateInfoEnum2.VALIDATION_COMPLIANCE_CONFIRMATION1.getValue(),params); - } + // 验证符合性 清单待校核状态数据催办。 + this.verifyExpeditingToBeChecked(projectLibraryId, projectLawsInventoryEOList); + // 验证符合性 结果待审查状态数据催办。 + this.verifyExpeditingToBeReviewed(projectLibraryId, projectLawsInventoryEOList); } + // 验证符合性 清单待确认状态数据催办 + this.verifyExpeditingToBeConfirmed(projectLibraryId, projectLawsInventoryEOList); + // 验证符合性 结果待提交状态数据催办 + this.verifyExpeditingToBeSubmitted(projectLibraryId, projectLawsInventoryEOList); } /*//获取已经发起的 任务确认流程信息(当前处理人) @@ -10200,6 +10097,484 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectLawsInventoryEOList) { + // 催办验证符合性流程状态为 结果待提交的 责任人 + List toBeSubmitLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag =false; + if (StringUtils.equals(lawsInventory.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(toBeSubmitLawsInventoryList)) { + Map> verifyDutyGroupMap = toBeSubmitLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getVerifyDutyId)); + for (Map.Entry> verifyDutyMap : verifyDutyGroupMap.entrySet()) { + String verifyDutyId = verifyDutyMap.getKey(); + List lawsInventoryEOList = verifyDutyMap.getValue(); + if(StringUtils.isEmpty(verifyDutyId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ + continue; + } + this.lawsInventoryEOListSortByVerifyDueDate(lawsInventoryEOList); + + Date verifyDueDate = lawsInventoryEOList.get(0).getVerifyDueDate(); + String endTime = ""; + if(verifyDueDate != null){ + endTime = DateUtils.formatDate(verifyDueDate); + } + String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); + + List userIdList = Arrays.asList(verifyDutyId.split(",")); + // 给设计符合性流程责任人发消息 + Map params = new HashMap<>(); + params.put("contentCn","您好,请尽快查看处理此项任务,谢谢!"); + params.put("contentEn","Hello! Please check and address the task ASAP. Thank you!"); + params.put("projectLibraryId", projectLibraryId); + params.put("endTime",endTime); + params.put("userIdList",userIdList); + params.put("serialNumbers",serialNumbers); + + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); + // String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 + String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 + // 获取待办中心 - 飞书跳转链接 + Map todoCenterParams = new HashMap<>(); + todoCenterParams.put("projectNameCn",PRN_CN); + Map hrefFeishuMap = this.getToDoCenterLinkHrefFeishu(projectLibraryBase.getId(), todoCenterParams); + params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); + params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); + + String regulationOwnerId = lawsInventoryEOList.get(0).getRegulationOwnerId(); + List regulationOwnerUserList = this.sysUserService.querySysUserListByIdList(Arrays.asList(regulationOwnerId.split(","))); + String regulationOwnerUserName = this.sysUserService.getUsernameByUserId(regulationOwnerUserList, regulationOwnerId); + params.put("Initiator",regulationOwnerUserName); + + this.sendMessageByTemplateId(TemplateInfoEnum2.VALIDATION_COMPLIANCE_CONFIRMATION1.getValue(),params); + } + } + } + + /** + * 验证符合性 清单待确认状态数据催办 + * @param projectLibraryId + * @param projectLawsInventoryEOList + */ + private void verifyExpeditingToBeConfirmed(String projectLibraryId, List projectLawsInventoryEOList) { + // 催办验证符合性流程状态为 清单待确认的 责任人 + List toBeConfirmedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag =false; + if (StringUtils.equals(lawsInventory.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(toBeConfirmedLawsInventoryList)) { + Map> verifyDutyGroupMap = toBeConfirmedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getVerifyDutyId)); + for (Map.Entry> verifyDutyMap : verifyDutyGroupMap.entrySet()) { + String verifyDutyId = verifyDutyMap.getKey(); + List lawsInventoryEOList = verifyDutyMap.getValue(); + if(StringUtils.isEmpty(verifyDutyId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ + continue; + } + + this.lawsInventoryEOListSortByVerifyDueDate(lawsInventoryEOList); + Date verifyDueDate = lawsInventoryEOList.get(0).getVerifyDueDate(); + String endTime = ""; + if(verifyDueDate != null){ + endTime = DateUtils.formatDate(verifyDueDate); + } + String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); + + List userIdList = Arrays.asList(verifyDutyId.split(",")); + // 给设计符合性流程责任人发消息 + Map params = new HashMap<>(); + params.put("contentCn","您好,请及时查看确认以下任务要求,谢谢!"); + params.put("contentEn","Hello! Please check and confirm the following task requirement in a timely manner. Thank you!"); + params.put("projectLibraryId", projectLibraryId); + params.put("endTime",endTime); + params.put("userIdList",userIdList); + params.put("serialNumbers",serialNumbers); + + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); + String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 + String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 + // 获取待办中心 - 飞书跳转链接 + Map todoCenterParams = new HashMap<>(); + todoCenterParams.put("projectNameCn",PRN_CN); + Map hrefFeishuMap = this.getToDoCenterLinkHrefFeishu(projectLibraryId, todoCenterParams); + params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); + params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); + + String regulationOwnerId = lawsInventoryEOList.get(0).getRegulationOwnerId(); + List regulationOwnerUserList = this.sysUserService.querySysUserListByIdList(Arrays.asList(regulationOwnerId.split(","))); + String regulationOwnerUserName = this.sysUserService.getUsernameByUserId(regulationOwnerUserList, regulationOwnerId); + params.put("Initiator",regulationOwnerUserName); + + this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_TASK_CONFIRMATION1.getValue(),params); + } + } + } + + /** + * 验证符合性 结果待审查状态数据催办。 + * @param projectLibraryId + * @param projectLawsInventoryEOList + */ + private void verifyExpeditingToBeReviewed(String projectLibraryId, List projectLawsInventoryEOList) { + // 如果验证符合性流程状态为 结果待审查,催办时就需要给这一条数据的法规工程师发消息 + List toBeReviewedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag =false; + if (StringUtils.equals(lawsInventory.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(toBeReviewedLawsInventoryList)){ + Map> regulationOwnerGroupMap = toBeReviewedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getRegulationOwnerId)); + for (Map.Entry> regulationOwnerMap : regulationOwnerGroupMap.entrySet()) { + String regulationOwnerId = regulationOwnerMap.getKey(); + List lawsInventoryEOList = regulationOwnerMap.getValue(); + if(StringUtils.isEmpty(regulationOwnerId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ + continue; + } + + this.lawsInventoryEOListSortByVerifyDueDate(lawsInventoryEOList); + Date designDueDate = lawsInventoryEOList.get(0).getDesignDueDate(); + String endTime = ""; + if(designDueDate != null){ + endTime = DateUtils.formatDate(designDueDate); + } + String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); + + List userIdList = Arrays.asList(regulationOwnerId.split(",")); + // 给法规工程师发消息 + Map params = new HashMap<>(); + params.put("contentCn","您好,请尽快查看处理此项任务,谢谢!"); + params.put("contentEn","Hello! Please check and address the task ASAP. Thank you!"); + params.put("projectLibraryId", projectLibraryId); + params.put("endTime",endTime); + params.put("userIdList",userIdList); + params.put("serialNumbers",serialNumbers); + + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); + String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 + String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 + // 获取待办中心 - 飞书跳转链接 + Map todoCenterParams = new HashMap<>(); + todoCenterParams.put("projectNameCn",PRN_CN); + Map hrefFeishuMap = this.getToDoCenterLinkHrefFeishu(projectLibraryBase.getId(), todoCenterParams); + params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); + params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); + + List regulationOwnerUserList = this.sysUserService.querySysUserListByIdList(Arrays.asList(regulationOwnerId.split(","))); + String regulationOwnerUserName = this.sysUserService.getUsernameByUserId(regulationOwnerUserList, regulationOwnerId); + params.put("Initiator",regulationOwnerUserName); + + this.sendMessageByTemplateId(TemplateInfoEnum2.VALIDATION_COMPLIANCE_CONFIRMATION1.getValue(),params); + } + } + } + + /** + * 验证符合性 清单待校核状态数据催办。 + * @param projectLibraryId + * @param projectLawsInventoryEOList + */ + private void verifyExpeditingToBeChecked(String projectLibraryId, List projectLawsInventoryEOList) { + // 如果验证符合性流程状态为 清单待校核,催办时就需要给这一条数据的法规工程师发消息 + List toBeCheckedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag =false; + if (StringUtils.equals(lawsInventory.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(toBeCheckedLawsInventoryList)){ + Map> regulationOwnerGroupMap = toBeCheckedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getRegulationOwnerId)); + for (Map.Entry> regulationOwnerMap : regulationOwnerGroupMap.entrySet()) { + String regulationOwnerId = regulationOwnerMap.getKey(); + List lawsInventoryEOList = regulationOwnerMap.getValue(); + if(StringUtils.isEmpty(regulationOwnerId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ + continue; + } + + this.lawsInventoryEOListSortByInventoryAffirmDueDate(lawsInventoryEOList); + Date inventoryAffirmDueDate = lawsInventoryEOList.get(0).getInventoryAffirmDueDate(); + String endTime = ""; + if(inventoryAffirmDueDate != null){ + endTime = DateUtils.formatDate(inventoryAffirmDueDate); + } + String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); + + List userIdList = Arrays.asList(regulationOwnerId.split(",")); + // 给法规工程师发消息 + Map params = new HashMap<>(); + params.put("contentCn","您好,请及时校核法规清单内容并发起符合性流程,谢谢!"); + params.put("contentEn","Please check the content of the regulation list and initiate the compliance process in a timely manner. Thank you!"); + params.put("projectLibraryId", projectLibraryId); + params.put("endTime",endTime); + params.put("userIdList",userIdList); + params.put("serialNumbers",serialNumbers); + + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); + String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 + String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 + // 获取法规清单 - 飞书跳转链接 + Map hrefFeishuMap = this.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN); + params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); + params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); + params.put("Initiator",projectLibraryBase.getStudioEngineerName()); + + this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_LIST_RELEASE1.getValue(),params); + } + } + } + + /** + * 设计符合性 结果待提交状态数据催办 + * @param projectLibraryId + * @param projectLawsInventoryEOList + */ + private void designExpeditingToBeSubmitted(String projectLibraryId, List projectLawsInventoryEOList) { + // 催办设计符合性流程状态为 结果待提交的 责任人 + List toBeSubmitLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag =false; + if (StringUtils.equals(lawsInventory.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(toBeSubmitLawsInventoryList)) { + Map> designDutyGroupMap = toBeSubmitLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getVerifyDutyId)); + for (Map.Entry> designDutyMap : designDutyGroupMap.entrySet()) { + String designDutyId = designDutyMap.getKey(); + List lawsInventoryEOList = designDutyMap.getValue(); + if(StringUtils.isEmpty(designDutyId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ + continue; + } + this.lawsInventoryEOListSortByVerifyDueDate(lawsInventoryEOList); + + Date designDueDate = lawsInventoryEOList.get(0).getVerifyDueDate(); + String endTime = ""; + if(designDueDate != null){ + endTime = DateUtils.formatDate(designDueDate); + } + String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); + + List userIdList = Arrays.asList(designDutyId.split(",")); + // 给设计符合性流程责任人发消息 + Map params = new HashMap<>(); + params.put("contentCn","您好,请尽快查看处理此项任务,谢谢!"); + params.put("contentEn","Hello! Please check and address the task ASAP. Thank you!"); + params.put("projectLibraryId", projectLibraryId); + params.put("endTime",endTime); + params.put("userIdList",userIdList); + params.put("serialNumbers",serialNumbers); + + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); + // String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 + String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 + // 获取待办中心 - 飞书跳转链接 + Map todoCenterParams = new HashMap<>(); + todoCenterParams.put("projectNameCn",PRN_CN); + Map hrefFeishuMap = this.getToDoCenterLinkHrefFeishu(projectLibraryBase.getId(), todoCenterParams); + params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); + params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); + + String regulationOwnerId = lawsInventoryEOList.get(0).getRegulationOwnerId(); + List regulationOwnerUserList = this.sysUserService.querySysUserListByIdList(Arrays.asList(regulationOwnerId.split(","))); + String regulationOwnerUserName = this.sysUserService.getUsernameByUserId(regulationOwnerUserList, regulationOwnerId); + params.put("Initiator",regulationOwnerUserName); + + this.sendMessageByTemplateId(TemplateInfoEnum2.DESIGN_COMPLIANCE_CONFIRMATION1.getValue(),params); + } + } + } + + /** + * 设计符合性 清单待确认状态数据催办 + * @param projectLibraryId + * @param projectLawsInventoryEOList + */ + private void designExpeditingToBeConfirmed(String projectLibraryId, List projectLawsInventoryEOList) { + // 催办设计符合性流程状态为 清单待确认的 责任人 + List toBeConfirmedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag =false; + if (StringUtils.equals(lawsInventory.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(toBeConfirmedLawsInventoryList)) { + Map> designDutyGroupMap = toBeConfirmedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getDesignDutyId)); + for (Map.Entry> designDutyMap : designDutyGroupMap.entrySet()) { + String designDutyId = designDutyMap.getKey(); + List lawsInventoryEOList = designDutyMap.getValue(); + if(StringUtils.isEmpty(designDutyId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ + continue; + } + + this.lawsInventoryEOListSortByDesignDueDate(lawsInventoryEOList); + Date designDueDate = lawsInventoryEOList.get(0).getDesignDueDate(); + String endTime = ""; + if(designDueDate != null){ + endTime = DateUtils.formatDate(designDueDate); + } + String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); + + List userIdList = Arrays.asList(designDutyId.split(",")); + // 给设计符合性流程责任人发消息 + Map params = new HashMap<>(); + params.put("contentCn","您好,请及时查看确认以下任务要求,谢谢!"); + params.put("contentEn","Hello! Please check and confirm the following task requirement in a timely manner. Thank you!"); + params.put("projectLibraryId", projectLibraryId); + params.put("endTime",endTime); + params.put("userIdList",userIdList); + params.put("serialNumbers",serialNumbers); + + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); + String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 + String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 + // 获取待办中心 - 飞书跳转链接 + Map todoCenterParams = new HashMap<>(); + todoCenterParams.put("projectNameCn",PRN_CN); + Map hrefFeishuMap = this.getToDoCenterLinkHrefFeishu(projectLibraryId, todoCenterParams); + params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); + params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); + + String regulationOwnerId = lawsInventoryEOList.get(0).getRegulationOwnerId(); + List regulationOwnerUserList = this.sysUserService.querySysUserListByIdList(Arrays.asList(regulationOwnerId.split(","))); + String regulationOwnerUserName = this.sysUserService.getUsernameByUserId(regulationOwnerUserList, regulationOwnerId); + params.put("Initiator",regulationOwnerUserName); + + this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_TASK_CONFIRMATION1.getValue(),params); + } + } + } + + /** + * 设计符合性 结果待审查状态数据催办 + * @param projectLibraryId + * @param projectLawsInventoryEOList + */ + private void designExpeditingToBeReviewed(String projectLibraryId, List projectLawsInventoryEOList) { + // 如果设计符合性流程状态为 结果待审查,催办时就需要给这一条数据的法规工程师发消息 + List toBeReviewedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag =false; + if (StringUtils.equals(lawsInventory.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(toBeReviewedLawsInventoryList)){ + Map> regulationOwnerGroupMap = toBeReviewedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getRegulationOwnerId)); + for (Map.Entry> regulationOwnerMap : regulationOwnerGroupMap.entrySet()) { + String regulationOwnerId = regulationOwnerMap.getKey(); + List lawsInventoryEOList = regulationOwnerMap.getValue(); + if(StringUtils.isEmpty(regulationOwnerId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ + continue; + } + + this.lawsInventoryEOListSortByDesignDueDate(lawsInventoryEOList); + Date designDueDate = lawsInventoryEOList.get(0).getDesignDueDate(); + String endTime = ""; + if(designDueDate != null){ + endTime = DateUtils.formatDate(designDueDate); + } + String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); + + List userIdList = Arrays.asList(regulationOwnerId.split(",")); + // 给法规工程师发消息 + Map params = new HashMap<>(); + params.put("contentCn","您好,请尽快查看处理此项任务,谢谢!"); + params.put("contentEn","Hello! Please check and address the task ASAP. Thank you!"); + params.put("projectLibraryId", projectLibraryId); + params.put("endTime",endTime); + params.put("userIdList",userIdList); + params.put("serialNumbers",serialNumbers); + + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); + String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 + String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 + // 获取待办中心 - 飞书跳转链接 + Map todoCenterParams = new HashMap<>(); + todoCenterParams.put("projectNameCn",PRN_CN); + Map hrefFeishuMap = this.getToDoCenterLinkHrefFeishu(projectLibraryBase.getId(), todoCenterParams); + params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); + params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); + + List regulationOwnerUserList = this.sysUserService.querySysUserListByIdList(Arrays.asList(regulationOwnerId.split(","))); + String regulationOwnerUserName = this.sysUserService.getUsernameByUserId(regulationOwnerUserList, regulationOwnerId); + params.put("Initiator",regulationOwnerUserName); + + this.sendMessageByTemplateId(TemplateInfoEnum2.DESIGN_COMPLIANCE_CONFIRMATION1.getValue(),params); + } + } + } + + /** + * 设计符合性 清单待校核状态数据催办 + * @param projectLibraryId + * @param projectLawsInventoryEOList + */ + private void designExpeditingToBeChecked(String projectLibraryId, List projectLawsInventoryEOList) { + // 如果设计符合性流程状态为 清单待校核,催办时就需要给这一条数据的法规工程师发消息 + List toBeCheckedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag =false; + if (StringUtils.equals(lawsInventory.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(toBeCheckedLawsInventoryList)){ + Map> regulationOwnerGroupMap = toBeCheckedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getRegulationOwnerId)); + for (Map.Entry> regulationOwnerMap : regulationOwnerGroupMap.entrySet()) { + String regulationOwnerId = regulationOwnerMap.getKey(); + List lawsInventoryEOList = regulationOwnerMap.getValue(); + if(StringUtils.isEmpty(regulationOwnerId) || CollectionUtils.isEmpty(lawsInventoryEOList)){ + continue; + } + + this.lawsInventoryEOListSortByInventoryAffirmDueDate(lawsInventoryEOList); + Date inventoryAffirmDueDate = lawsInventoryEOList.get(0).getInventoryAffirmDueDate(); + String endTime = ""; + if(inventoryAffirmDueDate != null){ + endTime = DateUtils.formatDate(inventoryAffirmDueDate); + } + String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(",")); + + List userIdList = Arrays.asList(regulationOwnerId.split(",")); + // 给法规工程师发消息 + Map params = new HashMap<>(); + params.put("contentCn","您好,请及时校核法规清单内容并发起符合性流程,谢谢!"); + params.put("contentEn","Please check the content of the regulation list and initiate the compliance process in a timely manner. Thank you!"); + params.put("projectLibraryId", projectLibraryId); + params.put("endTime",endTime); + params.put("userIdList",userIdList); + params.put("serialNumbers",serialNumbers); + + ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId); + String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文 + String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文 + // 获取法规清单 - 飞书跳转链接 + Map hrefFeishuMap = this.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN); + params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN")); + params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN")); + params.put("Initiator",projectLibraryBase.getStudioEngineerName()); + + this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_LIST_RELEASE1.getValue(),params); + } + } + } + @Override public List getRoleByUserId(String projectLibraryId,String cut) { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java index ac746250e..66e74beb3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -422,11 +422,11 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl data.equals(e.getId())) .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); } @@ -837,10 +837,10 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl sysDictItems = sysDictItemServiceImpl.selectItemsAll(); List onlCgformFieldListTemp = onlCgformFieldList.stream().filter(e -> fieldList.contains(e.getDbFieldName())).collect(Collectors.toList()); List records = infoPage.getRecords(); + this.disposeData(records,cut); for (Map record : records) { //处理标题 if(CutEnum.EN.getValue().equals(cut)){ @@ -201,9 +202,6 @@ public class LawsWarnService { } } } - - this.disposeData(records,cut); - return infoPage; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java index 0ec3392fa..df6305416 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java @@ -205,4 +205,11 @@ public interface WorkFlowFeignClient { @RequestMapping(value = "/bat-wkflow/task/getTaskConfirmAskedEngineer",method = RequestMethod.GET) Set getTaskConfirmAskedEngineer(@RequestParam("projectLawInventoryId")String projectLawInventoryId); + + /** + * 批量改派任务 + * @return + */ + @RequestMapping(value = "/bat-wkflow/changeAssigneeBatch",method = RequestMethod.GET) + Result changeAssigneeBatch(@RequestParam("taskIds") String taskIds,@RequestParam("newAssignee") String newAssignee); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java index e0ab1dc66..a09885d65 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java @@ -212,4 +212,13 @@ public class WorkFlowFeignClientImpl{ public Result dispostHistoryBusProcessNewData() { return workFlowFeignClient.dispostHistoryBusProcessNewData(); } + + /** + * 批量改派任务 + * @return + */ + public Result changeAssigneeBatch(@RequestParam("taskIds") String taskIds,@RequestParam("newAssignee") String newAssignee){ + Result run = workFlowFeignClient.changeAssigneeBatch(taskIds,newAssignee); + return run; + } } diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index d7facbfbc..19caccf21 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1383,7 +1383,7 @@ module.exports = { allsubitemsitem:'Whether to delete all subitems under this item', contactTheFounder:'Contact author', certificationCategoryNumber: 'certification Category Number', - historicalrecord:'historical Record', + historicalrecord:'Historical Record', Referenceparametercolumn:'Reference Parameter Column', Updateparametercolumn:'Update The Parameter Column', columnfirst:'Reference the parameter column first', @@ -1407,9 +1407,9 @@ module.exports = { nameOfManufacturer:'Name Of Manufacturer', regulationNo:'Regulation No', itemInformation:'Item Information', - modifyHistory:'Modify History', + modifyHistory:'Historical Record', returnToStudio:'Return to Studio', - Approved:'Approved', + Approved:'Review and pass', returnedForApproval:'Returned For Approval', changeSetting:'Change Setting', referenceDeliverables:'Reference Deliverables', @@ -1746,4 +1746,14 @@ module.exports = { andTheProcessStatusTheList:'And the process status cannot be the data to be checked in the list', pleasefillintherange:'Please fill in the range', databasereportingtime:'Synchronize the database reporting time', + synchronizationtime:'Synchronization time', + listToBeReleased:'List to be released', + listToBeChecked:'List to be checked', + taskToBeConfirmed:'Task to be confirmed', + resultsToBeSubmitted:'Results to be submitted', + resultsToBeReviewed:'Results to be reviewed', + compliance:'Compliance', + nonCompliance:'Non-Compliance', + toBeTracked:'To be tracked', + NA:'NA', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index f25e6f914..c59ba232c 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1509,9 +1509,9 @@ module.exports = { nameOfManufacturer:'生产企业名称', regulationNo:'法规编号', itemInformation:'条目信息', - modifyHistory:'修改历史', + modifyHistory:'历史记录', returnToStudio:'退回至Studio', - Approved:'审批通过', + Approved:'审查通过', returnedForApproval:'审批退回', changeSetting:'修改配置', referenceDeliverables:'引用交付物', @@ -1848,4 +1848,14 @@ module.exports = { andTheProcessStatusTheList:'并且流程状态不能为清单待校核的数据', pleasefillintherange:'请填写范围', databasereportingtime:'同步上报库时间', + synchronizationtime:'同步时间', + listToBeReleased:'清单待发布', + listToBeChecked:'清单待校核', + taskToBeConfirmed:'任务待确认', + resultsToBeSubmitted:'结果待提交', + resultsToBeReviewed:'结果待审查', + compliance:'符合', + nonCompliance:'不符合', + toBeTracked:'待追踪', + NA:'不涉及', } \ No newline at end of file diff --git a/jero-web/src/components/globalAdvancedQuery/index.vue b/jero-web/src/components/globalAdvancedQuery/index.vue index 82c5b4f2b..67bb7f64a 100644 --- a/jero-web/src/components/globalAdvancedQuery/index.vue +++ b/jero-web/src/components/globalAdvancedQuery/index.vue @@ -132,6 +132,16 @@ tree-checkable :placeholder="$t('PleaseSelect')" /> + +
-
{{ol.db_field_txt}} {{ol.db_field_txt}} - {{ol.value ? ol.value+'的时间更好的付款就给和看景点风光和的空间古典风格' : '--'}} + {{ol.value ? ol.value : '--'}} + {{$t('query')}} + {{$t('reset')}} - {{$t('query')}} - {{$t('reset')}} @@ -48,7 +48,7 @@ :scroll="{x: 800,y:600}" :data-source="dataList" :pagination="false" - :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:' ' }" + :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :loading="loading"> @@ -96,7 +96,7 @@ export default { align: 'left', dataIndex: 'serialNumber', width: 100, - fixed: 'left', + ellipsis: true, scopedSlots: { customRender: 'standard' } }, { @@ -104,7 +104,7 @@ export default { align: 'left', dataIndex: 'title', width: 100, - fixed: 'left', + ellipsis: true, scopedSlots: { customRender: 'titleName' } }, { diff --git a/jero-web/src/views/otamanagement/upgradeactivityrecord/components/upgradetargetmodel.vue b/jero-web/src/views/otamanagement/upgradeactivityrecord/components/upgradetargetmodel.vue index a40abd2ea..93ce4dc43 100644 --- a/jero-web/src/views/otamanagement/upgradeactivityrecord/components/upgradetargetmodel.vue +++ b/jero-web/src/views/otamanagement/upgradeactivityrecord/components/upgradetargetmodel.vue @@ -144,8 +144,8 @@
- - + + @@ -187,6 +187,7 @@ export default { projectNameList2: [], selectListPc: [], selectListMb: [], + flag:'', rules: { babh: [ { required: true, message: this.$t('upgraderecordnumber') + this.$t('cannotEmpty'), trigger: 'blur' } @@ -277,14 +278,17 @@ export default { this.form.otaId = otaId postAction('/ota/otaBaSjSjmbcx/add', { otaId: otaId, ...this.form }).then(res => { if (res.code == 200) { + this.flag = 1 localStorage.setItem('otaId', res.result.otaId) this.$message.success(this.$t('SavedSuccessfully')) this.getData() + } }) - } else { - this.form.bapc = undefined } + // else { + // this.form.bapc = undefined + // } }) }, @@ -295,11 +299,17 @@ export default { // this.$refs.ruleForm.clearValidate('bapc') // }) // } - this.$refs.ruleForm.validate(valid => { - if (valid) { + // this.$refs.ruleForm.validate(valid => { + // if (valid) { + setTimeout(()=>{ + console.log(this.flag) + if(this.flag == 1){ this.$emit('basicInformationForm') } - }) + },1000) + + // } + // }) }, @@ -343,10 +353,9 @@ export default { }, changeId(value, option) { - debugger this.$nextTick(() => { this.form = { ...this.form } - this.$refs.ruleForm.validateField('bapc') + this.$refs.ruleForm.clearValidate('bapc') }) this.selectListPc.map(item => { if (item.id == value) { diff --git a/jero-web/src/views/otamanagement/vehicleinformation/components/basicInformation.vue b/jero-web/src/views/otamanagement/vehicleinformation/components/basicInformation.vue index d68f43ccd..fe9306ee4 100644 --- a/jero-web/src/views/otamanagement/vehicleinformation/components/basicInformation.vue +++ b/jero-web/src/views/otamanagement/vehicleinformation/components/basicInformation.vue @@ -305,7 +305,7 @@ import { message } from 'ant-design-vue' if(item.cpxh==null){ item.cpxh='' } - obj.value=item.ggpc+'-'+item.cpmc+'-'+item.cpxh + obj.value=item.cpdjbh+'-'+item.ggpc+'-'+item.cpxh this.selectList.push(obj) }) } @@ -342,14 +342,14 @@ import { message } from 'ant-design-vue' this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined } } - if(res.result.dllx1 == null ){ + if(res.result.dllx1 == '' ){ res.result.dllx1 = undefined } - if(res.result.dllx2 == null){ + if(res.result.dllx2 == ''){ res.result.dllx2 = undefined } - if(res.result.cplb == null){ + if(res.result.cplb == ''){ res.result.cplb = undefined } if(res.result.qymc == null){ diff --git a/jero-web/src/views/parameter/managementdetails/index.vue b/jero-web/src/views/parameter/managementdetails/index.vue index f6fa244d4..2077e1322 100644 --- a/jero-web/src/views/parameter/managementdetails/index.vue +++ b/jero-web/src/views/parameter/managementdetails/index.vue @@ -100,6 +100,36 @@ {{$t('CustomExport')}} + + + +
+ + {{ $t('customize') }} +
+
@@ -233,7 +263,110 @@ NotSelectedRowKeysValue: [], NoEngineer: 1, // 下发收集的权限,0为没有接口人 1为由接口人 默认有 NotSelectedNoEngineerValue: [], - paramsManifest: {} + paramsManifest: {}, + customizevisible: false, + indeterminate: false, + checkAll: false, + selectedValue: [], + checkedList: ['NiONumber', 'ParameterName', 'operation'], + customizeList: [ + { + sort: '1', + name: this.$t('NiONumber'), + disabled: true, + headFieldCn: 'NIO编号', + headFieldEn: 'NiONumber', + field: 'NiONumber', + key: 1, + moduleFlag: '上报库', + status: 1 + }, + { + sort: '2', + disabled: true, + name: this.$t('ParameterName'), + headFieldCn: '参数名称', + headFieldEn: 'Parameter Name', + field: 'ParameterName', + key: 2, + moduleFlag: '上报库', + status: 2 + }, + { + sort: '', + name: this.$t('ParameterDescription'), + headFieldCn: '参数说明', + headFieldEn: 'Parameter Description', + field: 'ParameterDescription', + key: 3, + moduleFlag: '上报库' + }, + { + sort: '', + name: this.$t('status'), + headFieldCn: '状态', + headFieldEn: 'status', + field: 'status', + key: 4, + moduleFlag: '上报库' + }, + { + sort: '', + name: this.$t('areaOfResponsibility'), + headFieldCn: '责任领域', + headFieldEn: 'Responsible Field', + field: 'areaOfResponsibility', + key: 5, + moduleFlag: '上报库' + }, + { + sort: '', + name: this.$t('engineeringInterfacePerson'), + headFieldCn: '工程接口人', + headFieldEn: 'Eng. Interface', + field: 'engineeringInterfacePerson', + key: 6, + moduleFlag: '上报库' + }, + { + sort: '', + name: this.$t('completedBy'), + headFieldCn: '填写人', + headFieldEn: 'Filled by', + field: 'completedBy', + key: 15, + moduleFlag: '上报库' + }, + { + sort: '', + name: this.$t('Version'), + headFieldCn: '版本', + headFieldEn: 'Version', + field: 'Version', + key: 23, + moduleFlag: '上报库' + }, + { + sort: '', + name: this.$t('synchronizationtime'), + headFieldCn: '同步时间', + headFieldEn: 'Synchronization time', + field: 'synchronizationtime', + key: 21, + moduleFlag: '上报库' + }, + { + sort: '', + disabled: true, + name: this.$t('operation'), + headFieldCn: '操作', + headFieldEn: 'Operation', + key: 35, + field: 'operation', + moduleFlag: '上报库', + status: 2 + } + ], } }, props: {}, @@ -243,6 +376,52 @@ document.title = this.$t('ParameterViewPage') }, methods: { + onCheckAllChange(e) { + let selectedValue = ['NiONumber', 'ParameterName', 'operation'] + this.checkedList = e.target.checked ? this.customizeList.map(item => item.field) : selectedValue + this.selectedValue = this.checkedList + this.indeterminate = false + }, + onChange() { + this.selectedValue = this.checkedList + }, + getcustomize() { + this.customizevisible = true + }, + cancel() { + this.customizevisible = false + }, + handleSubmitcustomize() { + let list = [] + let uniqueArray = this.selectedValue.filter((item, index, array) => { + return array.indexOf(item) === index + }) + uniqueArray.forEach(item => { + this.customizeList.forEach((val, index) => { + if (item == val.field) { + val.sort = index + 1 + list.push(val) + } + }) + }) + this.confirmLoading = true + let headCustomEOList = JSON.parse(JSON.stringify(list)) + let query = { + headCustomEOList: headCustomEOList + } + postAction('head/headCustomEO/add', query).then((res) => { + if (res.success) { + this.confirmLoading = false + this.$message.success(this.$t('OperationSuccessful')) + this.customizevisible = false + this.$refs.CollectionTabel.getHeader() + } else { + this.$message.warning(this.$t('operationFailed')) + this.confirmLoading = false + this.customizevisible = false + } + }) + }, handleToggleSearch() { this.toggleSearchStatus = !this.toggleSearchStatus }, @@ -588,7 +767,43 @@ text-align: right; margin-top: 20px; } + .customize-text { + /*height: 1533px;*/ + display: flex; + flex-direction: column; + align-items: flex-start; + } + .customize-text-title { + margin-left: 0; + font-size: 14px; + font-weight: 400; + color: #040B29; + margin-bottom: 22px; + } + .drawer-bootom-button { + position: absolute; + bottom: 0; + z-index: 100; + width: 100%; + border-top: 1px solid #e8e8e8; + padding: 10px 16px; + text-align: right; + left: 0; + background: #fff; + border-radius: 0 0 2px 2px; + } + .ant-table-placeholder { + padding: 0; + border-top: none; + } + + .itemModelComment .ant-form-item-control-wrapper { + width: 100% !important; + } + .second { + padding: 0 !important; + } .operator-text-left { font-size: 14px; margin-right: 20px; @@ -641,4 +856,38 @@ .Required { color: red; } + + \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index 968fc7dff..f91c86f85 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -133,7 +133,7 @@ - + @@ -539,6 +569,7 @@ import parameterColumn from '../dialog/parametercolumn' import { getAction, postAction, downloadFile } from '../../../api/manage' import eventBUs from '../../../common/event' + import customizeList from './customizeList' import ParameterLibraryAdd from '@/components/ParameterLibraryAdd/index' import globalAdvancedQuery from '@/components/globalAdvancedQuery/index' import SynchronousSubmissionLibrary from '@/components/SynchronousSubmissionLibrary/index' @@ -560,6 +591,7 @@ components: { TableCollection, ParameterLibraryAdd, + customizeList, parameterColumn, AssignedBy, AssignedByHomo, @@ -711,6 +743,110 @@ dictCode: 'dre'//只要 dictCode 有值,无论 type 是什么,都显示为字典下拉框 } ], + customizevisible: false, + indeterminate: false, + checkAll: false, + selectedValue: [], + checkedList: ['NiONumber', 'ParameterName', 'operation'], + customizeList: [ + { + sort: '1', + name: this.$t('NiONumber'), + disabled: true, + headFieldCn: 'NIO编号', + headFieldEn: 'NiONumber', + field: 'NiONumber', + key: 1, + moduleFlag: '参数收集', + status: 1 + }, + { + sort: '2', + disabled: true, + name: this.$t('ParameterName'), + headFieldCn: '参数名称', + headFieldEn: 'Parameter Name', + field: 'ParameterName', + key: 2, + moduleFlag: '参数收集', + status: 2 + }, + { + sort: '', + name: this.$t('ParameterDescription'), + headFieldCn: '参数说明', + headFieldEn: 'Parameter Description', + field: 'ParameterDescription', + key: 3, + moduleFlag: '参数收集' + }, + { + sort: '', + name: this.$t('status'), + headFieldCn: '状态', + headFieldEn: 'status', + field: 'status', + key: 4, + moduleFlag: '参数收集' + }, + { + sort: '', + name: this.$t('areaOfResponsibility'), + headFieldCn: '责任领域', + headFieldEn: 'Responsible Field', + field: 'areaOfResponsibility', + key: 5, + moduleFlag: '参数收集' + }, + { + sort: '', + name: this.$t('engineeringInterfacePerson'), + headFieldCn: '工程接口人', + headFieldEn: 'Eng. Interface', + field: 'engineeringInterfacePerson', + key: 6, + moduleFlag: '参数收集' + }, + { + sort: '', + name: this.$t('completedBy'), + headFieldCn: '填写人', + headFieldEn: 'Filled by', + field: 'completedBy', + key: 15, + moduleFlag: '参数收集' + }, + { + sort: '', + name: this.$t('Deadline'), + headFieldCn: '截止时间', + headFieldEn: 'Due Date', + field: 'designDueDate', + key: 23, + moduleFlag: '参数收集' + }, + { + sort: '', + name: this.$t('databasereportingtime'), + headFieldCn: '同步上报库时间', + headFieldEn: 'database reporting time', + field: 'databasereportingtime', + key: 23, + moduleFlag: '参数收集' + }, + + { + sort: '', + disabled: true, + name: this.$t('operation'), + headFieldCn: '操作', + headFieldEn: 'Operation', + key: 35, + field: 'operation', + moduleFlag: '参数收集', + status: 2 + } + ], selectedRowKeys: [], textLoading: false, formInline: {}, @@ -1587,6 +1723,52 @@ } }) }, + onCheckAllChange(e) { + let selectedValue = ['NiONumber', 'ParameterName', 'operation'] + this.checkedList = e.target.checked ? this.customizeList.map(item => item.field) : selectedValue + this.selectedValue = this.checkedList + this.indeterminate = false + }, + onChange() { + this.selectedValue = this.checkedList + }, + getcustomize() { + this.customizevisible = true + }, + cancel() { + this.customizevisible = false + }, + handleSubmitcustomize() { + let list = [] + let uniqueArray = this.selectedValue.filter((item, index, array) => { + return array.indexOf(item) === index + }) + uniqueArray.forEach(item => { + this.customizeList.forEach((val, index) => { + if (item == val.field) { + val.sort = index + 1 + list.push(val) + } + }) + }) + this.confirmLoading = true + let headCustomEOList = JSON.parse(JSON.stringify(list)) + let query = { + headCustomEOList: headCustomEOList + } + postAction('head/headCustomEO/add', query).then((res) => { + if (res.success) { + this.confirmLoading = false + this.$message.success(this.$t('OperationSuccessful')) + this.customizevisible = false + this.$refs.CollectionTabel.getHeader() + } else { + this.$message.warning(this.$t('operationFailed')) + this.confirmLoading = false + this.customizevisible = false + } + }) + }, // // 下发收集---请求接口 // distributionAndCollection() { // @@ -2177,16 +2359,37 @@ } } - @@ -2295,7 +2498,43 @@ .Required { color: red; } + .customize-text { + /*height: 1533px;*/ + display: flex; + flex-direction: column; + align-items: flex-start; + } + .customize-text-title { + margin-left: 0; + font-size: 14px; + font-weight: 400; + color: #040B29; + margin-bottom: 22px; + } + .drawer-bootom-button { + position: absolute; + bottom: 0; + z-index: 100; + width: 100%; + border-top: 1px solid #e8e8e8; + padding: 10px 16px; + text-align: right; + left: 0; + background: #fff; + border-radius: 0 0 2px 2px; + } + .ant-table-placeholder { + padding: 0; + border-top: none; + } + + .itemModelComment .ant-form-item-control-wrapper { + width: 100% !important; + } + .second { + padding: 0 !important; + } .doc-detail { background: #fff; height: 100%; @@ -2395,6 +2634,7 @@ height: 42px; line-height: 42px; } + } } @@ -2403,7 +2643,7 @@ } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/batSetting.vue b/jero-web/src/views/projectManagement/components/batSetting.vue index ff8a45a32..e2acfa335 100644 --- a/jero-web/src/views/projectManagement/components/batSetting.vue +++ b/jero-web/src/views/projectManagement/components/batSetting.vue @@ -92,7 +92,7 @@
- +
diff --git a/jero-web/src/views/projectManagement/components/certificationList/index.vue b/jero-web/src/views/projectManagement/components/certificationList/index.vue index e4b0bf2b9..1317235d0 100644 --- a/jero-web/src/views/projectManagement/components/certificationList/index.vue +++ b/jero-web/src/views/projectManagement/components/certificationList/index.vue @@ -258,6 +258,7 @@ ref="table" class="customizetable" :loading="loading" + :components="drag(columns,'columnsAll')" :pagination="false" :scroll="{x: '100%',y:'calc(100vh - 300px)'}" rowKey="id" @@ -265,6 +266,11 @@ :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns" > + + + {{ text }} + + { this.getAndUserId() }) @@ -801,6 +812,21 @@ }, methods: { ...mapGetters(['userInfo']), + getDeliverableTree() { + getAction('/sys/category/getCertificationDeliverableTree', {}).then((res) => { + if (res.success) { + this.DeliverableTreeList = res.result + this.fieldList.push({ + type: 'treeChoice', + value: 'deliverableType', + text: this.$t('typeOfDeliverables'), + tree:this.DeliverableTreeList + }) + } else { + this.DeliverableTreeList = [] + } + }) + }, getProcessStatus() { getAction('/project/projectCertificationInventoryEO/getFlowStatusList', {}).then((res) => { if (res.success) { @@ -1801,7 +1827,16 @@ viewFileClick(item) { this.$refs.viewFileModelRef.clickButtonToUpload(item) - } + }, + standardClick(row) { + let newUrl = this.$router.resolve({ + path: '/docManage/library/detail', + query: { + id: row.bussDocumentLibraryId + } + }) + window.open(newUrl.href, '_blank') + }, } } diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index 4aa42f3e2..53823f392 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -1115,7 +1115,109 @@ value: 'engineeringInterfacePerson', valueName: 'engineeringInterfacePersonName', text: this.$t('engineeringInterfacePerson') - } + }, + { + value: 'designFlowStatus', + text: this.$t('designComplianceReview')+this.$t('ProcessStatus'), + options:[ + { + value: 'List to be released', + key: 'List to be released', + label: this.$t('listToBeReleased') + }, + { + value: 'List to be checked', + key: 'List to be checked', + label: this.$t('listToBeChecked') + }, + { + value: 'Task to be confirmed', + key: 'Task to be confirmed', + label: this.$t('taskToBeConfirmed') + }, + { + value: 'Results to be submitted', + key: 'Results to be submitted', + label: this.$t('resultsToBeSubmitted') + }, + { + value: 'Results to be reviewed', + key: 'Results to be reviewed', + label: this.$t('resultsToBeReviewed') + }, + { + value: 'Compliance', + key: 'Compliance', + label: this.$t('compliance') + }, + { + value: 'Non-Compliance', + key: 'Non-Compliance', + label: this.$t('nonCompliance') + }, + { + value: 'To be tracked', + key: 'To be tracked', + label: this.$t('toBeTracked') + }, + { + value: 'NA', + key: 'NA', + label: this.$t('NA') + } + ], + }, + { + value: 'verifyFlowStatus', + text: this.$t('verificationAndConformityconfirmation')+this.$t('ProcessStatus'), + options:[ + { + value: 'List to be released', + key: 'List to be released', + label: this.$t('listToBeReleased') + }, + { + value: 'List to be checked', + key: 'List to be checked', + label: this.$t('listToBeChecked') + }, + { + value: 'Task to be confirmed', + key: 'Task to be confirmed', + label: this.$t('taskToBeConfirmed') + }, + { + value: 'Results to be submitted', + key: 'Results to be submitted', + label: this.$t('resultsToBeSubmitted') + }, + { + value: 'Results to be reviewed', + key: 'Results to be reviewed', + label: this.$t('resultsToBeReviewed') + }, + { + value: 'Compliance', + key: 'Compliance', + label: this.$t('compliance') + }, + { + value: 'Non-Compliance', + key: 'Non-Compliance', + label: this.$t('nonCompliance') + }, + { + value: 'To be tracked', + key: 'To be tracked', + label: this.$t('toBeTracked') + }, + { + value: 'NA', + key: 'NA', + label: this.$t('NA') + } + ], + }, ], listOptions: [ { @@ -1931,6 +2033,7 @@ getList() { let roleCode = this.roleSwitchingCode let queryParam = JSON.parse(JSON.stringify(this.queryParam)) + this.getRoleByUserId() Object.keys(queryParam).forEach(val => { if (queryParam[val] instanceof Array) { queryParam[val] = queryParam[val].join(',') @@ -1949,7 +2052,6 @@ } this.loading = true getAction(this.url.list, query).then((res) => { - this.getRoleByUserId() if (res.success) { this.dataSource = res.result || [] this.loading = false @@ -2399,8 +2501,11 @@ } if (this.requestsNum == 0) { - this.$message.warning(_this.$t('theDataYouInitiate')) - // _this.promptInformation(_this.detailedWarningList) + if (_this.detailedWarningList && _this.detailedWarningList.length > 0){ + _this.promptInformation(_this.detailedWarningList) + }else{ + this.$message.warning(_this.$t('theDataYouInitiate')) + } this.JTextLoading = false } }, diff --git a/jero-web/src/views/projectManagement/components/transferListvirtal.vue b/jero-web/src/views/projectManagement/components/transferListvirtal.vue index 77d0fc1a4..95e0ef863 100644 --- a/jero-web/src/views/projectManagement/components/transferListvirtal.vue +++ b/jero-web/src/views/projectManagement/components/transferListvirtal.vue @@ -32,11 +32,11 @@ + {{$t('query')}} + {{$t('reset')}} - {{$t('query')}} - {{$t('reset')}} @@ -48,7 +48,7 @@ :scroll="{x: 800,y:600}" :data-source="dataList" :pagination="false" - :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,columnTitle:'' }" + :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :loading="loading"> diff --git a/jero-web/src/views/projectManagement/historicalVersion/index.vue b/jero-web/src/views/projectManagement/historicalVersion/index.vue index 8737d6ac9..59a559acb 100644 --- a/jero-web/src/views/projectManagement/historicalVersion/index.vue +++ b/jero-web/src/views/projectManagement/historicalVersion/index.vue @@ -53,7 +53,7 @@ ref="table" :loading="loading" :pagination="false" - :scroll="{x: true}" + :scroll="{x: '100%'}" rowKey="id" :data-source="dataSource" :row-selection="{ selectedRowKeys: selectedRowKeys}" @@ -172,6 +172,7 @@ width: 180, fixed: 'left', sorter: true, + ellipsis: true, scopedSlots: { customRender: 'standard' } }, { @@ -180,6 +181,7 @@ dataIndex: 'title', width: 180, fixed: 'left', + ellipsis: true, scopedSlots: { customRender: 'titleName' } }, { @@ -415,7 +417,7 @@ } query = { actiProcInstId: row.designPId, - projectTaskInventoryId: row.id, + projectTaskInventoryId: row.projectLawsInventoryId, projectLibraryId: row.projectLibraryId, TaskKey: TaskKey, isDisplay: false, @@ -445,7 +447,7 @@ } query = { actiProcInstId: row.verifyPId, - projectTaskInventoryId: row.id, + projectTaskInventoryId: row.projectLawsInventoryId, projectLibraryId: row.projectLibraryId, TaskKey: TaskKey, flowType: 4, @@ -584,7 +586,9 @@