diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index a02c7e021..d6822f8ff 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -1205,16 +1205,16 @@ MODIFY COLUMN `work_progress_cn` text CHARACTER SET utf8mb4 COLLATE utf8mb4_gene MODIFY COLUMN `work_progress_en` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'NIO工作进展英文' AFTER `work_progress_cn`; ---参数收集清单 添加英文 +--参数收集清单 添加英文 已同步生产环境 UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Control Component' WHERE `id` = '84fec4a260dc646dc570cbf7cb581dab'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Component Value' WHERE `id` = '5d468613746f413a53fa0b485089839b'; UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Validate Component' WHERE `id` = '608274a6a6dfed0e183093d9ea357436'; ---平台件项目库数据标识 +--平台件项目库数据标识 已同步生产环境 ALTER TABLE `laws_weilai`.`project_library_base` ADD COLUMN `platform` varchar(255) NULL COMMENT '平台件项目库数据(platform=YES)' AFTER `brand`; ---平台件合规认证计划 +--平台件合规认证计划 已同步生产环境 CREATE TABLE `laws_weilai`.`platform_task_planning` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', @@ -1229,7 +1229,7 @@ CREATE TABLE `laws_weilai`.`platform_task_planning` ( ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; ---车型项目库法规清单关联平台件表2023-09-19 +--车型项目库法规清单关联平台件表2023-09-19 已同步生产环境 CREATE TABLE `laws_inventory_platform` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', @@ -1242,14 +1242,14 @@ CREATE TABLE `laws_inventory_platform` ( PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; ---车修改字段长度2023-09-28 +--车修改字段长度2023-09-28 已同步生产环境 ALTER TABLE `project_certification_directory` MODIFY COLUMN `directory_name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目录名称' AFTER `project_library_id`, MODIFY COLUMN `lot` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次' AFTER `directory_name`, 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-10-09 +--添加平台件项目库字段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`, @@ -1280,11 +1280,11 @@ ADD COLUMN `cooling_method` varchar(255) NULL COMMENT '冷却方式' AFTER `modu 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 +--平台件合规认证计划添加标识字段2023-10-09 已同步生产环境 ALTER TABLE `platform_task_planning` ADD COLUMN `flag` varchar(255) NULL COMMENT '位置标识(用来区分上下两部分数据,up->上,down->下)' AFTER `project_id` ---平台件合规认证计划初始化数据 2023-10-10 +--平台件合规认证计划初始化数据 2023-10-10 已同步生产环境 INSERT INTO `platform_task_planning`(`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `node_name`, `node_time`, `project_id`, `flag`) VALUES ('08ecf06f4f947836d0e95285fd8afb96', NULL, NULL, NULL, NULL, NULL, 'KO', NULL, NULL, 'up'); INSERT INTO `platform_task_planning`(`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `node_name`, `node_time`, `project_id`, `flag`) VALUES ('09e577fa7afa3a8cb26b9c8f29eaf8d9', NULL, NULL, NULL, NULL, NULL, 'RF', NULL, NULL, 'up'); INSERT INTO `platform_task_planning`(`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `node_name`, `node_time`, `project_id`, `flag`) VALUES ('17323a3d13e747e493c41e2e09bedc92', NULL, NULL, NULL, NULL, NULL, 'ADF', NULL, NULL, 'up'); @@ -1300,4 +1300,71 @@ INSERT INTO `platform_task_planning`(`id`, `create_by`, `create_time`, `update_b INSERT INTO `platform_task_planning`(`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `node_name`, `node_time`, `project_id`, `flag`) VALUES ('e611b793756bf9caeb4a1c09526ceb76', NULL, NULL, NULL, NULL, NULL, 'E-mark(CDF前)', NULL, NULL, 'down'); INSERT INTO `platform_task_planning`(`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `node_name`, `node_time`, `project_id`, `flag`) VALUES ('e76e63a251aa6d64cac96125315805e1', NULL, NULL, NULL, NULL, NULL, 'CAMDS提交(CDF前)', NULL, NULL, 'down'); INSERT INTO `platform_task_planning`(`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `node_name`, `node_time`, `project_id`, `flag`) VALUES ('ee85c1b1964586e512ef0b2b401b16b5', NULL, NULL, NULL, NULL, NULL, '验证检查(ESO)', NULL, NULL, 'down'); + +--平台件合规认证计划初始化数据->合规管理阀点相关字段初始化值修改 2023-10-18 已同步生产环境 +UPDATE `platform_task_planning` SET `create_by` = NULL, `create_time` = NULL, `update_by` = NULL, `update_time` = NULL, `sys_org_code` = NULL, `node_name` = '法规清单', `node_time` = NULL, `project_id` = NULL, `flag` = 'down' WHERE `id` = '85fa6eb0b58d93d4cc76b8fb1d5248ca'; +UPDATE `platform_task_planning` SET `create_by` = NULL, `create_time` = NULL, `update_by` = NULL, `update_time` = NULL, `sys_org_code` = NULL, `node_name` = '责任确认', `node_time` = NULL, `project_id` = NULL, `flag` = 'down' WHERE `id` = '97aaf07d156b6a4278e0ac3627566c8b'; +UPDATE `platform_task_planning` SET `create_by` = NULL, `create_time` = NULL, `update_by` = NULL, `update_time` = NULL, `sys_org_code` = NULL, `node_name` = '设计核查', `node_time` = NULL, `project_id` = NULL, `flag` = 'down' WHERE `id` = 'a533416284ab81c7f6ee95b5e9e06d38'; +UPDATE `platform_task_planning` SET `create_by` = NULL, `create_time` = NULL, `update_by` = NULL, `update_time` = NULL, `sys_org_code` = NULL, `node_name` = '强检报告', `node_time` = NULL, `project_id` = NULL, `flag` = 'down' WHERE `id` = 'cd7d6332a42dd3855f0117ffb188f5b1'; +UPDATE `platform_task_planning` SET `create_by` = NULL, `create_time` = NULL, `update_by` = NULL, `update_time` = NULL, `sys_org_code` = NULL, `node_name` = 'E-mark', `node_time` = NULL, `project_id` = NULL, `flag` = 'down' WHERE `id` = 'e611b793756bf9caeb4a1c09526ceb76'; +UPDATE `platform_task_planning` SET `create_by` = NULL, `create_time` = NULL, `update_by` = NULL, `update_time` = NULL, `sys_org_code` = NULL, `node_name` = 'CAMDS提交', `node_time` = NULL, `project_id` = NULL, `flag` = 'down' WHERE `id` = 'e76e63a251aa6d64cac96125315805e1'; +UPDATE `platform_task_planning` SET `create_by` = NULL, `create_time` = NULL, `update_by` = NULL, `update_time` = NULL, `sys_org_code` = NULL, `node_name` = '验证检查', `node_time` = NULL, `project_id` = NULL, `flag` = 'down' WHERE `id` = 'ee85c1b1964586e512ef0b2b401b16b5'; + +--项目库添加平台件类型字段 2023-10-18 已同步生产环境 +ALTER TABLE `project_library_base` ADD COLUMN `platform_type` varchar(255) NULL COMMENT '平台件类型' AFTER `remark`; + +--ota_manage_receive_nsdp添加数量字段 2023-10-18 已同步生产环境 +ALTER TABLE `ota_manage_receive_nsdp` +ADD COLUMN `extension_item_count` int(10) NULL COMMENT '扩展任务数量' AFTER `created_at`; + +-- 法规月报填写添加保存状态字段 2023-10-20 已同步生产环境 +ALTER TABLE `laws_monthly_report_write` +ADD COLUMN `save_state` varchar(10) NULL COMMENT '保存状态(0->暂存,1->提交)' AFTER `technology_territory_en`; + +-- 问题管理添加问题优先级字段 2023-10-20 已同步生产环境 +ALTER TABLE `problem_management` +ADD COLUMN `problem_priority` varchar(36) NULL COMMENT '问题优先级' AFTER `approval_evidence_link`; + +-- OTA添加主键 2023-10-20 已同步生产环境 +ALTER TABLE `ota_manage_apply` + ADD COLUMN `vdr_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'vdr_id' AFTER `remark`; +ALTER TABLE `ota_manage_receive` + + ADD COLUMN `vdr_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键id' FIRST , +ADD COLUMN `is_del` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否被删除(0:否;1:是)' AFTER `release_date`, +DROP PRIMARY KEY, +ADD PRIMARY KEY (`vdr_id`); + +ALTER TABLE `params_report` + ADD COLUMN `project_version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '相关项目版本' AFTER `target_market`; + +-- 问题管理添加相关项目类型字段 2023-10-24 +ALTER TABLE `problem_management` +ADD COLUMN `project_type` varchar(255) NULL COMMENT '相关项目类型' AFTER `problem_priority`; + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/DictModel.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/DictModel.java index f73530275..4021611f5 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/DictModel.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/vo/DictModel.java @@ -17,12 +17,17 @@ public class DictModel implements Serializable{ public DictModel() { } - public DictModel(String value, String text) { this.value = value; this.text = text; } + public DictModel(String id,String value, String text) { + this.id = id; + this.value = value; + this.text = text; + } + private String id; /** * 字典value */ 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 313ad591e..f0f6d460a 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 @@ -7,6 +7,8 @@ public enum DicCodeEnum { REGION("适用地区","1493782108399820801","region"), DUTY_TERRITORY("责任领域","1513417672023441409","duty_territory"), PROBLEM_TYPE("问题类型","1697066042058821634","wen4_ti2_lei4_xing2"), + PROBLEM_PRIORITY("问题优先级","1716030928484503553","wen4_ti2_you1_xian1_ji2"), + CERTIFICATION_PROGRESS("认证清单-认证进度","1524311122804346881","certification_progress"), ; String name; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java index 858e0e1c2..b4c675812 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java @@ -6,30 +6,32 @@ import org.apache.commons.lang3.StringUtils; * 项目角色枚举类 */ public enum ProjectRoleEnum { - STUDIO_ENGINEER("studio工程师","0","R&H Studio"), - REGULATI_ENGINEER("法规工程师","1","studio"), - HOMOLOGATION_ENGINEER("认证工程师","2","homo"), - REGULATI_AND_HOMOLOGATION_ENGINEER("法规工程师/认证工程师","4","Regulatory Engineer/Certification Engineer"), - MANAGER("领导角色","11","R&H Manager"), - ADMIN("系统管理员","12","admin"), - VIEWER("Viewer","13","Viewer"), - BRAND_ADMINISTRATOR("品牌管理员","14","BrandAdministrator"), + STUDIO_ENGINEER("studio工程师","0","R&H Studio","R&H Studio"), + REGULATI_ENGINEER("法规工程师","1","studio","Regulation"), + HOMOLOGATION_ENGINEER("认证工程师","2","homo","homo"), + REGULATI_AND_HOMOLOGATION_ENGINEER("法规工程师/认证工程师","4","Regulatory Engineer/Certification Engineer","Regulatory Engineer/Certification Engineer"), + MANAGER("领导角色","11","R&H Manager","R&H Manager"), + ADMIN("系统管理员","12","admin","admin"), + VIEWER("Viewer","13","Viewer","Viewer"), + BRAND_ADMINISTRATOR("品牌管理员","14","BrandAdministrator","BrandAdministrator"), //法规清单使用 - INTERFACE_PERSON1("工程接口人","30","Interface person"), - PERSON_LIABLE1("责任人","31","Person liable"), + INTERFACE_PERSON1("工程接口人","30","Interface person","Interface person"), + PERSON_LIABLE1("责任人","31","Person liable","Person liable"), // 项目库-认证清单使用。 - INTERFACE_PERSON("工程接口人","20","Interface person"), - PERSON_LIABLE("责任人","21","Person liable"), + INTERFACE_PERSON("工程接口人","20","Interface person","Interface person"), + PERSON_LIABLE("责任人","21","Person liable","Person liable"), ; String name; String value; String code; + String enName; - private ProjectRoleEnum(String name, String value, String code) { + private ProjectRoleEnum(String name, String value, String code, String enName) { this.name = name; this.value = value; this.code = code; + this.enName = enName; } public static ProjectRoleEnum getByValue(String value) { @@ -77,4 +79,8 @@ public enum ProjectRoleEnum { public int getIntValue() { return Integer.valueOf(value); } + + public String getEnName() { + return enName; + } } 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 45c415dc5..807763af2 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 and sys_dict_item.del_flag = 0") + @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 ORDER BY sys_dict_item.sort_order ASC") List selectItemsAll(); /** diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml index 0b562ba18..1e5617c3c 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml @@ -4,7 +4,7 @@ diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java index 09e1f1a81..7c18c1be2 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java @@ -2,21 +2,24 @@ package com.jero.modules.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.jero.common.constant.CacheConstant; import com.jero.common.constant.CommonConstant; import com.jero.common.constant.enums.CutEnum; -import com.jero.common.system.vo.DictModel; -import com.jero.modules.enums.DictCodeEnum; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.mapper.SysDictItemMapper; import com.jero.modules.system.service.ISysDictItemService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -275,16 +278,11 @@ public class SysDictItemServiceImpl extends ServiceImpl> result = null; - if(CollectionUtils.isNotEmpty(sysDictItemByDictCode)){ - result = sysDictItems.stream().filter(sysDict -> { - boolean flag = false; - if (StringUtils.isNotEmpty(sysDict.getStatNode())) { - flag = true; - } - return flag; - }).collect(Collectors.groupingBy(SysDictItem::getStatNode)); + List statNodeList = sysDictItemByDictCode.stream().map(SysDictItem::getStatNode).distinct().collect(Collectors.toList()); + Map> result = new LinkedHashMap<>(); + for (String node : statNodeList) { + List collect = sysDictItemByDictCode.stream().filter(e -> node.equals(e.getStatNode())).collect(Collectors.toList()); + result.put(node,collect); } return result; } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/DictItemUtil.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/DictItemUtil.java new file mode 100644 index 000000000..f8f599022 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/DictItemUtil.java @@ -0,0 +1,43 @@ +package com.jero.modules.system.util; + +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.system.vo.DictModel; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @description + * @date 2023/10/18 10:59 + * @auth zhn + */ +public class DictItemUtil { + public static String getDictItemText(String cut, String value, List dictModelAll) { + if (StringUtils.isBlank(value)) { + return ""; + } + List dictModelList = new ArrayList<>(); + for (String s : value.split(",")) { + List dictModelListTemp = dictModelAll.stream() + .filter(e -> s.equals(e.getValue())).collect(Collectors.toList()); + dictModelList.addAll(dictModelListTemp); + } + String targetMarket = ""; + if (dictModelList.size() != 0) { + StringBuilder sb = new StringBuilder(); + for (DictModel dictModel : dictModelList) { + if (CutEnum.CN.getValue().equals(cut)) { + sb.append(dictModel.getText() + ","); + } else { + sb.append(dictModel.getTextEn() + ","); + } + } + if (com.jero.modules.system.util.StringUtils.isNotBlank(sb)) { + targetMarket = sb.substring(0, sb.length() - 1); + } + } + return targetMarket; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyInventoryInfoEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyInventoryInfoEOController.java index b0eb5a9f9..8e33cdcc2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyInventoryInfoEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyInventoryInfoEOController.java @@ -1,30 +1,36 @@ package com.jero.modules.authDummy.controller; -import java.util.Arrays; -import java.util.List; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - import com.alibaba.fastjson.JSONObject; -import com.jero.common.api.vo.Result; -import com.jero.common.system.query.QueryGenerator; -import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO; -import com.jero.modules.authDummy.service.IAuthDummyInventoryInfoEOService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.jero.modules.dummy.entity.DummyInventoryInfoEO; -import lombok.extern.slf4j.Slf4j; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO; +import com.jero.modules.authDummy.service.IAuthDummyInventoryInfoEOService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.jero.common.aspect.annotation.AutoLog; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; /** @@ -68,6 +74,9 @@ public class AuthDummyInventoryInfoEOController extends JeroController page = new Page(pageNo, pageSize); IPage pageList = this.authDummyInventoryInfoEOService.page(page, queryWrapper); this.authDummyInventoryInfoEOService.disposeData(pageList.getRecords(),authDummyInventoryInfoEO.getCut()); 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 43f046ec2..c29dff603 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 @@ -1,22 +1,19 @@ package com.jero.modules.authDummy.entity; -import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; -import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; /** @@ -166,4 +163,8 @@ public class AuthDummyInventoryInfoEO implements Serializable { @ApiModelProperty(value = "备注") @Excel(name = "备注", width = 50) private String remark; + + @ApiModelProperty(value = "责任部门") + @TableField(exist = false) + private String firstLevelDutyTerritory; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java index e7584e710..531e4aa80 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java @@ -10,6 +10,7 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService; +import com.jero.modules.cert.collect.service.IParamsCollectManifestHistoryEOService; import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; @@ -43,6 +44,8 @@ import java.util.stream.Collectors; public class ParamsCollectManifestEOController extends JeroController { @Autowired private IParamsCollectManifestEOService paramsCollectManifestEOService; + @Autowired + private IParamsCollectManifestHistoryEOService paramsCollectManifestHistoryEOService; @Autowired private ISysUserService sysUserService; @@ -531,7 +534,12 @@ public class ParamsCollectManifestEOController extends JeroController queryDutyTerritory(@RequestParam(name="id",required=true) String id) { return this.paramsCollectManifestEOService.queryDutyTerritory(id); } + /** + * 查询本清单所有责任领域 + */ + @AutoLog(value = "参数项历史收集清单-查询本清单所有责任领域") + @ApiOperation(value="参数项历史收集清单-查询本清单所有责任领域", notes="参数项历史收集清单-查询本清单所有责任领域") + @GetMapping(value = "/queryDutyTerritoryHistory") + public Result queryDutyTerritoryHistory(@RequestParam(name="id",required=true) String id) { + return this.paramsCollectManifestEOService.queryDutyTerritoryHistory(id); + } + + /** + * 某个项目责任领域下-工程接口人 + * + * @return + */ + @AutoLog(value = "某个项目责任领域下-工程接口人") + @ApiOperation(value="某个项目责任领域下-工程接口人", notes="某个项目责任领域下-工程接口人") + @GetMapping(value = "/getSdtList") + public Result>> getSdtList(String projectId,String projectVersion,String dutyTerritory) { + List> sdtList = paramsCollectManifestEOService.getSdtList(projectId,projectVersion,dutyTerritory); + return Result.OK(sdtList); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestHistoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestHistoryEO.java index c0ebc31a4..492b99ce5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestHistoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsCollectManifestHistoryEO.java @@ -1,5 +1,6 @@ package com.jero.modules.cert.collect.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; @@ -37,4 +38,7 @@ public class ParamsCollectManifestHistoryEO extends ParamsCollectManifestBaseEO @ApiModelProperty(value = "参考列") private String referencesCol; + + @TableField(exist = false) + private String userTypes;//用户类型 } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java index cdcbc1cee..a1013f53f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java @@ -1,11 +1,9 @@ package com.jero.modules.cert.collect.mapper; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.entity.ParamsManifestEO; -import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -41,5 +39,7 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper queryDutyTerritory(@Param("paramsManifestId") String paramsManifestId); + List queryDutyTerritoryHistory(@Param("paramsManifestId") String paramsManifestId); + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml index 04d385b79..d49dcd42e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml @@ -159,5 +159,8 @@ + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestHistoryEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestHistoryEOMapper.xml index 6d09349cd..22692720b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestHistoryEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestHistoryEOMapper.xml @@ -84,7 +84,7 @@ #{item} - and control_type != '11' order by nio_number asc + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java index b45dd037e..9dd1382d5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java @@ -113,6 +113,8 @@ public interface IParamsCollectManifestEOService extends IService> querySdtList(ParamsCollectManifestVO paramsCollectManifestVO); + List> getSdtList(String projectId,String projectVersion,String dutyTerritory); + List> getLoginUserTypes(ParamsCollectManifestVO paramsCollectManifestVO, String cut); Map isCollectFinished(String paramsManifestId); @@ -204,4 +206,5 @@ public interface IParamsCollectManifestEOService extends IService getList(Map params); Result queryDutyTerritory(String id); + Result queryDutyTerritoryHistory(String id); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestHistoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestHistoryEOService.java index b84c3f009..05cb16497 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestHistoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestHistoryEOService.java @@ -3,8 +3,10 @@ package com.jero.modules.cert.collect.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO; +import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -42,4 +44,7 @@ public interface IParamsCollectManifestHistoryEOService extends IService ids); + void exportAll(ParamsCollectManifestVO paramsCollectManifestVO, HttpServletResponse response, HttpServletRequest request); + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigDataEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigDataEOService.java index 1a5ac490f..202ff895c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigDataEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigDataEOService.java @@ -78,4 +78,6 @@ public interface IParamsConfigDataEOService extends IService * @return */ List queryListByConfigIdList(List configIdList); + + void handleData(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigDataHistoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigDataHistoryEOService.java index 13fb9d79c..0bcd2d08e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigDataHistoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsConfigDataHistoryEOService.java @@ -30,5 +30,5 @@ public interface IParamsConfigDataHistoryEOService extends IService queryListByConfigIdList(List configIdList); int deleteByParamsCollectManifestIdList(List paramsCollectManifestIdList); - + void handleData(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index fa85b61e3..c447b23a5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -13,7 +13,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.jero.common.api.vo.Result; -import com.jero.common.constant.enums.*; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.constant.enums.MessageType2Enum; +import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.ModuleEnum; +import com.jero.common.constant.enums.MsgColorEnum; +import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryRuleEnum; @@ -21,15 +26,42 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.oss.CosBootUtil; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; -import com.jero.modules.cert.collect.entity.*; -import com.jero.modules.cert.collect.enums.*; +import com.jero.modules.cert.collect.entity.ParamsCollectExport; +import com.jero.modules.cert.collect.entity.ParamsCollectManifestBaseEO; +import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; +import com.jero.modules.cert.collect.entity.ParamsCollectManifestLogEO; +import com.jero.modules.cert.collect.entity.ParamsConfigDataEO; +import com.jero.modules.cert.collect.entity.ParamsConfigEO; +import com.jero.modules.cert.collect.entity.ParamsManifestEO; +import com.jero.modules.cert.collect.enums.CollectManifestChangeFlagEnum; +import com.jero.modules.cert.collect.enums.CollectManifestRoleIdEnum; +import com.jero.modules.cert.collect.enums.CollectManifestStateEnum; +import com.jero.modules.cert.collect.enums.CollectManifestUserTypeEnum; +import com.jero.modules.cert.collect.enums.ConfigDataTypeEnum; +import com.jero.modules.cert.collect.enums.ConfigLockEnum; +import com.jero.modules.cert.collect.enums.ExportStateEnum; +import com.jero.modules.cert.collect.enums.ManifestStateEnum; import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper; -import com.jero.modules.cert.collect.service.*; +import com.jero.modules.cert.collect.service.IParamsCollectExportService; +import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService; +import com.jero.modules.cert.collect.service.IParamsCollectManifestLogEOService; +import com.jero.modules.cert.collect.service.IParamsCollectManifestUserTypeLogEOService; +import com.jero.modules.cert.collect.service.IParamsConfigDataEOService; +import com.jero.modules.cert.collect.service.IParamsConfigEOService; +import com.jero.modules.cert.collect.service.IParamsManifestEOService; import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO; import com.jero.modules.cert.collect.vo.ParamsConfigDataVO; import com.jero.modules.cert.collect.vo.ParamsManifestVO; -import com.jero.modules.cert.report.entity.*; -import com.jero.modules.cert.report.service.*; +import com.jero.modules.cert.report.entity.ParamsReportConfigDataEO; +import com.jero.modules.cert.report.entity.ParamsReportConfigEO; +import com.jero.modules.cert.report.entity.ParamsReportDetailEO; +import com.jero.modules.cert.report.entity.ParamsReportEO; +import com.jero.modules.cert.report.entity.ReportCertCategoryParamsInfoEO; +import com.jero.modules.cert.report.service.IParamsReportConfigDataEOService; +import com.jero.modules.cert.report.service.IParamsReportConfigEOService; +import com.jero.modules.cert.report.service.IParamsReportDetailEOService; +import com.jero.modules.cert.report.service.IParamsReportEOService; +import com.jero.modules.cert.report.service.IReportCertCategoryParamsInfoEOService; import com.jero.modules.cert.template.entity.CertCategoryParamsInfoPublishEO; import com.jero.modules.cert.template.entity.ParamsInfoPublishEO; import com.jero.modules.cert.template.enums.ControlTypeEnum; @@ -61,22 +93,34 @@ import com.jero.modules.split.common.ReadExcel; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUserRole; +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.ISysUserRoleService; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import org.apache.commons.collections4.CollectionUtils; -import com.jero.modules.system.service.*; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.util.HSSFColor; -import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.util.IOUtils; -import org.apache.poi.xssf.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFFont; +import org.apache.poi.xssf.usermodel.XSSFRichTextString; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.shiro.SecurityUtils; import org.aspectj.util.FileUtil; import org.springframework.beans.BeanUtils; @@ -92,15 +136,33 @@ import org.yaml.snakeyaml.util.UriEncoder; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.*; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; -import java.text.Collator; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Objects; +import java.util.UUID; import java.util.stream.Collectors; import static com.jero.modules.split.util.ExcelUtil.checkObjAllFieldsIsNull; @@ -701,8 +763,19 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl"); + int index = 0; for (String col : referencesColArr) { List referencesColVOList = getReferencesColList(controlType, col, collectManifestEO, userTypes); // 重新组合配置数据 - String key = UUID.randomUUID().toString().replaceAll("-",""); + String key = index+"+"+UUID.randomUUID().toString().replaceAll("-",""); referencesColConfigDataVOMap.put(key,referencesColVOList); + index++; } referencesColMap.put("controlType", controlType); @@ -810,7 +885,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl referencesColVOList = getReferencesColList(controlType, " # # #", collectManifestEO, userTypes); // 重新组合配置数据 referencesColMap.put("controlType", controlType); - String key = UUID.randomUUID().toString().replaceAll("-",""); + String key = "0+"+UUID.randomUUID().toString().replaceAll("-",""); referencesColConfigDataVOMap.put(key,referencesColVOList); referencesColMap.put("paramsConfigData", referencesColConfigDataVOMap); manifestMap.put("referencesCol", referencesColMap); @@ -836,7 +911,11 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsConfigDataVOList = this.getConfigDataVOList(controlType, paramsConfigEO, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据 - paramsConfigDataVO.put(paramsConfigDataEO.getOrderNum() + "+" + paramsConfigDataEO.getId(), paramsConfigDataVOList); + String num = "0"; + if(ObjectUtil.isNotEmpty(paramsConfigDataEO.getOrderNum())){ + num = String.valueOf(paramsConfigDataEO.getOrderNum()); + } + paramsConfigDataVO.put(num + "+" + paramsConfigDataEO.getId(), paramsConfigDataVOList); } }else{ ParamsConfigDataEO paramsConfigDataEO = this.getConfigDataEOByConfigIdAndCollectManifestId(paramsConfigId, paramsCollectManifestId, paramsConfigDataEOList); // 参数配置数据 @@ -1519,7 +1598,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> getSdtList(String projectId,String projectVersion,String dutyTerritory) { + // 根据主项目ID 查询 相关项目版本的项目ID + String projectVersionId = projectLibraryBaseService.getIdByVersionAndParentId(projectVersion, projectId); + + List> sdtList = new ArrayList<>(); + ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(projectVersionId, dutyTerritory); + if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) { + String sdtIds = projectRelatedPersonnel.getEngineeringInterfacePerson(); + if (StringUtils.isNotBlank(sdtIds)) { + String[] sdtIdStr = sdtIds.split(","); + for (int i = 0; i < sdtIdStr.length; i++) { + SysUser sysUser = sysUserService.getById(sdtIdStr[i]); + if (ObjectUtil.isNotEmpty(sysUser)) { + Map userMap = new HashMap<>(); + userMap.put("userName", sysUser.getUsername()); + userMap.put("id", sysUser.getId()); + sdtList.add(userMap); + } + } + } + } + return sdtList; + } @Override public List> getLoginUserTypes(ParamsCollectManifestVO paramsCollectManifestVO, String cut) { @@ -3521,6 +3626,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl list = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO); - // 过滤出 状态为:待发起收集,且工程接口人处为空的参数项 - list = list.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())).collect(Collectors.toList()); + //带入逻辑修改为只带入勾选的条目 + if(StringUtils.isNotBlank(paramsCollectManifestVO.getIds())){ + list = list.stream().filter(e->paramsCollectManifestVO.getIds().contains(e.getId())).collect(Collectors.toList()); + } + // 过滤出 状态为:待发起收集或变更,且工程接口人处为空的参数项 + list = list.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState()) + || CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).collect(Collectors.toList()); +// list = list.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())).collect(Collectors.toList()); + + //以下为新需求 2023-10-25---------------- + //变更状态下允许带入接口人 + //带入逻辑修改为只带入勾选的条目, + //原有B或空,相关人A=A,相关人BC=B,相关人AC=空 List updateCollectManifestEOList = new ArrayList<>(); if (CollectionUtil.isNotEmpty(list)) { list.forEach(collectManifestEO -> { - + String sdt = collectManifestEO.getSdt(); // 根据负责领域处理工程接口人(零个,一个,多个): 领域中仅有一个人时,添加该字段 ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsManifestEO.getProjectVersionId(), collectManifestEO.getDutyTerritory()); if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) { String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson(); - if (org.apache.commons.lang.StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时,添加该字段 + if (StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时,添加该字段 SysUser sysUser = sysUserService.getById(sdtId); if (ObjectUtil.isNotEmpty(sysUser)) { ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO(); @@ -3593,6 +3713,20 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl sysUserList = sysUserService.listByIds(Arrays.asList(sdtId.split(","))); + List userNameList = sysUserList.stream().map(SysUser::getUsername).collect(Collectors.toList()); + + if (StringUtils.isNotBlank(sdt) + && ObjectUtils.isNotEmpty(userNameList) + && sdtId.contains(",") + && !userNameList.contains(sdt)) { + + ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO(); + updateCollectManifestEO.setId(collectManifestEO.getId()); + updateCollectManifestEO.setSdt(""); + + updateCollectManifestEOList.add(updateCollectManifestEO); + } } }); @@ -3600,10 +3734,50 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl list = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO); +// // 过滤出 状态为:待发起收集,且工程接口人处为空的参数项 +// list = list.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())).collect(Collectors.toList()); +// +// List updateCollectManifestEOList = new ArrayList<>(); +// if (CollectionUtil.isNotEmpty(list)) { +// list.forEach(collectManifestEO -> { +// +// // 根据负责领域处理工程接口人(零个,一个,多个): 领域中仅有一个人时,添加该字段 +// ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsManifestEO.getProjectVersionId(), collectManifestEO.getDutyTerritory()); +// if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) { +// String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson(); +// if (org.apache.commons.lang.StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时,添加该字段 +// SysUser sysUser = sysUserService.getById(sdtId); +// if (ObjectUtil.isNotEmpty(sysUser)) { +// ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO(); +// updateCollectManifestEO.setId(collectManifestEO.getId()); +// updateCollectManifestEO.setSdt(sysUser.getUsername()); +// +// updateCollectManifestEOList.add(updateCollectManifestEO); +// } +// } +// } +// }); +// +// } +// +// return updateBatchById(updateCollectManifestEOList); +// } @Override public void exportAll(ParamsCollectManifestVO paramsCollectManifestVO, HttpServletResponse response, HttpServletRequest request) { - OutputStream os = null; +// OutputStream os = null; OutputStream excelOS = null; XSSFWorkbook workbook = new XSSFWorkbook(); String fileOriName = "参数项清单导出信息"; @@ -3717,7 +3891,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl queryDutyTerritoryHistory(String paramsManifestId) { + List dtList = paramsCollectManifestEOMapper.queryDutyTerritoryHistory(paramsManifestId); + List dtSdiList = sysDictItemService.selectItemsByDictCode("duty_territory"); + Map dictItemsMap = dtSdiList.stream().collect(Collectors.toMap(SysDictItem::getItemValue, SysDictItem::getEnName)); + JSONArray resList = new JSONArray(); + if(ObjectUtils.isNotEmpty(dtList)){ + for (String dtId : dtList) { + if(StringUtils.isNotBlank(dtId)){ + JSONObject dt = new JSONObject(); + dt.put("key",dtId); + dt.put("value",dictItemsMap.get(dtId)); + resList.add(dt); + } + } + } + return Result.OK(resList); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestHistoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestHistoryEOServiceImpl.java index 804fdabdf..d03068e6a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestHistoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestHistoryEOServiceImpl.java @@ -2,38 +2,94 @@ package com.jero.modules.cert.collect.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.ZipUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.jero.common.constant.enums.CutEnum; +import com.jero.common.constant.enums.ModuleEnum; import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.oss.CosBootUtil; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; -import com.jero.modules.cert.collect.entity.*; +import com.jero.modules.cert.collect.entity.ParamsCollectExport; +import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; +import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO; +import com.jero.modules.cert.collect.entity.ParamsConfigDataHistoryEO; +import com.jero.modules.cert.collect.entity.ParamsConfigEO; +import com.jero.modules.cert.collect.entity.ParamsConfigHistoryEO; import com.jero.modules.cert.collect.enums.CollectManifestStateEnum; +import com.jero.modules.cert.collect.enums.CollectManifestUserTypeEnum; import com.jero.modules.cert.collect.enums.ConfigDataTypeEnum; +import com.jero.modules.cert.collect.enums.ExportStateEnum; import com.jero.modules.cert.collect.mapper.ParamsCollectManifestHistoryEOMapper; +import com.jero.modules.cert.collect.service.IParamsCollectExportService; import com.jero.modules.cert.collect.service.IParamsCollectManifestHistoryEOService; import com.jero.modules.cert.collect.service.IParamsConfigDataHistoryEOService; import com.jero.modules.cert.collect.service.IParamsConfigHistoryEOService; +import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO; import com.jero.modules.cert.collect.vo.ParamsConfigDataVO; +import com.jero.modules.cert.template.entity.CertCategoryParamsInfoPublishEO; import com.jero.modules.cert.template.enums.ControlTypeEnum; +import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOService; import com.jero.modules.ocr.util.LineHumpUtil; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; +import com.jero.modules.split.common.ReadExcel; import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.service.IProjectUserDutyTerritoryService; import com.jero.modules.system.service.ISysDictItemService; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.util.HSSFColor; +import org.apache.poi.util.IOUtils; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFFont; +import org.apache.poi.xssf.usermodel.XSSFRichTextString; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.apache.shiro.SecurityUtils; +import org.aspectj.util.FileUtil; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.mock.web.MockMultipartFile; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.lang.reflect.Field; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; import java.util.stream.Collectors; /** @@ -62,6 +118,14 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl paramsConfigDataEOList) { @@ -88,6 +152,25 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl(Arrays.asList("2","4","5","6","7","8"))); + } else if (CollectManifestUserTypeEnum.DRE.getValue().equals(userTypes)) { + queryWrapper.lambda().eq(ParamsCollectManifestHistoryEO::getDre,loginUser.getUsername()); + queryWrapper.lambda().in(ParamsCollectManifestHistoryEO::getState,new ArrayList(Arrays.asList("4","6","7","8"))); + } else if (CollectManifestUserTypeEnum.GUEST.getValue().equals(userTypes)) { + return page; + } else if (CollectManifestUserTypeEnum.VIEWER.getValue().equals(userTypes)) { + List dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(loginUser.getId()); + queryWrapper.lambda().and(q->{ + q.eq(ParamsCollectManifestHistoryEO::getSdt,loginUser.getUsername()); + q.or().eq(ParamsCollectManifestHistoryEO::getDre,loginUser.getUsername()); + q.or().in(ParamsCollectManifestHistoryEO::getDutyTerritory,dutyTerritoryList); + }); + } + IPage pageInfo = page(page, queryWrapper); // 查询固定列 // IPage pageInfo = paramsCollectManifestHistoryEOMapper.pageInfo(page, paramsCollectManifestEO); // 查询固定列 @@ -177,7 +260,11 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl paramsConfigDataVOList = this.getConfigDataVOList(controlType, paramsConfigEO, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据 - paramsConfigDataVO.put(paramsConfigDataEO.getOrderNum()+"+"+paramsConfigDataEO.getId(), paramsConfigDataVOList); + String num = "0"; + if(ObjectUtil.isNotEmpty(paramsConfigDataEO.getOrderNum())){ + num = String.valueOf(paramsConfigDataEO.getOrderNum()); + } + paramsConfigDataVO.put(num+"+"+paramsConfigDataEO.getId(), paramsConfigDataVOList); } }else{ ParamsConfigDataHistoryEO paramsConfigDataEO = this.getConfigDataEOByConfigIdAndCollectManifestId(paramsConfigId, paramsCollectManifestId, paramsConfigDataEOList); // 参数配置数据 @@ -602,4 +689,531 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl fieldList = Arrays.asList(field.split(",")); // list形式 + + // 查询导出数据 + List> allParamsInfoList = queryForExportAll(paramsCollectManifestVO); // id记得去掉 + + // 开始处理工作表 + List allRelevFileList = new ArrayList<>(); + + // 在excel表中添加表头 + XSSFRow row = sheetItems.createRow(0); + for (int i = 0; i < headers.length; i++) { + XSSFCell cell = row.createCell(i); + XSSFRichTextString text = new XSSFRichTextString(headers[i]); + cell.setCellValue(text); + cell.setCellStyle(cellStyle1); + sheetItems.setColumnWidth(i, 20 * 256); // 设置单元格宽度 + } + + Map fileNowPathMap = new HashMap<>(); + //放文字内容 + int allRow = 0; + for (int rowNum = 0; rowNum < allParamsInfoList.size(); rowNum++) { + Map exportDto = allParamsInfoList.get(rowNum); + + // 处理文件 + List fileList = (List) exportDto.get("fileList"); + if (CollectionUtil.isNotEmpty(fileList)) { + allRelevFileList.addAll(fileList); + fileList.forEach(file -> { + fileNowPathMap.put(file.getId(), fileNowPath + File.separator + exportDto.get("nio_number")); + }); + + } + + allRow++; + XSSFRow row1 = sheetItems.createRow(allRow); + for (int cellNum = 0; cellNum < fieldList.size(); cellNum++) { + if (ObjectUtils.isNotEmpty(exportDto.get(fieldList.get(cellNum)))) { + row1.createCell(cellNum).setCellValue(exportDto.get(fieldList.get(cellNum)).toString()); + row1.getCell(cellNum).setCellStyle(cellStyle); + + } + } + + } + + //下载关联文件内容 + if (allRelevFileList != null && !allRelevFileList.isEmpty()) { + allRelevFileList = allRelevFileList.stream().distinct().collect(Collectors.toList()); + downLoadFileList(allRelevFileList, fileNowPathMap); + } + + String repFileName = fileName.replaceAll("/", "_"); + excelOS = new FileOutputStream(fileNowPath + File.separator + repFileName); + response.setHeader("Content-Disposition", + "attachment; filename=\"" + ReadExcel.encodeFileName(fileOriName + ".zip", request) + "\""); + response.setContentType("application/force-download"); + response.flushBuffer(); + os = response.getOutputStream(); + workbook.write(excelOS); + excelOS.flush(); + excelOS.close(); + ZipUtil.zip(fileNowPath, fileNowPath + ".zip"); +// FileInputStream fis = new FileInputStream(fileNowPath + ".zip"); +// int len = 0; +// while ((len = fis.read()) != -1) { +// os.write(len); +// } + + // 将导出文件上传到cos上 + String uploadFileName = fileOriName + ".zip"; + InputStream uploadFileio = new FileInputStream(new File(fileNowPath+".zip")); + MultipartFile mFile = new MockMultipartFile(uploadFileName, uploadFileName, "text/plain", uploadFileio); // 用于上传 + OSSFile ossFile = ossFileService.uploadLocalOfCos(mFile, "/manifest", "", CutEnum.CN.getValue()); // 上传导出的压缩包 +// +// // 系统向用户发消息 +// LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录人 +// String msgTitle = "The file " + paramsCollectManifestVO.getExportName() + " that you exported has been generated."; +// String content = "The file " + paramsCollectManifestVO.getExportName() + " that you exported has been generated, please click download."; +// +// String href = "download."; +// String contentInfo = "The file " + paramsCollectManifestVO.getExportName() + " that you exported has been generated, please click " + href; +// +// SysAnnouncement sysAnnouncement = new SysAnnouncement(); +// sysAnnouncement.setDelFlag("0"); +// sysAnnouncement.setSendStatus("0"); +// sysAnnouncement.setSendTime(new Date()); +// sysAnnouncement.setMsgCategory(MessageTypeEnum.PUSH.getValue()); //消息类型:转发推送 +// sysAnnouncement.setInitiator(MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); // 发起人:系统 +// sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户 +// sysAnnouncement.setTitile(msgTitle); +// sysAnnouncement.setMsgContent(content); +// sysAnnouncement.setMsgContentInfo(contentInfo); +// sysAnnouncement.setUserIds(currentUser.getId()); // 发送给当前导出人 +// sysAnnouncementService.saveAnnouncement(sysAnnouncement); +// +// JSONObject obj = new JSONObject(); +// obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC); +// obj.put(WebsocketConst.MSG_ID, currentUser.getId()); +// obj.put(WebsocketConst.MSG_TXT, contentInfo); +// webSocket.sendMessage(obj.toJSONString()); +// +// uploadFileio.close(); + os.flush(); + os.close(); // 后开先关 +// fis.close(); // 先开后关 + pce.setState(ExportStateEnum.SUCCESSFULLY.getValue()); + pce.setFileId(ossFile.getId()); + paramsCollectExportService.updateById(pce); + } catch (Exception e) { + pce.setState(ExportStateEnum.FAILURE.getValue()); + paramsCollectExportService.updateById(pce); + if (e instanceof JeroBootException) { + throw new JeroBootException(e.getMessage()); + } else { + log.error(e.getMessage(), e); + if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) { + throw new JeroBootException("Failed to download file, please try again"); + } else { + throw new JeroBootException("下载文件失败,请重试"); + } + } + } finally { + IOUtils.closeQuietly(os); + IOUtils.closeQuietly(excelOS); + File tempZipFile = new File(uploadpath + "/tempZip"); + FileUtil.deleteContents(tempZipFile); + } + } + + + private String[] getWorkbookTitleForExport(ParamsCollectManifestVO paramsCollectManifestVO) { + String cut = paramsCollectManifestVO.getCut(); + String paramsManifestId = paramsCollectManifestVO.getParamsManifestId(); + + List fieldList = onlCgformFieldService.getFieldList(ModuleEnum.PARAMS_COLLECT_MANIFEST.getValue()); + + List dbFieldNameList = new LinkedList<>(); + List dbFieldList = new LinkedList<>(); + + if (fieldList.size() != 0) { + //过滤列表字段(is_show_list-->列表是否显示0否 1是) + fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))).collect(Collectors.toList()); + } + + // 固定列 + int indexOfDescription = 1; // 参数名称的位置 + for (int i = 0; i < fieldList.size(); i++) { + OnlCgformField onlCgformField = fieldList.get(i); + String dbFieldName = onlCgformField.getDbFieldName(); + if (!"deadline".equals(dbFieldName) && !"cert_category".equals(dbFieldName)) { + dbFieldList.add(dbFieldName); + + if (CutEnum.CN.getValue().equals(cut)) { + dbFieldNameList.add(onlCgformField.getDbFieldTxt()); // 字段中文名 + } else { + dbFieldNameList.add(onlCgformField.getDbFieldEnName()); // 字段英文名 + } + if ("params_name".equals(dbFieldName)) { + indexOfDescription = i; + } + } + } + + // 认证类别列 + List dbFieldNameListCC = new LinkedList<>(); + List dbFieldListCC = new LinkedList<>(); + // 查询所有认证类别 + List sysDictItemList = sysDictItemService.selectItemsByDictCode("cert_category"); + if (CutEnum.EN.getValue().equals(cut)) { + sysDictItemList.forEach(sysDictItem -> { + dbFieldListCC.add(sysDictItem.getItemValue()); + dbFieldNameListCC.add(sysDictItem.getEnName() + " Number"); + }); + + } else { + sysDictItemList.forEach(sysDictItem -> { + dbFieldListCC.add(sysDictItem.getItemValue()); + dbFieldNameListCC.add(sysDictItem.getItemText() + "编号"); + }); + } + + // 配置列 + List dbFieldNameListConfig = new LinkedList<>(); + List dbFieldListConfig = new LinkedList<>(); + List paramsConfigEOList = paramsConfigHistoryEOService.queryList(paramsManifestId); + for (ParamsConfigHistoryEO paramsConfigEO : paramsConfigEOList) { + dbFieldListConfig.add(paramsConfigEO.getId()); + dbFieldNameListConfig.add(paramsConfigEO.getConfigName()); + } + + // 插入认证类别列 + dbFieldList.addAll(indexOfDescription, dbFieldListCC); + dbFieldNameList.addAll(indexOfDescription, dbFieldNameListCC); + + // 插入配置列 + dbFieldList.addAll(dbFieldListConfig); + dbFieldNameList.addAll(dbFieldNameListConfig); + + String[] title = new String[2]; + String dbFieldStr = StringUtils.join(dbFieldList, ","); + String dbFieldNameStr = StringUtils.join(dbFieldNameList, ","); + + title[0] = dbFieldStr; + title[1] = dbFieldNameStr; + return title; + } + + private List> queryForExportAll(ParamsCollectManifestVO paramsCollectManifestVO) { + String paramsManifestId = paramsCollectManifestVO.getParamsManifestId(); + String paramsTemplateId = paramsCollectManifestVO.getParamsTemplateId(); + Integer paramsTemplatePublishVersion = paramsCollectManifestVO.getParamsTemplatePublishVersion(); + String cut = paramsCollectManifestVO.getCut(); + + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + ParamsCollectManifestEO queryEO = new ParamsCollectManifestEO(); + queryEO.setParamsManifestId(paramsManifestId); + String userTypes = paramsCollectManifestVO.getUserTypes(); + if (userTypes != null && CollectManifestUserTypeEnum.SDT.getValue().equals(userTypes)) { + queryEO.setUserTypes(CollectManifestUserTypeEnum.SDT.getValue()); + queryEO.setSdt(loginUser.getUsername()); + } + + List> dataList = paramsCollectManifestHistoryEOMapper.listInfoForExport(queryEO, null); // 查询导出数据 + if (dataList == null || dataList.isEmpty()) { + // 没有查到数据,进行提示 + if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) { + throw new JeroBootException("No data, unable to export"); + } else { + throw new JeroBootException("无数据,无法导出"); + } + } + + List paramsConfigEOList = paramsConfigHistoryEOService.queryList(paramsManifestId); // 查询所有配置列 + + List paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); + List paramsConfigDataEOList = paramsConfigDataHistoryEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据 + + List> exportDataList = new ArrayList<>(); + // 配置列多行数据处理 + for (Map data : dataList) { + String controlType = (String)data.get("control_type"); + if("0".equals(paramsCollectManifestVO.getExportOption()) && "11".equals(controlType)){ + //不要标题 + continue; + } + String id = (String) data.get("id"); + + Map> paramsConfigDataMap = paramsConfigDataEOList.stream().filter(configDataEO -> { + boolean flag = false; + if (StringUtils.equals(configDataEO.getParamsCollectManifestId(), id)) { + flag = true; + } + return flag; + }).collect(Collectors.groupingBy(configDataEO -> configDataEO.getParamsConfigId())); + + List> paramsConfigDataCountList = new ArrayList<>(); + + for (Map.Entry> map : paramsConfigDataMap.entrySet()) { + Map paramsConfigDataCountMap = new HashMap<>(); + paramsConfigDataCountMap.put("key", map.getKey()); + paramsConfigDataCountMap.put("paramsConfigDataCount", map.getValue().size()); + paramsConfigDataCountMap.put("value", map.getValue()); + paramsConfigDataCountList.add(paramsConfigDataCountMap); + } + + // 排序 配置数据总数倒序排序 + Collections.sort(paramsConfigDataCountList, new Comparator>() { + @Override + public int compare(Map o1, Map o2) { + return o2.get("paramsConfigDataCount").toString().compareTo(o1.get("paramsConfigDataCount").toString()); + } + }); + + // 获取出最多行的配置列。 + if (!paramsConfigDataCountList.isEmpty()) { + Map paramsConfigDataMaxCountMap = paramsConfigDataCountList.get(0); + String key = (String) paramsConfigDataMaxCountMap.get("key"); + List paramsConfigDataEOs = paramsConfigDataMap.get(key); + for (ParamsConfigDataHistoryEO paramsConfigDataEO : paramsConfigDataEOs) { + Map dataTemp = new HashMap<>(); + data.entrySet().forEach(o -> dataTemp.put(o.getKey(), o.getValue())); + exportDataList.add(dataTemp); + } + } else { + exportDataList.add(data); + } + } + + List nioNumberList = dataList.stream().map(m -> (String) m.get("nio_number")).collect(Collectors.toList()); + List certCategoryParamsInfoPublishEOList = certCategoryParamsInfoPublishEOService.queryListByVersionAndNio(paramsTemplateId, paramsTemplatePublishVersion, nioNumberList); //查询所有认证类别参数项 + + // 查询责任领域数据字典 + List sysDictItemList = sysDictItemService.selectItemsByDictCode("duty_territory"); + Map dutyTerritoryMap = new HashMap<>(); + if (CutEnum.EN.getValue().equals(cut)) { + dutyTerritoryMap = sysDictItemList.stream().collect(Collectors.toMap(c -> c.getItemValue(), c -> c.getEnName())); + } else { + dutyTerritoryMap = sysDictItemList.stream().collect(Collectors.toMap(c -> c.getItemValue(), c -> c.getItemText())); + } + // 状态 + Map stateMap = CollectManifestStateEnum.toMap(cut); + + // 插入配置列和认证类别列数据 + for (Map record1 : exportDataList) { + + String paramsCollectManifestId = (String) record1.get("id"); + String nioNumber = (String) record1.get("nio_number"); + String dutyTerritory = (String) record1.get("duty_territory"); + String state = (String) record1.get("state"); + + String control_type = record1.get("control_type").toString(); + //references_col -> #a# # + if (!Objects.isNull(record1.get("references_col"))) { + String references_col = record1.get("references_col").toString(); + if (StringUtils.isNotEmpty(references_col)) { + String[] references_colArr = references_col.split("#"); + if (StringUtils.equals(control_type, ControlTypeEnum.FILE.getValue())) { + String fileId = references_colArr[2]; + List fileInfos = this.ossFileService.getFileInfos(fileId); + String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + references_col = "#" + references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; + } else if (StringUtils.equals(control_type, ControlTypeEnum.TEXT_FILE.getValue()) + || StringUtils.equals(control_type, ControlTypeEnum.PULL_SINGLE_FILE.getValue()) + || StringUtils.equals(control_type, ControlTypeEnum.PULL_MORE_FILE.getValue())) { + String fileId = references_colArr[2]; + List fileInfos = this.ossFileService.getFileInfos(fileId); + String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + references_col = "#" + references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; + } else if (StringUtils.equals(control_type, ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue())) { + String fileId = references_colArr[2]; + List fileInfos = this.ossFileService.getFileInfos(fileId); + String fileName = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + references_col = "#" + references_colArr[0] + "#" + references_colArr[1] + "#" + fileName; + } + + StringBuilder references_colSb = new StringBuilder(); + for (String col : references_col.split("#")) { + if (StringUtils.isNotEmpty(col) && !StringUtils.equals(col, " ")) { + references_colSb.append(col).append("#"); + } + } + + if (StringUtils.isNotEmpty(references_colSb)) { + references_col = references_colSb.substring(0, references_colSb.length() - 1); + } else { + references_col = references_colSb.toString(); + } + + record1.put("references_col", references_col); + } + } + + // 处理负责领域 + record1.put("duty_territory", dutyTerritoryMap.get(dutyTerritory)); + + // 处理状态 + record1.put("state", stateMap.get(state)); + + // 认证类别列 + List certCategoryParamsInfoPublishEOS = certCategoryParamsInfoPublishEOList.stream().filter(e -> nioNumber.equals(e.getNioNumber())).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(certCategoryParamsInfoPublishEOS)) { + certCategoryParamsInfoPublishEOS.forEach(certCategoryParamsInfoPublishEO -> { + record1.put(certCategoryParamsInfoPublishEO.getCertCategory(), certCategoryParamsInfoPublishEO.getParamsNumber()); + }); + } + + // 配置列 + if (CollectionUtil.isNotEmpty(paramsConfigEOList)) { + List fileList = new ArrayList<>(); + + paramsConfigEOList.forEach(paramsConfigEO -> { // 参数配置 + + String paramsConfigId = paramsConfigEO.getId(); + List paramsConfigDataEOS = paramsConfigDataEOList.stream().filter(e -> { + boolean flag = false; + if(StringUtils.equals(paramsConfigId,e.getParamsConfigId()) && StringUtils.equals(paramsCollectManifestId,e.getParamsCollectManifestId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); // 参数配置数据 + StringBuilder configDataBuilder = new StringBuilder(); // 重新组合配置数据 + if (CollectionUtil.isNotEmpty(paramsConfigDataEOS)) { + ParamsConfigDataHistoryEO paramsConfigDataEO = paramsConfigDataEOS.get(0); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()).append("#"); + } + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData()).append("#"); + } + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()).append("#"); + + fileList.addAll(ossFileList); + } + } + Iterator iterator = paramsConfigDataEOList.iterator(); + while (iterator.hasNext()) { + ParamsConfigDataHistoryEO element = iterator.next(); + if (element.getId().equals(paramsConfigDataEO.getId())) { + iterator.remove(); + break; + } + } + } + + String configData = configDataBuilder.toString(); + if (configData.contains("#")) { + configData = configData.substring(0, configData.lastIndexOf("#")); + } + + record1.put(paramsConfigEO.getId(), configData); + }); + + record1.put("fileList", fileList); + } + } + return exportDataList; + } + + + private void downLoadFileList(List fileTemplateList, Map fileNowPathMap) { + for (OSSFile fileExportDto : fileTemplateList) { + String fileNowPath = fileNowPathMap.get(fileExportDto.getId()); + File nowFile = new File(fileNowPath); + if (nowFile.exists()) { + nowFile.delete(); + } + nowFile.mkdirs(); + + String oldPath = fileExportDto.getUrl(); + String newPath = fileNowPath + File.separator + fileExportDto.getFileName(); + if (CosBootUtil.doesObjectExist(oldPath)) { + try (InputStream in = CosBootUtil.download(oldPath);) { + copyFile(in, newPath); + } catch (IOException e) { + e.printStackTrace(); + log.error(e.getMessage(), e); + } + } + } + } + + private void copyFile(InputStream in, String destPath) throws IOException { + BufferedInputStream bis = new BufferedInputStream(in); + BufferedOutputStream bos = + new BufferedOutputStream(Files.newOutputStream(Paths.get(destPath), + StandardOpenOption.CREATE, + StandardOpenOption.TRUNCATE_EXISTING, + StandardOpenOption.WRITE)); + // 打开输入流 +// FileInputStream fis = new FileInputStream(srcPath); + // 打开输出流 +// FileOutputStream fos = new FileOutputStream(destPath); + // 读取和写入信息 + byte[] bytes = new byte[1024 * 1024]; + int len; + while ((len = bis.read(bytes)) > 0) { + bos.write(bytes, 0, len); + } + // 关闭流 先开后关 后开先关 + bos.close(); // 后开先关 + bis.close(); // 先开后关 + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigDataEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigDataEOServiceImpl.java index 2766ceeac..b2c4791f6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigDataEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigDataEOServiceImpl.java @@ -11,8 +11,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; -import java.util.List; +import java.util.*; /** * @Description: 参数配置数据 @@ -111,6 +110,7 @@ public class ParamsConfigDataEOServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ParamsConfigDataEO::getParamsConfigId, paramsConfigId); queryWrapper.eq(ParamsConfigDataEO::getParamsCollectManifestId, paramsCollectManifestId); + queryWrapper.orderByAsc(ParamsConfigDataEO::getOrderNum); return this.list(queryWrapper); } @@ -134,8 +134,45 @@ public class ParamsConfigDataEOServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(ParamsConfigDataEO::getParamsConfigId, configIdList); + queryWrapper.orderByAsc(ParamsConfigDataEO::getOrderNum); return list(queryWrapper); } return null; } + + + public void handleData() { + List list = this.list(); + Map> map = new HashMap<>(); + for (ParamsConfigDataEO prcd : list) { + String pid = prcd.getParamsCollectManifestId()+"+"+prcd.getParamsConfigId(); + List dataList = null; + if(map.containsKey(pid)){ + dataList = map.get(pid); + }else{ + dataList = new ArrayList<>(); + } + dataList.add(prcd); + map.put(pid,dataList); + } + List updateList = new ArrayList<>(); + for (List dataList:map.values()) { + Collections.sort(dataList, new Comparator() { + @Override + public int compare(ParamsConfigDataEO o1, ParamsConfigDataEO o2) { + return Integer.compare(o1.getOrderNum(), o2.getOrderNum()); + } + }); + int num = 0; + for (ParamsConfigDataEO prcd:dataList) { + prcd.setOrderNum(num); + updateList.add(prcd); + num++; + } + } + + if(CollectionUtil.isNotEmpty(updateList)){ + this.updateBatchById(updateList); + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigDataHistoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigDataHistoryEOServiceImpl.java index 620f6da2b..e5ab35711 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigDataHistoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigDataHistoryEOServiceImpl.java @@ -10,7 +10,7 @@ import com.jero.modules.cert.collect.service.IParamsConfigDataHistoryEOService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import java.util.*; /** * @Description: 参数配置数据历史版本 @@ -50,6 +50,7 @@ public class ParamsConfigDataHistoryEOServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(ParamsConfigDataHistoryEO::getParamsConfigId, configIdList); + queryWrapper.orderByAsc(ParamsConfigDataHistoryEO::getOrderNum); return list(queryWrapper); } return null; @@ -62,4 +63,40 @@ public class ParamsConfigDataHistoryEOServiceImpl extends ServiceImpl list = this.list(); + Map> map = new HashMap<>(); + for (ParamsConfigDataHistoryEO prcd : list) { + String pid = prcd.getParamsCollectManifestId()+"+"+prcd.getParamsConfigId(); + List dataList = null; + if(map.containsKey(pid)){ + dataList = map.get(pid); + }else{ + dataList = new ArrayList<>(); + } + dataList.add(prcd); + map.put(pid,dataList); + } + List updateList = new ArrayList<>(); + for (List dataList:map.values()) { + Collections.sort(dataList, new Comparator() { + @Override + public int compare(ParamsConfigDataHistoryEO o1, ParamsConfigDataHistoryEO o2) { + return Integer.compare(o1.getOrderNum(), o2.getOrderNum()); + } + }); + int num = 0; + for (ParamsConfigDataHistoryEO prcd:dataList) { + prcd.setOrderNum(num); + updateList.add(prcd); + num++; + } + } + + if(CollectionUtil.isNotEmpty(updateList)){ + this.updateBatchById(updateList); + } + } + } 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 75cf6800b..45143111f 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 @@ -14,9 +14,7 @@ import com.jero.common.system.vo.DictModel; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.entity.ParamsCollectManifestHistoryEO; import com.jero.modules.cert.collect.entity.ParamsConfigDataEO; -import com.jero.modules.cert.collect.entity.ParamsConfigDataHistoryEO; import com.jero.modules.cert.collect.entity.ParamsConfigEO; -import com.jero.modules.cert.collect.entity.ParamsConfigHistoryEO; import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.entity.ParamsManifestHistoryEO; import com.jero.modules.cert.collect.enums.CollectManifestChangeFlagEnum; @@ -36,7 +34,9 @@ import com.jero.modules.cert.collect.service.IParamsManifestEOService; import com.jero.modules.cert.collect.service.IParamsManifestHistoryEOService; import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO; import com.jero.modules.cert.collect.vo.ParamsManifestVO; +import com.jero.modules.cert.report.entity.ParamsReportConfigEO; import com.jero.modules.cert.report.entity.ParamsReportEO; +import com.jero.modules.cert.report.service.IParamsReportConfigEOService; import com.jero.modules.cert.report.service.IParamsReportDetailEOService; import com.jero.modules.cert.report.service.IParamsReportEOService; import com.jero.modules.cert.template.entity.ParamsInfoPublishEO; @@ -125,6 +125,8 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl oldDataList = oldParamsCollectManifestEOList.stream().map(ParamsCollectManifestEO::getId).collect(Collectors.toList()); + paramsConfigDataEOService.deleteByParamsCollectManifestIdList(oldDataList); // 查询配置信息 List configIdList = paramsConfigEOService.queryList(id).stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); List paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(configIdList); // 按照上报库参数项配置数据 更新 参数收集清单配置数据 List> reportConfigDataEOList = new ArrayList<>(); - List configDataEOList = new ArrayList<>(); for (ParamsCollectManifestEO updateCollectManifestEO : updateCollectManifestEOList) { for (String configId : configIdList) { reportConfigDataEOList = paramsReportConfigDataList.stream().filter(e -> updateCollectManifestEO.getNioNumber().equals(e.get("nio_number")) && configId.equals(e.get("old_params_config_id"))).collect(Collectors.toList()); - configDataEOList = paramsConfigDataEOList.stream().filter(e -> updateCollectManifestEO.getId().equals(e.getParamsCollectManifestId()) - && configId.equals(e.getParamsConfigId())).collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(reportConfigDataEOList) && CollectionUtil.isNotEmpty(configDataEOList)) { - ParamsConfigDataEO updateParamsConfigDataEO = new ParamsConfigDataEO(); - updateParamsConfigDataEO.setId(String.valueOf(configDataEOList.get(0).getId())); - updateParamsConfigDataEO.setTextData((String) reportConfigDataEOList.get(0).get("text_data")); - updateParamsConfigDataEO.setPullData((String) reportConfigDataEOList.get(0).get("pull_data")); - updateParamsConfigDataEO.setFileConnectId((String) reportConfigDataEOList.get(0).get("file_connect_id")); - updateParamsConfigDataEO.setOrderNum((Integer) reportConfigDataEOList.get(0).get("order_num")); - updateConfigDataEOList.add(updateParamsConfigDataEO); - } else if (CollectionUtil.isNotEmpty(reportConfigDataEOList) && CollectionUtil.isEmpty(configDataEOList)) { - ParamsConfigDataEO addParamsConfigDataEO = new ParamsConfigDataEO(); - addParamsConfigDataEO.setId(UUID.randomUUID().toString().replace("-", "")); - addParamsConfigDataEO.setTextData((String) reportConfigDataEOList.get(0).get("text_data")); - addParamsConfigDataEO.setPullData((String) reportConfigDataEOList.get(0).get("pull_data")); - addParamsConfigDataEO.setFileConnectId((String) reportConfigDataEOList.get(0).get("file_connect_id")); - addParamsConfigDataEO.setOrderNum((Integer) reportConfigDataEOList.get(0).get("order_num")); - addParamsConfigDataEO.setParamsConfigId(configId); - addParamsConfigDataEO.setParamsCollectManifestId(updateCollectManifestEO.getId()); - updateConfigDataEOList.add(addParamsConfigDataEO); + if (CollectionUtil.isNotEmpty(reportConfigDataEOList)) { + for (Map rcdMap : reportConfigDataEOList) { + ParamsConfigDataEO addParamsConfigDataEO = new ParamsConfigDataEO(); + addParamsConfigDataEO.setId(UUID.randomUUID().toString().replace("-", "")); + addParamsConfigDataEO.setTextData((String) rcdMap.get("text_data")); + addParamsConfigDataEO.setPullData((String) rcdMap.get("pull_data")); + addParamsConfigDataEO.setFileConnectId((String) rcdMap.get("file_connect_id")); + addParamsConfigDataEO.setOrderNum((Integer) rcdMap.get("order_num")); + addParamsConfigDataEO.setParamsConfigId(configId); + addParamsConfigDataEO.setParamsCollectManifestId(updateCollectManifestEO.getId()); + updateConfigDataEOList.add(addParamsConfigDataEO); + } } } } if (CollectionUtil.isNotEmpty(updateConfigDataEOList)) { paramsConfigDataEOService.saveOrUpdateBatch(updateConfigDataEOList); - } // 删除参数项配置数据 if (CollectionUtil.isNotEmpty(delCollectManifestIdList)) { paramsConfigDataEOService.deleteByParamsCollectManifestIdList(delCollectManifestIdList); } - // 更新项目参数项 paramsCollectManifestEOService.updateBatchById(updateCollectManifestEOList); + // 参数清单版本加 1 ParamsManifestEO updateManifestEO = new ParamsManifestEO(); updateManifestEO.setId(id); @@ -814,6 +822,13 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl> paramsReportConfigDataList = paramsReportDetailEOService.listInfoForChange(paramsReportEO.getId()); // 比较模板参数项 和 项目参数项 @@ -898,26 +913,41 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl configEOList = new ArrayList<>(); List configIdList = new ArrayList<>(); - List configList = paramsConfigHistoryEOService.queryList(paramsManifestHistoryEO.getId()); - for (ParamsConfigHistoryEO config : configList) { + List prcList = paramsReportConfigEOService.queryList(paramsReportEO.getId()); + for (ParamsReportConfigEO config : prcList) { ParamsConfigEO newConfig = new ParamsConfigEO(); BeanUtils.copyProperties(config,newConfig); newConfig.setParamsManifestId(paramsManifestHistoryEO.getSourceParamsManifestId()); configEOList.add(newConfig); configIdList.add(newConfig.getId()); } - if (CollectionUtil.isNotEmpty(configList)) { + if (CollectionUtil.isNotEmpty(configEOList)) { paramsConfigEOService.saveOrUpdateBatch(configEOList); } - List configDataEOList = new ArrayList<>(); - List paramsConfigDataEOList = paramsConfigDataHistoryEOService.queryListByConfigIdList(configIdList); - for (ParamsConfigDataHistoryEO configData : paramsConfigDataEOList) { - ParamsConfigDataEO newConfigData = new ParamsConfigDataEO(); - BeanUtils.copyProperties(configData,newConfigData); - configDataEOList.add(newConfigData); + + // 按照上报库参数项配置数据 更新 参数收集清单配置数据 + List> reportConfigDataEOList = new ArrayList<>(); + for (ParamsCollectManifestEO updateCollectManifestEO : updateCollectManifestEOList) { + for (String configId : configIdList) { + reportConfigDataEOList = paramsReportConfigDataList.stream().filter(e -> updateCollectManifestEO.getNioNumber().equals(e.get("nio_number")) + && configId.equals(e.get("params_config_id"))).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(reportConfigDataEOList)) { + for (Map rcdMap : reportConfigDataEOList) { + ParamsConfigDataEO addParamsConfigDataEO = new ParamsConfigDataEO(); + addParamsConfigDataEO.setId(UUID.randomUUID().toString().replace("-", "")); + addParamsConfigDataEO.setTextData((String) rcdMap.get("text_data")); + addParamsConfigDataEO.setPullData((String) rcdMap.get("pull_data")); + addParamsConfigDataEO.setFileConnectId((String) rcdMap.get("file_connect_id")); + addParamsConfigDataEO.setOrderNum((Integer) rcdMap.get("order_num")); + addParamsConfigDataEO.setParamsConfigId(configId); + addParamsConfigDataEO.setParamsCollectManifestId(updateCollectManifestEO.getId()); + updateConfigDataEOList.add(addParamsConfigDataEO); + } + } + } } - if (CollectionUtil.isNotEmpty(configDataEOList)) { - paramsConfigDataEOService.saveOrUpdateBatch(configDataEOList); + if (CollectionUtil.isNotEmpty(updateConfigDataEOList)) { + paramsConfigDataEOService.saveOrUpdateBatch(updateConfigDataEOList); } // 更新项目参数项 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/vo/ParamsCollectManifestVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/vo/ParamsCollectManifestVO.java index e080b6c69..d33b6f3e6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/vo/ParamsCollectManifestVO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/vo/ParamsCollectManifestVO.java @@ -110,4 +110,8 @@ public class ParamsCollectManifestVO { //是否导出标题 ”1“ 是 ”0“否 @TableField(exist = false) private String exportOption; + + //是否是历史版本 ”1“ 是 ”0“否 + @TableField(exist = false) + private String isHistory; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java index f875ee776..38fddf82e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java @@ -6,10 +6,13 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.constant.enums.CutEnum; import com.jero.common.system.base.controller.JeroController; +import com.jero.modules.cert.collect.service.IParamsConfigDataEOService; +import com.jero.modules.cert.collect.service.IParamsConfigDataHistoryEOService; import com.jero.modules.cert.report.entity.ParamsReportConfigEO; import com.jero.common.system.vo.DictModel; import com.jero.modules.cert.report.entity.ParamsReportEO; import com.jero.modules.cert.report.entity.ParamsReportExportHistoryEO; +import com.jero.modules.cert.report.service.IParamsReportConfigDataEOService; import com.jero.modules.cert.report.service.IParamsReportConfigEOService; import com.jero.modules.cert.report.service.IParamsReportEOService; import com.jero.modules.cert.report.service.IParamsReportExportHistoryEOService; @@ -70,6 +73,18 @@ public class ParamsReportEOController extends JeroController handleData() { + paramsReportConfigDataEOService.handleData(); + paramsConfigDataEOService.handleData(); + paramsConfigDataHistoryEOService.handleData(); + return Result.OK(); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java index d0fea988f..aff2cbdb8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java @@ -81,6 +81,9 @@ public class ParamsReportEO implements Serializable { @ApiModelProperty(value = "目标市场") private String targetMarket; + @ApiModelProperty(value = "相关项目版本") + private String projectVersion; + @TableField(exist = false) private String cut; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml index 8f9924712..c898f1e31 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml @@ -22,6 +22,7 @@ pr.id as id, pr.old_params_manifest_id as old_params_manifest_id, pr.version as version, + pr.project_version, pr.params_template_publish_version as params_template_publish_version, pr.create_by as create_by, pr.create_time as create_time, diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigDataEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigDataEOService.java index ab3698f26..a5dea695e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigDataEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigDataEOService.java @@ -42,4 +42,6 @@ public interface IParamsReportConfigDataEOService extends IService queryListByCollectManifestIdList(List paramsCollectManifestIdList); + + void handleData(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportConfigDataEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportConfigDataEOServiceImpl.java index 0f72783e3..17b929011 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportConfigDataEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportConfigDataEOServiceImpl.java @@ -8,7 +8,7 @@ import com.jero.modules.cert.report.mapper.ParamsReportConfigDataEOMapper; import com.jero.modules.cert.report.service.IParamsReportConfigDataEOService; import org.springframework.stereotype.Service; -import java.util.List; +import java.util.*; /** * @Description: 上报库参数配置数据 @@ -66,6 +66,7 @@ public class ParamsReportConfigDataEOServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(ParamsReportConfigDataEO::getParamsConfigId, configIdList); + queryWrapper.orderByAsc(ParamsReportConfigDataEO::getOrderNum); return list(queryWrapper); } return null; @@ -93,4 +94,41 @@ public class ParamsReportConfigDataEOServiceImpl extends ServiceImpl list = this.list(); + Map> map = new HashMap<>(); + for (ParamsReportConfigDataEO prcd : list) { + String pid = prcd.getParamsCollectManifestId()+"+"+prcd.getParamsConfigId(); + List dataList = null; + if(map.containsKey(pid)){ + dataList = map.get(pid); + }else{ + dataList = new ArrayList<>(); + } + dataList.add(prcd); + map.put(pid,dataList); + } + List updateList = new ArrayList<>(); + for (List dataList:map.values()) { + Collections.sort(dataList, new Comparator() { + @Override + public int compare(ParamsReportConfigDataEO o1, ParamsReportConfigDataEO o2) { + return Integer.compare(o1.getOrderNum(), o2.getOrderNum()); + } + }); + int num = 0; + for (ParamsReportConfigDataEO prcd:dataList) { + prcd.setOrderNum(num); + updateList.add(prcd); + num++; + } + } + + if(CollectionUtil.isNotEmpty(updateList)){ + this.updateBatchById(updateList); + } + } + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java index 3e0003063..d6170d118 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java @@ -17,16 +17,31 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.oss.CosBootUtil; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; +import com.jero.modules.cert.collect.entity.ParamsCollectExport; import com.jero.modules.cert.collect.entity.ParamsConfigDataEO; import com.jero.modules.cert.collect.entity.ParamsConfigEO; import com.jero.modules.cert.collect.enums.CollectManifestStateEnum; import com.jero.modules.cert.collect.enums.ConfigDataTypeEnum; +import com.jero.modules.cert.collect.enums.ExportStateEnum; +import com.jero.modules.cert.collect.service.IParamsCollectExportService; import com.jero.modules.cert.collect.vo.ParamsConfigDataVO; -import com.jero.modules.cert.report.entity.*; +import com.jero.modules.cert.report.entity.ParamsExportTemplateEO; +import com.jero.modules.cert.report.entity.ParamsReportConfigDataEO; +import com.jero.modules.cert.report.entity.ParamsReportConfigEO; +import com.jero.modules.cert.report.entity.ParamsReportDetailEO; +import com.jero.modules.cert.report.entity.ParamsReportDetailLogEO; +import com.jero.modules.cert.report.entity.ParamsReportExportHistoryEO; +import com.jero.modules.cert.report.entity.ReportCertCategoryParamsInfoEO; import com.jero.modules.cert.report.enums.ExportTemplateStateEnum; import com.jero.modules.cert.report.enums.ExportTypeEnum; import com.jero.modules.cert.report.mapper.ParamsReportDetailEOMapper; -import com.jero.modules.cert.report.service.*; +import com.jero.modules.cert.report.service.IParamsExportTemplateEOService; +import com.jero.modules.cert.report.service.IParamsReportConfigDataEOService; +import com.jero.modules.cert.report.service.IParamsReportConfigEOService; +import com.jero.modules.cert.report.service.IParamsReportDetailEOService; +import com.jero.modules.cert.report.service.IParamsReportDetailLogEOService; +import com.jero.modules.cert.report.service.IParamsReportExportHistoryEOService; +import com.jero.modules.cert.report.service.IReportCertCategoryParamsInfoEOService; import com.jero.modules.cert.report.vo.ParamsReportDetailVO; import com.jero.modules.cert.template.enums.ControlTypeEnum; import com.jero.modules.cert.template.enums.ParamsIsMustEnum; @@ -47,7 +62,13 @@ import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.util.IOUtils; -import org.apache.poi.xssf.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFFont; +import org.apache.poi.xssf.usermodel.XSSFRichTextString; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.shiro.SecurityUtils; import org.aspectj.util.FileUtil; import org.docx4j.Docx4J; @@ -60,18 +81,37 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.mock.web.MockMultipartFile; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.*; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.lang.reflect.Field; import java.math.BigDecimal; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.TreeSet; +import java.util.UUID; import java.util.stream.Collectors; /** @@ -116,6 +156,8 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl paramsConfigDataVOList = this.getConfigDataVOList(controlType, paramsConfigEO, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据 - paramsConfigDataVO.put(paramsConfigDataEO.getOrderNum()+"+"+paramsConfigDataEO.getId(),paramsConfigDataVOList); + String num = "0"; + if(ObjectUtil.isNotEmpty(paramsConfigDataEO.getOrderNum())){ + num = String.valueOf(paramsConfigDataEO.getOrderNum()); + } + paramsConfigDataVO.put(num+"+"+paramsConfigDataEO.getId(),paramsConfigDataVOList); } } @@ -1804,6 +1850,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl> configDataList, String paramsManifestId) { List newConfigDataEOList = new ArrayList<>(); List updateDetailEOList = new ArrayList<>(); @@ -1813,8 +1860,11 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl paramsReportConfigDataEOList = paramsReportConfigDataEOService.queryListByConfigIdList(paramsReportConfigIdList); // 查询所有配置数据 LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// List idList = configDataList.stream().map(e -> e.get("id").toString()).collect(Collectors.toList()); +// List paramsReportDetailEOS = this.listByIds(idList); // 处理数据 for (Map map : configDataList) { + String paramsCollectManifestId = (String) map.get("id"); // 操作记录 StringBuilder logCnContent = new StringBuilder(); @@ -1822,36 +1872,14 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl entry : map.entrySet()) { + String key = entry.getKey(); if ("id".equals(key)) { continue; } - if ("remarks".equals(entry.getKey()) && StringUtils.isNotEmpty((String) entry.getValue())) { ParamsReportDetailEO updateDEtailEO = new ParamsReportDetailEO(); updateDEtailEO.setId(paramsCollectManifestId); @@ -1864,17 +1892,13 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl paramsReportConfigDataMap = (Map) entry.getValue(); - // 无法转ParamsConfigDataVO(遍历会出现该异常 : LinkedHashMap cannot be cast to ParamsConfigDataVO) - // List> configDataVOList = (List>) paramsReportConfigDataMap.get("list"); - - logCnContent.append("将"); - logEnContent.append(" set "); - - logCnContent.append(paramsReportConfigEO.getConfigName()).append("的"); - logEnContent.append(paramsReportConfigEO.getConfigName()); Map paramsConfigDataVOMap = (Map) paramsReportConfigDataMap.get("paramsConfigData"); + + int count = 0; + StringBuilder valueOldMsg = new StringBuilder(); + StringBuilder valueNewMsg = new StringBuilder(); for (Map.Entry paramsConfigDataMap : paramsConfigDataVOMap.entrySet()) { //顺序号不存在ID中,查询的时候会拼接 String configDataId = paramsConfigDataMap.getKey(); @@ -1885,67 +1909,45 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl paramsConfigDataVO : configDataVOList) { String type = (String) paramsConfigDataVO.get("type"); String dataValue = ""; if(ObjectUtils.isNotEmpty(paramsConfigDataVO.get("dataValue"))){ dataValue = String.valueOf(paramsConfigDataVO.get("dataValue")); } - // 判断是新增还是修改 ParamsConfigDataEO oldConfigDataEO = getConfigDataEOByConfigIdAndCollectManifestId(paramsReportConfigEOId, paramsCollectManifestId, paramsReportConfigDataEOList,configDataId); if (ObjectUtil.isNotEmpty(oldConfigDataEO)) { - paramsReportConfigDataEO.setId(oldConfigDataEO.getId()); + String fileConnectIdOld = oldConfigDataEO.getFileConnectId(); + String textData = oldConfigDataEO.getTextData(); + String pullData = oldConfigDataEO.getPullData(); - if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) { - // paramsReportConfigDataEO.setTextData(dataValue); - if (StringUtils.isEmpty(oldConfigDataEO.getTextData()) && StringUtils.isNotEmpty(dataValue)) { - logCnContent.append("\"").append("空").append("\"").append("改为").append("\"").append(dataValue).append("\"").append(","); - logEnContent.append(" from ").append("\"").append("Null").append("\"").append(" to ").append("\"").append(dataValue).append("\"").append(", "); - - changeFlag = true; - } else if (StringUtils.isNotEmpty(oldConfigDataEO.getTextData()) && StringUtils.isEmpty(dataValue)) { - logCnContent.append("\"").append(oldConfigDataEO.getTextData()).append("\"").append("改为").append("\"").append("空").append("\"").append(","); - logEnContent.append(" from ").append("\"").append(oldConfigDataEO.getTextData()).append("\"").append(" to ").append("\"").append("Null").append("\"").append(", "); - - changeFlag = true; - } else if (StringUtils.isNotEmpty(oldConfigDataEO.getTextData()) && StringUtils.isNotEmpty(dataValue) && !oldConfigDataEO.getTextData().equals(dataValue)) { - logCnContent.append("\"").append(oldConfigDataEO.getTextData()).append("\"").append("改为").append("\"").append(dataValue).append("\"").append(","); - logEnContent.append(" from ").append("\"").append(oldConfigDataEO.getTextData()).append("\"").append(" to ").append("\"").append(dataValue).append("\"").append(", "); - - changeFlag = true; + if (type.equals(ConfigDataTypeEnum.FILE.getValue())){ + //判断修改前后的文件是否发生变化 + if(StringUtils.isNotBlank(fileConnectIdOld) + && StringUtils.isNotBlank(dataValue) + && !fileConnectIdOld.equals(dataValue)){ + count++; + } + if(StringUtils.isBlank(fileConnectIdOld) && StringUtils.isNotBlank(dataValue)){ + count++; + } + if(StringUtils.isNotBlank(fileConnectIdOld) && StringUtils.isBlank(dataValue)){ + count++; } - } else if (type.equals(ConfigDataTypeEnum.PULL.getValue()) - || type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) { - // paramsReportConfigDataEO.setPullData(dataValue); - - if (StringUtils.isEmpty(oldConfigDataEO.getPullData()) && StringUtils.isNotEmpty(dataValue)) { - logCnContent.append("\"").append("空").append("\"").append("改为").append("\"").append(dataValue).append("\"").append(","); - logEnContent.append(" from ").append("\"").append("Null").append("\"").append(" to ").append("\"").append(dataValue).append("\"").append(", "); - - changeFlag = true; - } else if (StringUtils.isNotEmpty(oldConfigDataEO.getPullData()) && StringUtils.isEmpty(dataValue)) { - logCnContent.append("\"").append(oldConfigDataEO.getPullData()).append("\"").append("改为").append("\"").append("空").append("\"").append(","); - logEnContent.append(" from ").append("\"").append(oldConfigDataEO.getPullData()).append("\"").append(" to ").append("\"").append("Null").append("\"").append(", "); - - changeFlag = true; - } else if (StringUtils.isNotEmpty(oldConfigDataEO.getPullData()) && StringUtils.isNotEmpty(dataValue) && !oldConfigDataEO.getPullData().equals(dataValue)) { - logCnContent.append("\"").append(oldConfigDataEO.getPullData()).append("\"").append("改为").append("\"").append(dataValue).append("\"").append(","); - logEnContent.append(" from ").append("\"").append(oldConfigDataEO.getPullData()).append("\"").append(" to ").append("\"").append(dataValue).append("\"").append(", "); - - changeFlag = true; + if(StringUtils.isNotBlank(fileConnectIdOld)){ + String oldFileNames = ossFileService.getFileInfosByConnectId(fileConnectIdOld).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + //文件修改前的参数项 + valueOldMsg.append(oldFileNames+","); } - - } else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) { - String newFileNames = ""; - if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件. 目前没用到这段代码 - // 处理文件connectId + if(StringUtils.isNotBlank(dataValue)){ String[] fileIdList = dataValue.split(","); List ossFiles = ossFileService.getFileInfosByConnectId(fileIdList[0]); if(CollectionUtil.isEmpty(ossFiles)) { // 新加了一个文件 @@ -1959,62 +1961,64 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl ossFiles = ossFileService.getFileInfosByConnectId(dataValue); - if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件 - String connectId = UUID.randomUUID().toString().replace("-", ""); - //修改文件表关联信息connect_id - List oSSFileList = new ArrayList<>(); - for (String fileId : dataValue.split(",")) { - OSSFile ossFile = new OSSFile(); - ossFile.setId(fileId); - ossFile.setConnectId(connectId); - oSSFileList.add(ossFile); - } - ossFileService.updateFileInfo(oSSFileList); - dataValue = connectId; - newFileNames = ossFileService.getFileInfosByConnectId(connectId).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + String newFileNames = ossFileService.getFileInfosByConnectId(connectId).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); + //文件修改后的参数项 + valueNewMsg.append(newFileNames+","); } } - // paramsReportConfigDataEO.setFileConnectId(dataValue); - if (StringUtils.isEmpty(oldConfigDataEO.getFileConnectId()) && StringUtils.isNotEmpty(dataValue)) { - logCnContent.append("\"").append("空").append("\"").append("改为").append("\"").append(newFileNames).append("\"").append(","); - logEnContent.append(" from ").append("\"").append("Null").append("\"").append(" to ").append("\"").append(newFileNames).append("\"").append(", "); - - changeFlag = true; - } else if (StringUtils.isNotEmpty(oldConfigDataEO.getFileConnectId()) && StringUtils.isEmpty(dataValue)) { - String oldFileNames = ossFileService.getFileInfosByConnectId(oldConfigDataEO.getFileConnectId()).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); - logCnContent.append("\"").append(oldFileNames).append("\"").append("改为").append("\"").append("空").append("\"").append(","); - logEnContent.append(" from ").append("\"").append(oldFileNames).append("\"").append(" to ").append("\"").append("Null").append("\"").append(", "); - - changeFlag = true; - } else if (StringUtils.isNotEmpty(oldConfigDataEO.getFileConnectId()) && StringUtils.isNotEmpty(dataValue)) { - String oldFileNames = ossFileService.getFileInfosByConnectId(oldConfigDataEO.getFileConnectId()).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); - if (!oldConfigDataEO.getFileConnectId().equals(dataValue)) { - logCnContent.append("\"").append(oldFileNames).append("\"").append("改为").append("\"").append(newFileNames).append("\"").append(","); - logEnContent.append(" from ").append("\"").append(oldFileNames).append("\"").append(" to ").append("\"").append(newFileNames).append("\"").append(", "); - - changeFlag = true; + }else{ + if(type.equals(ConfigDataTypeEnum.TEXT.getValue())){ + //判断修改前后的文件是否发生变化 + if(StringUtils.isNotBlank(textData) + && StringUtils.isNotBlank(dataValue) + && !textData.equals(dataValue)){ + count++; + } + if(StringUtils.isBlank(textData) && StringUtils.isNotBlank(dataValue)){ + count++; + } + if(StringUtils.isNotBlank(textData) && StringUtils.isBlank(dataValue)){ + count++; + } + //文本框修改前的参数项 + if(StringUtils.isNotBlank(oldConfigDataEO.getTextData())){ + valueOldMsg.append(oldConfigDataEO.getTextData()+","); + } + } + if(type.equals(ConfigDataTypeEnum.PULL.getValue())){ + //判断修改前后的文件是否发生变化 + if(StringUtils.isNotBlank(pullData) + && StringUtils.isNotBlank(dataValue) + && !pullData.equals(dataValue)){ + count++; + } + if(StringUtils.isBlank(pullData) && StringUtils.isNotBlank(dataValue)){ + count++; + } + if(StringUtils.isNotBlank(pullData) && StringUtils.isBlank(dataValue)){ + count++; + } + //输入框修改前的参数项 + if(StringUtils.isNotBlank(oldConfigDataEO.getTextData())){ + valueOldMsg.append(oldConfigDataEO.getPullData()+","); } - } + //文本框和输入框的修改后的参数项 + if(StringUtils.isNotBlank(dataValue)){ + valueNewMsg.append(dataValue+","); + } } + paramsReportConfigDataEO.setId(oldConfigDataEO.getId()); } - - if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) { - paramsReportConfigDataEO.setTextData(dataValue); } else if (type.equals(ConfigDataTypeEnum.PULL.getValue()) || type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) { paramsReportConfigDataEO.setPullData(dataValue); } else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) { - String newFileNames = ""; if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件. 目前没用到这段代码 // 处理文件connectId String[] fileIdList = dataValue.split(","); @@ -2030,7 +2034,6 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl ossFiles = ossFileService.getFileInfosByConnectId(dataValue); @@ -2046,209 +2049,524 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl prcdQueryWrap = new QueryWrapper<>(); - prcdQueryWrap.lambda().eq(ParamsReportConfigDataEO::getParamsConfigId,paramsReportConfigEOId); - prcdQueryWrap.lambda().eq(ParamsReportConfigDataEO::getParamsCollectManifestId,paramsCollectManifestId); - List prcdEoList = this.paramsReportConfigDataEOService.list(prcdQueryWrap); - if(CollectionUtils.isNotEmpty(prcdEoList)){ - List paramsConfigDataIdList = paramsConfigDataVOMap.entrySet().stream().map(e -> e.getKey().split("\\+")[0]).distinct().collect(Collectors.toList()); + if(count != 0 && StringUtils.isNotBlank(valueOldMsg) && StringUtils.isNotBlank(valueNewMsg) && !valueOldMsg.equals(valueNewMsg)){ + logCnContent.append("将"); + logEnContent.append(" set "); - List newAddPcdDataIdList = paramsConfigDataVOMap.entrySet().stream().map(e -> e.getKey()).filter(e -> { - boolean flag = false; - // 如果key的长度是16位,则是新添加的 - if (e.length() == 16) { - flag = true; - } - return flag; - }).distinct().collect(Collectors.toList()); + logCnContent.append(paramsReportConfigEO.getConfigName()).append("的"); + logEnContent.append(paramsReportConfigEO.getConfigName()+" "); - if(CollectionUtils.isNotEmpty(newAddPcdDataIdList)){ - StringBuilder dataValueSb = new StringBuilder(); - for (String newAddPcdDataId : newAddPcdDataIdList) { - List> configDataVOList = (List>) paramsConfigDataVOMap.get(newAddPcdDataId); - for (Map paramsConfigDataVO : configDataVOList) { - String type = (String) paramsConfigDataVO.get("type"); - - String dataValue = ""; - if(ObjectUtils.isNotEmpty(paramsConfigDataVO.get("dataValue"))){ - dataValue = String.valueOf(paramsConfigDataVO.get("dataValue")); - } - // 如果是附件 单独处理 - if(StringUtils.equals(type,ConfigDataTypeEnum.FILE.getValue())){ - - } - dataValueSb.append("\"").append(dataValue).append("\","); - } - } - - String dataValue = ""; - if(StringUtils.isNotBlank(dataValueSb.toString())){ - dataValue = dataValueSb.toString().substring(0,dataValueSb.length()-1); - } - - addLogCnContent.append("在").append(paramsReportConfigEO.getConfigName()).append("中添加了").append(dataValue).append(","); - addLogEnContent.append("在").append(paramsReportConfigEO.getConfigName()).append("中添加了").append(dataValue).append(","); - - addFlag = true; - } - - // 判断有没有被减掉的(删除的) - List deletePrcdEoList = prcdEoList.stream().filter(prcdEo -> { - boolean flag = true; - for (String paramsConfigDataId : paramsConfigDataIdList) { - if(StringUtils.equals(prcdEo.getId(),paramsConfigDataId)){ - flag = false; - break; - } - } - return flag; - }).collect(Collectors.toList()); - - // 如果有被删的数据 增加log记录 - if(CollectionUtils.isNotEmpty(deletePrcdEoList)){ - StringBuilder dataValueSb = new StringBuilder(); - for (ParamsReportConfigDataEO paramsReportConfigDataEO : deletePrcdEoList) { - if(StringUtils.isNotBlank(paramsReportConfigDataEO.getTextData())){ - dataValueSb.append("\"").append(paramsReportConfigDataEO.getTextData()).append("\","); - } - if(StringUtils.isNotBlank(paramsReportConfigDataEO.getPullData())){ - dataValueSb.append("\"").append(paramsReportConfigDataEO.getPullData()).append("\","); - } - if(StringUtils.isNotBlank(paramsReportConfigDataEO.getFileConnectId())){ - dataValueSb.append("\"").append(paramsReportConfigDataEO.getFileConnectId()).append("\","); - } - } - String dataValue = ""; - if(StringUtils.isNotBlank(dataValueSb.toString())){ - dataValue = dataValueSb.toString().substring(0,dataValueSb.length()-1); - } - deleteLogCnContent.append("在").append(paramsReportConfigEO.getConfigName()).append("中删除了").append(dataValue).append(","); - deleteLogEnContent.append("在").append(paramsReportConfigEO.getConfigName()).append("中删除了").append(dataValue).append(","); - - deleteFlag = true; - } + logCnContent.append(valueOldMsg+"改为"+valueNewMsg); + logEnContent.append(valueOldMsg+" to "+valueNewMsg); } - QueryWrapper removeConfigDataWrap = new QueryWrapper<>(); removeConfigDataWrap.lambda().eq(ParamsReportConfigDataEO::getParamsConfigId,paramsReportConfigEOId); removeConfigDataWrap.lambda().eq(ParamsReportConfigDataEO::getParamsCollectManifestId,paramsCollectManifestId); this.paramsReportConfigDataEOService.remove(removeConfigDataWrap); - - //******************这里是当前配置的循环结束了****************** - //判断结尾是不是该配置的名字--如果是(说明该配置没有被改变)需要从logCnContent中删除该配置名字 - //configNameCn = paramsReportConfigEO.getConfigName()+"的"; - //configNameEn = paramsReportConfigEO.getConfigName(); - String cnContent = logCnContent.toString(); - String enContent = logEnContent.toString(); - if(!configNameCn.isEmpty() && !configNameEn.isEmpty() - && cnContent.contains(configNameCn) && enContent.contains(configNameEn)){ - int cnStar = cnContent.length() - configNameCn.length(); - int enStar = enContent.length()-configNameEn.length(); - String logCnContentLast = logCnContent.substring(cnStar, logCnContent.length()); - String logEnContentLast = logEnContent.substring(enStar, logEnContent.length()); - - //logCnContent的最后是configName时 - if(logCnContentLast.equals(configNameCn) && logEnContentLast.equals(configNameEn)) { - logCnContent.delete(cnStar, cnContent.length() + 1); - logEnContent.delete(enStar,enContent.length()+1); - } - } } + ParamsReportDetailLogEO insertLogEO = new ParamsReportDetailLogEO(); + String ramarks = ""; + if(map.get("remarks") != null){ + ramarks = map.get("remarks").toString(); + } + boolean remarkFlag = false; +// List collect = paramsReportDetailEOS.stream().filter(e -> paramsCollectManifestId.equals(e.getId())).collect(Collectors.toList()); +// if(ObjectUtils.isNotEmpty(collect)){ +// String remark = collect.get(0).getRemarks(); +// if(StringUtils.isNotBlank(remark) +// && StringUtils.isNotBlank(ramarks) +// && !ramarks.equals(remark)){ +// remarkFlag = true; +// } +// if(StringUtils.isBlank(remark) && StringUtils.isNotBlank(ramarks)){ +// remarkFlag = true; +// } +// if(StringUtils.isNotBlank(remark) && StringUtils.isBlank(ramarks)){ +// remarkFlag = true; +// } +// } - /*if (logCnContent.toString().endsWith(",")) { - String ramarks = ""; - if(map.get("remarks") != null){ - ramarks = map.get("remarks").toString(); - } - insertLogEO.setLogCnContent(logCnContent.toString().substring(0, logCnContent.lastIndexOf(","))); - insertLogEO.setLogEnContent(logEnContent.toString().substring(0, logEnContent.lastIndexOf(","))); - insertLogEO.setParamsReportId(paramsManifestId); - insertLogEO.setParamsReportDetailId(paramsCollectManifestId); - insertLogEO.setRemarks(ramarks); - insertLogEOList.add(insertLogEO); - }*/ - if(changeFlag){ - ParamsReportDetailLogEO insertLogEO = new ParamsReportDetailLogEO(); - String ramarks = ""; - if(map.get("remarks") != null){ - ramarks = map.get("remarks").toString(); - } - int i = logCnContent.lastIndexOf(","); - insertLogEO.setLogCnContent(logCnContent.toString().substring(0, logCnContent.lastIndexOf(","))); - insertLogEO.setLogEnContent(logEnContent.toString().substring(0, logEnContent.lastIndexOf(","))); -// insertLogEO.setLogCnContent(cnContent.substring(0, logCnContent.lastIndexOf(","))); -// insertLogEO.setLogEnContent(enContent.substring(0, logEnContent.lastIndexOf(","))); + if(!loginUser.getUsername().equals(logCnContent.toString()) && !loginUser.getUsername().equals(logEnContent.toString())){ + insertLogEO.setLogCnContent(logCnContent.toString().substring(0, logCnContent.length()-1)); + insertLogEO.setLogEnContent(logEnContent.toString().substring(0, logCnContent.length()-1)); insertLogEO.setParamsReportId(paramsManifestId); insertLogEO.setParamsReportDetailId(paramsCollectManifestId); insertLogEO.setRemarks(ramarks); insertLogEOList.add(insertLogEO); } - - if(deleteFlag){ - ParamsReportDetailLogEO insertLogEO = new ParamsReportDetailLogEO(); - String ramarks = ""; - if(map.get("remarks") != null){ - ramarks = map.get("remarks").toString(); - } - insertLogEO.setLogCnContent(deleteLogCnContent.toString().substring(0, deleteLogCnContent.lastIndexOf(","))); - insertLogEO.setLogEnContent(deleteLogEnContent.toString().substring(0, deleteLogEnContent.lastIndexOf(","))); - - insertLogEO.setParamsReportId(paramsManifestId); - insertLogEO.setParamsReportDetailId(paramsCollectManifestId); - insertLogEO.setRemarks(ramarks); - insertLogEOList.add(insertLogEO); - } - - if(addFlag){ - - ParamsReportDetailLogEO insertLogEO = new ParamsReportDetailLogEO(); - String ramarks = ""; - if(map.get("remarks") != null){ - ramarks = map.get("remarks").toString(); - } - insertLogEO.setLogCnContent(addLogCnContent.toString().substring(0, addLogCnContent.lastIndexOf(","))); - insertLogEO.setLogEnContent(addLogEnContent.toString().substring(0, addLogEnContent.lastIndexOf(","))); - - insertLogEO.setParamsReportId(paramsManifestId); - insertLogEO.setParamsReportDetailId(paramsCollectManifestId); - insertLogEO.setRemarks(ramarks); - insertLogEOList.add(insertLogEO); - } - - } // 批量更新 - if (CollectionUtil.isNotEmpty(updateDetailEOList)) { + if (CollectionUtil.isNotEmpty(updateDetailEOList)) {//编辑备注 paramsReportDetailEOService.updateBatchById(updateDetailEOList); } - if (CollectionUtil.isNotEmpty(insertLogEOList)) { + if (CollectionUtil.isNotEmpty(insertLogEOList)) {//更新历史 paramsReportDetailLogEOService.saveBatch(insertLogEOList); } return paramsReportConfigDataEOService.saveBatch(newConfigDataEOList); } +// @Override +// public boolean save(List> configDataList, String paramsManifestId) { +// List newConfigDataEOList = new ArrayList<>(); +// List updateDetailEOList = new ArrayList<>(); +// List insertLogEOList = new ArrayList<>(); +// List paramsReportConfigEOList = paramsReportConfigEOService.queryList(paramsManifestId); // 查询配置列 +// List paramsReportConfigIdList = paramsReportConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); +// List paramsReportConfigDataEOList = paramsReportConfigDataEOService.queryListByConfigIdList(paramsReportConfigIdList); // 查询所有配置数据 +// LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// +// // 处理数据 +// for (Map map : configDataList) { +// String paramsCollectManifestId = (String) map.get("id"); +// // 操作记录 +// StringBuilder logCnContent = new StringBuilder(); +// StringBuilder logEnContent = new StringBuilder(); +// logCnContent.append(loginUser.getUsername()); +// logEnContent.append(loginUser.getUsername()); +// +// // 删除操作记录 +// StringBuilder deleteLogCnContent = new StringBuilder(); +// StringBuilder deleteLogEnContent = new StringBuilder(); +// deleteLogCnContent.append(loginUser.getUsername()); +// deleteLogEnContent.append(loginUser.getUsername()); +// +// +// // 添加操作记录 +// StringBuilder addLogCnContent = new StringBuilder(); +// StringBuilder addLogEnContent = new StringBuilder(); +// addLogCnContent.append(loginUser.getUsername()); +// addLogEnContent.append(loginUser.getUsername()); +// +// // 变更标识 +// boolean changeFlag = false; +// // 删除标识 +// boolean deleteFlag = false; +// // 新增标识 +// boolean addFlag = false; +// +// String configNameCn = ""; +// String configNameEn = ""; +// +// // 添加配置数据*****循环同一个配置里的内容 +// for (Map.Entry entry : map.entrySet()) { +// String key = entry.getKey(); +// if ("id".equals(key)) { +// continue; +// } +// +// if ("remarks".equals(entry.getKey()) && StringUtils.isNotEmpty((String) entry.getValue())) { +// ParamsReportDetailEO updateDEtailEO = new ParamsReportDetailEO(); +// updateDEtailEO.setId(paramsCollectManifestId); +// updateDEtailEO.setRemarks((String) entry.getValue()); +// updateDetailEOList.add(updateDEtailEO); +// continue; +// } +// +// // 取值 +// String paramsReportConfigEOId = entry.getKey(); +// ParamsReportConfigEO paramsReportConfigEO = paramsReportConfigEOService.getById(paramsReportConfigEOId); +// Map paramsReportConfigDataMap = (Map) entry.getValue(); +// // 无法转ParamsConfigDataVO(遍历会出现该异常 : LinkedHashMap cannot be cast to ParamsConfigDataVO) +// // List> configDataVOList = (List>) paramsReportConfigDataMap.get("list"); +// +// logCnContent.append("将"); +// logEnContent.append(" set "); +// +// logCnContent.append(paramsReportConfigEO.getConfigName()).append("的"); +// logEnContent.append(paramsReportConfigEO.getConfigName()); +// +// Map paramsConfigDataVOMap = (Map) paramsReportConfigDataMap.get("paramsConfigData"); +// +// for (Map.Entry paramsConfigDataMap : paramsConfigDataVOMap.entrySet()) { +// //顺序号不存在ID中,查询的时候会拼接 +// String configDataId = paramsConfigDataMap.getKey(); +// +// List> configDataVOList = (List>) paramsConfigDataMap.getValue(); +// +// if (CollectionUtil.isNotEmpty(configDataVOList)) { +// int orderNum = (Integer) configDataVOList.get(0).get("orderNum"); +// int plusIndex = configDataId.indexOf("+"); +// if (plusIndex != -1) { +// orderNum = Integer.parseInt(configDataId.substring(0, plusIndex)); +// configDataId = configDataId.substring(plusIndex + 1); +// } +// ParamsReportConfigDataEO paramsReportConfigDataEO = new ParamsReportConfigDataEO(); +// paramsReportConfigDataEO.setOrderNum(orderNum); +// for (Map paramsConfigDataVO : configDataVOList) { +// String type = (String) paramsConfigDataVO.get("type"); +// String dataValue = ""; +// if(ObjectUtils.isNotEmpty(paramsConfigDataVO.get("dataValue"))){ +// dataValue = String.valueOf(paramsConfigDataVO.get("dataValue")); +// } +// +// // 判断是新增还是修改 +// ParamsConfigDataEO oldConfigDataEO = getConfigDataEOByConfigIdAndCollectManifestId(paramsReportConfigEOId, paramsCollectManifestId, paramsReportConfigDataEOList,configDataId); +// if (ObjectUtil.isNotEmpty(oldConfigDataEO)) { +// paramsReportConfigDataEO.setId(oldConfigDataEO.getId()); +// +// if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) { +// // paramsReportConfigDataEO.setTextData(dataValue); +// if (StringUtils.isEmpty(oldConfigDataEO.getTextData()) && StringUtils.isNotEmpty(dataValue)) { +// logCnContent.append("\"").append("空").append("\"").append("改为").append("\"").append(dataValue).append("\"").append(","); +// logEnContent.append(" from ").append("\"").append("Null").append("\"").append(" to ").append("\"").append(dataValue).append("\"").append(", "); +// +// changeFlag = true; +// } else if (StringUtils.isNotEmpty(oldConfigDataEO.getTextData()) && StringUtils.isEmpty(dataValue)) { +// logCnContent.append("\"").append(oldConfigDataEO.getTextData()).append("\"").append("改为").append("\"").append("空").append("\"").append(","); +// logEnContent.append(" from ").append("\"").append(oldConfigDataEO.getTextData()).append("\"").append(" to ").append("\"").append("Null").append("\"").append(", "); +// +// changeFlag = true; +// } else if (StringUtils.isNotEmpty(oldConfigDataEO.getTextData()) && StringUtils.isNotEmpty(dataValue) && !oldConfigDataEO.getTextData().equals(dataValue)) { +// logCnContent.append("\"").append(oldConfigDataEO.getTextData()).append("\"").append("改为").append("\"").append(dataValue).append("\"").append(","); +// logEnContent.append(" from ").append("\"").append(oldConfigDataEO.getTextData()).append("\"").append(" to ").append("\"").append(dataValue).append("\"").append(", "); +// +// changeFlag = true; +// } +// +// } else if (type.equals(ConfigDataTypeEnum.PULL.getValue()) +// || type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) { +// // paramsReportConfigDataEO.setPullData(dataValue); +// +// if (StringUtils.isEmpty(oldConfigDataEO.getPullData()) && StringUtils.isNotEmpty(dataValue)) { +// logCnContent.append("\"").append("空").append("\"").append("改为").append("\"").append(dataValue).append("\"").append(","); +// logEnContent.append(" from ").append("\"").append("Null").append("\"").append(" to ").append("\"").append(dataValue).append("\"").append(", "); +// +// changeFlag = true; +// } else if (StringUtils.isNotEmpty(oldConfigDataEO.getPullData()) && StringUtils.isEmpty(dataValue)) { +// logCnContent.append("\"").append(oldConfigDataEO.getPullData()).append("\"").append("改为").append("\"").append("空").append("\"").append(","); +// logEnContent.append(" from ").append("\"").append(oldConfigDataEO.getPullData()).append("\"").append(" to ").append("\"").append("Null").append("\"").append(", "); +// +// changeFlag = true; +// } else if (StringUtils.isNotEmpty(oldConfigDataEO.getPullData()) && StringUtils.isNotEmpty(dataValue) && !oldConfigDataEO.getPullData().equals(dataValue)) { +// logCnContent.append("\"").append(oldConfigDataEO.getPullData()).append("\"").append("改为").append("\"").append(dataValue).append("\"").append(","); +// logEnContent.append(" from ").append("\"").append(oldConfigDataEO.getPullData()).append("\"").append(" to ").append("\"").append(dataValue).append("\"").append(", "); +// +// changeFlag = true; +// } +// +// } else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) { +// String newFileNames = ""; +// if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件. 目前没用到这段代码 +// // 处理文件connectId +// String[] fileIdList = dataValue.split(","); +// List ossFiles = ossFileService.getFileInfosByConnectId(fileIdList[0]); +// if(CollectionUtil.isEmpty(ossFiles)) { // 新加了一个文件 +// String connectId = UUID.randomUUID().toString().replace("-", ""); +// List updateFileList = new ArrayList<>(); +// for (int i = 0; i < fileIdList.length; i++) { +// OSSFile ossFile = new OSSFile(); +// ossFile.setId(fileIdList[i]); +// ossFile.setConnectId(connectId); +// updateFileList.add(ossFile); +// } +// ossFileService.updateBatchById(updateFileList); +// dataValue = connectId; +// newFileNames = ossFileService.getFileInfosByConnectId(connectId).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); +// } +// } else if (StringUtils.isNotEmpty(dataValue) && !dataValue.contains(",")) { +// List ossFiles = ossFileService.getFileInfosByConnectId(dataValue); +// if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件 +// String connectId = UUID.randomUUID().toString().replace("-", ""); +// //修改文件表关联信息connect_id +// List oSSFileList = new ArrayList<>(); +// for (String fileId : dataValue.split(",")) { +// OSSFile ossFile = new OSSFile(); +// ossFile.setId(fileId); +// ossFile.setConnectId(connectId); +// oSSFileList.add(ossFile); +// } +// ossFileService.updateFileInfo(oSSFileList); +// dataValue = connectId; +// newFileNames = ossFileService.getFileInfosByConnectId(connectId).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); +// } +// } +// // paramsReportConfigDataEO.setFileConnectId(dataValue); +// if (StringUtils.isEmpty(oldConfigDataEO.getFileConnectId()) && StringUtils.isNotEmpty(dataValue)) { +// logCnContent.append("\"").append("空").append("\"").append("改为").append("\"").append(newFileNames).append("\"").append(","); +// logEnContent.append(" from ").append("\"").append("Null").append("\"").append(" to ").append("\"").append(newFileNames).append("\"").append(", "); +// +// changeFlag = true; +// } else if (StringUtils.isNotEmpty(oldConfigDataEO.getFileConnectId()) && StringUtils.isEmpty(dataValue)) { +// String oldFileNames = ossFileService.getFileInfosByConnectId(oldConfigDataEO.getFileConnectId()).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); +// logCnContent.append("\"").append(oldFileNames).append("\"").append("改为").append("\"").append("空").append("\"").append(","); +// logEnContent.append(" from ").append("\"").append(oldFileNames).append("\"").append(" to ").append("\"").append("Null").append("\"").append(", "); +// +// changeFlag = true; +// } else if (StringUtils.isNotEmpty(oldConfigDataEO.getFileConnectId()) && StringUtils.isNotEmpty(dataValue)) { +// String oldFileNames = ossFileService.getFileInfosByConnectId(oldConfigDataEO.getFileConnectId()).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); +// if (!oldConfigDataEO.getFileConnectId().equals(dataValue)) { +// logCnContent.append("\"").append(oldFileNames).append("\"").append("改为").append("\"").append(newFileNames).append("\"").append(","); +// logEnContent.append(" from ").append("\"").append(oldFileNames).append("\"").append(" to ").append("\"").append(newFileNames).append("\"").append(", "); +// +// changeFlag = true; +// } +// +// } +// +// } +// } +// +// +// +// if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) { +// +// paramsReportConfigDataEO.setTextData(dataValue); +// } else if (type.equals(ConfigDataTypeEnum.PULL.getValue()) +// || type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) { +// +// paramsReportConfigDataEO.setPullData(dataValue); +// } else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) { +// String newFileNames = ""; +// if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件. 目前没用到这段代码 +// // 处理文件connectId +// String[] fileIdList = dataValue.split(","); +// List ossFiles = ossFileService.getFileInfosByConnectId(fileIdList[0]); +// if(CollectionUtil.isEmpty(ossFiles)) { // 新加了一个文件 +// String connectId = UUID.randomUUID().toString().replace("-", ""); +// List updateFileList = new ArrayList<>(); +// for (int i = 0; i < fileIdList.length; i++) { +// OSSFile ossFile = new OSSFile(); +// ossFile.setId(fileIdList[i]); +// ossFile.setConnectId(connectId); +// updateFileList.add(ossFile); +// } +// ossFileService.updateBatchById(updateFileList); +// dataValue = connectId; +// newFileNames = ossFileService.getFileInfosByConnectId(connectId).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); +// } +// } else if (StringUtils.isNotEmpty(dataValue) && !dataValue.contains(",")) { +// List ossFiles = ossFileService.getFileInfosByConnectId(dataValue); +// if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件 +// String connectId = UUID.randomUUID().toString().replace("-", ""); +// //修改文件表关联信息connect_id +// List oSSFileList = new ArrayList<>(); +// for (String fileId : dataValue.split(",")) { +// OSSFile ossFile = new OSSFile(); +// ossFile.setId(fileId); +// ossFile.setConnectId(connectId); +// oSSFileList.add(ossFile); +// } +// ossFileService.updateFileInfo(oSSFileList); +// dataValue = connectId; +// newFileNames = ossFileService.getFileInfosByConnectId(connectId).stream().map(OSSFile::getFileName).collect(Collectors.joining(",")); +// } +// } +// paramsReportConfigDataEO.setFileConnectId(dataValue); +// } +// } +// +// +// paramsReportConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId); +// paramsReportConfigDataEO.setParamsConfigId(paramsReportConfigEOId); +// paramsReportConfigDataEO.setId(configDataId); +// newConfigDataEOList.add(paramsReportConfigDataEO); +// } +//// +//// logCnContent.append(paramsReportConfigEO.getConfigName()).append("的"); +//// logEnContent.append(paramsReportConfigEO.getConfigName()); +// +// } +// +// QueryWrapper prcdQueryWrap = new QueryWrapper<>(); +// prcdQueryWrap.lambda().eq(ParamsReportConfigDataEO::getParamsConfigId,paramsReportConfigEOId); +// prcdQueryWrap.lambda().eq(ParamsReportConfigDataEO::getParamsCollectManifestId,paramsCollectManifestId); +// List prcdEoList = this.paramsReportConfigDataEOService.list(prcdQueryWrap); +// if(CollectionUtils.isNotEmpty(prcdEoList)){ +// List paramsConfigDataIdList = paramsConfigDataVOMap.entrySet().stream().map(e -> e.getKey().split("\\+")[0]).distinct().collect(Collectors.toList()); +// +// List newAddPcdDataIdList = paramsConfigDataVOMap.entrySet().stream().map(e -> e.getKey()).filter(e -> { +// boolean flag = false; +// // 如果key的长度是16位,则是新添加的 +// if (e.length() == 16) { +// flag = true; +// } +// return flag; +// }).distinct().collect(Collectors.toList()); +// +// if(CollectionUtils.isNotEmpty(newAddPcdDataIdList)){ +// StringBuilder dataValueSb = new StringBuilder(); +// for (String newAddPcdDataId : newAddPcdDataIdList) { +// List> configDataVOList = (List>) paramsConfigDataVOMap.get(newAddPcdDataId); +// for (Map paramsConfigDataVO : configDataVOList) { +// String type = (String) paramsConfigDataVO.get("type"); +// +// String dataValue = ""; +// if(ObjectUtils.isNotEmpty(paramsConfigDataVO.get("dataValue"))){ +// dataValue = String.valueOf(paramsConfigDataVO.get("dataValue")); +// } +// // 如果是附件 单独处理 +// if(StringUtils.equals(type,ConfigDataTypeEnum.FILE.getValue())){ +// +// } +// dataValueSb.append("\"").append(dataValue).append("\","); +// } +// } +// +// String dataValue = ""; +// if(StringUtils.isNotBlank(dataValueSb.toString())){ +// dataValue = dataValueSb.toString().substring(0,dataValueSb.length()-1); +// } +// +// addLogCnContent.append("在").append(paramsReportConfigEO.getConfigName()).append("中添加了").append(dataValue).append(","); +// addLogEnContent.append("在").append(paramsReportConfigEO.getConfigName()).append("中添加了").append(dataValue).append(","); +// +// addFlag = true; +// } +// +// // 判断有没有被减掉的(删除的) +// List deletePrcdEoList = prcdEoList.stream().filter(prcdEo -> { +// boolean flag = true; +// for (String paramsConfigDataId : paramsConfigDataIdList) { +// if(StringUtils.equals(prcdEo.getId(),paramsConfigDataId)){ +// flag = false; +// break; +// } +// } +// return flag; +// }).collect(Collectors.toList()); +// +// // 如果有被删的数据 增加log记录 +// if(CollectionUtils.isNotEmpty(deletePrcdEoList)){ +// StringBuilder dataValueSb = new StringBuilder(); +// for (ParamsReportConfigDataEO paramsReportConfigDataEO : deletePrcdEoList) { +// if(StringUtils.isNotBlank(paramsReportConfigDataEO.getTextData())){ +// dataValueSb.append("\"").append(paramsReportConfigDataEO.getTextData()).append("\","); +// } +// if(StringUtils.isNotBlank(paramsReportConfigDataEO.getPullData())){ +// dataValueSb.append("\"").append(paramsReportConfigDataEO.getPullData()).append("\","); +// } +// if(StringUtils.isNotBlank(paramsReportConfigDataEO.getFileConnectId())){ +// dataValueSb.append("\"").append(paramsReportConfigDataEO.getFileConnectId()).append("\","); +// } +// } +// String dataValue = ""; +// if(StringUtils.isNotBlank(dataValueSb.toString())){ +// dataValue = dataValueSb.toString().substring(0,dataValueSb.length()-1); +// } +// deleteLogCnContent.append("在").append(paramsReportConfigEO.getConfigName()).append("中删除了").append(dataValue).append(","); +// deleteLogEnContent.append("在").append(paramsReportConfigEO.getConfigName()).append("中删除了").append(dataValue).append(","); +// +// deleteFlag = true; +// } +// } +// +// +// QueryWrapper removeConfigDataWrap = new QueryWrapper<>(); +// removeConfigDataWrap.lambda().eq(ParamsReportConfigDataEO::getParamsConfigId,paramsReportConfigEOId); +// removeConfigDataWrap.lambda().eq(ParamsReportConfigDataEO::getParamsCollectManifestId,paramsCollectManifestId); +// this.paramsReportConfigDataEOService.remove(removeConfigDataWrap); +// +// //******************这里是当前配置的循环结束了****************** +// //判断结尾是不是该配置的名字--如果是(说明该配置没有被改变)需要从logCnContent中删除该配置名字 +// //configNameCn = paramsReportConfigEO.getConfigName()+"的"; +// //configNameEn = paramsReportConfigEO.getConfigName(); +// String cnContent = logCnContent.toString(); +// String enContent = logEnContent.toString(); +// if(!configNameCn.isEmpty() && !configNameEn.isEmpty() +// && cnContent.contains(configNameCn) && enContent.contains(configNameEn)){ +// int cnStar = cnContent.length() - configNameCn.length(); +// int enStar = enContent.length()-configNameEn.length(); +// String logCnContentLast = logCnContent.substring(cnStar, logCnContent.length()); +// String logEnContentLast = logEnContent.substring(enStar, logEnContent.length()); +// +// //logCnContent的最后是configName时 +// if(logCnContentLast.equals(configNameCn) && logEnContentLast.equals(configNameEn)) { +// logCnContent.delete(cnStar, cnContent.length() + 1); +// logEnContent.delete(enStar,enContent.length()+1); +// } +// } +// } +// +// +// /*if (logCnContent.toString().endsWith(",")) { +// String ramarks = ""; +// if(map.get("remarks") != null){ +// ramarks = map.get("remarks").toString(); +// } +// insertLogEO.setLogCnContent(logCnContent.toString().substring(0, logCnContent.lastIndexOf(","))); +// insertLogEO.setLogEnContent(logEnContent.toString().substring(0, logEnContent.lastIndexOf(","))); +// insertLogEO.setParamsReportId(paramsManifestId); +// insertLogEO.setParamsReportDetailId(paramsCollectManifestId); +// insertLogEO.setRemarks(ramarks); +// insertLogEOList.add(insertLogEO); +// }*/ +// if(changeFlag){ +// ParamsReportDetailLogEO insertLogEO = new ParamsReportDetailLogEO(); +// String ramarks = ""; +// if(map.get("remarks") != null){ +// ramarks = map.get("remarks").toString(); +// } +// int i = logCnContent.lastIndexOf(","); +// insertLogEO.setLogCnContent(logCnContent.toString().substring(0, logCnContent.lastIndexOf(","))); +// insertLogEO.setLogEnContent(logEnContent.toString().substring(0, logEnContent.lastIndexOf(","))); +//// insertLogEO.setLogCnContent(cnContent.substring(0, logCnContent.lastIndexOf(","))); +//// insertLogEO.setLogEnContent(enContent.substring(0, logEnContent.lastIndexOf(","))); +// +// insertLogEO.setParamsReportId(paramsManifestId); +// insertLogEO.setParamsReportDetailId(paramsCollectManifestId); +// insertLogEO.setRemarks(ramarks); +// insertLogEOList.add(insertLogEO); +// } +// +// if(deleteFlag){ +// ParamsReportDetailLogEO insertLogEO = new ParamsReportDetailLogEO(); +// String ramarks = ""; +// if(map.get("remarks") != null){ +// ramarks = map.get("remarks").toString(); +// } +// insertLogEO.setLogCnContent(deleteLogCnContent.toString().substring(0, deleteLogCnContent.lastIndexOf(","))); +// insertLogEO.setLogEnContent(deleteLogEnContent.toString().substring(0, deleteLogEnContent.lastIndexOf(","))); +// +// insertLogEO.setParamsReportId(paramsManifestId); +// insertLogEO.setParamsReportDetailId(paramsCollectManifestId); +// insertLogEO.setRemarks(ramarks); +// insertLogEOList.add(insertLogEO); +// } +// +// if(addFlag){ +// +// ParamsReportDetailLogEO insertLogEO = new ParamsReportDetailLogEO(); +// String ramarks = ""; +// if(map.get("remarks") != null){ +// ramarks = map.get("remarks").toString(); +// } +// insertLogEO.setLogCnContent(addLogCnContent.toString().substring(0, addLogCnContent.lastIndexOf(","))); +// insertLogEO.setLogEnContent(addLogEnContent.toString().substring(0, addLogEnContent.lastIndexOf(","))); +// +// insertLogEO.setParamsReportId(paramsManifestId); +// insertLogEO.setParamsReportDetailId(paramsCollectManifestId); +// insertLogEO.setRemarks(ramarks); +// insertLogEOList.add(insertLogEO); +// } +// +// +// } +// +// // 批量更新 +// if (CollectionUtil.isNotEmpty(updateDetailEOList)) { +// paramsReportDetailEOService.updateBatchById(updateDetailEOList); +// } +// if (CollectionUtil.isNotEmpty(insertLogEOList)) { +// paramsReportDetailLogEOService.saveBatch(insertLogEOList); +// } +// return paramsReportConfigDataEOService.saveBatch(newConfigDataEOList); +// } private ParamsReportConfigDataEO getConfigDataEOByConfigIdAndCollectManifestId(String configId, String collectManifestId, List paramsReportConfigDataEOList,String configDataId) { @@ -2377,7 +2695,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl queryListByIds(String ids,String cut) { + List> res = bussDocumentLibraryEOService.queryListByIds(ids); + return Result.OK(res); + } } 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 7950daead..e6a62aa7c 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 @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; -import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -336,6 +335,10 @@ public class DummyInventoryInfoEO implements Serializable { @TableField(exist = false) private String orderByField; + /**一级责任领域**/ + @TableField(exist = false) + private String firstLevelDutyTerritory; + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java index 339a11252..7ff8f138f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java @@ -46,8 +46,19 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.SerializationUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.poi.hssf.usermodel.*; -import org.apache.poi.ss.usermodel.*; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFDateUtil; +import org.apache.poi.hssf.usermodel.HSSFRichTextString; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.shiro.SecurityUtils; @@ -65,11 +76,25 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.text.Collator; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.UUID; import java.util.stream.Collectors; import static com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl.copyFile; @@ -168,6 +193,10 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl page = new Page(dummyInventoryInfoEO.getPageNo(), dummyInventoryInfoEO.getPageSize()); IPage pageInfo = this.page(page, queryWrapper); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherRemindJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherRemindJob.java index 2c11e5c82..0dfd56825 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherRemindJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherRemindJob.java @@ -53,7 +53,7 @@ public class LawsOpinionGatherRemindJob implements Job { String endTime = sdf.format(lawsOpinionGatherEO.getEndTime()); int days = 0; try { - days = (int) (sdf.parse(endTime).getTime() - sdf.parse(now).getTime()) / (24 * 60 * 60 * 1000); + days = (int) ((sdf.parse(endTime).getTime() - sdf.parse(now).getTime()) / (24 * 60 * 60 * 1000)); } catch (Exception e) { e.printStackTrace(); throw new JeroBootException("日期转换错误"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageApplyEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageApplyEO.java index 31dae5e12..dcf17716b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageApplyEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageApplyEO.java @@ -62,6 +62,9 @@ public class OtaManageApplyEO implements Serializable { @ApiModelProperty(value = "所属部门") private java.lang.String sysOrgCode; + @ApiModelProperty(value = "VDR_ID") + private java.lang.String vdrId; + @ApiModelProperty(value = "VDR") private java.lang.String vdr; @@ -199,6 +202,10 @@ public class OtaManageApplyEO implements Serializable { @TableField(exist = false) private boolean disabled; + @ApiModelProperty(value = "是否丢弃置灰") + @TableField(exist = false) + private boolean discard; + @TableField(exist = false) @ApiModelProperty(value = "表头排序字段") private java.lang.String orderByField; @@ -229,5 +236,16 @@ public class OtaManageApplyEO implements Serializable { @ApiModelProperty(value = "中英文切换") private String cut; + @TableField(exist = false) + @ApiModelProperty(value = "扩展任务数量") + private Integer extensionItemCount; + + @TableField(exist = false) + @ApiModelProperty(value = "是否被删除(0:否;1:是)") + private String isDel; + + @TableField(exist = false) + private String attestationScheduleText; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageReceive.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageReceive.java index 8b8651b67..5e61ca280 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageReceive.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageReceive.java @@ -32,9 +32,14 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; public class OtaManageReceive implements Serializable { private static final long serialVersionUID = 1L; - /**主键*/ - @TableId(type = IdType.ASSIGN_ID) + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主键") + private String vdrId; + + /**VDR*/ + @ApiModelProperty(value = "VDR") private String id; /**创建人*/ @@ -126,6 +131,9 @@ public class OtaManageReceive implements Serializable { @ApiModelProperty(value = "发布类型") private String releaseType; - + /**是否被删除(0:否;1:是)*/ + @Excel(name = "是否被删除(0:否;1:是)", width = 15) + @ApiModelProperty(value = "是否被删除(0:否;1:是)") + private String isDel; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageReceiveNsdp.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageReceiveNsdp.java index e1b1cb18d..e1a67bb92 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageReceiveNsdp.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageReceiveNsdp.java @@ -1,22 +1,19 @@ package com.jero.modules.ota.entity; -import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; -import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; /** @@ -113,4 +110,7 @@ public class OtaManageReceiveNsdp implements Serializable { @ApiModelProperty(value = "排序") private java.lang.String orderBy; + @ApiModelProperty(value = "扩展任务数量") + private java.lang.Integer extensionItemCount; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/job/OtaDataUpdate.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/job/OtaDataUpdate.java index 0a9a6cfe4..72f8bbe37 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/job/OtaDataUpdate.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/job/OtaDataUpdate.java @@ -2,10 +2,12 @@ package com.jero.modules.ota.job; import com.jero.modules.ota.entity.OtaManageReceive; import com.jero.modules.ota.entity.OtaManageReceiveNsdp; +import com.jero.modules.ota.enums.OtaHomoImpactEnum; import com.jero.modules.ota.service.IOtaManageReceiveNsdpService; import com.jero.modules.ota.service.IOtaManageReceiveService; import com.jero.modules.system.util.StringUtils; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -43,26 +45,48 @@ public class OtaDataUpdate implements Job { List omrSyncList = otaManageReceiveService.getReceiveSync(); + + for (OtaManageReceive omrSync : omrSyncList) { + String plannedBpLaunchBatch = omrSync.getPlannedBpLaunchBatch(); + if (StringUtils.isNotEmpty(plannedBpLaunchBatch)) { + Matcher matcher = pattern.matcher(plannedBpLaunchBatch); + if (matcher.find()) { + omrSync.setPlannedBpLaunchBatch(matcher.group()); + } + } + } List omrList = otaManageReceiveService.queryList(); List addList = new ArrayList<>(); - List delList = new ArrayList<>(); List updateList = new ArrayList<>(); for (OtaManageReceive omr : omrList) { - boolean delFlag = true; for (OtaManageReceive omrSync : omrSyncList) { + if(StringUtils.isBlank(omrSync.getPlannedBpLaunchBatch())){ + continue; + } if (omr.getId().equals(omrSync.getId())) { - delFlag = false; - if (!compareReceive(omr, omrSync)) { + if (1 == compareReceive(omr, omrSync)) { updateList.add(omrSync); + } else if (2 == compareReceive(omr, omrSync)) { + boolean have = false; + for (OtaManageReceive omr1 : omrList) { + if(omrSync.getPlannedBpLaunchBatch().equals(omr1.getPlannedBpLaunchBatch())){ + have = true; + break; + } + } + if(!have){ + //逻辑删除 但保留在原软件版本列表中 + omr.setIsDel("1"); + updateList.add(omr); + //同步数据中新增 + omrSync.setVdrId(UUID.randomUUID().toString().replace("-","")); + addList.add(omrSync); + } } } } - if (delFlag) { - //同步数据中被删除 - delList.add(omr.getId()); - } } for (OtaManageReceive omrSync : omrSyncList) { @@ -74,27 +98,28 @@ public class OtaDataUpdate implements Job { } if (addFlag) { //同步数据中新增 - String plannedBpLaunchBatch = omrSync.getPlannedBpLaunchBatch(); - if (StringUtils.isNotEmpty(plannedBpLaunchBatch)) { - Matcher matcher = pattern.matcher(plannedBpLaunchBatch); - if (matcher.find()) { - omrSync.setPlannedBpLaunchBatch(matcher.group()); - } - } + omrSync.setVdrId(UUID.randomUUID().toString().replace("-","")); addList.add(omrSync); } } if (CollectionUtils.isNotEmpty(addList)) { otaManageReceiveService.saveBatch(addList); } - if (CollectionUtils.isNotEmpty(addList)) { - otaManageReceiveService.deleteByIds(delList); - } if (CollectionUtils.isNotEmpty(updateList)) { otaManageReceiveService.updateBatchById(updateList); } List omrnSyncList = otaManageReceiveNsdpService.getOtaManageReceiveNsdpSync(); + + for (OtaManageReceiveNsdp omrnSync : omrnSyncList) { + String plannedBpLaunchBatch = omrnSync.getReleaseName(); + if (StringUtils.isNotEmpty(plannedBpLaunchBatch)) { + Matcher matcher = pattern.matcher(plannedBpLaunchBatch); + if (matcher.find()) { + omrnSync.setReleaseName(matcher.group()); + } + } + } List omrnList = otaManageReceiveNsdpService.queryList(); List addNsdpList = new ArrayList<>(); @@ -126,13 +151,7 @@ public class OtaDataUpdate implements Job { } if (addFlag) { //同步数据中新增 - String releaseName = omrnSync.getReleaseName(); - if (StringUtils.isNotEmpty(releaseName)) { - Matcher matcher = pattern.matcher(releaseName); - if (matcher.find()) { - omrnSync.setReleaseName(matcher.group()); - } - } + addNsdpList.add(omrnSync); } @@ -152,26 +171,24 @@ public class OtaDataUpdate implements Job { Map releaceDateMap = new HashMap<>(); //记录车型列表 Map> omrnVehicleMap = new HashMap<>(); - - Map releaceTypeMap = new HashMap<>(); - - Date today = new Date(); List omrnLastList = otaManageReceiveNsdpService.queryList(); for (OtaManageReceiveNsdp omrn : omrnLastList) { //找到最快来临的发布时间 Date releaceDate = releaceDateMap.get(omrn.getReleaseName()); - try { - Date syncDate = sdf.parse(omrn.getReleaseDate()); - if (null == releaceDate) { - releaceDateMap.put(omrn.getReleaseName(), syncDate); - } else { - if (syncDate.after(today) && syncDate.before(releaceDate)) { + if (StringUtils.isNotBlank(omrn.getDateName()) && omrn.getDateName().equals("PLM")) { + try { + Date syncDate = sdf.parse(omrn.getReleaseDate()); + if (null == releaceDate) { releaceDateMap.put(omrn.getReleaseName(), syncDate); + } else { + if (syncDate.before(releaceDate)) { + releaceDateMap.put(omrn.getReleaseName(), syncDate); + } } + } catch (ParseException e) { + e.printStackTrace(); } - } catch (ParseException e) { - e.printStackTrace(); } //处理车型字符串 Set vehicleSet = omrnVehicleMap.get(omrn.getReleaseName()); @@ -247,6 +264,26 @@ public class OtaDataUpdate implements Job { if (CollectionUtils.isNotEmpty(dateUpdateList)) { otaManageReceiveService.updateBatchById(dateUpdateList); } + //扩展任务数量的值为Homo Extension - Paperwork和Homo Extension - Retest的数量和 + List otaManageReceiveList = otaManageReceiveService.queryList(); + List otaManageReceiveNsdpList = otaManageReceiveNsdpService.queryList(); + for (OtaManageReceiveNsdp otaManageReceiveNsdp : otaManageReceiveNsdpList) { + List collect = otaManageReceiveList.stream() + .filter(e -> StringUtils.isNotBlank(e.getPlannedBpLaunchBatch()) + && e.getPlannedBpLaunchBatch().equals(otaManageReceiveNsdp.getReleaseName())).collect(Collectors.toList()); + List collect1 = collect.stream() + .filter(e -> OtaHomoImpactEnum.HOMOEX_PAPERWORK.getValue().equals(e.getHomologationImpact()) + || OtaHomoImpactEnum.HOMOEX_RETEST.getValue().equals(e.getHomologationImpact())).collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(collect1)){ + otaManageReceiveNsdp.setExtensionItemCount(collect1.size()); + }else{ + otaManageReceiveNsdp.setExtensionItemCount(0); + } + } + otaManageReceiveNsdpService.updateBatchById(otaManageReceiveNsdpList); + + + System.out.println("===============================OtaDataUpdate定时任务结束==============================="); } @@ -266,35 +303,49 @@ public class OtaDataUpdate implements Job { if (!StringUtils.equals(omrn.getVehicle(), omrnSync.getVehicle())) { return false; } + if (!StringUtils.equals(omrn.getReleaseName(), omrnSync.getReleaseName())) { + return false; + } return true; } - private boolean compareReceive(OtaManageReceive omr, OtaManageReceive omrSync) { + /** + * 对比VDR数据 + * 返回状态 + * 0:无变化 + * 1:有变化 + * 2:改变版本号 + */ + private int compareReceive(OtaManageReceive omr, OtaManageReceive omrSync) { + int res = 0; if (!StringUtils.equals(omr.getSummary(), omrSync.getSummary())) { - return false; + res = 1; } if (!StringUtils.equals(omr.getStatus(), omrSync.getStatus())) { - return false; + res = 1; } if (!StringUtils.equals(omr.getHomologationImpact(), omrSync.getHomologationImpact())) { - return false; + res = 1; } if (!StringUtils.equals(omr.getHomologation(), omrSync.getHomologation())) { - return false; + res = 1; } if (!StringUtils.equals(omr.getImpactCnHomo(), omrSync.getImpactCnHomo())) { - return false; + res = 1; } if (!StringUtils.equals(omr.getImpactEuHomo(), omrSync.getImpactEuHomo())) { - return false; + res = 1; } if (!StringUtils.equals(omr.getMasterDomain(), omrSync.getMasterDomain())) { - return false; + res = 1; } if (!StringUtils.equals(omr.getAppliedVehicleProject(), omrSync.getAppliedVehicleProject())) { - return false; + res = 1; } - return true; + if (!StringUtils.equals(omr.getPlannedBpLaunchBatch(), omrSync.getPlannedBpLaunchBatch())) { + res = 2; + } + return res; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/xml/OtaManageApplyEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/xml/OtaManageApplyEOMapper.xml index 7c83b88f7..c5647afc1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/xml/OtaManageApplyEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/xml/OtaManageApplyEOMapper.xml @@ -68,14 +68,14 @@ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java index 7fcc03374..4abf2106b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java @@ -11,12 +11,20 @@ import com.jero.common.util.oConvertUtils; import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.feishu.enums.TemplateInfoEnum2; import com.jero.modules.feishu.service.IFeishuService; -import com.jero.modules.ota.entity.*; +import com.jero.modules.ota.entity.OtaManageApplyEO; +import com.jero.modules.ota.entity.OtaManageHistory; +import com.jero.modules.ota.entity.OtaManagePermission; +import com.jero.modules.ota.entity.OtaManageReceive; +import com.jero.modules.ota.entity.OtaManageReceiveNsdp; import com.jero.modules.ota.enums.OtaCarEnum; import com.jero.modules.ota.enums.OtaHomoImpactEnum; import com.jero.modules.ota.enums.OtaStatusEnum; import com.jero.modules.ota.mapper.OtaManageApplyEOMapper; -import com.jero.modules.ota.service.*; +import com.jero.modules.ota.service.IOtaManageApplyEOService; +import com.jero.modules.ota.service.IOtaManageHistoryService; +import com.jero.modules.ota.service.IOtaManagePermissionService; +import com.jero.modules.ota.service.IOtaManageReceiveNsdpService; +import com.jero.modules.ota.service.IOtaManageReceiveService; import com.jero.modules.ota.vo.AllCarExportCnVO; import com.jero.modules.ota.vo.AllCarExportEnVO; import com.jero.modules.ota.vo.OneCarExportCnVO; @@ -57,7 +65,6 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.text.Collator; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; @@ -119,8 +126,6 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl getNsdpList(OtaManageApplyEO otaManageApplyEO) { - Date today = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); List resList = new ArrayList<>(); List dataList = otaManageReceiveNsdpService.queryList(); Map> dataMap = dataList.stream().collect(Collectors.groupingBy(OtaManageReceiveNsdp::getReleaseName)); @@ -213,20 +218,28 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl marketSet = new HashSet<>(); //车型 Set vehicleSet = new HashSet<>(); + int extensionItemCount = 0; for (OtaManageReceiveNsdp omrn : valList) { + if(ObjectUtils.isEmpty(omrn.getExtensionItemCount())){ + extensionItemCount = 0; + }else{ + extensionItemCount = omrn.getExtensionItemCount(); + } //找到最快来临的发布时间 try { - if(StringUtils.isNotBlank(omrn.getReleaseDate())){ - Date syncDate = sdf.parse(omrn.getReleaseDate()); - if (null == releaseDate) { - releaseDate = syncDate; - } else { - if (syncDate.after(today) && syncDate.before(releaseDate)) { + if(StringUtils.isNotBlank(omrn.getDateName())&&omrn.getDateName().equals("PLM")){ + if(StringUtils.isNotBlank(omrn.getReleaseDate())){ + Date syncDate = sdf.parse(omrn.getReleaseDate()); + if (null == releaseDate) { releaseDate = syncDate; + } else { + if (syncDate.before(releaseDate)) { + releaseDate = syncDate; + } } } } - } catch (ParseException e) { + } catch (Exception e) { e.printStackTrace(); } String appliedVehicleProject = omrn.getVehicle(); @@ -269,6 +282,7 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl getOtaPage(OtaManageApplyEO otaManageApplyEO) { LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); boolean otaManager = isOtaManager(); + boolean regulationOwner = isRegulationOwner(); + List otaManageApplyEOList = this.getNsdpList(otaManageApplyEO); List dataList = new ArrayList<>(); //去跟manager和studio权限 - if (otaManager) { + if (otaManager || regulationOwner) { dataList = otaManageApplyEOList; } else { List managePermissionList = otaManagePermissionService.queryByUserId(currentUser.getId()); @@ -300,76 +316,6 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl result = new ArrayList<>(); -// if (!dataList.isEmpty()) { -// List otaNameList = OtaCarEnum.getOtaNameList(); -// List plannedBpLaunchBatchList = dataList.stream() -// .filter(e -> StringUtils.isNotBlank(e.getPlannedBpLaunchBatch())) -// .map(OtaManageApplyEO::getPlannedBpLaunchBatch).distinct().collect(Collectors.toList()); -// if (!plannedBpLaunchBatchList.isEmpty()) { -// for (String plannedBpLaunchBatch : plannedBpLaunchBatchList) { -// OtaManageApplyEO manageApplyEO = new OtaManageApplyEO(); -// manageApplyEO.setPlannedBpLaunchBatch(plannedBpLaunchBatch); -// manageApplyEO.setId(plannedBpLaunchBatch); -// -// List otaManageApplyEOS = dataList.stream() -// .filter(e -> plannedBpLaunchBatch.equals(e.getPlannedBpLaunchBatch())).collect(Collectors.toList()); -// if (!otaManageApplyEOS.isEmpty()) { -// //发布时间 -// manageApplyEO.setReleaseDate(otaManageApplyEOS.get(0).getReleaseDate()); -// -// List appliedVehicleProjectList = otaManageApplyEOS.stream() -// .filter(e -> StringUtils.isNotBlank(e.getAppliedVehicleProject())) -// .map(OtaManageApplyEO::getAppliedVehicleProject).collect(Collectors.toList()); -// List carList = new ArrayList<>(); -// for (String appliedVehicleProject : appliedVehicleProjectList) { -// carList.addAll(Arrays.asList(appliedVehicleProject.split(","))); -// } -// if (!carList.isEmpty()) { -// //适用车型 -// carList = carList.stream().distinct().collect(Collectors.toList()); -// manageApplyEO.setAppliedVehicleProject(StringUtils.join(carList, ",")); -// //市场 -// Set marketSet = new HashSet<>(); -// for (String appliedVehicleProject : carList) { -// if(otaNameList.contains(appliedVehicleProject)){ -// marketSet.add(appliedVehicleProject); -// }else{ -// for (String s : appliedVehicleProject.split(",")) { -// String[] split = s.split(" "); -// if (split.length == 2) { -// if (!otaNameList.contains(s)) { -// marketSet.add(split[1]); -// } -// } else if (split.length == 3) { -// if (!otaNameList.contains(s)) { -// marketSet.add(split[2]); -// } -// } -// } -// } -// } -// if (!marketSet.isEmpty()) { -// manageApplyEO.setMarket(StringUtils.join(marketSet, ",")); -// } -// } -// } -// result.add(manageApplyEO); -// } -// } -// } -// if (ObjectUtils.isNotEmpty(otaManageApplyEO.getSoftwareIssueTimeStart())) { -// result = result.stream() -// .filter(e -> StringUtils.isNotBlank(e.getReleaseDate()) -// && (e.getReleaseNameDate().after(otaManageApplyEO.getSoftwareIssueTimeStart()) -// || e.getReleaseNameDate().equals(otaManageApplyEO.getSoftwareIssueTimeStart()))).collect(Collectors.toList()); -// } -// if (ObjectUtils.isNotEmpty(otaManageApplyEO.getSoftwareIssueTimeEnd())) { -// result = result.stream().filter(e -> StringUtils.isNotBlank(e.getReleaseDate()) -// && (e.getReleaseNameDate().before(otaManageApplyEO.getSoftwareIssueTimeEnd()) -// || e.getReleaseNameDate().equals(otaManageApplyEO.getSoftwareIssueTimeEnd()))).collect(Collectors.toList()); -// } if (!dataList.isEmpty()) { //表头排序 heartSort(otaManageApplyEO, dataList); @@ -390,7 +336,7 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl otaManageApplyEOList = this.getBaseMapper().getOtaList(otaManageApplyEO); //studio数据权限 - if (isOtaManager()) { + if (isOtaManager() || isRegulationOwner()) { otaManageApplyEOList = this.getBaseMapper().getOtaList(otaManageApplyEO); } else { otaManageApplyEOList = getStudioData(otaManageApplyEO, otaManageApplyEOList); @@ -781,15 +727,15 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl { - Date e1CreatedAt = ObjectUtils.isNotEmpty(e1.getCreatedAt()) ? e1.getCreatedAt() : new Date(0); - Date e2CreatedAt = ObjectUtils.isNotEmpty(e2.getCreatedAt()) ? e2.getCreatedAt() : new Date(0); - return e2CreatedAt.compareTo(e1CreatedAt); + String e1ReleaseName = StringUtils.isNotBlank(e1.getReleaseDate()) ? e1.getReleaseDate() : ""; + String e2ReleaseName = StringUtils.isNotBlank(e2.getReleaseDate()) ? e2.getReleaseDate() : ""; + return comparator.compare(e2ReleaseName, e1ReleaseName); }); } } private boolean hasPermission(String plannedBpLaunchBatch){ - if(isOtaManager()){ + if(isOtaManager()||isRegulationOwner()){ return true; } LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -814,6 +760,9 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl(); } + + boolean isStudio = isStudio(); + boolean isRegulationOwner = isRegulationOwner(); List otaManageApplyEOList = this.getBaseMapper().getOtaCarPage(otaManageApplyEO); List list = new ArrayList<>(); Map omaMap = new HashMap<>(); @@ -864,6 +813,7 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl regionDictList = sysDictItemServiceImpl.selectItemsByDictCode(DicCodeEnum.CERTIFICATION_PROGRESS.getCode()); list = new ArrayList<>(omaMap.values()); if (!list.isEmpty()) { List vprojectVersionList = getProjectVersionList(otaManageApplyEO.getAppliedVehicleProject(), null); @@ -940,7 +890,15 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl collect = vprojectVersionList.stream().filter(e -> e.getProjectId().equals(manageApplyEO.getProjectVersion())).distinct().collect(Collectors.toList()); if (!collect.isEmpty()) { - manageApplyEO.setProjectVersionText(collect.get(0).getCar() + "-" + collect.get(0).getYearName() + "-" + collect.get(0).getMarket()); + if("NA".equals(collect.get(0).getProjectId())){ + if (CutEnum.CN.getValue().equals(cut)) { + manageApplyEO.setProjectVersionText("不涉及"); + } else { + manageApplyEO.setProjectVersionText("NA"); + } + }else{ + manageApplyEO.setProjectVersionText(collect.get(0).getCar() + "-" + collect.get(0).getYearName() + "-" + collect.get(0).getMarket()); + } } }else{ //没有设置项目版本的情况 @@ -956,6 +914,23 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl collect = regionDictList.stream() + .filter(e -> e.getItemValue().equals(manageApplyEO.getAttestationSchedule())).collect(Collectors.toList()); + if (CutEnum.CN.getValue().equals(cut)) { + manageApplyEO.setAttestationScheduleText(collect.get(0).getItemText()); + } else { + manageApplyEO.setAttestationScheduleText(collect.get(0).getEnName()); + } + } if (StringUtils.isBlank(manageApplyEO.getMatchStatus())) { manageApplyEO.setMatchStatus(OtaStatusEnum.TO_BE_MATCHED.getKey()); if (CutEnum.CN.getValue().equals(cut)) { @@ -1330,7 +1305,7 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl regionDictList = sysDictItemServiceImpl.selectItemsByDictCode("certification_progress"); + List regionDictList = sysDictItemServiceImpl.selectItemsByDictCode(DicCodeEnum.CERTIFICATION_PROGRESS.getCode()); List regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); @@ -1574,6 +1549,22 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl userRoleList = this.sysUserRoleMapper.selectList(new QueryWrapper().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色 + if (CollectionUtils.isNotEmpty(userRoleList)) { + for (SysUserRole role : userRoleList) { + if (role.getRoleId().equals(RoleEnum.REGULATION_OWNER.getId())) { + return true; + } + } + } + return false; + } + private boolean isStudio() { LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); List userRoleList = this.sysUserRoleMapper.selectList(new QueryWrapper().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色 @@ -1636,6 +1627,9 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl list, boolean isSubmit, String cut) { + if (!isOtaManager() || !isStudio()) { + return; + } LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (CollectionUtils.isNotEmpty(list)) { List idList = list.stream() diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/controller/PlatformProjectLibraryBaseController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/controller/PlatformProjectLibraryBaseController.java index 9307bbfe8..d1964ba7b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/controller/PlatformProjectLibraryBaseController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/controller/PlatformProjectLibraryBaseController.java @@ -7,8 +7,9 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.vo.DictModel; -import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.platform.service.IPlatformProjectLibraryBaseService; +import com.jero.modules.project.entity.ProjectLawsInventoryEO; +import com.jero.modules.project.entity.ProjectLibraryBase; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -307,4 +308,17 @@ public class PlatformProjectLibraryBaseController extends JeroController overallReplacementUser(@RequestBody JSONObject json){ return this.platformIProjectLibraryBaseService.overallReplacementUser(json); } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "平台被哪些法规引用") + @ApiOperation(value="平台被哪些法规引用", notes="平台被哪些法规引用") + @GetMapping(value = "/queryQuoteList") + public Result> queryQuoteList(String platformLawsInventoryId,String cut) { + List list = platformIProjectLibraryBaseService.queryQuoteList(platformLawsInventoryId,cut); + return Result.OK(list); + } } 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 39c14ed4e..b622d8a80 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 @@ -80,6 +80,7 @@ plb.cooling_method, plb.filing_completion_time, plb.remark, + plb.platform_type, 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/IPlatformProjectLawsInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformProjectLawsInventoryEOService.java index e12e83503..6157f7ba7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformProjectLawsInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformProjectLawsInventoryEOService.java @@ -264,7 +264,21 @@ public interface IPlatformProjectLawsInventoryEOService extends IService> getTaskToConfirmStatistics(List projectLawsInventoryEOList); +// List> getTaskToConfirmStatistics(List projectLawsInventoryEOList); + + /** + * 设计任务确认 + * @param projectLawsInventoryEOList + * @return + */ + List> getDesignTaskToConfirmStatistics(List projectLawsInventoryEOList); + + /** + * 验证任务确认 + * @param projectLawsInventoryEOList + * @return + */ + List> getVerifyTaskToConfirmStatistics(List projectLawsInventoryEOList); /** * 获取设计符合性统计信息 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformProjectLibraryBaseService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformProjectLibraryBaseService.java index 5b067b8be..195f9d11f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformProjectLibraryBaseService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/IPlatformProjectLibraryBaseService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Result; import com.jero.common.system.vo.DictModel; +import com.jero.modules.project.entity.ProjectLawsInventoryEO; import com.jero.modules.project.entity.ProjectLibraryBase; import javax.servlet.http.HttpServletRequest; @@ -188,4 +189,11 @@ public interface IPlatformProjectLibraryBaseService extends IService queryList(List projectIdList); List getListByIds(List projectIdList); + + /** + * 平台被哪些法规引用 + * + * @return + */ + List queryQuoteList(String platformLawsInventoryId, String cut); } 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 e01abb68b..3c88d8d1a 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 @@ -57,7 +57,6 @@ import com.jero.modules.project.enums.ProjectMessageEnum; import com.jero.modules.project.enums.ProjectUserLocationEnum; import com.jero.modules.project.enums.ReviewResultEnum; import com.jero.modules.project.enums.RoleRelModelTypeEnum; -import com.jero.modules.project.enums.TaskAffirmStatusEnum; import com.jero.modules.project.enums.TaskStatusEnum; import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; import com.jero.modules.project.service.IProjectCertificationInventoryLogEOService; @@ -80,7 +79,6 @@ import com.jero.modules.system.service.ISysUserService; 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.TodoCenterStatusEnum; import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; import com.jero.modules.todoCenter.service.IProcessInfoEOService; import com.jero.modules.wkflow.enums.FlowTypeEnum; @@ -1710,7 +1708,7 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI if (StringUtils.equals(cut, CutEnum.CN.getValue())) { sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_ENGINEER.getName()); } else if (StringUtils.equals(cut, CutEnum.EN.getValue())) { - sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_ENGINEER.getCode()); + sysRole.setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_ENGINEER.getEnName()); } sysRoles.add(sysRole); } @@ -1726,7 +1724,7 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI if (StringUtils.equals(cut, CutEnum.CN.getValue())) { sysRole.setRoleName(ProjectRoleEnum.INTERFACE_PERSON.getName()); } else if (StringUtils.equals(cut, CutEnum.EN.getValue())) { - sysRole.setRoleName(ProjectRoleEnum.INTERFACE_PERSON.getCode()); + sysRole.setRoleName(ProjectRoleEnum.INTERFACE_PERSON.getEnName()); } sysRoles.add(sysRole); } @@ -1742,7 +1740,7 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI if (StringUtils.equals(cut, CutEnum.CN.getValue())) { sysRole.setRoleName(ProjectRoleEnum.PERSON_LIABLE.getName()); } else if (StringUtils.equals(cut, CutEnum.EN.getValue())) { - sysRole.setRoleName(ProjectRoleEnum.PERSON_LIABLE.getCode()); + sysRole.setRoleName(ProjectRoleEnum.PERSON_LIABLE.getEnName()); } sysRoles.add(sysRole); } @@ -1774,22 +1772,22 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI } else if (StringUtils.equals(cut, CutEnum.EN.getValue())) { if (manager.size() != 0) { manager.get(0).setRoleCode(ProjectRoleEnum.MANAGER.getValue()); - manager.get(0).setRoleName(ProjectRoleEnum.MANAGER.getCode()); + manager.get(0).setRoleName(ProjectRoleEnum.MANAGER.getEnName()); sysRoles.addAll(manager); } if (admin.size() != 0) { admin.get(0).setRoleCode(ProjectRoleEnum.ADMIN.getValue()); - admin.get(0).setRoleName(ProjectRoleEnum.ADMIN.getCode()); + admin.get(0).setRoleName(ProjectRoleEnum.ADMIN.getEnName()); sysRoles.addAll(admin); } if (Viewer.size() != 0) { Viewer.get(0).setRoleCode(ProjectRoleEnum.VIEWER.getValue()); - Viewer.get(0).setRoleName(ProjectRoleEnum.VIEWER.getCode()); + Viewer.get(0).setRoleName(ProjectRoleEnum.VIEWER.getEnName()); sysRoles.addAll(Viewer); } if (brandAdministrator.size() != 0) { brandAdministrator.get(0).setRoleCode(ProjectRoleEnum.BRAND_ADMINISTRATOR.getValue()); - brandAdministrator.get(0).setRoleName(ProjectRoleEnum.BRAND_ADMINISTRATOR.getCode()); + brandAdministrator.get(0).setRoleName(ProjectRoleEnum.BRAND_ADMINISTRATOR.getEnName()); sysRoles.addAll(brandAdministrator); } } @@ -3376,28 +3374,36 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI public List> getTaskToConfirmStatistics(List pciEoList) { List> result = new ArrayList<>(); - int notStartedCount = 0; - int toConfirmCount = 0; - int acceptedCount = 0; - int rejectedCount = 0; +// int listToBeReleasedCount = 0;//清单待发布 + int taskToBeInitiatedCount = 0;//任务待发起 + int taskToBeConfirmedCount = 0;//任务待确认 + int acceptedCount = 0;//责任人接受 + int rejectedCount = 0;//责任人拒绝 + if(CollectionUtils.isNotEmpty(pciEoList)){ - // 未发起 - notStartedCount = (int) pciEoList.stream().filter(pciEo -> { + // 清单待发布 +// listToBeReleasedCount = (int) pciEoList.stream().filter(pciEo -> { +// boolean flag = ( +// StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) +// || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue()) +// ); +// return flag; +// }).count(); + // 任务待发起 + taskToBeInitiatedCount = (int) pciEoList.stream().filter(pciEo -> { boolean flag = ( - StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) - || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue()) - || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) ); return flag; }).count(); - // 待确认 - toConfirmCount = (int) pciEoList.stream().filter(pciEo -> { + // 任务待确认 + taskToBeConfirmedCount = (int) pciEoList.stream().filter(pciEo -> { boolean flag = ( StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) ); return flag; }).count(); - // 接受 + // 责任人接受 acceptedCount = (int) pciEoList.stream().filter(pciEo -> { boolean flag = ( StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) @@ -3407,7 +3413,7 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI ); return flag; }).count(); - // 拒绝 + // 责任人拒绝 rejectedCount = (int) pciEoList.stream().filter(pciEo -> { boolean flag = ( StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()) @@ -3415,25 +3421,31 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI return flag; }).count(); } - Map notStartedMap = new HashMap<>(); - Map toConfirmMap = new HashMap<>(); + +// Map listToBeReleasedMap = new HashMap<>(); + Map taskToBeInitiatedMap = new HashMap<>(); + Map taskToBeConfirmedMap = new HashMap<>(); Map acceptedMap = new HashMap<>(); Map rejectedMap = new HashMap<>(); - notStartedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue()); - notStartedMap.put("taskAffirmStatusCount",notStartedCount); +// listToBeReleasedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()); +// listToBeReleasedMap.put("taskAffirmStatusCount",listToBeReleasedCount); - toConfirmMap.put("taskAffirmStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - toConfirmMap.put("taskAffirmStatusCount",toConfirmCount); + taskToBeInitiatedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()); + taskToBeInitiatedMap.put("taskAffirmStatusCount",taskToBeInitiatedCount); - acceptedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.ACCEPTED.getValue()); + taskToBeConfirmedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + taskToBeConfirmedMap.put("taskAffirmStatusCount",taskToBeConfirmedCount); + + acceptedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.ACCEPTED_OF_RESPONSIBLE_PERSON.getValue()); acceptedMap.put("taskAffirmStatusCount",acceptedCount); - rejectedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.REJECTED.getValue()); + rejectedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()); rejectedMap.put("taskAffirmStatusCount",rejectedCount); - result.add(notStartedMap); - result.add(toConfirmMap); +// result.add(listToBeReleasedMap); + result.add(taskToBeInitiatedMap); + result.add(taskToBeConfirmedMap); result.add(acceptedMap); result.add(rejectedMap); return result; @@ -3443,67 +3455,82 @@ public class PlatformProjectCertificationInventoryEOServiceImpl extends ServiceI public List> getPrehomoStatistice(List pciEoList) { List> result = new ArrayList<>(); - int notStartedCount = 0; - int toConfirmCount = 0; - int acceptedCount = 0; - int rejectedCount = 0; + int taskToBeConfirmedCount = 0;//任务待确认 + int resultsToBeSubmittedCount = 0;//结果待提交 + int resultsToBeReviewedCount = 0;//结果待审查 + int reviewAndPassCount = 0;//审查通过 + int reviewAndReturnCount = 0;//审查退回 + if(CollectionUtils.isNotEmpty(pciEoList)){ - // 未发起 - notStartedCount = (int) pciEoList.stream().filter(pciEo -> { + // 任务待确认 + taskToBeConfirmedCount = (int) pciEoList.stream().filter(pciEo -> { boolean flag = ( - StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) - || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue()) - || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()) +// StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) +// || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.CERTIFICATION_RETURNED.getValue()) +// || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) +// || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) +// || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()) ); return flag; }).count(); - // 待确认 - toConfirmCount = (int) pciEoList.stream().filter(pciEo -> { + // 结果待提交 + resultsToBeSubmittedCount = (int) pciEoList.stream().filter(pciEo -> { boolean flag = ( StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) - || StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + ); + return flag; + }).count(); + // 结果待审查 + resultsToBeReviewedCount = (int) pciEoList.stream().filter(pciEo -> { + boolean flag = ( + StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) ); return flag; }).count(); // 审查通过 - acceptedCount = (int) pciEoList.stream().filter(pciEo -> { + reviewAndPassCount = (int) pciEoList.stream().filter(pciEo -> { boolean flag = ( StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()) ); return flag; }).count(); // 审查退回 - rejectedCount = (int) pciEoList.stream().filter(pciEo -> { + reviewAndReturnCount = (int) pciEoList.stream().filter(pciEo -> { boolean flag = ( StringUtils.equals(pciEo.getFlowStatus(),CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()) ); return flag; }).count(); } - Map notStartedMap = new HashMap<>(); - Map toConfirmMap = new HashMap<>(); - Map acceptedMap = new HashMap<>(); - Map rejectedMap = new HashMap<>(); + Map taskToBeConfirmedMap = new HashMap<>(); + Map resultsToBeSubmittedMap = new HashMap<>(); + Map resultsToBeReviewedMap = new HashMap<>(); + Map reviewAndPassMap = new HashMap<>(); + Map reviewAndReturnMap = new HashMap<>(); - notStartedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue()); - notStartedMap.put("taskAffirmStatusCount",notStartedCount); + taskToBeConfirmedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + taskToBeConfirmedMap.put("taskAffirmStatusCount",taskToBeConfirmedCount); - toConfirmMap.put("taskAffirmStatus", TodoCenterStatusEnum.TO_SUBMIT.getValue()); -// toConfirmMap.put("taskAffirmStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - toConfirmMap.put("taskAffirmStatusCount",toConfirmCount); + resultsToBeSubmittedMap.put("taskAffirmStatus", CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + resultsToBeSubmittedMap.put("taskAffirmStatusCount",resultsToBeSubmittedCount); - acceptedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()); - acceptedMap.put("taskAffirmStatusCount",acceptedCount); + resultsToBeReviewedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + resultsToBeReviewedMap.put("taskAffirmStatusCount",resultsToBeReviewedCount); - rejectedMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()); - rejectedMap.put("taskAffirmStatusCount",rejectedCount); + reviewAndPassMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()); + reviewAndPassMap.put("taskAffirmStatusCount",reviewAndPassCount); - result.add(notStartedMap); - result.add(toConfirmMap); - result.add(acceptedMap); - result.add(rejectedMap); + reviewAndReturnMap.put("taskAffirmStatus",CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()); + reviewAndReturnMap.put("taskAffirmStatusCount",reviewAndReturnCount); + + result.add(taskToBeConfirmedMap); + result.add(resultsToBeSubmittedMap); + result.add(resultsToBeReviewedMap); + result.add(reviewAndPassMap); + result.add(reviewAndReturnMap); return result; } 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 f25ae55b1..6d0b819b8 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 @@ -365,6 +365,8 @@ public class PlatformProjectLawsInventoryEOServiceImpl extends ServiceImpl wrapperTemp = new LambdaQueryWrapper<>(); wrapperTemp.in(ProjectLawsInventoryEO::getProjectLibraryId, projectLawsInventoryEO.getProjectLibraryId()); List projectLawsInventoryEOList = this.list(wrapperTemp); + //项目信息 + ProjectLibraryBase projectLibraryBase = projectLibraryBaseService.getById(projectLawsInventoryEO.getProjectLibraryId()); //调取 String dummyInventoryBaseId = projectLawsInventoryEO.getDummyInventoryBaseId(); if (StringUtils.isNotBlank(projectLawsInventoryEO.getDummyids())) { @@ -403,6 +405,8 @@ public class PlatformProjectLawsInventoryEOServiceImpl extends ServiceImpl> getTaskToConfirmStatistics(List projectLawsInventoryEOList) { + public List> getDesignTaskToConfirmStatistics(List projectLawsInventoryEOList) { List> result = new ArrayList<>(); - int notStartedCount = 0; - int toConfirmCount = 0; - int acceptedCount = 0; - int rejectedCount = 0; +// int listToBeReleasedCount = 0;//清单待发布 + int taskToBeInitiatedCount = 0;//任务待发起 + int taskToBeConfirmedCount = 0;//任务待确认 + int acceptedCount = 0;//责任人接收 + int rejectedCount = 0;//责任人拒绝 if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){ - // 未发起 - int designNotStartedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { - boolean flag = ( - StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) - ); - return flag; - }).count(); - int verifyNotStartedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { - boolean flag = ( - StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) - || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) - || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) - ); - return flag; - }).count(); - notStartedCount = designNotStartedCount + verifyNotStartedCount; + // 清单待发布 +// listToBeReleasedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) +// ); +// return flag; +// }).count(); - // 待确认 - int designToConfirmCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + // 任务待发起 + taskToBeInitiatedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + boolean flag = ( + StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + ); + return flag; + }).count(); + + // 任务待确认 + taskToBeConfirmedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { boolean flag = ( StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) ); return flag; }).count(); - int verifyToConfirmCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + + // 责任人接收 + acceptedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + boolean flag = ( + StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) + || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) + || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue()) + || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) + || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).count(); + + // 责任人拒绝 + rejectedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + boolean flag = ( + StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) + ); + return flag; + }).count(); + } + +// Map listToBeReleasedMap = new HashMap<>();//清单待发布 + Map taskToBeInitiatedMap = new HashMap<>();//任务待发起 + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map acceptedMap = new HashMap<>();//责任人接收 + Map rejectedMap = new HashMap<>();//责任人拒绝 + +// listToBeReleasedMap.put("designTaskAffirmStatus",ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()); +// listToBeReleasedMap.put("designTaskAffirmStatusCount",listToBeReleasedCount); + + taskToBeInitiatedMap.put("designTaskAffirmStatus",ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()); + taskToBeInitiatedMap.put("designTaskAffirmStatusCount",taskToBeInitiatedCount); + + taskToBeConfirmedMap.put("designTaskAffirmStatus",ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + taskToBeConfirmedMap.put("designTaskAffirmStatusCount",taskToBeConfirmedCount); + + acceptedMap.put("designTaskAffirmStatus",ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue()); + acceptedMap.put("designTaskAffirmStatusCount",acceptedCount); + + rejectedMap.put("designTaskAffirmStatus",ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()); + rejectedMap.put("designTaskAffirmStatusCount",rejectedCount); + +// result.add(listToBeReleasedMap); + result.add(taskToBeInitiatedMap); + result.add(taskToBeConfirmedMap); + result.add(acceptedMap); + result.add(rejectedMap); + return result; + } + @Override + public List> getVerifyTaskToConfirmStatistics(List projectLawsInventoryEOList) { + List> result = new ArrayList<>(); + +// int listToBeReleasedCount = 0;//清单待发布 + int taskToBeInitiatedCount = 0;//任务待发起 + int taskToBeConfirmedCount = 0;//任务待确认 + int acceptedCount = 0;//责任人接收 + int rejectedCount = 0;//责任人拒绝 + if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){ + // 清单待发布 +// listToBeReleasedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) +// ); +// return flag; +// }).count(); + + // 任务待发起 + taskToBeInitiatedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + boolean flag = ( + StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + ); + return flag; + }).count(); + + // 任务待确认 + taskToBeConfirmedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { boolean flag = ( StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) ); return flag; }).count(); - toConfirmCount = designToConfirmCount + verifyToConfirmCount; - // 接受 - int designAcceptedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { - boolean flag = ( - StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) - ); - return flag; - }).count(); - int verifyAcceptedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + // 责任人接收 + acceptedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { boolean flag = ( StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) @@ -10089,76 +10171,188 @@ public class PlatformProjectLawsInventoryEOServiceImpl extends ServiceImpl { - boolean flag = ( - StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) - ); - return flag; - }).count(); - int verifyRejectedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + // 责任人拒绝 + rejectedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { boolean flag = ( StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) ); return flag; }).count(); - rejectedCount = designRejectedCount + verifyRejectedCount; } - Map notStartedMap = new HashMap<>(); - Map toConfirmMap = new HashMap<>(); - Map acceptedMap = new HashMap<>(); - Map rejectedMap = new HashMap<>(); +// Map listToBeReleasedMap = new HashMap<>();//清单待发布 + Map taskToBeInitiatedMap = new HashMap<>();//任务待发起 + Map taskToBeConfirmedMap = new HashMap<>();//任务待确认 + Map acceptedMap = new HashMap<>();//责任人接收 + Map rejectedMap = new HashMap<>();//责任人拒绝 - notStartedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue()); - notStartedMap.put("taskAffirmStatusCount",notStartedCount); +// listToBeReleasedMap.put("verifyTaskAffirmStatus",ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()); +// listToBeReleasedMap.put("verifyTaskAffirmStatusCount",listToBeReleasedCount); - toConfirmMap.put("taskAffirmStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - toConfirmMap.put("taskAffirmStatusCount",toConfirmCount); + taskToBeInitiatedMap.put("verifyTaskAffirmStatus",ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()); + taskToBeInitiatedMap.put("verifyTaskAffirmStatusCount",taskToBeInitiatedCount); - acceptedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.ACCEPTED.getValue()); - acceptedMap.put("taskAffirmStatusCount",acceptedCount); + taskToBeConfirmedMap.put("verifyTaskAffirmStatus",ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + taskToBeConfirmedMap.put("verifyTaskAffirmStatusCount",taskToBeConfirmedCount); - rejectedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.REJECTED.getValue()); - rejectedMap.put("taskAffirmStatusCount",rejectedCount); + acceptedMap.put("verifyTaskAffirmStatus",ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue()); + acceptedMap.put("verifyTaskAffirmStatusCount",acceptedCount); - result.add(notStartedMap); - result.add(toConfirmMap); + rejectedMap.put("verifyTaskAffirmStatus",ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()); + rejectedMap.put("verifyTaskAffirmStatusCount",rejectedCount); + +// result.add(listToBeReleasedMap); + result.add(taskToBeInitiatedMap); + result.add(taskToBeConfirmedMap); result.add(acceptedMap); result.add(rejectedMap); return result; } +// @Override +// public List> getTaskToConfirmStatistics(List projectLawsInventoryEOList) { +// List> result = new ArrayList<>(); +// +// int notStartedCount = 0; +// int toConfirmCount = 0; +// int acceptedCount = 0; +// int rejectedCount = 0; +// if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){ +// // 未发起 +// int designNotStartedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) +// ); +// return flag; +// }).count(); +// int verifyNotStartedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) +// ); +// return flag; +// }).count(); +// notStartedCount = designNotStartedCount + verifyNotStartedCount; +// +// // 待确认 +// int designToConfirmCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) +// ); +// return flag; +// }).count(); +// int verifyToConfirmCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) +// ); +// return flag; +// }).count(); +// toConfirmCount = designToConfirmCount + verifyToConfirmCount; +// +// // 接受 +// int designAcceptedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) +// ); +// return flag; +// }).count(); +// int verifyAcceptedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) +// ); +// return flag; +// }).count(); +// acceptedCount = designAcceptedCount + verifyAcceptedCount; +// +// // 拒绝 +// int designRejectedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) +// ); +// return flag; +// }).count(); +// int verifyRejectedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { +// boolean flag = ( +// StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) +// ); +// return flag; +// }).count(); +// rejectedCount = designRejectedCount + verifyRejectedCount; +// } +// +// Map notStartedMap = new HashMap<>(); +// Map toConfirmMap = new HashMap<>(); +// Map acceptedMap = new HashMap<>(); +// Map rejectedMap = new HashMap<>(); +// +// notStartedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue()); +// notStartedMap.put("taskAffirmStatusCount",notStartedCount); +// +// toConfirmMap.put("taskAffirmStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); +// toConfirmMap.put("taskAffirmStatusCount",toConfirmCount); +// +// acceptedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.ACCEPTED.getValue()); +// acceptedMap.put("taskAffirmStatusCount",acceptedCount); +// +// rejectedMap.put("taskAffirmStatus",TaskAffirmStatusEnum.REJECTED.getValue()); +// rejectedMap.put("taskAffirmStatusCount",rejectedCount); +// +// result.add(notStartedMap); +// result.add(toConfirmMap); +// result.add(acceptedMap); +// result.add(rejectedMap); +// return result; +// } @Override public List> getDesignComplianceStatistice(List projectLawsInventoryEOList) { List> result = new ArrayList<>(); - - int notStartedCount = 0; - int toConfirmCount = 0; - int complianceCount = 0; - int nonComplianceCount = 0; + int taskToBeConfirmedCount = 0;//任务待确认 + int resultsToBeSubmittedCount = 0;//结果待提交 + int resultsToBeReviewedCount = 0;//结果待审查 + int complianceCount = 0;//符合 + int nonComplianceCount = 0;//不符合 + int toBeTrackedCount = 0;//待追踪 if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){ - // 未发起 - notStartedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + // 任务待确认 + taskToBeConfirmedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { boolean flag = ( - StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) + StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) +// StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) // || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) +// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) + ); return flag; }).count(); - // 待确认 - toConfirmCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + // 结果待提交 + resultsToBeSubmittedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { boolean flag = ( StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) -// || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).count(); + + // 结果待审查 + resultsToBeReviewedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + boolean flag = ( + StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) ); return flag; }).count(); @@ -10170,69 +10364,94 @@ public class PlatformProjectLawsInventoryEOServiceImpl extends ServiceImpl { boolean flag = ( StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) - || StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).count(); + // 待追踪 + toBeTrackedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + boolean flag = ( + StringUtils.equals(pliEo.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) ); return flag; }).count(); } - Map notStartedMap = new HashMap<>(); - Map toConfirmMap = new HashMap<>(); - Map acceptedMap = new HashMap<>(); - Map rejectedMap = new HashMap<>(); + Map taskToBeConfirmedMap = new HashMap<>(); + Map resultsToBeSubmittedMap = new HashMap<>(); + Map resultsToBeReviewedMap = new HashMap<>(); + Map complianceMap = new HashMap<>(); + Map nonComplianceMap = new HashMap<>(); + Map toBeTrackedMap = new HashMap<>(); - notStartedMap.put("designFlowTaskStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue()); - notStartedMap.put("designFlowTaskStatusCount",notStartedCount); + taskToBeConfirmedMap.put("designFlowTaskStatus",ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + taskToBeConfirmedMap.put("designFlowTaskStatusCount",taskToBeConfirmedCount); - toConfirmMap.put("designFlowTaskStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - toConfirmMap.put("designFlowTaskStatusCount",toConfirmCount); + resultsToBeSubmittedMap.put("designFlowTaskStatus",ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + resultsToBeSubmittedMap.put("designFlowTaskStatusCount",resultsToBeSubmittedCount); - acceptedMap.put("designFlowTaskStatus",ComplianceFlowStatusEnum.CONFORMITY.getValue()); - acceptedMap.put("designFlowTaskStatusCount",complianceCount); + resultsToBeReviewedMap.put("designFlowTaskStatus",ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + resultsToBeReviewedMap.put("designFlowTaskStatusCount",resultsToBeReviewedCount); - rejectedMap.put("designFlowTaskStatus",ComplianceFlowStatusEnum.INCONFORMITY.getValue()); - rejectedMap.put("designFlowTaskStatusCount",nonComplianceCount); + complianceMap.put("designFlowTaskStatus",ComplianceFlowStatusEnum.CONFORMITY.getValue()); + complianceMap.put("designFlowTaskStatusCount",complianceCount); - result.add(notStartedMap); - result.add(toConfirmMap); - result.add(acceptedMap); - result.add(rejectedMap); + nonComplianceMap.put("designFlowTaskStatus",ComplianceFlowStatusEnum.INCONFORMITY.getValue()); + nonComplianceMap.put("designFlowTaskStatusCount",nonComplianceCount); + + toBeTrackedMap.put("designFlowTaskStatus",ComplianceFlowStatusEnum.TO_TRACK.getValue()); + toBeTrackedMap.put("designFlowTaskStatusCount",toBeTrackedCount); + + result.add(taskToBeConfirmedMap); + result.add(resultsToBeSubmittedMap); + result.add(resultsToBeReviewedMap); + result.add(complianceMap); + result.add(nonComplianceMap); + result.add(toBeTrackedMap); return result; } @Override public List> getVerifyComplianceStatistice(List projectLawsInventoryEOList) { List> result = new ArrayList<>(); - - int notStartedCount = 0; - int toConfirmCount = 0; - int complianceCount = 0; - int nonComplianceCount = 0; + int taskToBeConfirmedCount = 0;//任务待确认 + int resultsToBeSubmittedCount = 0;//结果待提交 + int resultsToBeReviewedCount = 0;//结果待审查 + int complianceCount = 0;//符合 + int nonComplianceCount = 0;//不符合 + int toBeTrackedCount = 0;//待追踪 if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){ - // 未发起 - notStartedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + // 任务待确认 + taskToBeConfirmedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { boolean flag = ( - StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) - || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) - || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) + StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) + || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) +// StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()) // || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) +// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()) + ); return flag; }).count(); - // 待确认 - toConfirmCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + // 结果待提交 + resultsToBeSubmittedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { boolean flag = ( StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()) - || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) - || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()) -// || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).count(); + + // 结果待审查 + resultsToBeReviewedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + boolean flag = ( + StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()) ); return flag; }).count(); @@ -10244,38 +10463,53 @@ public class PlatformProjectLawsInventoryEOServiceImpl extends ServiceImpl { boolean flag = ( StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue()) - || StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) + ); + return flag; + }).count(); + // 待追踪 + toBeTrackedCount = (int) projectLawsInventoryEOList.stream().filter(pliEo -> { + boolean flag = ( + StringUtils.equals(pliEo.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue()) ); return flag; }).count(); } - Map notStartedMap = new HashMap<>(); - Map toConfirmMap = new HashMap<>(); - Map acceptedMap = new HashMap<>(); - Map rejectedMap = new HashMap<>(); + Map taskToBeConfirmedMap = new HashMap<>(); + Map resultsToBeSubmittedMap = new HashMap<>(); + Map resultsToBeReviewedMap = new HashMap<>(); + Map complianceMap = new HashMap<>(); + Map nonComplianceMap = new HashMap<>(); + Map toBeTrackedMap = new HashMap<>(); - notStartedMap.put("verifyFlowTaskStatus",TaskAffirmStatusEnum.NOT_STARTED.getValue()); - notStartedMap.put("verifyFlowTaskStatusCount",notStartedCount); + taskToBeConfirmedMap.put("verifyFlowTaskStatus",ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + taskToBeConfirmedMap.put("verifyFlowTaskStatusCount",taskToBeConfirmedCount); - toConfirmMap.put("verifyFlowTaskStatus",TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - toConfirmMap.put("verifyFlowTaskStatusCount",toConfirmCount); + resultsToBeSubmittedMap.put("verifyFlowTaskStatus",ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + resultsToBeSubmittedMap.put("verifyFlowTaskStatusCount",resultsToBeSubmittedCount); - acceptedMap.put("verifyFlowTaskStatus",ComplianceFlowStatusEnum.CONFORMITY.getValue()); - acceptedMap.put("verifyFlowTaskStatusCount",complianceCount); + resultsToBeReviewedMap.put("verifyFlowTaskStatus",ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + resultsToBeReviewedMap.put("verifyFlowTaskStatusCount",resultsToBeReviewedCount); - rejectedMap.put("verifyFlowTaskStatus",ComplianceFlowStatusEnum.INCONFORMITY.getValue()); - rejectedMap.put("verifyFlowTaskStatusCount",nonComplianceCount); + complianceMap.put("verifyFlowTaskStatus",ComplianceFlowStatusEnum.CONFORMITY.getValue()); + complianceMap.put("verifyFlowTaskStatusCount",complianceCount); - result.add(notStartedMap); - result.add(toConfirmMap); - result.add(acceptedMap); - result.add(rejectedMap); + nonComplianceMap.put("verifyFlowTaskStatus",ComplianceFlowStatusEnum.INCONFORMITY.getValue()); + nonComplianceMap.put("verifyFlowTaskStatusCount",nonComplianceCount); + + toBeTrackedMap.put("verifyFlowTaskStatus",ComplianceFlowStatusEnum.TO_TRACK.getValue()); + toBeTrackedMap.put("verifyFlowTaskStatusCount",toBeTrackedCount); + + result.add(taskToBeConfirmedMap); + result.add(resultsToBeSubmittedMap); + result.add(resultsToBeReviewedMap); + result.add(complianceMap); + result.add(nonComplianceMap); + result.add(toBeTrackedMap); return result; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectLibraryBaseServiceImpl.java index 2f0adfbce..1ed0ae53b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/platform/service/impl/PlatformProjectLibraryBaseServiceImpl.java @@ -30,6 +30,7 @@ import com.jero.modules.platform.mapper.PlatformProjectLawsInventoryEOMapper; import com.jero.modules.platform.mapper.PlatformProjectLibraryBaseMapper; import com.jero.modules.platform.service.IPlatformProjectCertificationInventoryEOService; import com.jero.modules.platform.service.IPlatformProjectLibraryBaseService; +import com.jero.modules.project.entity.LawsInventoryPlatformEO; import com.jero.modules.project.entity.ProjectCertificationInventoryEO; import com.jero.modules.project.entity.ProjectLawsInventoryEO; import com.jero.modules.project.entity.ProjectLawsInventoryLogEO; @@ -58,13 +59,17 @@ import com.jero.modules.project.enums.TopEnum; import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper; import com.jero.modules.project.mapper.ProjectUserPermissionMapper; +import com.jero.modules.project.service.ILawsInventoryPlatformEOService; import com.jero.modules.project.service.IProjectLibraryRoleRelEOService; import com.jero.modules.project.service.IProjectLibraryStatisticsService; import com.jero.modules.project.service.IProjectUserPermissionService; +import com.jero.modules.project.service.editImpl.ProjectLawsInventoryEOEditServiceImpl; +import com.jero.modules.project.service.impl.ProjectLawsInventoryEOServiceImpl; import com.jero.modules.project.service.impl.ProjectLawsInventoryLogEOServiceImpl; import com.jero.modules.project.service.impl.ProjectRelatedPersonnelServiceImpl; import com.jero.modules.project.service.impl.ProjectTaskPlanningServiceImpl; import com.jero.modules.project.vo.TimeNodeVO; +import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.enums.DicCodeEnum; @@ -74,10 +79,11 @@ import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.IProjectUserBrandService; import com.jero.modules.system.service.ISysDictService; 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.system.util.DictItemUtil; import com.jero.modules.system.util.StringUtils; import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; -import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum; import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; import com.jero.modules.top.entity.TopProjectEO; import com.jero.modules.top.service.ITopProjectEOService; @@ -200,6 +206,14 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl personnels = projectRelatedPersonnelService.list(personnelQueryWrapper); - if (!original.getStudioEngineer().equals(projectLibraryBase.getStudioEngineer())) { + if (StringUtils.isNotBlank(original.getStudioEngineer()) && !original.getStudioEngineer().equals(projectLibraryBase.getStudioEngineer())) { StringBuilder participator = new StringBuilder(); if (ObjectUtils.isNotEmpty(personnels)) { if (ObjectUtils.isNotEmpty(personnels.get(0).getLawEngineer())) { @@ -1141,7 +1155,7 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl certificationProgressMap = new HashMap<>(); // 认证任务确认 Map rzTaskToConfirmMap = new HashMap<>(); + //设计任务确认 + Map designTaskToConfirmMap = new HashMap<>(); + //验证任务确认 + Map verifyTaskToConfirmMap = new HashMap<>(); //清单确认统计 /*List> listingToConfirmMapList = this.platformProjectLawsInventoryEOMapper.getlistingToConfirmStatistics(id); @@ -1613,17 +1631,43 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl projectLawsInventoryIdList = projectLawsInventoryEOList.stream().distinct().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList()); //任务确认统计 - List> taskToConfirmMapList = this.platformProjectLawsInventoryEOService.getTaskToConfirmStatistics(projectLawsInventoryEOList); - int taskAffirmStatusCount = 0; - if(CollectionUtils.isNotEmpty(taskToConfirmMapList)){ +// List> taskToConfirmMapList = this.platformProjectLawsInventoryEOService.getTaskToConfirmStatistics(projectLawsInventoryEOList); +// int taskAffirmStatusCount = 0; +// if(CollectionUtils.isNotEmpty(taskToConfirmMapList)){ +// //taskAffirmStatusCount +// for (Map taskToConfirm : taskToConfirmMapList) { +// taskAffirmStatusCount += (int) taskToConfirm.get("taskAffirmStatusCount"); +// } +// } +// taskToConfirmMap.put("taskToConfirmMapList",taskToConfirmMapList); +// taskToConfirmMap.put("count",taskAffirmStatusCount); +// result.put("taskToConfirmMap",taskToConfirmMap); + + //设计任务确认 + List> designTaskToConfirmMapList = this.platformProjectLawsInventoryEOService.getDesignTaskToConfirmStatistics(projectLawsInventoryEOList); + int designTaskAffirmStatusCount = 0; + if(CollectionUtils.isNotEmpty(designTaskToConfirmMapList)){ //taskAffirmStatusCount - for (Map taskToConfirm : taskToConfirmMapList) { - taskAffirmStatusCount += (int) taskToConfirm.get("taskAffirmStatusCount"); + for (Map taskToConfirm : designTaskToConfirmMapList) { + designTaskAffirmStatusCount += (int) taskToConfirm.get("designTaskAffirmStatusCount"); } } - taskToConfirmMap.put("taskToConfirmMapList",taskToConfirmMapList); - taskToConfirmMap.put("count",taskAffirmStatusCount); - result.put("taskToConfirmMap",taskToConfirmMap); + designTaskToConfirmMap.put("designTaskToConfirmMapList",designTaskToConfirmMapList); + designTaskToConfirmMap.put("count",designTaskAffirmStatusCount); + result.put("designTaskToConfirmMap",designTaskToConfirmMap); + + //验证任务确认 + List> verifyTaskToConfirmMapList = this.platformProjectLawsInventoryEOService.getVerifyTaskToConfirmStatistics(projectLawsInventoryEOList); + int verifyTaskAffirmStatusCount = 0; + if(CollectionUtils.isNotEmpty(verifyTaskToConfirmMapList)){ + //taskAffirmStatusCount + for (Map taskToConfirm : verifyTaskToConfirmMapList) { + verifyTaskAffirmStatusCount += (int) taskToConfirm.get("verifyTaskAffirmStatusCount"); + } + } + verifyTaskToConfirmMap.put("verifyTaskToConfirmMapList",verifyTaskToConfirmMapList); + verifyTaskToConfirmMap.put("count",verifyTaskAffirmStatusCount); + result.put("verifyTaskToConfirmMap",verifyTaskToConfirmMap); //设计符合性 @@ -2470,9 +2514,9 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl params) { +// String cut = (String) params.get("cut"); +// String sheetName = "法规符合性管理"; +// String firstTitle = "法规任务确认," + +// "设计符合性确认," + +// "验证符合性确认"; +// String secondTitle = "责任领域(一级)," + +// "未发起,待确认,接受,拒绝,完成度," + +// "未发起,待确认,符合,不符合,完成度," + +// "未发起,待确认,符合,不符合,完成度"; +// if(StringUtils.equals(cut,CutEnum.EN.getValue())){ +// sheetName = "Regulatory compliance management"; +// firstTitle = "Regulatory task confirmation," + +// "Design Conformity Verification," + +// "Verification Conformity Confirmation"; +// secondTitle = "Area of responsibility (level 1)," + +// "Not launched,To be confirmed,Accept,Refuse,Degree of completion," + +// "Not launched,To be confirmed,Meet,Not meet,Degree of completion," + +// "Not launched,To be confirmed,Meet,Not meet,Degree of completion"; +// } String cut = (String) params.get("cut"); String sheetName = "法规符合性管理"; - String firstTitle = "法规任务确认," + - "设计符合性确认," + - "验证符合性确认"; + String firstTitle = "设计任务确认," + + "验证任务确认," + + "设计符合性," + + "验证符合性"; String secondTitle = "责任领域(一级)," + - "未发起,待确认,接受,拒绝,完成度," + - "未发起,待确认,符合,不符合,完成度," + - "未发起,待确认,符合,不符合,完成度"; + "清单待发布,任务待发起,任务待确认,责任人接受,责任人拒绝,完成度," + + "清单待发布,任务待发起,任务待确认,责任人接受,责任人拒绝,完成度," + + "任务待确认,结果待提交,结果待审查,符合,不符合,待追踪,完成度," + + "任务待确认,结果待提交,结果待审查,符合,不符合,待追踪,完成度"; if(StringUtils.equals(cut,CutEnum.EN.getValue())){ sheetName = "Regulatory compliance management"; - firstTitle = "Regulatory task confirmation," + - "Design Conformity Verification," + - "Verification Conformity Confirmation"; + firstTitle = "Design Task Confirmation," + + "Verification Task Confirmation," + + "Design Compliance," + + "Verify Compliance"; secondTitle = "Area of responsibility (level 1)," + - "Not launched,To be confirmed,Accept,Refuse,Degree of completion," + - "Not launched,To be confirmed,Meet,Not meet,Degree of completion," + - "Not launched,To be confirmed,Meet,Not meet,Degree of completion"; + "List To Be Released,Task To Be Initiated,Task To Be Confirmed,Accepted By The Responsible Person,Rejected By The Responsible Person,Degree Of Completion," + + "List To Be Released,Task To Be Initiated,Task To Be Confirmed,Accepted By The Responsible Person,Rejected By The Responsible Person,Degree Of Completion," + + "Task To Be Confirmed,Results To Be Submitted,Results To Be Reviewed,Compliance,Non-compliance,To Be Tracked,Degree Of Completion," + + "Task To Be Confirmed,Results To Be Submitted,Results To Be Reviewed,Compliance,Non-compliance,To Be Tracked,Degree Of Completion"; } HSSFSheet sheet = workbook.createSheet(sheetName); //合并单元格 起始行,结束行,起始列,结束列 - CellRangeAddress region1 = new CellRangeAddress(0, 0, 1, 5); + CellRangeAddress region1 = new CellRangeAddress(0, 0, 1, 6); sheet.addMergedRegion(region1); - CellRangeAddress region2 = new CellRangeAddress(0, 0, 6, 10); + CellRangeAddress region2 = new CellRangeAddress(0, 0, 7, 12); sheet.addMergedRegion(region2); - CellRangeAddress region3 = new CellRangeAddress(0, 0, 11, 15); + CellRangeAddress region3 = new CellRangeAddress(0, 0, 13, 19); sheet.addMergedRegion(region3); + CellRangeAddress region4 = new CellRangeAddress(0, 0, 20, 26); + sheet.addMergedRegion(region4); String[] firstTitleArr = firstTitle.split(","); String[] secondTitleArr = secondTitle.split(","); @@ -2699,16 +2768,18 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl taskConfirmMap= this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritory(pliEoList, params); - Map taskConfirmNotStartedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double taskConfirmNotStartedAmount = (double) taskConfirmNotStartedMap.get("amount"); - Map taskConfirmToConfirmMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - double taskConfirmToConfirmAmount = (double) taskConfirmToConfirmMap.get("amount"); - Map taskConfirmAcceptedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.ACCEPTED.getValue()); - double taskConfirmAcceptedAmount = (double) taskConfirmAcceptedMap.get("amount"); - Map taskConfirmRejectedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.REJECTED.getValue()); - double taskConfirmRejectedAmount = (double) taskConfirmRejectedMap.get("amount"); - dataRow.createCell(1).setCellValue(taskConfirmNotStartedAmount); - dataRow.createCell(2).setCellValue(taskConfirmToConfirmAmount); - dataRow.createCell(3).setCellValue(taskConfirmAcceptedAmount); - dataRow.createCell(4).setCellValue(taskConfirmRejectedAmount); - double taskConfirmCount = taskConfirmNotStartedAmount + taskConfirmToConfirmAmount + taskConfirmAcceptedAmount + taskConfirmRejectedAmount; - double taskConfirmPercentage = (taskConfirmAcceptedAmount / taskConfirmCount) * 100; - String taskConfirmPercentageStr = (taskConfirmPercentage != 0 && (taskConfirmCount !=0 )) ? df.format(taskConfirmPercentage) : "0"; - dataRow.createCell(5).setCellValue(taskConfirmPercentageStr + percentSign); + //设计任务确认 + Map designTaskConfirmMap= this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritoryDesign(pliEoList, params); + Map designTaskListToBeReleasedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()); + double designTaskListToBeReleasedAmount = (double) designTaskListToBeReleasedMap.get("amount"); + Map designTaskToBeInitiatedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()); + double designTaskToBeInitiatedAmount = (double) designTaskToBeInitiatedMap.get("amount"); + Map designTaskToBeConfirmedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double designTaskToBeConfirmedAmount = (double) designTaskToBeConfirmedMap.get("amount"); + Map designAcceptedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue()); + double designAcceptedAmount = (double) designAcceptedMap.get("amount"); + Map designRejectedMap = (Map) designTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()); + double designRejectedAmount = (double) designRejectedMap.get("amount"); + dataRow.createCell(1).setCellValue(designTaskListToBeReleasedAmount); + dataRow.createCell(2).setCellValue(designTaskToBeInitiatedAmount); + dataRow.createCell(3).setCellValue(designTaskToBeConfirmedAmount); + dataRow.createCell(4).setCellValue(designAcceptedAmount); + dataRow.createCell(5).setCellValue(designRejectedAmount); + double designTaskConfirmCount = designTaskListToBeReleasedAmount + designTaskToBeInitiatedAmount + designTaskToBeConfirmedAmount + designAcceptedAmount + designRejectedAmount; + double designTaskConfirmPercentage = (designAcceptedAmount / designTaskConfirmCount) * 100; + String designTaskConfirmPercentageStr = (designTaskConfirmPercentage != 0 && (designTaskConfirmCount !=0 )) ? df.format(designTaskConfirmPercentage) : "0"; + dataRow.createCell(6).setCellValue(designTaskConfirmPercentageStr + percentSign); + + //验证任务确认 + Map verifyTaskConfirmMap= this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritoryVerify(pliEoList, params); + Map verifyTaskListToBeReleasedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()); + double verifyTaskListToBeReleasedAmount = (double) verifyTaskListToBeReleasedMap.get("amount"); + Map verifyTaskToBeInitiatedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()); + double verifyTaskToBeInitiatedAmount = (double) verifyTaskToBeInitiatedMap.get("amount"); + Map verifyTaskToBeConfirmedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double verifyTaskToBeConfirmedAmount = (double) verifyTaskToBeConfirmedMap.get("amount"); + Map verifyAcceptedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_ACCEPTED.getValue()); + double verifyAcceptedAmount = (double) verifyAcceptedMap.get("amount"); + Map verifyRejectedMap = (Map) verifyTaskConfirmMap.get(ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue()); + double verifyRejectedAmount = (double) verifyRejectedMap.get("amount"); + + dataRow.createCell(7).setCellValue(verifyTaskListToBeReleasedAmount); + dataRow.createCell(8).setCellValue(verifyTaskToBeInitiatedAmount); + dataRow.createCell(9).setCellValue(verifyTaskToBeConfirmedAmount); + dataRow.createCell(10).setCellValue(verifyAcceptedAmount); + dataRow.createCell(11).setCellValue(verifyRejectedAmount); + double verifyTaskConfirmCount = verifyTaskListToBeReleasedAmount + verifyTaskToBeInitiatedAmount + verifyTaskToBeConfirmedAmount + verifyAcceptedAmount + verifyRejectedAmount; + double verifyTaskConfirmPercentage = (verifyAcceptedAmount / verifyTaskConfirmCount) * 100; + String verifyTaskConfirmPercentageStr = (verifyTaskConfirmPercentage != 0 && (verifyTaskConfirmCount !=0 )) ? df.format(verifyTaskConfirmPercentage) : "0"; + dataRow.createCell(12).setCellValue(verifyTaskConfirmPercentageStr + percentSign); + + //设计符合性 Map designMap = this.projectLibraryStatisticsService.getDesignComplianceStatisticeGroupByTerritory(pliEoList, params); - Map designNotStartedMap = (Map) designMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double designNotStartedAmount = (double) designNotStartedMap.get("amount"); - Map designToConfirmMap = (Map) designMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - double designToConfirmAmount = (double) designToConfirmMap.get("amount"); - Map designComplianceMap = (Map) designMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); - double designComplianceAmount = (double) designComplianceMap.get("amount"); - Map designNonComplianceMap = (Map) designMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); - double designNonComplianceAmount = (double) designNonComplianceMap.get("amount"); - dataRow.createCell(6).setCellValue(designNotStartedAmount); - dataRow.createCell(7).setCellValue(designToConfirmAmount); - dataRow.createCell(8).setCellValue(designComplianceAmount); - dataRow.createCell(9).setCellValue(designNonComplianceAmount); - double designCount = designNotStartedAmount + designToConfirmAmount + designComplianceAmount + designNonComplianceAmount; - double designPercentage = (designComplianceAmount / designCount) * 100; - String designPercentageStr = (designPercentage != 0 && (designCount !=0 )) ? df.format(designPercentage) : "0"; - dataRow.createCell(10).setCellValue(designPercentageStr + percentSign); + Map taskToBeConfirmedMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double taskToBeConfirmedAmountDesign = (double) taskToBeConfirmedMapDesign.get("amount"); + Map resultsToBeSubmittedMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + double resultsToBeSubmittedAmountDesign = (double) resultsToBeSubmittedMapDesign.get("amount"); + Map resultsToBeReviewedMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + double resultsToBeReviewedAmountDesign = (double) resultsToBeReviewedMapDesign.get("amount"); + Map complianceMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); + double complianceAmountDesign = (double) complianceMapDesign.get("amount"); + Map nonComplianceMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); + double nonComplianceAmountDesign = (double) nonComplianceMapDesign.get("amount"); + Map toBeTrackedMapDesign = (Map) designMap.get(ComplianceFlowStatusEnum.TO_TRACK.getValue()); + double toBeTrackedAmountDesign = (double) toBeTrackedMapDesign.get("amount"); + dataRow.createCell(13).setCellValue(taskToBeConfirmedAmountDesign); + dataRow.createCell(14).setCellValue(resultsToBeSubmittedAmountDesign); + dataRow.createCell(15).setCellValue(resultsToBeReviewedAmountDesign); + dataRow.createCell(16).setCellValue(complianceAmountDesign); + dataRow.createCell(17).setCellValue(nonComplianceAmountDesign); + dataRow.createCell(18).setCellValue(toBeTrackedAmountDesign); + double designCount = taskToBeConfirmedAmountDesign + resultsToBeSubmittedAmountDesign + resultsToBeReviewedAmountDesign + nonComplianceAmountDesign + nonComplianceAmountDesign + toBeTrackedAmountDesign; + double designPercentage = (complianceAmountDesign / designCount) * 100; + String designPercentageStr = (designPercentage != 0 && (designCount !=0 )) ? df.format(designPercentage) : "0"; + dataRow.createCell(19).setCellValue(designPercentageStr + percentSign); + + //验证符合性(明天从此位置开始改) Map verifyMap = this.projectLibraryStatisticsService.getVerifyComplianceStatisticeGroupByTerritory(pliEoList, params); - Map verifyNotStartedMap = (Map) verifyMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double verifyNotStartedAmount = (double) verifyNotStartedMap.get("amount"); - Map verifyToConfirmMap = (Map) verifyMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - double verifyToConfirmAmount = (double) verifyToConfirmMap.get("amount"); - Map verifyComplianceMap = (Map) verifyMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); - double verifyComplianceAmount = (double) verifyComplianceMap.get("amount"); - Map verifyNonComplianceMap = (Map) verifyMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); - double verifyNonComplianceAmount = (double) verifyNonComplianceMap.get("amount"); - dataRow.createCell(11).setCellValue(verifyNotStartedAmount); - dataRow.createCell(12).setCellValue(verifyToConfirmAmount); - dataRow.createCell(13).setCellValue(verifyComplianceAmount); - dataRow.createCell(14).setCellValue(verifyNonComplianceAmount); - double verifyCount = verifyNotStartedAmount + verifyToConfirmAmount + verifyComplianceAmount + verifyNonComplianceAmount; - double verifyPercentage = (verifyComplianceAmount / verifyCount) * 100; + Map taskToBeConfirmedMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double taskToBeConfirmedAmountVerify = (double) taskToBeConfirmedMapVerify.get("amount"); + Map resultsToBeSubmittedMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + double resultsToBeSubmittedAmountVerify = (double) resultsToBeSubmittedMapVerify.get("amount"); + Map resultsToBeReviewedMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + double resultsToBeReviewedAmountVerify = (double) resultsToBeReviewedMapVerify.get("amount"); + Map complianceMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.CONFORMITY.getValue()); + double complianceAmountVerify = (double) complianceMapVerify.get("amount"); + Map nonComplianceMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.INCONFORMITY.getValue()); + double nonComplianceAmountVerify = (double) nonComplianceMapVerify.get("amount"); + Map toBeTrackedMapVerify = (Map) verifyMap.get(ComplianceFlowStatusEnum.TO_TRACK.getValue()); + double toBeTrackedAmountVerify = (double) toBeTrackedMapVerify.get("amount"); + + dataRow.createCell(20).setCellValue(taskToBeConfirmedAmountVerify); + dataRow.createCell(21).setCellValue(resultsToBeSubmittedAmountVerify); + dataRow.createCell(22).setCellValue(resultsToBeReviewedAmountVerify); + dataRow.createCell(23).setCellValue(complianceAmountVerify); + dataRow.createCell(24).setCellValue(nonComplianceAmountVerify); + dataRow.createCell(25).setCellValue(toBeTrackedAmountVerify); + double verifyCount = taskToBeConfirmedAmountVerify + resultsToBeSubmittedAmountVerify + resultsToBeReviewedAmountVerify + + complianceAmountVerify + nonComplianceAmountVerify + toBeTrackedAmountVerify; + double verifyPercentage = (complianceAmountVerify / verifyCount) * 100; String verifyPercentageStr = (verifyPercentage != 0 && (verifyCount !=0 )) ? df.format(verifyPercentage) : "0"; - dataRow.createCell(15).setCellValue(verifyPercentageStr + percentSign); + dataRow.createCell(26).setCellValue(verifyPercentageStr + percentSign); } /** @@ -2835,50 +2951,52 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl params){ - String cut = (String) params.get("cut"); +// String cut = (String) params.get("cut"); // String sheetName = "认证活动管理"; // String firstTitle = "认证任务确认," + -// "Pre-Homo," + -// "认证进度"; +// "Pre-Homo"; // String secondTitle = "责任领域(一级)," + // "未发起,待确认,接受,拒绝,完成度," + -// "未发起,待确认,审查通过,审查退回,完成度," + -// "未开始,进行中,实验通过,实验失败,部件报告未上传,部件报告已上传,部件报告已入库,完成度"; +// "未发起,待提交,审查通过,审查退回,完成度"; +//// "未发起,待确认,审查通过,审查退回,完成度"; // if(StringUtils.equals(cut,CutEnum.EN.getValue())){ // sheetName = "Certification Activity Management"; // firstTitle = "Authentication task confirmation," + -// "Pre-Homo," + -// "Certification progress"; +// "Pre-Homo"; // secondTitle = "Area of responsibility (level 1)," + // "Not launched,To be confirmed,Accept,Refuse,Degree of completion," + -// "Not launched,To be confirmed,Review of the adoption,Review return,Degree of completion," + -// "Not started,In progress,Experiment passed,Experiment failed,Parts report not uploaded,Parts report uploaded,Parts report in stock,Degree of completion"; +// "Not launched,To submit,Review of the adoption,Review return,Degree of completion"; +//// "Not launched,To be confirmed,Review of the adoption,Review return,Degree of completion"; // } + String cut = (String) params.get("cut"); String sheetName = "认证活动管理"; String firstTitle = "认证任务确认," + - "Pre-Homo"; + "Pre-Homo流程," + + "认证进度"; String secondTitle = "责任领域(一级)," + - "未发起,待确认,接受,拒绝,完成度," + - "未发起,待提交,审查通过,审查退回,完成度"; -// "未发起,待确认,审查通过,审查退回,完成度"; + "清单待发布,任务待发起,任务待确认,责任人接受,责任人拒绝,完成度," + + "任务待确认,结果待提交,结果待审查,审查通过,审查退回,完成度," + + "未开始,进行中,实验通过,实验失败,完成度"; if(StringUtils.equals(cut,CutEnum.EN.getValue())){ sheetName = "Certification Activity Management"; - firstTitle = "Authentication task confirmation," + - "Pre-Homo"; + firstTitle = "Authentication Task Confirmation," + + "Pre-Homo Process," + + "Certification Progress"; secondTitle = "Area of responsibility (level 1)," + - "Not launched,To be confirmed,Accept,Refuse,Degree of completion," + - "Not launched,To submit,Review of the adoption,Review return,Degree of completion"; -// "Not launched,To be confirmed,Review of the adoption,Review return,Degree of completion"; + "List To Be Released,Task To Be Initiated,Task To Be Confirmed,Accepted Of Responsible Person,Refusal Of Responsible Person,Degree Of Completion," + + "Task To Be Confirmed,Results To Be Submitted,Results To Be Reviewed,Review And Pass,Review And Return,Degree Of Completion," + + "Not Started,In Progress,Experiment Passed,Experiment Failed,Degree Of Completion"; } HSSFSheet sheet = workbook.createSheet(sheetName); //合并单元格 起始行,结束行,起始列,结束列 - CellRangeAddress region1 = new CellRangeAddress(0, 0, 1, 5); + CellRangeAddress region1 = new CellRangeAddress(0, 0, 1, 6); sheet.addMergedRegion(region1); - CellRangeAddress region2 = new CellRangeAddress(0, 0, 6, 10); + CellRangeAddress region2 = new CellRangeAddress(0, 0, 7, 12); sheet.addMergedRegion(region2); + CellRangeAddress region3 = new CellRangeAddress(0, 0, 13, 17); // CellRangeAddress region3 = new CellRangeAddress(0, 0, 11, 18); -// sheet.addMergedRegion(region3); + sheet.addMergedRegion(region3); // CellRangeAddress region4 = new CellRangeAddress(0, 0, 19, 23); // sheet.addMergedRegion(region4); @@ -2889,15 +3007,15 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl taskConfirmMap = this.projectLibraryStatisticsService.getRZTaskToConfirmStatisticsGroupByTerritory(pciEoList, params); - Map taskConfirmNotStartedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double taskConfirmNotStartedAmount = (double) taskConfirmNotStartedMap.get("amount"); - Map taskConfirmToConfirmMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue()); - double taskConfirmToConfirmAmount = (double) taskConfirmToConfirmMap.get("amount"); - Map taskConfirmAcceptedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.ACCEPTED.getValue()); - double taskConfirmAcceptedAmount = (double) taskConfirmAcceptedMap.get("amount"); - Map taskConfirmRejectedMap = (Map) taskConfirmMap.get(TaskAffirmStatusEnum.REJECTED.getValue()); - double taskConfirmRejectedAmount = (double) taskConfirmRejectedMap.get("amount"); - dataRow.createCell(1).setCellValue(taskConfirmNotStartedAmount); - dataRow.createCell(2).setCellValue(taskConfirmToConfirmAmount); - dataRow.createCell(3).setCellValue(taskConfirmAcceptedAmount); - dataRow.createCell(4).setCellValue(taskConfirmRejectedAmount); - double taskConfirmCount = taskConfirmNotStartedAmount + taskConfirmToConfirmAmount + taskConfirmAcceptedAmount + taskConfirmRejectedAmount; - double taskConfirmPercentage = (taskConfirmAcceptedAmount / taskConfirmCount) * 100; + Map taskListToBeReleasedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()); + double taskListToBeReleasedAmount = (double) taskListToBeReleasedMap.get("amount"); + Map taskToBeInitiatedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue()); + double taskToBeInitiatedAmount = (double) taskToBeInitiatedMap.get("amount"); + Map taskToBeConfirmedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double taskToBeConfirmedAmount = (double) taskToBeConfirmedMap.get("amount"); + Map taskAcceptedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.ACCEPTED_OF_RESPONSIBLE_PERSON.getValue()); + double taskAcceptedAmount = (double) taskAcceptedMap.get("amount"); + Map taskRejectedMap = (Map) taskConfirmMap.get(CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue()); + double taskRejectedAmount = (double) taskRejectedMap.get("amount"); + + dataRow.createCell(1).setCellValue(taskListToBeReleasedAmount); + dataRow.createCell(2).setCellValue(taskToBeInitiatedAmount); + dataRow.createCell(3).setCellValue(taskToBeConfirmedAmount); + dataRow.createCell(4).setCellValue(taskAcceptedAmount); + dataRow.createCell(5).setCellValue(taskRejectedAmount); + double taskConfirmCount = taskListToBeReleasedAmount + taskToBeInitiatedAmount + taskToBeConfirmedAmount +taskAcceptedAmount+ taskRejectedAmount; + double taskConfirmPercentage = (taskAcceptedAmount / taskConfirmCount) * 100; String taskConfirmPercentageStr = (taskConfirmPercentage != 0 && (taskConfirmCount !=0 )) ? df.format(taskConfirmPercentage) : "0"; - dataRow.createCell(5).setCellValue(taskConfirmPercentageStr + percentSign); + dataRow.createCell(6).setCellValue(taskConfirmPercentageStr + percentSign); Map prehomoMap = this.projectLibraryStatisticsService.getPrehomoStatisticeGroupByTerritory(pciEoList, params); - Map prehomoNotStartedMap = (Map) prehomoMap.get(TaskAffirmStatusEnum.NOT_STARTED.getValue()); - double prehomoNotStartedAmount = (double) prehomoNotStartedMap.get("amount"); - Map prehomoToConfirmMap = (Map) prehomoMap.get(TodoCenterStatusEnum.TO_SUBMIT.getValue()); - double prehomoToConfirmAmount = (double) prehomoToConfirmMap.get("amount"); - Map prehomoAcceptedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()); - double prehomoAcceptedAmount = (double) prehomoAcceptedMap.get("amount"); - Map prehomoRejectedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()); - double prehomoRejectedAmount = (double) prehomoRejectedMap.get("amount"); - dataRow.createCell(6).setCellValue(prehomoNotStartedAmount); - dataRow.createCell(7).setCellValue(prehomoToConfirmAmount); - dataRow.createCell(8).setCellValue(prehomoAcceptedAmount); - dataRow.createCell(9).setCellValue(prehomoRejectedAmount); - double prehomoCount = prehomoNotStartedAmount + prehomoToConfirmAmount + prehomoAcceptedAmount + prehomoRejectedAmount; - double prehomoPercentage = (prehomoAcceptedAmount / prehomoCount) * 100; + Map prehomoTaskToBeConfirmedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); + double prehomoTaskToBeConfirmedAmount = (double) prehomoTaskToBeConfirmedMap.get("amount"); + Map prehomoResultsToBeSubmittedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue()); + double prehomoResultsToBeSubmittedAmount = (double) prehomoResultsToBeSubmittedMap.get("amount"); + Map prehomoResultsToBeReviewedMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue()); + double prehomoResultsToBeReviewedAmount = (double) prehomoResultsToBeReviewedMap.get("amount"); + Map prehomoReviewAndPassMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue()); + double prehomoReviewAndPassAmount = (double) prehomoReviewAndPassMap.get("amount"); + Map prehomoReviewAndReturnMap = (Map) prehomoMap.get(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue()); + double prehomoReviewAndReturnAmount = (double) prehomoReviewAndReturnMap.get("amount"); + + dataRow.createCell(7).setCellValue(prehomoTaskToBeConfirmedAmount); + dataRow.createCell(8).setCellValue(prehomoResultsToBeSubmittedAmount); + dataRow.createCell(9).setCellValue(prehomoResultsToBeReviewedAmount); + dataRow.createCell(10).setCellValue(prehomoReviewAndPassAmount); + dataRow.createCell(11).setCellValue(prehomoReviewAndReturnAmount); + double prehomoCount = prehomoTaskToBeConfirmedAmount + prehomoResultsToBeSubmittedAmount + prehomoResultsToBeReviewedAmount + + prehomoReviewAndPassAmount + prehomoReviewAndReturnAmount; + double prehomoPercentage = (prehomoReviewAndPassAmount / prehomoCount) * 100; String prehomoPercentageStr = (prehomoPercentage != 0 && (prehomoCount !=0 )) ? df.format(prehomoPercentage) : "0"; - dataRow.createCell(10).setCellValue(prehomoPercentageStr + percentSign); + dataRow.createCell(12).setCellValue(prehomoPercentageStr + percentSign); Map certificationProgressMap = this.projectLibraryStatisticsService.getPartCertificationProgressStatisticsGroupByTerritory(pciEoList, params); Map certificationProgressNotStartMap = (Map)certificationProgressMap.get(CertificationProgressEnum.NOT_START.getValue()); @@ -3015,26 +3142,15 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl certificationProgressTestFailedMap = (Map)certificationProgressMap.get(CertificationProgressEnum.TEST_FAILED.getValue()); double certificationProgressTestFailedAmount = (double) certificationProgressTestFailedMap.get("amount"); - Map certificationProgressNotSubmitMap = (Map)certificationProgressMap.get(CertificationProgressEnum.COMPONENT_REPORT_NOT_SUBMITTED.getValue()); - double certificationProgressNotSubmitAmount = (double) certificationProgressNotSubmitMap.get("amount"); - Map certificationProgressSubmitMap = (Map)certificationProgressMap.get(CertificationProgressEnum.COMPONENT_REPORT_SUBMITTED.getValue()); - double certificationProgressSubmitAmount = (double) certificationProgressSubmitMap.get("amount"); - Map certificationProgressStoredMap = (Map)certificationProgressMap.get(CertificationProgressEnum.COMPONENT_REPORT_HAS_BEEN_STORED.getValue()); - double certificationProgressStoredAmount = (double) certificationProgressStoredMap.get("amount"); -// dataRow.createCell(11).setCellValue(certificationProgressNotStartAmount); -// dataRow.createCell(12).setCellValue(certificationProgressInProgressAmount); -// dataRow.createCell(13).setCellValue(certificationProgressTestPassedAmount); -// dataRow.createCell(14).setCellValue(certificationProgressTestFailedAmount); -// dataRow.createCell(15).setCellValue(certificationProgressNotSubmitAmount); -// dataRow.createCell(16).setCellValue(certificationProgressSubmitAmount); -// dataRow.createCell(17).setCellValue(certificationProgressStoredAmount); + dataRow.createCell(13).setCellValue(certificationProgressNotStartAmount); + dataRow.createCell(14).setCellValue(certificationProgressInProgressAmount); + dataRow.createCell(15).setCellValue(certificationProgressTestPassedAmount); + dataRow.createCell(16).setCellValue(certificationProgressTestFailedAmount); double certificationProgressCount = certificationProgressNotStartAmount + certificationProgressInProgressAmount - + certificationProgressTestPassedAmount + certificationProgressTestFailedAmount - + certificationProgressNotSubmitAmount + certificationProgressSubmitAmount - + certificationProgressStoredAmount; + + certificationProgressTestPassedAmount + certificationProgressTestFailedAmount; double certificationProgressPercentage = (certificationProgressTestPassedAmount / certificationProgressCount) * 100; String certificationProgressPercentageStr = (certificationProgressPercentage != 0 && (certificationProgressCount !=0 )) ? df.format(certificationProgressPercentage) : "0"; -// dataRow.createCell(18).setCellValue(certificationProgressPercentageStr + percentSign); + dataRow.createCell(17).setCellValue(certificationProgressPercentageStr + percentSign); } /** @@ -3551,6 +3667,106 @@ public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl queryQuoteList(String platformLawsInventoryId,String cut) { + if(StringUtils.isBlank(platformLawsInventoryId)){ + return new ArrayList<>(); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(LawsInventoryPlatformEO::getPlatformLawsInventoryId,platformLawsInventoryId); + List inventoryPlatformEOList = lawsInventoryPlatformEOService.list(wrapper); + + List lawsInventoryEOList = new ArrayList<>(); + if(ObjectUtils.isNotEmpty(inventoryPlatformEOList)){ + //树形结构数据字典(技术领域) + List categoryList = sysCategoryService.list(); + + List lawsInventoryIdIdList = inventoryPlatformEOList.stream().map(LawsInventoryPlatformEO::getLawsInventoryId).distinct().collect(Collectors.toList()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(ProjectLawsInventoryEO::getId,lawsInventoryIdIdList); + queryWrapper.orderByDesc(ProjectLawsInventoryEO::getProjectLibraryId); + lawsInventoryEOList = projectLawsInventoryEOService.list(queryWrapper); + + List projectLibraryIdList = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getProjectLibraryId).distinct().collect(Collectors.toList()); + List projectLibraryBaseList = platformProjectLibraryBaseMapper.getListByIds(projectLibraryIdList); + + List targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); + + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { + //目标市场 + String targetMarket = DictItemUtil.getDictItemText(cut,projectLibraryBase.getTargetMarket(),targetMarketList); + projectLibraryBase.setTargetMarketName(targetMarket); + String projectName = projectLibraryBase.getProjectName()+"-" + +projectLibraryBase.getYearName()+"-" + +targetMarket+"-" + +projectLibraryBase.getProjectVersion(); + projectLibraryBase.setProjectName(projectName); + } + + List collect1 = lawsInventoryEOList.stream().filter(e-> org.apache.commons.lang3.StringUtils.isNotBlank(e.getDesignDeliverableTemplate())).map(ProjectLawsInventoryEO::getDesignDeliverableTemplate).distinct().collect(Collectors.toList()); + List collect2 = lawsInventoryEOList.stream().filter(e-> org.apache.commons.lang3.StringUtils.isNotBlank(e.getVerifyDeliverableTemplate())).map(ProjectLawsInventoryEO::getVerifyDeliverableTemplate).distinct().collect(Collectors.toList()); + List fileIdList = new ArrayList<>(); + if(!collect1.isEmpty()){ + fileIdList.addAll(collect1); + } + if(!collect2.isEmpty()){ + fileIdList.addAll(collect2); + } + //文件 + List fileInfos = new ArrayList<>(); + if (fileIdList.size() != 0) { + fileInfos = iOSSFileService.getFileInfos(org.apache.commons.lang3.StringUtils.join(fileIdList, ",")); + } + + for (ProjectLawsInventoryEO projectLawsInventoryEO : lawsInventoryEOList) { + //项目名称 + List collect = projectLibraryBaseList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getProjectLibraryId())).collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(collect)){ + projectLawsInventoryEO.setProjectName(collect.get(0).getProjectName()); + } + //设计 + String designDeliverableType = projectLawsInventoryEO.getDesignDeliverableType();//交付物类型 + String designDeliverableTemplate = projectLawsInventoryEO.getDesignDeliverableTemplate();//交付物模板 + //验证 + String verifyDeliverableType = projectLawsInventoryEO.getVerifyDeliverableType();//交付物类型 + String verifyDeliverableTemplate = projectLawsInventoryEO.getVerifyDeliverableTemplate();//交付物模板 + //设计交付物类型 + if (org.apache.commons.lang3.StringUtils.isNotBlank(designDeliverableType)) { + List designDeliverableTypeList = Arrays.asList(designDeliverableType.split(",")); + String name = projectLawsInventoryEOService.getTreeName(cut, categoryList, designDeliverableTypeList); + projectLawsInventoryEO.setDesignDeliverableTypeName(name); + } + //验证交付物类型 + if (org.apache.commons.lang3.StringUtils.isNotBlank(verifyDeliverableType)) { + List verifyDeliverableTypeList = Arrays.asList(verifyDeliverableType.split(",")); + String name = projectLawsInventoryEOService.getTreeName(cut, categoryList, verifyDeliverableTypeList); + projectLawsInventoryEO.setVerifyDeliverableTypeName(name); + } + //交付物类型模板 + if (fileInfos.size() != 0) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(designDeliverableTemplate)) { + String fileName = this.editService.getFileName(null, fileInfos, designDeliverableTemplate); + if (org.apache.commons.lang3.StringUtils.isNotBlank(fileName)) { + projectLawsInventoryEO.setDesignDeliverableTemplateName(fileName); + } + } + if (org.apache.commons.lang3.StringUtils.isNotBlank(verifyDeliverableTemplate)) { + String fileName = this.editService.getFileName(null, fileInfos, verifyDeliverableTemplate); + if (org.apache.commons.lang3.StringUtils.isNotBlank(fileName)) { + projectLawsInventoryEO.setVerifyDeliverableTemplateName(fileName); + } + } + } + } + } + return lawsInventoryEOList; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java index 2f4fcbf67..376d38b12 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java @@ -354,4 +354,10 @@ public class ProjectLibraryBaseController extends JeroController overallReplacementUser(@RequestBody JSONObject json){ return this.projectLibraryBaseService.overallReplacementUser(json); } + @AutoLog(value = "查询数字平台或车型平台") + @ApiOperation(value="查询数字平台或车型平台", notes="查询数字平台或车型平台") + @GetMapping(value = "/getPlatform") + public List getPlatform(String platform){ + return projectLibraryBaseService.getPlatform(platform); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRelatedPersonnelController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRelatedPersonnelController.java index c283989e9..01ecebc77 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRelatedPersonnelController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRelatedPersonnelController.java @@ -61,7 +61,9 @@ public class ProjectRelatedPersonnelController extends JeroController { @TableField(exist = false) private List urlList; + @ApiModelProperty(value = "平台件类型") + private String platformType; + @Override public int compareTo(ProjectLibraryBase o) { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectRelatedPersonnel.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectRelatedPersonnel.java index 2d33511d1..f87c95cde 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectRelatedPersonnel.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectRelatedPersonnel.java @@ -43,6 +43,8 @@ public class ProjectRelatedPersonnel implements Serializable { @Excel(name = "责任领域,Responsible Field", width = 15,orderNum = "1",dicCode = "duty_territory") @Dict(dicCode = "duty_territory") private java.lang.String dutyTerritory; + @TableField(exist = false) + private java.lang.String dutyTerritoryName; /**法规工程师*/ private java.lang.String lawEngineer; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CertificationInventoryFlowStatusEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CertificationInventoryFlowStatusEnum.java index 211b6c269..ec640d4ef 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CertificationInventoryFlowStatusEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/CertificationInventoryFlowStatusEnum.java @@ -29,6 +29,7 @@ public enum CertificationInventoryFlowStatusEnum { CERTIFICATION_RETURNED("认证退回","Certification returned","Certification returned"), TASK_TO_BE_CONFIRMED("任务待确认","Task to be confirmed","Task to be confirmed"), REFUSAL_OF_RESPONSIBLE_PERSON("责任人拒绝","Refusal of responsible person","Refusal of responsible person"), + ACCEPTED_OF_RESPONSIBLE_PERSON("责任人接受","Accepted of responsible person","Accepted of responsible person"), RESULTS_TO_BE_SUBMITTED("结果待提交","Results to be submitted","Results to be submitted"), //ENGINEER_RETURN("工程师退回","Engineer return","Engineer return"), RESULTS_TO_BE_REVIEWED("结果待审查","Results to be reviewed","Results to be reviewed"), diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ComplianceFlowStatusEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ComplianceFlowStatusEnum.java index 6949a4ebb..a4cb202dd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ComplianceFlowStatusEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ComplianceFlowStatusEnum.java @@ -9,8 +9,9 @@ import org.apache.commons.lang.StringUtils; public enum ComplianceFlowStatusEnum { LIST_TO_BE_RELEASED("清单待发布","List to be released","List to be released"), LIST_TO_BE_CHECKED("任务待发起","Task to be initiated","List to be checked"), - REGULATORY_ENGINEER_RETURNS("法规工程师退回","Regulatory engineer returns","Regulatory engineer returns"), + REGULATORY_ENGINEER_RETURNS("法规退回","Regulatory engineer returns","Regulatory engineer returns"), DUTY_PERSON_REJECTED("责任人拒绝","Rejected by the responsible person","Duty Person Rejected"), + DUTY_PERSON_ACCEPTED("责任人接受","Accepted by the responsible person","Duty Person Accepted"), TASK_TO_BE_CONFIRMED("任务待确认","Task to be confirmed","Task to be confirmed"), RESULTS_TO_BE_SUBMITTED("结果待提交","Results to be submitted","Results to be submitted"), RESULTS_TO_BE_REVIEWED("结果待审查","Results to be reviewed","Results to be reviewed"), diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/FlowStateEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/FlowStateEnum.java index 10ba287e5..a35b3aa1b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/FlowStateEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/FlowStateEnum.java @@ -13,7 +13,7 @@ public enum FlowStateEnum { UNINVOLVED("不涉及","NA","NA"), LIST_TO_BE_RELEASED("清单待发布","List to be released","List to be released"), LIST_TO_BE_CHECKED("任务待发起","Task to be initiated","List to be checked"), - REGULATORY_ENGINEER_RETURNS("法规工程师退回","Regulatory engineer returns","Regulatory engineer returns"), + REGULATORY_ENGINEER_RETURNS("法规退回","Regulatory engineer returns","Regulatory engineer returns"), REFUSAL_OF_RESPONSIBLE_PERSON("责任人拒绝","Refusal of responsible person","Duty Person Rejected"), TASK_TO_BE_CONFIRMED("任务待确认","Task to be confirmed","Task to be confirmed"), RESULTS_TO_BE_SUBMITTED("结果待提交","Results to be submitted","Results to be submitted"), diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java index d72025ea0..c5a5f33d3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/OperatorTypeEnum.java @@ -43,6 +43,8 @@ public enum OperatorTypeEnum { QUERY_CERTIFICATION_PROGRESS_STATISTICS_ALL("查询认证进度统计-全部","queryCertificationProgressStatisticsAll"), QUERY_CERTIFICATION_PROGRESS_STATISTICS_CAR("查询认证进度统计-整车","queryCertificationProgressStatisticsCar"), QUERY_CERTIFICATION_PROGRESS_STATISTICS_PART("查询认证进度统计-零部件","queryCertificationProgressStatisticsPart"), + QUERY_DESIGN_TASK_CONFIRMATION("查询设计任务确认统计","queryDesignTaskConfirmation"), + QUERY_VERIFICATION_TASK_CONFIRMATION("查询验证任务确认统计","queryVerificationTaskConfirmation"), ADD_LAWS_OPINION_GATHER("添加法规意见收集数据","addLawsOpinionGather"), UPDATE_LAWS_OPINION_GATHER_GATHER_RESULT("更新法规意见收集数据收集结果","updateLawsOpinionGatherGatherResult"), diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/PlatformEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/PlatformEnum.java new file mode 100644 index 000000000..1c6f7490b --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/PlatformEnum.java @@ -0,0 +1,45 @@ +package com.jero.modules.project.enums; + +/** + * 任务状态枚举类 + */ +public enum PlatformEnum { + NUMBER_PLATFORM("数字平台","numberPlatform"), + CAR_PLATFORM("车型平台","carPlatform"), + ; + + + String name; + String value; + + private PlatformEnum(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) { + PlatformEnum[] values = values(); + for (PlatformEnum 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/project/mapper/xml/ProjectRelatedPersonnelMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml index 1bb3befd2..d4e460f5a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml @@ -76,7 +76,7 @@ AND sd.dict_code = #{dictCode} - ORDER BY sdi.item_text ASC + ORDER BY sdi.sort_order ASC