diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index 7f3547aba..4a6488e9e 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -1249,7 +1249,7 @@ MODIFY COLUMN `lot` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_c MODIFY COLUMN `detection_report_location` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '检测报告位置' AFTER `experiment_file`, MODIFY COLUMN `explain_info` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明' AFTER `detection_report_location`; ---添加平台件项目库字段2023-09-28 +--添加平台件项目库字段2023-10-09 ALTER TABLE `project_library_base` ADD COLUMN `power` varchar(255) NULL COMMENT '功率' AFTER `platform`, ADD COLUMN `producer` varchar(255) NULL COMMENT '生产商' AFTER `power`, @@ -1269,13 +1269,17 @@ ADD COLUMN `battery_type_code` varchar(255) NULL COMMENT '电池类型代码' AF ADD COLUMN `specification_code` varchar(255) NULL COMMENT '规格代码' AFTER `battery_type_code`, ADD COLUMN `traceability_code` varchar(255) NULL COMMENT '追溯代码' AFTER `specification_code`, ADD COLUMN `ymd_number` varchar(255) NULL COMMENT '生产也月日序列号' AFTER `traceability_code`, -ADD COLUMN `size` double(255, 0) NULL COMMENT '尺寸' AFTER `ymd_number`, +ADD COLUMN `size` varchar(255) NULL COMMENT '尺寸' AFTER `ymd_number`, ADD COLUMN `rated_capacity` varchar(255) NULL COMMENT '额定容量' AFTER `size`, ADD COLUMN `nominal_voltage` varchar(255) NULL COMMENT '标称电压' AFTER `rated_capacity`, ADD COLUMN `rated_mass` varchar(255) NULL COMMENT '额定质量' AFTER `nominal_voltage`, -ADD COLUMN `module_number` varchar(0) NULL COMMENT '包含模块个数' AFTER `rated_mass`, +ADD COLUMN `module_number` varchar(255) NULL COMMENT '包含模块个数' AFTER `rated_mass`, ADD COLUMN `connection_type` varchar(255) NULL COMMENT '模块串并联方式' AFTER `module_number`, ADD COLUMN `module_specification_code` varchar(255) NULL COMMENT '所用模块或单体规格代码' AFTER `connection_type`, ADD COLUMN `cooling_method` varchar(255) NULL COMMENT '冷却方式' AFTER `module_specification_code`, ADD COLUMN `filing_completion_time` datetime(0) NULL COMMENT '备案完成时间' AFTER `cooling_method`, ADD COLUMN `remark` varchar(1000) NULL COMMENT '备注' AFTER `filing_completion_time`; + +--平台件合规认证计划添加标识字段2023-10-09 +ALTER TABLE `platform_task_planning` +ADD COLUMN `flag` varchar(255) NULL COMMENT '位置标识(用来区分上下两部分数据,up->上,down->下)' AFTER `project_id`, diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEO.java index f627832be..43f046ec2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyInventoryInfoEO.java @@ -161,4 +161,9 @@ public class AuthDummyInventoryInfoEO implements Serializable { /**认证类型*/ @ApiModelProperty(value = "认证类型") private String attestationType; + + /**备注*/ + @ApiModelProperty(value = "备注") + @Excel(name = "备注", width = 50) + private String remark; } 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 6ddfe2164..091cf57c6 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 @@ -961,9 +961,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl 1){ @@ -1623,8 +1623,10 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl collect = bussDocumentLibraryEOList.stream() - .filter(e -> e.getSerialNumber().equals(authDummyInventoryInfoEO.getSerialNumber())).collect(Collectors.toList()); - authDummyInventoryInfoEO.setBussDocumentLibraryId(collect.get(0).getId()); + .filter(e -> e.getSerialNumber().trim().equals(authDummyInventoryInfoEO.getSerialNumber().trim())).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(collect)){ + authDummyInventoryInfoEO.setBussDocumentLibraryId(collect.get(0).getId()); + } } } // //2. 验证标准号在法规清单中是否添加过 @@ -1705,6 +1707,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl list = Arrays.asList(title.split(",")); int index = 0; if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){ - index = list.indexOf("交付物模板") + 1; + index = list.indexOf("备注") + 1; }else{ - index = list.indexOf("Deliverable Template") + 1; + index = list.indexOf("Remark") + 1; } //创建临时文件夹 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml index ff57d79f1..3b8f336e0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml @@ -133,7 +133,7 @@ left join project_name_info as pni on plb.project_name_id = pni.id left join project_year_name_info as pyni on plb.year_name_id=pyni.id ) tmp_tb - where 1=1 and state = #{state} and plb.platform is null + where 1=1 and state = #{state} AND project_name LIKE CONCAT(CONCAT('%',#{projectName}),'%') @@ -153,7 +153,7 @@ left join project_name_info as pni on plb.project_name_id = pni.id left join project_year_name_info as pyni on plb.year_name_id=pyni.id ) tmp_tb - where 1=1 and plb.platform is null and id in + where 1=1 and id in #{item} @@ -175,7 +175,7 @@ left join project_name_info as pni on plb.project_name_id = pni.id left join project_year_name_info as pyni on plb.year_name_id=pyni.id ) tmp_tb - where 1=1 and plb.platform is null and state = #{state} + where 1=1 and state = #{state} and id in( SELECT pm.id AS pm FROM params_manifest pm JOIN ( SELECT id FROM @@ -183,7 +183,7 @@ FROM project_library_base a JOIN mysql.help_topic b ON b.help_topic_id < ( length( a.certification_engineer ) - length( REPLACE ( a.certification_engineer, ',', '' ) ) + 1 )) temp - WHERE user_id = #{userId} and platform is null) a ON pm.project_id = a.id + WHERE user_id = #{userId}) a ON pm.project_id = a.id UNION SELECT DISTINCT pcm.params_manifest_id AS pm FROM params_collect_manifest pcm WHERE sdt = #{userName} and state in('2','5') @@ -211,7 +211,7 @@ left join project_name_info as pni on plb.project_name_id = pni.id left join project_year_name_info as pyni on plb.year_name_id = pyni.id ) tmp_tb - where project_id = #{projectId} and plb.platform is null + where project_id = #{projectId} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index b475f1391..ae78fd2a6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -619,6 +619,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl> queryList(String projectId) { - List list = platformTaskPlanningEOService.queryList(projectId); - return Result.OK(list); + public Result queryList(String projectId) { + Map result = platformTaskPlanningEOService.queryList(projectId); + return Result.OK(result); } /** @@ -106,9 +106,17 @@ public class PlatformTaskPlanningEOController extends JeroController addBatch(@RequestBody Map data) { - JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(data.get("list"))); - List platformTaskPlanningEOList = jsonArray.toJavaList(PlatformTaskPlanningEO.class); - platformTaskPlanningEOService.addBatch(platformTaskPlanningEOList); +// JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(data.get("list"))); +// JSONArray jsonArrayUp = JSONArray.parseArray(JSON.toJSONString(data.get("listUp"))); +// JSONArray jsonArrayDown = JSONArray.parseArray(JSON.toJSONString(data.get("listDown"))); +// List platformTaskPlanningEOListUp = jsonArray.toJavaList(PlatformTaskPlanningEO.class); +// List platformTaskPlanningEOListDown = jsonArray.toJavaList(PlatformTaskPlanningEO.class); +// platformTaskPlanningEOService.addBatch(platformTaskPlanningEOListUp,platformTaskPlanningEOListDown); + JSONArray jsonArrayUp = JSONArray.parseArray(JSON.toJSONString(data.get("listUp"))); + JSONArray jsonArrayDown = JSONArray.parseArray(JSON.toJSONString(data.get("listDown"))); + List platformTaskPlanningEOListUp = jsonArrayUp.toJavaList(PlatformTaskPlanningEO.class); + List platformTaskPlanningEOListDown = jsonArrayDown.toJavaList(PlatformTaskPlanningEO.class); + platformTaskPlanningEOService.addBatch(platformTaskPlanningEOListUp,platformTaskPlanningEOListDown); return Result.OK("添加成功!"); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/entity/PlatformTaskPlanningEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/entity/PlatformTaskPlanningEO.java index e49019c50..fc9e52a8f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/entity/PlatformTaskPlanningEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/entity/PlatformTaskPlanningEO.java @@ -93,4 +93,7 @@ public class PlatformTaskPlanningEO implements Serializable { @TableField(exist = false) private boolean isG; + //标识(用来区分上下两部分数据,up->上,down->下) + private String Flag; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/enums/UpAndDownEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/enums/UpAndDownEnum.java new file mode 100644 index 000000000..2bd57ebfb --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/enums/UpAndDownEnum.java @@ -0,0 +1,45 @@ +package com.jero.modules.platform.enums; + +/** + * 任务状态枚举类 + */ +public enum UpAndDownEnum { + UP("上部分","up"), + DOWN("下部分","down"), + ; + + + String name; + String value; + + private UpAndDownEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public static String getTextByValue(String value) { + UpAndDownEnum[] values = values(); + for (UpAndDownEnum taskStatusEnum : values) { + if (taskStatusEnum.value.equals(value)) { + return taskStatusEnum.name; + } + } + return null; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/mapper/xml/PlatformProjectLibraryBaseMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/mapper/xml/PlatformProjectLibraryBaseMapper.xml index 950018869..39c14ed4e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/mapper/xml/PlatformProjectLibraryBaseMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/mapper/xml/PlatformProjectLibraryBaseMapper.xml @@ -52,6 +52,34 @@ plb.sort, plb.flag, plb.brand, + plb.power, + plb.producer, + plb.duty_depart, + plb.regulation_owner_id, + plb.engineering_interface_person, + plb.brand_label, + plb.product_model, + plb.cell_enterprise, + plb.assembly_enterprise, + plb.part_number_cn, + plb.part_number_en, + plb.filing_code, + plb.supplier_code, + plb.product_type_code, + plb.battery_type_code, + plb.specification_code, + plb.traceability_code, + plb.ymd_number, + plb.size, + plb.rated_capacity, + plb.nominal_voltage, + plb.rated_mass, + plb.module_number, + plb.connection_type, + plb.module_specification_code, + plb.cooling_method, + plb.filing_completion_time, + plb.remark, sdi.item_text brandText, sdi.en_name brandTextEn from project_library_base as plb diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformTaskPlanningEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformTaskPlanningEOService.java index 4e965dc96..08873412b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformTaskPlanningEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformTaskPlanningEOService.java @@ -3,6 +3,7 @@ package com.jero.modules.platform.service; import com.jero.modules.platform.entity.PlatformTaskPlanningEO; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; +import java.util.Map; /** * @Description: 平台件合规认证计划 @@ -22,9 +23,10 @@ public interface IPlatformTaskPlanningEOService extends IService platformTaskPlanningEOList); + void addBatch(List platformTaskPlanningEOListUp,List platformTaskPlanningEOListDown); /** * 更新 @@ -63,5 +65,5 @@ public interface IPlatformTaskPlanningEOService extends IService queryList(String projectId); + Map queryList(String projectId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectCertificationInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectCertificationInventoryEOServiceImpl.java index 31f23a177..8878e44fe 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectCertificationInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectCertificationInventoryEOServiceImpl.java @@ -4555,11 +4555,11 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ title = "*类别,*检验项目,*认证类型,*WVTA ID," + "*标准编号,*责任领域,*工程接口人,*责任人," + - "交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称"; + "交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称,备注"; }else { title = "*Category,*Inspection Items,*Certification Type,*WVTA ID," + "*Standard No,*Responsible Field,*Eng. Interface,*Assignee," + - "Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer"; + "Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer,Remark"; } int pos = file.getOriginalFilename().lastIndexOf("."); @@ -4675,7 +4675,7 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI if (i == 0) { cell.setCellType(HSSFCell.CELL_TYPE_STRING); headerSb.append(cell.getStringCellValue() + ","); - if(j == 14){ + if(j == 15){ break; } } else if(i > 1){ @@ -5823,6 +5823,7 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI case "产品型号": return "productModel"; case "生产企业名称": return "productionEnterpriseName"; case "认证进度": return "certificationProgress"; + case "备注": return "remark"; case "*Category": return "category"; case "*Inspection Items": return "inspectionItem"; @@ -5842,6 +5843,7 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI case "Product Model": return "productModel"; case "Name Of Manufacturer": return "productionEnterpriseName"; case "Homologation Progress": return "certificationProgress"; + case "Remark": return "remark"; default: return null; //"Deliverable Type,Deliverable Template,initiator,Assignee,Due Date," + @@ -5866,19 +5868,19 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ title = "*类别,*检验项目,*认证类型,*WVTA ID," + "*标准编号,*责任领域,*工程接口人,*责任人," + - "交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称"; + "交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称,备注"; }else { title = "*Category,*Inspection Items,*Certification Type,*WVTA ID," + "*Standard No,*Responsible Field,*Eng. Interface,*Assignee," + - "Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer"; + "Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer,Remark"; } List list = Arrays.asList(title.split(",")); int index = 0; if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ - index = list.indexOf("生产企业名称") + 1; + index = list.indexOf("备注") + 1; }else{ - index = list.indexOf("Name Of Manufacturer") + 1; + index = list.indexOf("Remark") + 1; } //创建临时文件夹 @@ -5902,7 +5904,7 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI cellStyleTemp.setWrapText(true);//自动换行 CellRangeAddress region = - new CellRangeAddress(1, 1, 0, 13); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列 + new CellRangeAddress(1, 1, 0, 14); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列 sheet.addMergedRegion(region); String explain= ""; if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ @@ -6071,8 +6073,10 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI String projectLibraryId = pciList.get(0).getProjectLibraryId(); ProjectLibraryBase projectLibraryBase = this.platformProjectLibraryBaseService.selectById(projectLibraryId); if(ObjectUtils.isNotEmpty(projectLibraryBase)){ - List studioEngineerUserInfo = this.sysUserService.querySysUserListByIdList(Arrays.asList(projectLibraryBase.getStudioEngineer().split(","))); - + List studioEngineerUserInfo = new ArrayList<>(); + if(StringUtils.isNotBlank(projectLibraryBase.getStudioEngineer())){ + studioEngineerUserInfo = this.sysUserService.querySysUserListByIdList(Arrays.asList(projectLibraryBase.getStudioEngineer().split(","))); + } String certificationEngineerUserNames = ""; if(StringUtils.isNotBlank(projectLibraryBase.getCertificationEngineer())){ List certificationEngineerIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(",")); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectLawsInventoryEOServiceImpl.java index 902dcf898..4e9c06391 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectLawsInventoryEOServiceImpl.java @@ -569,7 +569,7 @@ public class PlatformProjectLawsInventoryEOServiceImpl extends ServiceImpl oSSFileList = new ArrayList<>(); + for (String fileId : projectLibraryBase.getBrandLabel().split(",")) { + OSSFile ossFile = new OSSFile(); + ossFile.setId(fileId); + ossFile.setConnectId(valueTemp); + oSSFileList.add(ossFile); + } + iOSSFileService.updateFileInfo(oSSFileList); + + projectLibraryBase.setBrandLabel(valueTemp); + } save(projectLibraryBase); //创建任务计划时间轴 @@ -1057,7 +1076,6 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl result = this.list(queryWrapper); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - List dictItemList = sysDictItemMapper.selectItemsByDictCode(DictCodeEnum.BRAND.getValue()); //置顶 @@ -1068,9 +1086,29 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl sysUserList = getSysUserList(result); //目标市场数据字典 -// List targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); + List targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); for(ProjectLibraryBase projectLibraryBase: result){ + if(ObjectUtils.isNotEmpty(sysUserList)){ + //法规工程师 + if(StringUtils.isNotBlank(projectLibraryBase.getRegulationOwnerId())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLibraryBase.getRegulationOwnerId())).collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(collect)){ + projectLibraryBase.setRegulationOwnerIdName(collect.get(0).getUsername()); + } + } + //工程接口人 + if(StringUtils.isNotBlank(projectLibraryBase.getEngineeringInterfacePerson())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLibraryBase.getEngineeringInterfacePerson())).collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(collect)){ + projectLibraryBase.setEngineeringInterfacePersonName(collect.get(0).getUsername()); + } + } + } //处理品牌 List sysDictItemList = dictItemList.stream() .filter(e -> e.getItemValue().equals(projectLibraryBase.getBrand())).collect(Collectors.toList()); @@ -1098,14 +1136,14 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl param = new HashMap<>(); -// param.put("cut",cut); -// String targetMarket = getMarket(param, targetMarketList, projectLibraryBase); -// //项目名称(功率-生产商-目标市场) -// String projectName = projectLibraryBase.getPower() + "-" + projectLibraryBase.getProducer() + "-" + targetMarket; -// projectLibraryBase.setProjectNameId(projectName);//原设计平台件项目名称去这个字段值 -// //平台件项目名称改为拼接的形式,projectNameId不在存数据,如果这个变更影响其他的地方,项目名称取值可以取projectName的值 -// projectLibraryBase.setProjectName(projectName); + Map param = new HashMap<>(); + param.put("cut",cut); + String targetMarket = getMarket(param, targetMarketList, projectLibraryBase); + //项目名称(功率-生产商-目标市场) + String projectName = projectLibraryBase.getPower() + "-" + projectLibraryBase.getProducer() + "-" + targetMarket; + projectLibraryBase.setProjectNameId(projectName);//原设计平台件项目名称去这个字段值 + //平台件项目名称改为拼接的形式,projectNameId不在存数据,如果这个变更影响其他的地方,项目名称取值可以取projectName的值 + projectLibraryBase.setProjectName(projectName); } if(ObjectUtils.isEmpty(params.get("orderByField"))){ @@ -1121,6 +1159,25 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl getSysUserList(List result) { + List RegulationOwnerIdList = result.stream().map(ProjectLibraryBase::getRegulationOwnerId).distinct().collect(Collectors.toList()); + List EngineeringInterfacePersonList = result.stream().map(ProjectLibraryBase::getEngineeringInterfacePerson).distinct().collect(Collectors.toList()); + List userIdList = new ArrayList<>(); + if(ObjectUtils.isNotEmpty(RegulationOwnerIdList)){ + userIdList.addAll(RegulationOwnerIdList); + } + if(ObjectUtils.isNotEmpty(EngineeringInterfacePersonList)){ + userIdList.addAll(EngineeringInterfacePersonList); + } + List sysUserList = new ArrayList<>(); + if(ObjectUtils.isNotEmpty(userIdList)){ + QueryWrapper userqueryWrapper = new QueryWrapper<>(); + userqueryWrapper.in("id ", userIdList); + sysUserList = sysUserMapper.selectList(userqueryWrapper); + } + return sysUserList; + } + private void hearSort(Map params, List resultList) { if(ObjectUtils.isNotEmpty(params.get("orderByField"))){ Collator comparator = Collator.getInstance(Locale.CHINESE); @@ -1418,6 +1475,7 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl records,String cut,boolean disposeTargetMarketFlag) { List targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); + List sysUserList = getSysUserList(records); for (ProjectLibraryBase projectLibraryBase : records) { List sysUsers = new ArrayList<>(); //认证工程师多个id查询 @@ -1448,6 +1506,36 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLibraryBase.getRegulationOwnerId())).collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(collect)){ + projectLibraryBase.setRegulationOwnerIdName(collect.get(0).getUsername()); + } + } + //工程接口人 + if(StringUtils.isNotBlank(projectLibraryBase.getEngineeringInterfacePerson())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLibraryBase.getEngineeringInterfacePerson())).collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(collect)){ + projectLibraryBase.setEngineeringInterfacePersonName(collect.get(0).getUsername()); + } + } + //责任部门 + if(StringUtils.isNotBlank(projectLibraryBase.getDutyDepart())){ + List sysDictItems = sysDictItemServiceImpl.getBaseMapper().selectItemsAll(); + String dutyDepartName = platformProjectLawsInventoryEOService.disposeShowDictItemValue(sysDictItems, projectLibraryBase.getDutyDepart(), cut, ProjectInventoryFieldEnum.DUTY_TERRITORY.getValue()); + projectLibraryBase.setDutyDepartName(dutyDepartName); + } + //名牌标签 + if(StringUtils.isNotBlank(projectLibraryBase.getBrandLabel())){ + List fileList = iOSSFileService.getFileInfosByConnectId(projectLibraryBase.getBrandLabel()); + if(ObjectUtils.isNotEmpty(fileList)){ + List urlList = fileList.stream().map(OSSFile::getUrl).collect(Collectors.toList()); + projectLibraryBase.setUrlList(urlList); + } + } if(disposeTargetMarketFlag){ if(StringUtils.isNotEmpty(projectLibraryBase.getTargetMarket())){ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformTaskPlanningEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformTaskPlanningEOServiceImpl.java index c66620ffa..fed2b22e6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformTaskPlanningEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformTaskPlanningEOServiceImpl.java @@ -3,16 +3,20 @@ package com.jero.modules.platform.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.modules.platform.entity.PlatformTaskPlanningEO; +import com.jero.modules.platform.enums.UpAndDownEnum; import com.jero.modules.platform.mapper.PlatformTaskPlanningEOMapper; import com.jero.modules.platform.service.IPlatformTaskPlanningEOService; import com.jero.modules.project.enums.PlanStatusEnum; import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -40,23 +44,33 @@ public class PlatformTaskPlanningEOServiceImpl extends ServiceImpl platformTaskPlanningEOList) { - if(!platformTaskPlanningEOList.isEmpty()){ + public void addBatch(List platformTaskPlanningEOListUp,List platformTaskPlanningEOListDown) { + if(!platformTaskPlanningEOListUp.isEmpty()){ //先删除在新增 // LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(PlatformTaskPlanningEO::getCreateBy,loginUser.getUsername()); - wrapper.eq(PlatformTaskPlanningEO::getProjectId,platformTaskPlanningEOList.get(0).getProjectId()); + wrapper.eq(PlatformTaskPlanningEO::getProjectId,platformTaskPlanningEOListUp.get(0).getProjectId()); this.remove(wrapper); - for (PlatformTaskPlanningEO platformTaskPlanningEO : platformTaskPlanningEOList) { + + for (PlatformTaskPlanningEO platformTaskPlanningEO : platformTaskPlanningEOListUp) { Date now = new Date(); platformTaskPlanningEO.setCreateTime(now); platformTaskPlanningEO.setUpdateTime(now); + platformTaskPlanningEO.setFlag("up"); } - saveBatch(platformTaskPlanningEOList); + for (PlatformTaskPlanningEO platformTaskPlanningEO : platformTaskPlanningEOListDown) { + Date now = new Date(); + platformTaskPlanningEO.setCreateTime(now); + platformTaskPlanningEO.setUpdateTime(now); + platformTaskPlanningEO.setFlag("down"); + } + saveBatch(platformTaskPlanningEOListUp); + saveBatch(platformTaskPlanningEOListDown); } } @@ -112,7 +126,7 @@ public class PlatformTaskPlanningEOServiceImpl extends ServiceImpl queryList(String projectId) { + public Map queryList(String projectId) { SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd"); Date date = null; try { @@ -124,21 +138,45 @@ public class PlatformTaskPlanningEOServiceImpl extends ServiceImpl taskPlanningEOList = list(wrapper); - for (PlatformTaskPlanningEO platformTaskPlanningEO : taskPlanningEOList) { - platformTaskPlanningEO.setName(platformTaskPlanningEO.getNodeName()); - platformTaskPlanningEO.setTime(platformTaskPlanningEO.getNodeTime()); - platformTaskPlanningEO.setG(false); - if(ObjectUtils.isNotEmpty(platformTaskPlanningEO.getNodeTime())){ - if(platformTaskPlanningEO.getNodeTime().after(date)){ - platformTaskPlanningEO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue()); - }else if(platformTaskPlanningEO.getNodeTime().before(date)){ - platformTaskPlanningEO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue()); - }else{ - platformTaskPlanningEO.setStatus(PlanStatusEnum.ON_GOING.getValue()); + Map result = new HashMap<>(); + if(ObjectUtils.isEmpty(taskPlanningEOList)){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.isNull(PlatformTaskPlanningEO::getProjectId); + List list = list(queryWrapper); + + List up = list.stream() + .filter(e -> StringUtils.isNotBlank(e.getFlag()) && UpAndDownEnum.UP.getValue().equals(e.getFlag())).collect(Collectors.toList()); + List down = list.stream() + .filter(e -> StringUtils.isNotBlank(e.getFlag()) && UpAndDownEnum.DOWN.getValue().equals(e.getFlag())).collect(Collectors.toList()); + + result.put("listUp",up); + result.put("listDown",down); + + }else{ + for (PlatformTaskPlanningEO platformTaskPlanningEO : taskPlanningEOList) { + platformTaskPlanningEO.setName(platformTaskPlanningEO.getNodeName()); + platformTaskPlanningEO.setTime(platformTaskPlanningEO.getNodeTime()); + platformTaskPlanningEO.setG(false); + if(ObjectUtils.isNotEmpty(platformTaskPlanningEO.getNodeTime())){ + if(platformTaskPlanningEO.getNodeTime().after(date)){ + platformTaskPlanningEO.setStatus(PlanStatusEnum.LESS_THAN_TIME.getValue()); + }else if(platformTaskPlanningEO.getNodeTime().before(date)){ + platformTaskPlanningEO.setStatus(PlanStatusEnum.OUT_OF_DATE.getValue()); + }else{ + platformTaskPlanningEO.setStatus(PlanStatusEnum.ON_GOING.getValue()); + } } } + taskPlanningEOList = taskPlanningEOList.stream().filter(e->ObjectUtils.isNotEmpty(e.getNodeTime())).collect(Collectors.toList()); + + List up = taskPlanningEOList.stream() + .filter(e -> StringUtils.isNotBlank(e.getFlag()) && UpAndDownEnum.UP.getValue().equals(e.getFlag())).collect(Collectors.toList()); + List down = taskPlanningEOList.stream() + .filter(e -> StringUtils.isNotBlank(e.getFlag()) && UpAndDownEnum.DOWN.getValue().equals(e.getFlag())).collect(Collectors.toList()); + + result.put("listUp",up); + result.put("listDown",down); } - taskPlanningEOList = taskPlanningEOList.stream().filter(e->ObjectUtils.isNotEmpty(e.getNodeTime())).collect(Collectors.toList()); - return taskPlanningEOList; + return result; } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEO.java index 3aa2f9a18..c4734bc86 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEO.java @@ -216,4 +216,8 @@ public class ProjectCertificationInventoryDutyEnginnerEO implements Serializable // @Excel(name = "*截止日期", width = 20, format = "yyyy-MM-dd") @TableField(exist = false) private String endTimeStr; + + @ApiModelProperty(value = "备注") +// @Excel(name = "备注", width = 50) + private String remark; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEOEnPlatform.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEOEnPlatform.java index e76c51206..a615b5bd9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEOEnPlatform.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEOEnPlatform.java @@ -215,4 +215,8 @@ public class ProjectCertificationInventoryDutyEnginnerEOEnPlatform implements Se // @Excel(name = "截止日期", width = 20, format = "yyyy-MM-dd") @TableField(exist = false) private String endTimeStr; + + @ApiModelProperty(value = "备注") + @Excel(name = "Remark", width = 50) + private String remark; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEOPlatform.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEOPlatform.java index 9a75018d5..f667414db 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEOPlatform.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryDutyEnginnerEOPlatform.java @@ -192,6 +192,7 @@ public class ProjectCertificationInventoryDutyEnginnerEOPlatform implements Seri @ApiModelProperty(value = "认证进度备注") private String certificationProgressRemark; + /**项目库id*/ @ApiModelProperty(value = "项目库id") private String projectLibraryId; @@ -215,4 +216,8 @@ public class ProjectCertificationInventoryDutyEnginnerEOPlatform implements Seri // @Excel(name = "*截止日期", width = 20, format = "yyyy-MM-dd") @TableField(exist = false) private String endTimeStr; + + @ApiModelProperty(value = "备注") + @Excel(name = "备注", width = 50) + private String remark; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEO.java index e08add5f6..816d2d002 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEO.java @@ -256,6 +256,11 @@ public class ProjectCertificationInventoryEO implements Serializable { @ApiModelProperty(value = "认证类型") private String attestationType; + /**备注*/ + @ApiModelProperty(value = "备注") + @Excel(name = "备注", width = 50) + private String remark; + /**一级责任领域**/ @TableField(exist = false) private String firstLevelDutyTerritory; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEOEnPlatform.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEOEnPlatform.java index 96ea4494c..c8a58fed9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEOEnPlatform.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEOEnPlatform.java @@ -221,4 +221,8 @@ public class ProjectCertificationInventoryEOEnPlatform implements Serializable { @TableField(exist = false) private String endTimeStr; + @ApiModelProperty(value = "备注") + @Excel(name = "Remark", width = 50) + private String remark; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEOPlatform.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEOPlatform.java index 2acf6a6a1..0f0a69806 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEOPlatform.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectCertificationInventoryEOPlatform.java @@ -261,4 +261,8 @@ public class ProjectCertificationInventoryEOPlatform implements Serializable { @ApiModelProperty(value = "关联平台件数据") @TableField(exist = false) private List projectCertificationInventoryEOS; + + @ApiModelProperty(value = "备注") + @Excel(name = "备注", width = 50) + private String remark; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java index 6c08fb090..0fa5d5c54 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLibraryBase.java @@ -166,89 +166,105 @@ public class ProjectLibraryBase implements Comparable { //平台件项目库字段-------------------------------------------------------------------------------------------------------------- -// @ApiModelProperty(value = "功率") -// private String power; -// -// @ApiModelProperty(value = "生产商") -// private String producer; -// -// @ApiModelProperty(value = "责任部门") -// private String dutyDepart; -// -// @ApiModelProperty(value = "法规工程师") -// private String regulationOwnerId; -// -// @ApiModelProperty(value = "工程接口人") -// private String engineeringInterfacePerson; -// -// @ApiModelProperty(value = "名牌标签") -// private String brandLabel; -// -// @ApiModelProperty(value = "产品型号") -// private String productModel; -// -// @ApiModelProperty(value = "电芯生产企业") -// private String cellEnterprise; -// -// @ApiModelProperty(value = "总成生产企业") -// private String assemblyEnterprise; -// -// @ApiModelProperty(value = "零件号(国内)") -// private String partNumberCn; -// -// @ApiModelProperty(value = "零件号(国外)") -// private String part_numberEn; -// -// @ApiModelProperty(value = "24位备案码") -// private String filingCode; -// -// @ApiModelProperty(value = "供应商代码(1-3)") -// private String supplierCode; -// -// @ApiModelProperty(value = "产品类型代码(4)") -// private String productTypeCode; -// -// @ApiModelProperty(value = "电池类型代码(5)") -// private String batteryTypeCode; -// -// @ApiModelProperty(value = "规格代码(6-7)") -// private String specificationCode; -// -// @ApiModelProperty(value = "追溯代码(8)") -// private String traceabilityCode; -// -// @ApiModelProperty(value = "生产也月日序列号") -// private String ymdNumber; -// -// @ApiModelProperty(value = "尺寸") -// private String size; -// -// @ApiModelProperty(value = "额定容量") -// private String ratedCapacity; -// -// @ApiModelProperty(value = "标称电压") -// private String nominalVoltage; -// -// @ApiModelProperty(value = "额定质量") -// private String ratedMass; -// -// @ApiModelProperty(value = "包含模块个数") -// private String moduleNumber; -// -// @ApiModelProperty(value = "模块串并联方式") -// private String connectionType; -// -// @ApiModelProperty(value = "所用模块或单体规格代码") -// private String moduleSpecificationCode; -// -// @ApiModelProperty(value = "冷却方式") -// private String coolingMethod; -// -// @ApiModelProperty(value = "备案完成时间") -// private String filingCompletionTime; -// -// @ApiModelProperty(value = "备注") -// private String remark; + @ApiModelProperty(value = "功率") + private String power; + + @ApiModelProperty(value = "生产商") + private String producer; + + @ApiModelProperty(value = "责任部门") + private String dutyDepart; + + @TableField(exist = false) + private String dutyDepartName; + + @ApiModelProperty(value = "法规工程师") + private String regulationOwnerId; + + @TableField(exist = false) + @ApiModelProperty(value = "法规工程师回显") + private String regulationOwnerIdName; + + @ApiModelProperty(value = "工程接口人") + private String engineeringInterfacePerson; + + @TableField(exist = false) + @ApiModelProperty(value = "工程接口人回显") + private String engineeringInterfacePersonName; + + @ApiModelProperty(value = "名牌标签") + private String brandLabel; + + @ApiModelProperty(value = "产品型号") + private String productModel; + + @ApiModelProperty(value = "电芯生产企业") + private String cellEnterprise; + + @ApiModelProperty(value = "总成生产企业") + private String assemblyEnterprise; + + @ApiModelProperty(value = "零件号(国内)") + private String partNumberCn; + + @ApiModelProperty(value = "零件号(国外)") + private String partNumberEn; + + @ApiModelProperty(value = "24位备案码") + private String filingCode; + + @ApiModelProperty(value = "供应商代码(1-3)") + private String supplierCode; + + @ApiModelProperty(value = "产品类型代码(4)") + private String productTypeCode; + + @ApiModelProperty(value = "电池类型代码(5)") + private String batteryTypeCode; + + @ApiModelProperty(value = "规格代码(6-7)") + private String specificationCode; + + @ApiModelProperty(value = "追溯代码(8)") + private String traceabilityCode; + + @ApiModelProperty(value = "生产也月日序列号") + private String ymdNumber; + + @ApiModelProperty(value = "尺寸") + private String size; + + @ApiModelProperty(value = "额定容量") + private String ratedCapacity; + + @ApiModelProperty(value = "标称电压") + private String nominalVoltage; + + @ApiModelProperty(value = "额定质量") + private String ratedMass; + + @ApiModelProperty(value = "包含模块个数") + private String moduleNumber; + + @ApiModelProperty(value = "模块串并联方式") + private String connectionType; + + @ApiModelProperty(value = "所用模块或单体规格代码") + private String moduleSpecificationCode; + + @ApiModelProperty(value = "冷却方式") + private String coolingMethod; + + @ApiModelProperty(value = "备案完成时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private java.util.Date filingCompletionTime; + + @ApiModelProperty(value = "备注") + private String remark; + + @TableField(exist = false) + private List urlList; @Override diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java index 04736c68e..2c0a4ac94 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java @@ -73,7 +73,7 @@ public class PrehomoJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("prehomo流程,定时任务开启 ====================================================="); - +/* //查询出已经启动了prehomo流程的数据。 并且流程没有结束。 QueryWrapper queryProjectTaskInventoryWrapper = new QueryWrapper<>(); queryProjectTaskInventoryWrapper.isNotNull("prehomo_p_id"); @@ -367,5 +367,7 @@ public class PrehomoJob implements Job { } } log.info("prehomo流程,定时任务结束 ====================================================="); + + */ } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/editImpl/ProjectLawsInventoryEOEditServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/editImpl/ProjectLawsInventoryEOEditServiceImpl.java index 3f12952e8..ffc3b1571 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/editImpl/ProjectLawsInventoryEOEditServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/editImpl/ProjectLawsInventoryEOEditServiceImpl.java @@ -14,8 +14,21 @@ import com.jero.modules.dummy.util.ListDiff; import com.jero.modules.feishu.enums.TemplateInfoEnum2; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; -import com.jero.modules.project.entity.*; -import com.jero.modules.project.enums.*; +import com.jero.modules.project.entity.ProjectLawsInventoryEO; +import com.jero.modules.project.entity.ProjectLibraryBase; +import com.jero.modules.project.entity.ProjectLibraryRoleRelEO; +import com.jero.modules.project.entity.ProjectRelatedPersonnel; +import com.jero.modules.project.entity.ProjectUserPermission; +import com.jero.modules.project.enums.ComplianceFlowStatusEnum; +import com.jero.modules.project.enums.InventoryAffirmNodeEnum; +import com.jero.modules.project.enums.JumpLinkEnum; +import com.jero.modules.project.enums.PermissionDescriptionEnum; +import com.jero.modules.project.enums.ProjectInventoryFieldEnum; +import com.jero.modules.project.enums.ProjectMessageEnum; +import com.jero.modules.project.enums.ProjectRoleEnum; +import com.jero.modules.project.enums.ProjectUserLocationEnum; +import com.jero.modules.project.enums.RoleRelModelTypeEnum; +import com.jero.modules.project.enums.TaskStatusEnum; import com.jero.modules.project.service.IProjectLawsInventoryEOService; import com.jero.modules.project.service.IProjectLibraryRoleRelEOService; import com.jero.modules.project.service.IProjectUserPermissionService; @@ -43,14 +56,20 @@ import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.SerializationUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; -import org.apache.xmlbeans.impl.xb.xsdschema.Public; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; /** @@ -1248,6 +1267,243 @@ public class ProjectLawsInventoryEOEditServiceImpl { throw new JeroBootException("该用户没有权限操作该数据!"); } } + public void editByIdPlatform(ProjectLawsInventoryEO projectLawsInventoryEO) { + Date now = new Date(); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// boolean checkResult = checkData(projectLawsInventoryEO.getProjectLibraryId(), currentUser.getId(), projectLawsInventoryEO.getId()); +// if (checkResult) { + QueryWrapper oldPliQueryWrap = new QueryWrapper<>(); + oldPliQueryWrap.lambda().eq(ProjectLawsInventoryEO::getId, projectLawsInventoryEO.getId()); + List oldPliEoList = projectLawsInventoryEOService.list(oldPliQueryWrap); + + this.updateProjectLawsInventorySendMessage(projectLawsInventoryEO); + + // 根据法规清单id,获取该法规清单在待办中心的任务明细。 + List oldPliEoIdList = oldPliEoList.stream().map(ProjectLawsInventoryEO::getId).distinct().collect(Collectors.toList()); + QueryWrapper pidEoQueryWrap = new QueryWrapper<>(); + pidEoQueryWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId, oldPliEoIdList); + List pidEoList = this.processInfoDetailEOService.list(pidEoQueryWrap); + if (CollectionUtils.isNotEmpty(pidEoList)) { + // 处理编辑法规工程师的逻辑 + this.updateRegulationOwner(projectLawsInventoryEO, oldPliEoList, pidEoList); + // 处理编辑责任人的逻辑 + this.updateDutyPerson(projectLawsInventoryEO, oldPliEoList, pidEoList); + } + // 处理修改设计或验证符合性截止日期的逻辑 + this.updateDesignOrVerifyEndTime(projectLawsInventoryEO, oldPliEoList); + + projectLawsInventoryEO.setUpdateTime(now); + ProjectLawsInventoryEO projectLawsInventoryEOCopy = SerializationUtils.clone(projectLawsInventoryEO);//复制 + + //更新log + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String username = sysUser.getUsername(); + + String contentLog = username + "编辑了清单中的“" + projectLawsInventoryEO.getSerialNumber() + "”:
"; + String enContentLog = username + " edited the “" + projectLawsInventoryEO.getSerialNumber() + "” in the list:
"; + + List infoEOList = new ArrayList<>(); + infoEOList.add(projectLawsInventoryEO); + List infoEOListCopy = new ArrayList<>(); + infoEOListCopy.add(projectLawsInventoryEOCopy); + + //查询数据库里原来的数据 + QueryWrapper queryWrapper = new QueryWrapper<>(); + List dataList = projectLawsInventoryEOService.list(queryWrapper.eq("id", projectLawsInventoryEO.getId())); + List dataListCopy = DeepCopyListUtil.depCopy(dataList); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(ProjectLawsInventoryEO::getId, projectLawsInventoryEO.getId()); + setDateNull(projectLawsInventoryEO, updateWrapper); + //保存 + projectLawsInventoryEOService.update(projectLawsInventoryEO, updateWrapper); +// saveOrUpdate(projectLawsInventoryEO); + + //获取编辑中的责任领域 + List 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(",")); + List verifyDutyIdList = new ArrayList<>(); + verifyDutyIdList = Arrays.asList(projectLawsInventoryEO.getVerifyDutyId().split(",")); + + //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); + + List allList = new ArrayList<>(); + List enginnerList = new ArrayList<>(); + 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().filter(all -> { + return StringUtils.isNotBlank(all); + }).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 (StringUtils.isNotEmpty(dutyPerson) && !allList.contains(dutyPerson) && StringUtils.isNotEmpty(roleCode1)) { + 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); + } + } + } + } + } + } + this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList); + + + //翻译-中文 + translateData(infoEOList); + translateData(dataList); + //翻译-英文 + translateDataToEn(infoEOListCopy); + translateDataToEn(dataListCopy); + + //比对不同字段 + Map infoDiff = ListDiff.compareObject(dataList.get(0), projectLawsInventoryEO); + Map infoDiffEn = ListDiff.compareObject(dataListCopy.get(0), projectLawsInventoryEOCopy); + + //设置更新log + setContentLog(infoDiff, contentLog, infoDiffEn, enContentLog, projectLawsInventoryEO.getProjectLibraryId()); + + + //验证用户是否是该法规上级 项目库的studio, 如果是,则同步更新流程 + int roleCode = projectLawsInventoryEOService.checkUserRole(projectLawsInventoryEO.getProjectLibraryId(), currentUser.getId(), ""); + if (StringUtils.equals(String.valueOf(roleCode), ProjectRoleEnum.STUDIO_ENGINEER.getValue())) { + //更新流程信息 + projectLawsInventoryEOService.updateFlowInfo(projectLawsInventoryEO); + } + + //设置权限 先删后加 + List adds = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getRegulationOwnerId(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_REGULATION.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getHomologationEngineerId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getHomologationEngineerId(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_HOMOLOGATION.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getEngineeringInterfacePerson())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getEngineeringInterfacePerson(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_INTERFACE.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getDesignInitiatorId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getDesignInitiatorId(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_INITIATOR.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getDesignDutyId(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_DESIGN_DUTY.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getPrehomoInitiatorId(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_INITIATOR.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getPrehomoDutyId(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_PREHOMO_DUTY.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getVerifyInitiatorId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getVerifyInitiatorId(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_INITIATOR.getValue()); + } + if (ObjectUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())) { + setProjectLawsInventoryPermission(projectLawsInventoryEO.getVerifyDutyId(), projectLawsInventoryEO.getProjectLibraryId(), projectLawsInventoryEO.getId(), now, adds, ProjectUserLocationEnum.PROJECT_LAWS_INVENTORY_VERIFY_DUTY.getValue()); + } + if (ObjectUtils.isNotEmpty(adds)) { + projectUserPermissionService.saveBatch(adds); + } + + +// } +// else { +// throw new JeroBootException("该用户没有权限操作该数据!"); +// } + } /** * 发送消息 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 c9c01689f..2bfe78073 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 @@ -4459,11 +4459,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl 1){ @@ -4817,6 +4817,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl 500){ + String message = ""; + if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){ + message = errorMsg + "备注不能超过500个字符"; + }else{ + message = errorMsg + " The Remark cannot contain more than 200 characters"; + } + msgList.add(message); + } + } + } return msgList; } @@ -5659,6 +5673,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl list = Arrays.asList(title.split(",")); int index = 0; if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ - index = list.indexOf("生产企业名称") + 1; + index = list.indexOf("备注") + 1; }else{ - index = list.indexOf("Name Of Manufacturer") + 1; + index = list.indexOf("Remark") + 1; } //创建临时文件夹 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java index 6be203fab..582a40d6c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java @@ -543,19 +543,19 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl - + + +
+
+ {{$t('remarks')}} +
+ + + +
+
+
@@ -638,6 +655,22 @@ + + +
+
+ {{$t('remarks')}} +
+ + + +
+
+
@@ -770,7 +803,14 @@ message: this.$t('configurationItem') + this.$t('cannotExceed') + 300 + this.$t('Characters'), trigger: 'blur' } - ] + ], + remark:[ + { + max: 500, + message: this.$t('remarks') + this.$t('cannotExceed') + 500 + this.$t('Characters'), + trigger: 'blur' + } + ], }, disabled: false, flowdisabled: false, @@ -1259,6 +1299,11 @@ ::v-deep .ant-form-item-with-help { margin-bottom: 25px; } + .itemModel-text { + width: calc(100% - 130px); + display: inline-block; + margin-top: 2px; + } \ No newline at end of file diff --git a/jero-web/src/views/virtualAuthenticationList/components/editModel.vue b/jero-web/src/views/virtualAuthenticationList/components/editModel.vue index 741455b05..0e5e4a6eb 100644 --- a/jero-web/src/views/virtualAuthenticationList/components/editModel.vue +++ b/jero-web/src/views/virtualAuthenticationList/components/editModel.vue @@ -222,6 +222,22 @@
+ + +
+
+ {{$t('remarks')}} +
+ + + +
+
+
@@ -325,7 +341,14 @@ message: this.$t('Deliverables') + this.$t('cannotEmpty'), trigger: 'change' } - ] + ], + remark:[ + { + max: 500, + message: this.$t('remarks') + this.$t('cannotExceed') + 500 + this.$t('Characters'), + trigger: 'blur' + } + ], } } }, @@ -560,4 +583,10 @@ ::v-deep .ant-form-item-with-help { margin-bottom: 25px; } + + .itemModel-text { + width: calc(100% - 130px); + display: inline-block; + margin-top: 2px; + } \ No newline at end of file diff --git a/jero-web/src/views/virtualAuthenticationList/virtualAuthenticationListDesign/certificationListMaintenance.vue b/jero-web/src/views/virtualAuthenticationList/virtualAuthenticationListDesign/certificationListMaintenance.vue index 2cbaa8960..229b5bca9 100644 --- a/jero-web/src/views/virtualAuthenticationList/virtualAuthenticationListDesign/certificationListMaintenance.vue +++ b/jero-web/src/views/virtualAuthenticationList/virtualAuthenticationListDesign/certificationListMaintenance.vue @@ -429,6 +429,13 @@ ellipsis: true, scopedSlots: { customRender: 'deliverableTemplate' } }, + { + title: this.$t('remarks'), + align: 'left', + dataIndex: 'remark', + width: 330, + ellipsis: true + }, { title: this.$t('operation'), align: 'left',