From 521de1f3f9637d4a5ebf6c52baaa09bf8f52b960 Mon Sep 17 00:00:00 2001
From: zhn <947514737@qq.com>
Date: Mon, 6 Jun 2022 20:18:20 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E7=89=88--=E5=8E=86=E5=8F=B2=E7=89=88?=
=?UTF-8?q?=E6=9C=AC(=E8=AF=A6=E6=83=85)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../project/entity/ProjectVersionInfoEO.java | 173 ++++++++---
.../mapper/xml/ProjectVersionInfoEOMapper.xml | 9 +
.../impl/ProjectVersionInfoEOServiceImpl.java | 279 +++++++++++++++++-
3 files changed, 418 insertions(+), 43 deletions(-)
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectVersionInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectVersionInfoEO.java
index 92ff8e36e..2f4889a22 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectVersionInfoEO.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectVersionInfoEO.java
@@ -1,21 +1,20 @@
package com.jero.modules.project.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;
/**
@@ -41,6 +40,9 @@ public class ProjectVersionInfoEO implements Serializable {
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
+ @TableField(exist = false)
+ private java.lang.String cut;
+
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@@ -62,178 +64,269 @@ public class ProjectVersionInfoEO implements Serializable {
private java.lang.String sysOrgCode;
/**法规清单版本id*/
- @Excel(name = "法规清单版本id", width = 15)
@ApiModelProperty(value = "法规清单版本id")
private java.lang.String historyVersionsId;
/**项目库id*/
- @Excel(name = "项目库id", width = 15)
@ApiModelProperty(value = "项目库id")
private java.lang.String projectLibraryId;
/**编号*/
- @Excel(name = "编号", width = 15)
@ApiModelProperty(value = "编号")
private java.lang.String serialNumber;
/**标题*/
- @Excel(name = "标题", width = 15)
@ApiModelProperty(value = "标题")
private java.lang.String title;
/**子标题*/
- @Excel(name = "子标题", width = 15)
@ApiModelProperty(value = "子标题")
private java.lang.String subtitle;
/**对应标准*/
- @Excel(name = "对应标准", width = 15)
@ApiModelProperty(value = "对应标准")
private java.lang.String correspondingStandard;
/**实施类别*/
- @Excel(name = "实施类别", width = 15)
@ApiModelProperty(value = "实施类别")
+ @Dict(dicCode ="implement_type")
private java.lang.String implementType;
/**新车型实施日期*/
- @Excel(name = "新车型实施日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "新车型实施日期")
private java.util.Date xin1Che1Xing2Shi2Shi1Ri4Qi1;
/**在产车实施日期*/
- @Excel(name = "在产车实施日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "在产车实施日期")
private java.util.Date implementTime;
/**认证类型*/
- @Excel(name = "认证类型", width = 15)
@ApiModelProperty(value = "认证类型")
+ @Dict(dicCode ="attestation_type")
private java.lang.String attestationType;
/**认证级别*/
- @Excel(name = "认证级别", width = 15)
@ApiModelProperty(value = "认证级别")
+ @Dict(dicCode ="attestation_rank")
private java.lang.String attestationRank;
/**WVTA ID*/
- @Excel(name = "WVTA ID", width = 15)
@ApiModelProperty(value = "WVTA ID")
private java.lang.String wvtaId;
/**责任领域*/
- @Excel(name = "责任领域", width = 15)
@ApiModelProperty(value = "责任领域")
+ @Dict(dicCode ="duty_territory")
private java.lang.String dutyTerritory;
/**法规工程师*/
- @Excel(name = "法规工程师", width = 15)
@ApiModelProperty(value = "法规工程师")
private java.lang.String regulationOwnerId;
/**认证工程师*/
- @Excel(name = "认证工程师", width = 15)
@ApiModelProperty(value = "认证工程师")
private java.lang.String homologationEngineerId;
/**工程接口人*/
- @Excel(name = "工程接口人", width = 15)
@ApiModelProperty(value = "工程接口人")
private java.lang.String engineeringInterfacePerson;
/**备注*/
- @Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private java.lang.String remark;
/**设计符合性确认-交付物类型*/
- @Excel(name = "设计符合性确认-交付物类型", width = 15)
@ApiModelProperty(value = "设计符合性确认-交付物类型")
+ @Dict(dicCode ="deliverable_template")
private java.lang.String designDeliverableType;
/**设计符合性确认-交付物模板*/
- @Excel(name = "设计符合性确认-交付物模板", width = 15)
@ApiModelProperty(value = "设计符合性确认-交付物模板")
private java.lang.String designDeliverableTemplate;
/**设计符合性确认-发起人*/
- @Excel(name = "设计符合性确认-发起人", width = 15)
@ApiModelProperty(value = "设计符合性确认-发起人")
+ @Dict(dicCode ="fa1_qi3_ren2")
private java.lang.String designInitiator;
+
/**设计符合性确认-责任人*/
- @Excel(name = "设计符合性确认-责任人", width = 15)
@ApiModelProperty(value = "设计符合性确认-责任人")
+ @Dict(dicCode ="ze2_ren4_ren2")
private java.lang.String designDuty;
/**设计符合性确认-截止时间*/
- @Excel(name = "设计符合性确认-截止时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "设计符合性确认-截止时间")
private java.util.Date designDueDate;
/**prehomo确认-交付物类型*/
- @Excel(name = "prehomo确认-交付物类型", width = 15)
@ApiModelProperty(value = "prehomo确认-交付物类型")
+ @Dict(dicCode ="deliverable_template")
private java.lang.String prehomoDeliverableType;
/**prehomo确认-交付物模板*/
- @Excel(name = "prehomo确认-交付物模板", width = 15)
@ApiModelProperty(value = "prehomo确认-交付物模板")
private java.lang.String prehomoDeliverableTemplate;
/**prehomo确认-发起人*/
- @Excel(name = "prehomo确认-发起人", width = 15)
@ApiModelProperty(value = "prehomo确认-发起人")
+ @Dict(dicCode ="fa1_qi3_ren2")
private java.lang.String prehomoInitiator;
/**prehomo确认-责任人*/
- @Excel(name = "prehomo确认-责任人", width = 15)
@ApiModelProperty(value = "prehomo确认-责任人")
+ @Dict(dicCode ="ze2_ren4_ren2")
private java.lang.String prehomoDuty;
/**prehomo确认-截止时间*/
- @Excel(name = "prehomo确认-截止时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "prehomo确认-截止时间")
private java.util.Date prehomoDueDate;
/**验证符合性确认-交付物类型*/
- @Excel(name = "验证符合性确认-交付物类型", width = 15)
@ApiModelProperty(value = "验证符合性确认-交付物类型")
+ @Dict(dicCode ="deliverable_template")
private java.lang.String verifyDeliverableType;
/**验证符合性确认-交付物模板*/
- @Excel(name = "验证符合性确认-交付物模板", width = 15)
@ApiModelProperty(value = "验证符合性确认-交付物模板")
private java.lang.String verifyDeliverableTemplate;
/**验证符合性确认-发起人*/
- @Excel(name = "验证符合性确认-发起人", width = 15)
@ApiModelProperty(value = "验证符合性确认-发起人")
+ @Dict(dicCode ="fa1_qi3_ren2")
private java.lang.String verifyInitiator;
/**验证符合性确认-责任人*/
- @Excel(name = "验证符合性确认-责任人", width = 15)
@ApiModelProperty(value = "验证符合性确认-责任人")
+ @Dict(dicCode ="ze2_ren4_ren2")
private java.lang.String verifyDuty;
/**验证符合性确认-截止时间*/
- @Excel(name = "验证符合性确认-截止时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "验证符合性确认-截止时间")
private java.util.Date verifyDueDate;
/**任务发布状态*/
- @Excel(name = "任务发布状态", width = 15)
@ApiModelProperty(value = "任务发布状态")
private java.lang.String taskReleaseStatus;
+ @TableField(exist = false)
+ private String designDeliverableTypeName;
+ @TableField(exist = false)
+ private String prehomoDeliverableTypeName;
+ @TableField(exist = false)
+ private String verifyDeliverableTypeName;
+
+
+ /**设计符合性确认-发起人id*/
+ @ApiModelProperty(value = "设计符合性确认-发起人id")
+ private String designInitiatorId;
+
+ /**设计符合性确认-责任人id*/
+ @ApiModelProperty(value = "设计符合性确认-责任人id")
+ private String designDutyId;
+
+
+ /**prehomo确认-发起人id*/
+ @ApiModelProperty(value = "prehomo确认-发起人id")
+ private String prehomoInitiatorId;
+
+ /**prehomo确认-责任人id*/
+ @ApiModelProperty(value = "prehomo确认-责任人id")
+ private String prehomoDutyId;
+
+ /**验证符合性确认-发起人id*/
+ @ApiModelProperty(value = "验证符合性确认-发起人id")
+ private String verifyInitiatorId;
+
+ /**验证符合性确认-责任人id*/
+ @ApiModelProperty(value = "验证符合性确认-责任人id")
+ private String verifyDutyId;
+
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "认证工程师名称")
+ private String homologationEngineerName;//认证工程师名称
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "法规工程师名称")
+ private String regulationOwnerName;//法规工程师名称
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "工程接口人名称")
+ private String engineeringInterfacePersonName;//工程接口人名称
+
+ /**设计符合性确认-发起人名称*/
+ @TableField(exist = false)
+ private String designInitiatorName;
+
+ /**设计符合性确认-责任人名称*/
+ @TableField(exist = false)
+ private String designDutyName;
+
+
+ /**prehomo确认-发起人名称*/
+ @TableField(exist = false)
+ private String prehomoInitiatorName;
+
+ /**prehomo确认-责任人名称*/
+ @TableField(exist = false)
+ private String prehomoDutyName;
+
+ /**验证符合性确认-发起人名称*/
+ @TableField(exist = false)
+ private String verifyInitiatorName;
+
+ /**验证符合性确认-责任人名称*/
+ @TableField(exist = false)
+ private String verifyDutyName;
+
+
+
+
+
+
+
+ /**清单确认状态*/
+ @ApiModelProperty(value = "清单确认状态")
+ private String inventoryAffirmStatus;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "清单确认状态名称")
+ private String inventoryAffirmStatusName;//清单确认状态名称
+
+
+ /**任务确认状态*/
+ @ApiModelProperty(value = "任务确认状态")
+ private String taskAffirmStatus;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "任务发布状态名称")
+ private String taskAffirmStatusName;//任务发布状态名称
+
+ /**设计符合性确认-交付物模板名称*/
+ @TableField(exist = false)
+ @Excel(name = "设计符合性确认-交付物模板", width = 20)
+ private String designDeliverableTemplateName;
+
+ /**prehomo确认-交付物模板名称*/
+ @TableField(exist = false)
+ @Excel(name = "prehomo确认-交付物模板", width = 20)
+ private String prehomoDeliverableTemplateName;
+
+ /**验证符合性确认-交付物模板名称*/
+ @Excel(name = "验证符合性确认-交付物模板", width = 20)
+ @TableField(exist = false)
+ private String verifyDeliverableTemplateName;
+
+
}
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectVersionInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectVersionInfoEOMapper.xml
index 2dd2368a0..76594b3a3 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectVersionInfoEOMapper.xml
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectVersionInfoEOMapper.xml
@@ -41,5 +41,14 @@
+
+
+
+
+
+
+
+
+
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectVersionInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectVersionInfoEOServiceImpl.java
index a3566144b..f93aeb40b 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectVersionInfoEOServiceImpl.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectVersionInfoEOServiceImpl.java
@@ -1,16 +1,30 @@
package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.query.QueryGenerator;
+import com.jero.modules.oss.entity.OSSFile;
+import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.project.entity.ProjectVersionInfoEO;
+import com.jero.modules.project.enums.InventoryAffirmStatusEnum;
import com.jero.modules.project.mapper.ProjectVersionInfoEOMapper;
import com.jero.modules.project.service.IProjectVersionInfoEOService;
+import com.jero.modules.system.entity.SysCategory;
+import com.jero.modules.system.entity.SysUser;
+import com.jero.modules.system.mapper.SysUserMapper;
+import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.List;
-import java.util.Date;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* @Description: 法规清单定板详情表
@@ -21,6 +35,10 @@ import javax.servlet.http.HttpServletRequest;
@Service
public class ProjectVersionInfoEOServiceImpl extends ServiceImpl implements IProjectVersionInfoEOService {
+ @Autowired
+ private SysCategoryServiceImpl sysCategoryService;
+ @Autowired
+ private SysUserMapper sysUserMapper;
/**
* 保存
*
@@ -35,6 +53,9 @@ public class ProjectVersionInfoEOServiceImpl extends ServiceImpl queryWrapper = QueryGenerator.initQueryWrapper(projectVersionInfoEO, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
List projectVersionInfoEOS = this.list(queryWrapper);
+ //数据转换
+ if(projectVersionInfoEOS.size() != 0){
+ dataDispose(projectVersionInfoEOS,projectVersionInfoEO.getCut());
+ }
return projectVersionInfoEOS;
}
+
+ public void dataDispose(List projectVersionInfoEOS,String cut){
+ //树形结构数据字典(技术领域)
+ List categoryList = sysCategoryService.list();
+ List userIdList = new ArrayList<>();
+ List deliverableList = new ArrayList<>();
+ for (ProjectVersionInfoEO projectVersionInfoEO : projectVersionInfoEOS) {
+ //处理交付物类型
+ String designDeliverableType = projectVersionInfoEO.getDesignDeliverableType();
+ String prehomoDeliverableType = projectVersionInfoEO.getPrehomoDeliverableType();
+ String verifyDeliverableType = projectVersionInfoEO.getVerifyDeliverableType();
+ //设计交付物类型
+ if(StringUtils.isNotBlank(designDeliverableType)){
+ List designDeliverableTypeList = Arrays.asList(designDeliverableType.split(","));
+ String name = getTreeName(cut, categoryList, designDeliverableTypeList);
+ projectVersionInfoEO.setDesignDeliverableTypeName(name);
+ }
+ //pre交付物类型
+ if(StringUtils.isNotBlank(prehomoDeliverableType)){
+ List prehomoDeliverableTypeList = Arrays.asList(prehomoDeliverableType.split(","));
+ String name = getTreeName(cut, categoryList, prehomoDeliverableTypeList);
+ projectVersionInfoEO.setPrehomoDeliverableTypeName(name);
+ }
+ //验证交付物类型
+ if(StringUtils.isNotBlank(verifyDeliverableType)){
+ List verifyDeliverableTypeList = Arrays.asList(verifyDeliverableType.split(","));
+ String name = getTreeName(cut, categoryList, verifyDeliverableTypeList);
+ projectVersionInfoEO.setVerifyDeliverableTypeName(name);
+ }
+ //认证工程师id
+ if(StringUtils.isNotEmpty(projectVersionInfoEO.getHomologationEngineerId())){
+ userIdList.add(projectVersionInfoEO.getHomologationEngineerId());
+ }
+ //法规工程师id
+ if(StringUtils.isNotEmpty(projectVersionInfoEO.getRegulationOwnerId())){
+ userIdList.add(projectVersionInfoEO.getRegulationOwnerId());
+ }
+ //工程接口人id
+ if(StringUtils.isNotEmpty(projectVersionInfoEO.getEngineeringInterfacePerson())){
+ userIdList.add(projectVersionInfoEO.getEngineeringInterfacePerson());
+ }
+
+ //设计符合性确认
+ //发起人
+ if(StringUtils.isNotEmpty(projectVersionInfoEO.getDesignInitiatorId())){
+ userIdList.add(projectVersionInfoEO.getDesignInitiatorId());
+ }
+ //责任人
+ if(StringUtils.isNotEmpty(projectVersionInfoEO.getDesignDutyId())){
+ userIdList.add(projectVersionInfoEO.getDesignDutyId());
+ }
+
+ //prehomo确认
+ //发起人
+ if(StringUtils.isNotEmpty(projectVersionInfoEO.getPrehomoInitiatorId())){
+ userIdList.add(projectVersionInfoEO.getPrehomoInitiatorId());
+ }
+ //责任人
+ if(StringUtils.isNotEmpty(projectVersionInfoEO.getPrehomoDutyId())){
+ userIdList.add(projectVersionInfoEO.getPrehomoDutyId());
+ }
+
+ //验证符合性确认
+ //发起人
+ if(StringUtils.isNotEmpty(projectVersionInfoEO.getVerifyInitiatorId())){
+ userIdList.add(projectVersionInfoEO.getVerifyInitiatorId());
+ }
+ //责任人
+ if(StringUtils.isNotEmpty(projectVersionInfoEO.getVerifyDutyId())){
+ userIdList.add(projectVersionInfoEO.getVerifyDutyId());
+ }
+
+ //设计符合性确认交付物模板
+ if(StringUtils.isNotBlank(projectVersionInfoEO.getDesignDeliverableTemplate())){
+ deliverableList.addAll(Arrays.asList(projectVersionInfoEO.getDesignDeliverableTemplate().split(",")));
+ }
+ // Prehomo确认交付物模板
+ if(StringUtils.isNotBlank(projectVersionInfoEO.getPrehomoDeliverableTemplate())){
+ deliverableList.addAll(Arrays.asList(projectVersionInfoEO.getPrehomoDeliverableTemplate().split(",")));
+ }
+ // 验证符合性确认交付物模板
+ if(StringUtils.isNotBlank(projectVersionInfoEO.getVerifyDeliverableTemplate())){
+ deliverableList.addAll(Arrays.asList(projectVersionInfoEO.getVerifyDeliverableTemplate().split(",")));
+ }
+
+ }
+
+ List sysUsers = new ArrayList<>();
+ if(CollectionUtils.isNotEmpty(userIdList)){
+ userIdList = userIdList.stream().distinct().collect(Collectors.toList());
+ QueryWrapper sysUserQueryWrapper = new QueryWrapper<>();
+ sysUserQueryWrapper.lambda().in(SysUser::getId,userIdList);
+ sysUsers = sysUserMapper.selectList(sysUserQueryWrapper);
+ }
+
+ //文件
+ List fileInfos = new ArrayList<>();
+ if(deliverableList.size() != 0){
+ fileInfos = iOSSFileService.getFileInfos(org.apache.commons.lang3.StringUtils.join(deliverableList, ","));
+ }
+
+ for (ProjectVersionInfoEO projectVersionInfoEO : projectVersionInfoEOS) {
+ //处理人员展示名称
+ if(CollectionUtils.isNotEmpty(sysUsers)){
+ String homologationEngineerId = projectVersionInfoEO.getHomologationEngineerId();
+ if(StringUtils.isNotEmpty(homologationEngineerId)){
+ String homologationEngineerName = sysUsers.stream().filter(e -> homologationEngineerId.equals(e.getId())).
+ map(SysUser::getUsername).collect(Collectors.joining(","));
+ projectVersionInfoEO.setHomologationEngineerName(homologationEngineerName);
+ }
+ String regulationOwnerId = projectVersionInfoEO.getRegulationOwnerId();
+ if(StringUtils.isNotEmpty(regulationOwnerId)){
+ String regulationOwnerName = sysUsers.stream().filter(e -> regulationOwnerId.equals(e.getId())).
+ map(SysUser::getUsername).collect(Collectors.joining(","));
+ projectVersionInfoEO.setRegulationOwnerName(regulationOwnerName);
+ }
+ String engineeringInterfacePerson = projectVersionInfoEO.getEngineeringInterfacePerson();
+ if(StringUtils.isNotEmpty(engineeringInterfacePerson)){
+ String engineeringInterfacePersonName = sysUsers.stream().filter(e -> engineeringInterfacePerson.equals(e.getId())).
+ map(SysUser::getUsername).collect(Collectors.joining(","));
+ projectVersionInfoEO.setEngineeringInterfacePersonName(engineeringInterfacePersonName);
+ }
+
+ //设计符合性确认
+ //发起人
+ String designInitiatorId = projectVersionInfoEO.getDesignInitiatorId();
+ if(StringUtils.isNotEmpty(designInitiatorId)){
+ String designInitiatorName = sysUsers.stream().filter(e -> designInitiatorId.equals(e.getId())).
+ map(SysUser::getUsername).collect(Collectors.joining(","));
+ projectVersionInfoEO.setDesignInitiatorName(designInitiatorName);
+ }
+ //责任人
+ String designDutyId = projectVersionInfoEO.getDesignDutyId();
+ if(StringUtils.isNotEmpty(designDutyId)){
+ String designDutyName = sysUsers.stream().filter(e -> designDutyId.equals(e.getId())).
+ map(SysUser::getUsername).collect(Collectors.joining(","));
+ projectVersionInfoEO.setDesignDutyName(designDutyName);
+ }
+
+ //prehomo确认
+ //发起人
+ String prehomoInitiatorId = projectVersionInfoEO.getPrehomoInitiatorId();
+ if(StringUtils.isNotEmpty(prehomoInitiatorId)){
+ String prehomoInitiatorName = sysUsers.stream().filter(e -> prehomoInitiatorId.equals(e.getId())).
+ map(SysUser::getUsername).collect(Collectors.joining(","));
+ projectVersionInfoEO.setPrehomoInitiatorName(prehomoInitiatorName);
+ }
+ //责任人
+ String prehomoDutyId = projectVersionInfoEO.getPrehomoDutyId();
+ if(StringUtils.isNotEmpty(prehomoDutyId)){
+ String prehomoDutyName = sysUsers.stream().filter(e -> prehomoDutyId.equals(e.getId())).
+ map(SysUser::getUsername).collect(Collectors.joining(","));
+ projectVersionInfoEO.setPrehomoDutyName(prehomoDutyName);
+ }
+
+ //验证符合性确认
+ //发起人
+ String verifyInitiatorId = projectVersionInfoEO.getVerifyInitiatorId();
+ if(StringUtils.isNotEmpty(verifyInitiatorId)){
+ String verifyInitiatorName = sysUsers.stream().filter(e -> verifyInitiatorId.equals(e.getId())).
+ map(SysUser::getUsername).collect(Collectors.joining(","));
+ projectVersionInfoEO.setVerifyInitiatorName(verifyInitiatorName);
+ }
+ //责任人
+ String verifyDutyId = projectVersionInfoEO.getVerifyDutyId();
+ if(StringUtils.isNotEmpty(verifyDutyId)){
+ String verifyDutyName = sysUsers.stream().filter(e -> verifyDutyId.equals(e.getId())).
+ map(SysUser::getUsername).collect(Collectors.joining(","));
+ projectVersionInfoEO.setVerifyDutyName(verifyDutyName);
+ }
+ }
+
+ //清单确认状态
+ String inventoryAffirmStatus = projectVersionInfoEO.getInventoryAffirmStatus();
+ if(StringUtils.isNotEmpty(inventoryAffirmStatus)){
+ if(StringUtils.equals(cut, CutEnum.CN.getValue())){
+ projectVersionInfoEO.setInventoryAffirmStatusName(InventoryAffirmStatusEnum.getTextByValue(inventoryAffirmStatus));
+ }else {
+ projectVersionInfoEO.setInventoryAffirmStatusName(inventoryAffirmStatus);
+ }
+
+ }
+ //任务确认状态
+ String taskAffirmStatus = projectVersionInfoEO.getTaskAffirmStatus();
+ if(StringUtils.isNotEmpty(taskAffirmStatus)){
+ if(StringUtils.equals(cut, CutEnum.CN.getValue())){
+ projectVersionInfoEO.setTaskAffirmStatusName(InventoryAffirmStatusEnum.getTextByValue(taskAffirmStatus));
+ }else {
+ projectVersionInfoEO.setTaskAffirmStatusName(taskAffirmStatus);
+ }
+ }
+
+ //交付物类型模板
+ if(fileInfos.size() != 0){
+ if(StringUtils.isNotBlank(projectVersionInfoEO.getDesignDeliverableTemplate())){
+ String fileName = getFileName(projectVersionInfoEO, fileInfos,projectVersionInfoEO.getDesignDeliverableTemplate());
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(fileName)){
+ projectVersionInfoEO.setDesignDeliverableTemplateName(fileName);
+ }
+ }
+ if(StringUtils.isNotBlank(projectVersionInfoEO.getPrehomoDeliverableTemplate())){
+ String fileName = getFileName(projectVersionInfoEO, fileInfos,projectVersionInfoEO.getPrehomoDeliverableTemplate());
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(fileName)){
+ projectVersionInfoEO.setPrehomoDeliverableTemplateName(fileName);
+ }
+ }
+ if(StringUtils.isNotBlank(projectVersionInfoEO.getVerifyDeliverableTemplate())){
+ String fileName = getFileName(projectVersionInfoEO, fileInfos,projectVersionInfoEO.getVerifyDeliverableTemplate());
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(fileName)){
+ projectVersionInfoEO.setVerifyDeliverableTemplateName(fileName);
+
+ }
+ }
+ }
+ }
+ }
+ private String getTreeName(String cut, List categoryList, List technologyTerritoryList) {
+ StringBuilder sb = new StringBuilder();
+ for (String technologyTerritory : technologyTerritoryList) {
+ List collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList());
+ if(collect.size() != 0){
+ if (CutEnum.CN.getValue().equals(cut)) {
+ sb.append(collect.get(0).getName() + ",");
+ } else {
+ sb.append(collect.get(0).getEnName()+ ",");
+ }
+ }
+ }
+ String technologyTerritoryName = "";
+ if (StringUtils.isNotBlank(sb)) {
+ technologyTerritoryName = sb.substring(0, sb.length() - 1);
+ }
+ return technologyTerritoryName;
+ }
+ private String getFileName(ProjectVersionInfoEO projectVersionInfoEO, List fileInfos, String deliverableTemplate){
+ StringBuilder sb = new StringBuilder();
+ for (String s : deliverableTemplate.split(",")) {
+ List collect = fileInfos.stream().filter(e -> s.equals(e.getId())).collect(Collectors.toList());
+ if(collect.size() != 0){
+ sb.append(collect.get(0).getFileName() + ",");
+ }
+ }
+ String sbStr = "";
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(sb)){
+ sbStr = sb.substring(0, sb.length() - 1);
+ }
+ return sbStr;
+ }
}