比填项校验,市场清单导入、导出、模板下载增交付物模板

This commit is contained in:
cuijiaming
2023-04-01 00:52:56 +08:00
parent 47dd4c3640
commit ffe55f2954
8 changed files with 425 additions and 356 deletions
@@ -63,34 +63,34 @@ public class AuthDummyInventoryInfoEO implements Serializable {
private java.lang.String sysOrgCode;
/**类别*/
@Excel(name = "*类别", width = 15)
@Excel(name = "类别", width = 15)
@ApiModelProperty(value = "类别")
private java.lang.String category;
/**检验项目*/
@Excel(name = "*检验项目", width = 15)
@Excel(name = "检验项目", width = 15)
@ApiModelProperty(value = "检验项目")
private java.lang.String inspectionItem;
/**配置项*/
@Excel(name = "*配置项", width = 15)
@Excel(name = "配置项", width = 15)
@ApiModelProperty(value = "配置项")
private java.lang.String configItem;
/**WVTA ID*/
@Excel(name = "*WVTA ID", width = 15)
@Excel(name = "WVTA ID", width = 15)
@ApiModelProperty(value = "WVTA ID")
private java.lang.String wvtaId;
/**标准编号*/
@Excel(name = "*编号", width = 15)
@Excel(name = "编号", width = 15)
@ApiModelProperty(value = "编号")
private java.lang.String serialNumber;
/**责任领域*/
@ApiModelProperty(value = "责任领域")
private java.lang.String dutyTerritory;
@Excel(name = "*责任领域", width = 15)
@Excel(name = "责任领域", width = 15)
@TableField(exist = false)
// 责任领域名称
private String dutyTerritoryName;
@@ -107,7 +107,7 @@ public class AuthDummyInventoryInfoEO implements Serializable {
@ApiModelProperty(value = "交付物类型")
private String deliverableType;
@TableField(exist = false)
@Excel(name = "*交付物类型", width = 15)
@Excel(name = "交付物类型", width = 15)
// 交付物类型名称
private String deliverableTypeName;
// 交付物类型名称-英文
@@ -60,27 +60,27 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
private String sysOrgCode;
/**类别*/
@Excel(name = "*Category", width = 15)
@Excel(name = "Category", width = 15)
@ApiModelProperty(value = "类别")
private String category;
/**检验项目*/
@Excel(name = "*Inspection Items", width = 15)
@Excel(name = "Inspection Items", width = 15)
@ApiModelProperty(value = "检验项目")
private String inspectionItem;
/**配置项*/
@Excel(name = "*Configuration Item", width = 15)
@Excel(name = "Configuration Item", width = 15)
@ApiModelProperty(value = "配置项")
private String configItem;
/**WVTA ID*/
@Excel(name = "*WVTA ID", width = 15)
@Excel(name = "WVTA ID", width = 15)
@ApiModelProperty(value = "WVTA ID")
private String wvtaId;
/**标准编号*/
@Excel(name = "*Number", width = 15)
@Excel(name = "Number", width = 15)
@ApiModelProperty(value = "标准编号")
private String serialNumber;
@@ -88,7 +88,7 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
@ApiModelProperty(value = "责任领域")
private String dutyTerritory;
@TableField(exist = false)
@Excel(name = "*Responsible Field", width = 15)
@Excel(name = "Responsible Field", width = 15)
// 责任领域名称
private String dutyTerritoryName;
/**责任领域名称-英文**/
@@ -100,11 +100,19 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
@ApiModelProperty(value = "交付物")
private String deliverable;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private java.lang.String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "Deliverable Template", width = 40)
private String deliverableTemplateName;
/**交付物类型*/
@ApiModelProperty(value = "交付物类型")
private String deliverableType;
@TableField(exist = false)
@Excel(name = "*Deliverable Type", width = 15)
@Excel(name = "Deliverable Type", width = 15)
// 交付物类型名称
private String deliverableTypeName;
// 交付物类型名称-英文
@@ -62,6 +62,7 @@ import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
import org.springframework.beans.BeanUtils;
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 java.io.*;
@@ -515,9 +516,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
if(CollectionUtils.isNotEmpty(baseList)){
String title = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
title = "*类别,*检验项目,*配置项,*WVTA ID,*编号,*责任领域,*交付物类型";
title = "*类别,*检验项目,*配置项,*WVTA ID,*编号,*责任领域,交付物模板,*交付物类型";
}else{
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID,*Number,*Responsible Field,*Deliverable Type";
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID,*Number,*Responsible Field,Deliverable Template,*Deliverable Type";
}
int pos = file.getOriginalFilename().lastIndexOf(".");
@@ -635,7 +636,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
if (i == 0) {
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
headerSb.append(cell.getStringCellValue() + ",");
if(j == 6){
if(j == 7){
break;
}
} else if(i > 1){
@@ -659,43 +660,6 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
}
}
}
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
for(int k = 0 ;k<rowList.size();k++){
if("".equals(rowList.get("category")) ||
"".equals(rowList.get("inspectionItem")) ||
"".equals(rowList.get("configItem")) ||
"".equals(rowList.get("wvtaId")) ||
"".equals(rowList.get("serialNumber")) ||
"".equals(rowList.get("dutyTerritoryName")) ||
"".equals(rowList.get("deliverableTypeName")) ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}else {
for(int k = 0 ;k<rowList.size();k++){
if("".equals(rowList.get("category")) ||
"".equals(rowList.get("inspectionItem")) ||
"".equals(rowList.get("configItem")) ||
"".equals(rowList.get("wvtaId")) ||
"".equals(rowList.get("serialNumber")) ||
"".equals(rowList.get("dutyTerritoryName")) ||
"".equals(rowList.get("deliverableTypeNameEn")) ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}
if (i > 1) {
dataList.add(rowList);
}
@@ -736,6 +700,44 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
throw new JeroBootException("The data fails to be read. Import data strictly according to the template file");
}
}
//必填项校验 *类别,*检验项目,*配置项,*WVTA ID,*编号,*责任领域,*交付物类型";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) ||
datas.get(k).getInspectionItem() == null ||
datas.get(k).getConfigItem() == null ||
datas.get(k).getWvtaId() == null ||
datas.get(k).getSerialNumber() == null ||
datas.get(k).getDutyTerritoryName() == null ||
datas.get(k).getDeliverableTypeName() == null ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}else {
for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) ||
datas.get(k).getInspectionItem() == null ||
datas.get(k).getConfigItem() == null ||
datas.get(k).getWvtaId() == null ||
datas.get(k).getSerialNumber() == null ||
datas.get(k).getDutyTerritoryName() == null ||
datas.get(k).getDeliverableTypeNameEn() == null ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}
}
}
workbook.close();
@@ -829,57 +831,58 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
deliverableType = authDummyInventoryInfoEO.getDeliverableTypeNameEn();
}
//文件
//交付物模板
String deliverableTemplate = authDummyInventoryInfoEO.getDeliverableTemplateName();
//编号必填
flag = must(authDummyInventoryInfoEO, errorMsg, msgList, serialNumber, "编号", "Number");
//WVTA ID
if(StringUtils.isNotBlank(wvtaId)){
if(wvtaId.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "WVTA ID不能超过300个字符, ";
}else{
message = errorMsg + " The WVTA ID cannot contain more than 300 characters, ";
}
msgList.add(message);
}
}
//类别
if(StringUtils.isNotBlank(category)){
if(category.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "类别不能超过300个字符, ";
message = errorMsg + "类别不能超过300个字符";
}else{
message = errorMsg + " The Category cannot contain more than 300 characters, ";
message = errorMsg + " The Category cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//检验项目
if(StringUtils.isNotBlank(inspectionItem)){
if(inspectionItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "检验项目不能超过300个字符, ";
message = errorMsg + "检验项目不能超过300个字符";
}else{
message = errorMsg + " The InspectionItem cannot contain more than 300 characters, ";
message = errorMsg + " The InspectionItem cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//配置项
if(StringUtils.isNotBlank(configItem)){
if(configItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "配置项不能超过300个字符, ";
message = errorMsg + "配置项不能超过300个字符";
}else{
message = errorMsg + " The ConfigItem cannot contain more than 300 characters, ";
message = errorMsg + " The ConfigItem cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//WVTA ID
if(StringUtils.isNotBlank(wvtaId)){
if(wvtaId.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "WVTA ID不能超过300个字符";
}else{
message = errorMsg + " The WVTA ID cannot contain more than 300 characters";
}
msgList.add(message);
}
@@ -891,6 +894,10 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
authDummyInventoryInfoEO.setDutyTerritory(value);
}
}
value = templateTransition(zipEntryName, authDummyInventoryInfoEO, errorMsg, deliverableTemplate,msgList,"交付物模板","Deliverable Template");
if(StringUtils.isNotBlank(value)){
authDummyInventoryInfoEO.setDeliverableTemplate(value);
}
//交付物类型
if(StringUtils.isNotEmpty(deliverableType)){
value = tree(categoryList,treeNameList, authDummyInventoryInfoEO, errorMsg, deliverableType,msgList,"交付物类型","Deliverable Type","deliverable_template");
@@ -903,6 +910,46 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
return msgList;
}
private String templateTransition(String zipEntryName, AuthDummyInventoryInfoEO authDummyInventoryInfoEO,
String errorMsg, String deliverableTemplate,
List<String> msgList, String nameCn, String nameEn) {
String value = "";
if (StringUtils.isNotBlank(deliverableTemplate)) {
StringBuilder sb = new StringBuilder();
for (String fileName : deliverableTemplate.split(",")) {
List<File> nowFileList = new ArrayList<>();
nowFileList = FileUnZip.readFileByFilename(zipEntryName, fileName,authDummyInventoryInfoEO.getCut(),errorMsg,msgList,nameCn,nameEn);
if (nowFileList.size() == 0) {
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
// errorMsg += "压缩包中没有" + fileName + "文件; ";
// }else{
// errorMsg += " Not in the zip package" + fileName + "file; ";
// }
// msgList.add(errorMsg);
} else {
try {
FileInputStream input = new FileInputStream(nowFileList.get(0));
MultipartFile multipartFile =
new MockMultipartFile(nowFileList.get(0).getName(), nowFileList.get(0).getName(), "text/plain", input);
//文件存入文件表
OSSFile ossFile = iOSSFileService.uploadLocalOfCos(multipartFile, "", null,null);
if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(ossFile)) {
sb.append(ossFile.getId() + ",");
}
} catch (IOException e) {
log.error("市场认证清单导入"+e.getMessage());
}
}
}
if (StringUtils.isNotBlank(sb)) {
value = sb.substring(0, sb.length() - 1);
}
}
return value;
}
private String getTreeId(List<SysCategory> categoryList, AuthDummyInventoryInfoEO authDummyInventoryInfoEOTemp,
List<String> treeNameList, String value) {
StringBuilder sb = new StringBuilder();
@@ -940,9 +987,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
if(StringUtils.isNotBlank(sb)){
String substring = sb.substring(0, sb.length() - 1);
if (CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())) {
errorMsg += nameCn + "中的" + substring + "与数据字典不匹配, ";
errorMsg += nameCn + "中的" + substring + "与数据字典不匹配";
} else {
errorMsg += nameEn + " " + substring + " does not match the data dictionary, ";
errorMsg += nameEn + " " + substring + " does not match the data dictionary";
}
msgList.add(errorMsg);
}else{
@@ -991,9 +1038,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
List<String> finalValueList = valueList;
List<String> diffList = list.stream().filter(e -> !finalValueList.contains(e)).collect(Collectors.toList());
if (CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())) {
errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配, ";
errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配";
} else {
errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary, ";
errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary";
}
msgList.add(errorMsg);
}
@@ -1121,6 +1168,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
case "*WVTA ID": return "wvtaId";
case "*编号" : return "serialNumber";
case "*责任领域": return "dutyTerritoryName";
case "交付物模板": return "deliverableTemplateName";
case "*交付物类型" : return "deliverableTypeName";
case "*Category" : return "Category";
@@ -1129,6 +1177,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
// case "WVTA ID" : return "wvtaId";
case "*Number" : return "serialNumber";
case "*Responsible Field" : return "dutyTerritoryName";
case "Deliverable Template" : return "deliverableTemplateName";
case "*Deliverable Type" : return "deliverableTypeNameEn";
@@ -1212,10 +1261,10 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
String title = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
title = "*类别,*检验项目,*配置项,*WVTA ID," +
"*编号,*责任领域,*交付物类型,";
"*编号,*责任领域,交付物模板,*交付物类型,";
}else{
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
"*Number,*Responsible Field,*Deliverable Type,";
"*Number,*Responsible Field,Deliverable Template,*Deliverable Type,";
}
List<String> list = Arrays.asList(title.split(","));
int index = 0;
@@ -1242,7 +1291,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
cellStyleTemp.setWrapText(true);//自动换行
CellRangeAddress region =
new CellRangeAddress(1, 1, 0, 6); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
new CellRangeAddress(1, 1, 0, 7); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
sheet.addMergedRegion(region);
String explain= "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
@@ -86,7 +86,7 @@ public class ProjectCertificationInventoryEO implements Serializable {
private String wvtaId;
/**标准编号*/
@Excel(name = "*标准编号", width = 20)
@Excel(name = "标准编号", width = 20)
@ApiModelProperty(value = "标准编号")
private String serialNumber;
@@ -94,7 +94,7 @@ public class ProjectCertificationInventoryEO implements Serializable {
@ApiModelProperty(value = "责任领域")
private String dutyTerritory;
/**责任领域名称**/
@Excel(name = "*责任领域", width = 20)
@Excel(name = "责任领域", width = 20)
@TableField(exist = false)
private String dutyTerritoryName;
/**责任领域名称-英文**/
@@ -117,6 +117,14 @@ public class ProjectCertificationInventoryEO implements Serializable {
@TableField(exist = false)
private String dutyPersonName;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "交付物模板", width = 20)
private String deliverableTemplateName;
/**交付物类型*/
@ApiModelProperty(value = "交付物类型")
private String deliverableType;
@@ -138,14 +146,7 @@ public class ProjectCertificationInventoryEO implements Serializable {
@ApiModelProperty(value = "文档库id")
private String bussDocumentLibraryId;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "交付物模板", width = 20)
private String deliverableTemplateName;
/**交付结果*/
@Excel(name = "交付结果", width = 20)
@@ -215,7 +216,7 @@ public class ProjectCertificationInventoryEO implements Serializable {
@TableField(exist = false)
private String excelName;
// @Excel(name = "截止日期", width = 20, format = "yyyy-MM-dd")
// @Excel(name = "*截止日期", width = 20, format = "yyyy-MM-dd")
@TableField(exist = false)
private String endTimeStr;
}
@@ -84,7 +84,7 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
private java.lang.String wvtaId;
/**标准编号*/
@Excel(name = "*Standard No", width = 20)
@Excel(name = "Standard No", width = 20)
@ApiModelProperty(value = "标准编号")
private java.lang.String serialNumber;
@@ -92,7 +92,7 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
@ApiModelProperty(value = "责任领域")
private java.lang.String dutyTerritory;
/**责任领域名称**/
@Excel(name = "*Responsible Field", width = 20)
@Excel(name = "Responsible Field", width = 20)
@TableField(exist = false)
private String dutyTerritoryName;
/**责任领域名称-英文**/
@@ -115,6 +115,14 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
@TableField(exist = false)
private String dutyPersonName;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private java.lang.String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "Deliverable Template", width = 40)
private String deliverableTemplateName;
/**交付物类型*/
@ApiModelProperty(value = "交付物类型")
private java.lang.String deliverableType;
@@ -136,14 +144,7 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
@ApiModelProperty(value = "文档库id")
private java.lang.String bussDocumentLibraryId;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private java.lang.String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "Deliverable Template", width = 40)
private String deliverableTemplateName;
/**交付结果*/
@Excel(name = "Deliverables Result", width = 20)
@@ -1,5 +1,8 @@
package com.jero.modules.project.service.impl;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -20,6 +23,8 @@ import com.jero.common.util.oss.CosBootUtil;
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO;
import com.jero.modules.authDummy.service.IAuthDummyInventoryBaseEOService;
import com.jero.modules.authDummy.service.IAuthDummyInventoryInfoEOService;
import com.jero.modules.cert.template.vo.ParamsInfoCnImport;
import com.jero.modules.cert.template.vo.ParamsInfoEnImport;
import com.jero.modules.document.controller.BussDocumentLibraryEOController;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
@@ -61,6 +66,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.shiro.SecurityUtils;
import org.aspectj.util.FileUtil;
@@ -258,6 +264,46 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
Date now = new Date();
projectCertificationInventoryEO.setUpdateTime(now);
saveOrUpdate(projectCertificationInventoryEO);
// //获取责任人的所有用户
// List<SysUser> listUserName = new ArrayList<>();
// listUserName = sysUserMapper.getListUserName();
// listUserName = listUserName.stream().distinct().collect(Collectors.toList());
//获取当前的责任人
String dutyPerson = projectCertificationInventoryEO.getDutyPerson();
//获取当前的责任领域
List<String> dutyTerritoryList = new ArrayList<>();
dutyTerritoryList = Arrays.asList(projectCertificationInventoryEO.getDutyTerritory().split(","));
dutyTerritoryList = dutyTerritoryList.stream().distinct().collect(Collectors.toList());
//获取当前的projectId
String projectId = projectCertificationInventoryEO.getProjectLibraryId();
//根据责任领域个projectId去查相关人员名单
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectId, dutyTerritoryList);
//根据相关人员名单获取的工程接口人
List<String> enginnerList = new ArrayList<>();
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
enginnerList.add(relatedPersonnel.getEngineeringInterfacePerson());
}
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
//如果工程接口人不为空的话
if(enginnerList.size()>0){
//判断哪个不存在 再去去存入
if(!enginnerList.contains(dutyPerson)){
relatedPersonnel.setEngineerAttSet(dutyPerson);
// projectRelatedPersonnelService.editById(relatedPersonnel);
}
}else {
//工程接口人为空的话,直接将责任设置到认证工程师下
relatedPersonnel.setEngineerAttSet(dutyPerson);
// projectRelatedPersonnelService.editById(relatedPersonnel);
}
}
this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList);
//设置权限 先删后加
List<ProjectUserPermission> adds = new ArrayList<>();
if (ObjectUtils.isNotEmpty(projectCertificationInventoryEO.getSdt())) {
@@ -2757,13 +2803,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
public void importData(MultipartFile file, ProjectCertificationInventoryEO projectCertificationInventoryEO) {
String title = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
title = title = "*类别,*检验项目,*配置项,*WVTA ID," +
title = "*类别,*检验项目,*配置项,*WVTA ID," +
"*标准编号,*责任领域,*工程接口人,*责任人," +
"*交付物类型,交付物模板,*截止日期,报告编号,产品型号,生产企业名称";
"交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称";
}else {
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
"*Standard No,*Responsible Field,*Eng. Interface,*Assignee," +
"*Deliverable Type,Deliverable Template,*Due Date,Report No,Product Model,Name Of Manufacturer";
"Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer";
}
int pos = file.getOriginalFilename().lastIndexOf(".");
@@ -2903,49 +2949,6 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
}
}
}
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
for(int k = 0 ;k<rowList.size();k++){
if("".equals(rowList.get("category")) ||
"".equals(rowList.get("inspectionItem")) ||
"".equals(rowList.get("configItem")) ||
"".equals(rowList.get("wvtaId")) ||
"".equals(rowList.get("serialNumber")) ||
"".equals(rowList.get("dutyTerritoryName")) ||
"".equals(rowList.get("sdtName")) ||
"".equals(rowList.get("dutyPersonName")) ||
"".equals(rowList.get("deliverableTypeName")) ||
"".equals(rowList.get("endTimeStr")) ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}else {
for(int k = 0 ;k<rowList.size();k++){
if("".equals(rowList.get("category")) ||
"".equals(rowList.get("inspectionItem")) ||
"".equals(rowList.get("configItem")) ||
"".equals(rowList.get("wvtaId")) ||
"".equals(rowList.get("serialNumber")) ||
"".equals(rowList.get("dutyTerritoryName")) ||
"".equals(rowList.get("sdtName")) ||
"".equals(rowList.get("dutyPersonName")) ||
"".equals(rowList.get("deliverableTypeNameEn")) ||
"".equals(rowList.get("endTimeStr")) ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}
if (i > 1) {
dataList.add(rowList);
}
@@ -2987,6 +2990,50 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
throw new JeroBootException("The data fails to be read. Import data strictly according to the template file");
}
}
//必填项校验
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) ||
datas.get(k).getInspectionItem() == null ||
datas.get(k).getConfigItem() == null ||
datas.get(k).getWvtaId() == null ||
datas.get(k).getSerialNumber() == null ||
datas.get(k).getDutyTerritoryName() == null ||
datas.get(k).getSdtName() == null ||
datas.get(k).getDutyPersonName() == null ||
datas.get(k).getDeliverableTypeName() == null ||
datas.get(k).getEndTimeStr() == null ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}else {
for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) ||
datas.get(k).getInspectionItem() == null ||
datas.get(k).getConfigItem() == null ||
datas.get(k).getWvtaId() == null ||
datas.get(k).getSerialNumber() == null ||
datas.get(k).getDutyTerritoryName() == null ||
datas.get(k).getSdtName() == null ||
datas.get(k).getDutyPersonName() == null ||
datas.get(k).getDeliverableTypeNameEn() == null ||
datas.get(k).getEndTimeStr() == null ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}
}
}
workbook.close();
@@ -3042,6 +3089,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
String value = "";
boolean flag = true;
// List<SysUser> listUserName = new ArrayList<>();
// listUserName = sysUserMapper.getListUserName();
// listUserName = listUserName.stream().distinct().collect(Collectors.toList());
List<String> userNameList = datas.stream().map(ProjectCertificationInventoryEO::getDutyPersonName).distinct().collect(Collectors.toList());
List<SysUser> listUserName = this.sysUserService.querySysUserByUserNameList(userNameList);
//编号验证
verifySerialNumber(datas,projectCertificationInventoryEOTemp);
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) {
@@ -3095,159 +3149,69 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//编号必填
// flag = must(projectCertificationInventoryEO, errorMsg, msgList, serialNumber, "编号", "Standard No");
//报告编号
if(StringUtils.isNotBlank(reportNumber)){
if(reportNumber.length() > 200){
//类别
if(StringUtils.isNotBlank(category)){
if(category.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "报告编号不能超过200个字符, ";
message = errorMsg + "类别不能超过300个字符";
}else{
message = errorMsg + " The Report No cannot contain more than 200 characters, ";
message = errorMsg + " The Category cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//产品型号
if(StringUtils.isNotBlank(productModel)){
if(productModel.length() > 200){
//检验项目
if(StringUtils.isNotBlank(inspectionItem)){
if(inspectionItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "产品型号不能超过200个字符, ";
message = errorMsg + "检验项目不能超过300个字符";
}else{
message = errorMsg + " The Product Model cannot contain more than 200 characters, ";
message = errorMsg + " The InspectionItem cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//生产企业名称
if(StringUtils.isNotBlank(productionEnterpriseName)){
if(productionEnterpriseName.length() > 200){
//配置项
if(StringUtils.isNotBlank(configItem)){
if(configItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "生产企业名称不能超过200个字符, ";
message = errorMsg + "配置项不能超过300个字符";
}else{
message = errorMsg + " The Name Of Manufacturer cannot contain more than 200 characters, ";
message = errorMsg + " The ConfigItem cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//WVTA ID
if(StringUtils.isNotBlank(wvtaId)){
if(wvtaId.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "WVTA ID不能超过300个字符, ";
message = errorMsg + "WVTA ID不能超过300个字符";
}else{
message = errorMsg + " The WVTA ID cannot contain more than 300 characters, ";
message = errorMsg + " The WVTA ID cannot contain more than 300 characters";
}
msgList.add(message);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "WVTA ID不能为空, ";
// }else{
// message = errorMsg + " The WVTA ID cannot null, ";
// }
// msgList.add(message);
// }
//类别
if(StringUtils.isNotBlank(category)){
if(category.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "类别不能超过300个字符, ";
}else{
message = errorMsg + " The Category cannot contain more than 300 characters, ";
}
msgList.add(message);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "类别不能为空, ";
// }else{
// message = errorMsg + " The Category cannot null, ";
// }
// msgList.add(message);
// }
//检验项目
if(StringUtils.isNotBlank(inspectionItem)){
if(inspectionItem.length() > 100){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "检验项目不能超过300个字符, ";
}else{
message = errorMsg + " The InspectionItem cannot contain more than 300 characters, ";
}
msgList.add(message);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "检验项目不能为空, ";
// }else{
// message = errorMsg + " The InspectionItem cannot null, ";
// }
// msgList.add(message);
// }
//配置项
if(StringUtils.isNotBlank(configItem)){
if(configItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "配置项不能超过100个字符, ";
}else{
message = errorMsg + " The ConfigItem cannot contain more than 300 characters, ";
}
msgList.add(message);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "配置项不能为空, ";
// }else{
// message = errorMsg + " The ConfigItem cannot null, ";
// }
// msgList.add(message);
// }
//责任领域
if(StringUtils.isNotBlank(dutyTerritory)){
value = pullMore(dictItemList, projectCertificationInventoryEO, errorMsg, dutyTerritory,msgList,"责任领域","Responsible Field","duty_territory");
if(StringUtils.isNotBlank(value)){
projectCertificationInventoryEO.setDutyTerritory(value);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "责任领域不能为空, ";
// }else{
// message = errorMsg + " The Responsible Field cannot null, ";
// }
// msgList.add(message);
// }
//工程接口人(责任领域下的工程接口人)
Map<String, Object> objectMap = iProjectRelatedPersonnelService.queryPersonByProjectId(projectCertificationInventoryEOTemp.getProjectLibraryId(), value);
//工程接口人
List<Map<String, String>> mapPersonList = (List<Map<String, String>>) objectMap.get("engineeringInterfacePersonList");
//所有人
// List<Map<String, String>> allPersonList = (List<Map<String, String>>) objectMap.get("allPersonList");
List<SysUser> listUserName = new ArrayList<>();
listUserName = sysUserMapper.getListUserName();
listUserName = listUserName.stream().distinct().collect(Collectors.toList());
String nameCn = "";
@@ -3259,15 +3223,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//验证人员是否存在
personnelVerify(projectCertificationInventoryEO, errorMsg, msgList, sdt, mapPersonList,nameCn,nameEn, com.jero.modules.project.enums.ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue());
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "工程接口人不能为空, ";
// }else{
// message = errorMsg + " The Eng. Interface cannot null, ";
// }
// msgList.add(message);
// }
//责任人
if(StringUtils.isNotBlank(dutyPerson)){
nameCn = "责任人";
@@ -3275,15 +3231,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//验证人员是否存在
personDutyPerson(projectCertificationInventoryEO, errorMsg, msgList, dutyPerson, listUserName,nameCn,nameEn);
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "责任人不能为空, ";
// }else{
// message = errorMsg + " The Assignee cannot null, ";
// }
// msgList.add(message);
// }
//交付物模板
value = templateTransition(zipEntryName, projectCertificationInventoryEO, errorMsg, deliverableTemplate,msgList,"交付物模板","Deliverable Template");
if(StringUtils.isNotBlank(value)){
projectCertificationInventoryEO.setDeliverableTemplate(value);
}
//交付物类型
if(StringUtils.isNotEmpty(deliverableType)){
value = tree(categoryList,treeNameList, projectCertificationInventoryEO, errorMsg, deliverableType,msgList,"交付物类型","Deliverable Type","deliverable_template");
@@ -3292,26 +3246,12 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
projectCertificationInventoryEO.setDeliverableType(treeId);
}
}
// else{
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "交付物类型不能为空, ";
// }else{
// message = errorMsg + " The Deliverable Type cannot null, ";
// }
// msgList.add(message);
// }
//交付物模板
value = templateTransition(zipEntryName, projectCertificationInventoryEO, errorMsg, deliverableTemplate,msgList,"交付物模板","Deliverable Template");
if(StringUtils.isNotBlank(value)){
projectCertificationInventoryEO.setDeliverableTemplate(value);
}
//截止时间
// SimpleDateFormat sd = new SimpleDateFormat();
// String endTimeStr = sd.format(endTime);
if(StringUtils.isNotBlank(endTime)){
flag = dateVerify(projectCertificationInventoryEO, errorMsg, endTime,msgList,"截止时间","Due Date");
flag = dateVerify(projectCertificationInventoryEO, errorMsg, endTime,msgList,"截止日期","Due Date");
if(flag){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
@@ -3323,15 +3263,42 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
projectCertificationInventoryEO.setEndTime(date);
}
}
// else{
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "截止时间不能为空, ";
// }else{
// message = errorMsg + " The Due Date Type cannot null, ";
// }
// msgList.add(message);
// }
//报告编号
if(StringUtils.isNotBlank(reportNumber)){
if(reportNumber.length() > 200){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "报告编号不能超过200个字符";
}else{
message = errorMsg + " The Report No cannot contain more than 200 characters";
}
msgList.add(message);
}
}
//产品型号
if(StringUtils.isNotBlank(productModel)){
if(productModel.length() > 200){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "产品型号不能超过200个字符";
}else{
message = errorMsg + " The Product Model cannot contain more than 200 characters";
}
msgList.add(message);
}
}
//生产企业名称
if(StringUtils.isNotBlank(productionEnterpriseName)){
if(productionEnterpriseName.length() > 200){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "生产企业名称不能超过200个字符";
}else{
message = errorMsg + " The Name Of Manufacturer cannot contain more than 200 characters";
}
msgList.add(message);
}
}
}
return msgList;
@@ -3367,29 +3334,33 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
if (!DateUtils.isValidDate(field)) {
flag = false;
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn + "格式不正确, 正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
errorMsg += nameCn + "格式不正确, 正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日";
}else{
errorMsg += nameEn + " Incorrect format correct format is:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
errorMsg += nameEn + " Incorrect format correct format is:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日";
}
msgList.add(errorMsg);
}
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
long longnow = now.getTime();
try {
Date date = sdf.parse(field);
long longdate = date.getTime();
if(longnow>longdate){
flag = false;
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn + "不能导入今天之前的日期, ";
}else{
errorMsg += nameEn + " Cannot import dates before today, ";
}else{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date now = new Date();
String nowStr = sdf.format(now);
Date now1 = null;
Date field1 = null;
try {
now1 = sdf.parse(nowStr);
field1 = sdf.parse(field);
long day = now1.getTime()-field1.getTime();
if(day>0){
flag = false;
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn + "不能导入今天之前的日期";
}else{
errorMsg += nameEn + " Cannot import dates before today";
}
msgList.add(errorMsg);
}
msgList.add(errorMsg);
} catch (ParseException e) {
e.printStackTrace();
}
} catch (ParseException e) {
e.printStackTrace();
}
}
return flag;
@@ -3474,9 +3445,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
if(StringUtils.isNotBlank(sb)){
String substring = sb.substring(0, sb.length() - 1);
if (CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())) {
errorMsg += nameCn + "中的" + substring + "与数据字典不匹配, ";
errorMsg += nameCn + "中的" + substring + "与数据字典不匹配";
} else {
errorMsg += nameEn + " " + substring + " does not match the data dictionary, ";
errorMsg += nameEn + " " + substring + " does not match the data dictionary";
}
msgList.add(errorMsg);
}else{
@@ -3542,9 +3513,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//单选
if(regulationOwnerId.contains(",")){
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn + "导入只能填写一个用户名, ";
errorMsg += nameCn + "导入只能填写一个用户名";
}else{
errorMsg += "Only one user name can be entered for"+ nameEn +"import, ";
errorMsg += "Only one user name can be entered for"+ nameEn +"import";
}
msgList.add(errorMsg);
}
@@ -3563,17 +3534,17 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
}
if(count == 0){
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配, ";
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配";
}else{
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list, ";
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list";
}
msgList.add(errorMsg);
}
}else{
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配, ";
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配";
}else{
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list, ";
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list";
}
msgList.add(errorMsg);
}
@@ -3600,9 +3571,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
List<String> finalValueList = valueList;
List<String> diffList = list.stream().filter(e -> !finalValueList.contains(e)).collect(Collectors.toList());
if (CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())) {
errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配, ";
errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配";
} else {
errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary, ";
errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary";
}
msgList.add(errorMsg);
}
@@ -3651,13 +3622,14 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the project laws and cannot be added");
}
}
}else{
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) {
List<BussDocumentLibraryEO> collect = bussDocumentLibraryEOList.stream()
.filter(e -> e.getSerialNumber().equals(projectCertificationInventoryEO.getSerialNumber())).collect(Collectors.toList());
projectCertificationInventoryEO.setBussDocumentLibraryId(collect.get(0).getId());
}
}
// else{
// for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) {
// List<BussDocumentLibraryEO> collect = bussDocumentLibraryEOList.stream()
// .filter(e -> e.getSerialNumber().equals(projectCertificationInventoryEO.getSerialNumber())).collect(Collectors.toList());
// projectCertificationInventoryEO.setBussDocumentLibraryId(collect.get(0).getId());
// }
// }
}
}
@@ -3706,29 +3678,40 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//文件
exportFile(dataList,fileInfos);
for(int i =0 ;i<dataList.size();i++){
if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.FILE.getValue())){
if(StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())){
fileName = ossFileService.getFileInfos(dataList.get(i).getDeliveryResult()).stream().map(OSSFile::getFileName).distinct().collect(Collectors.joining(","));
dataList.get(i).setDeliveryResult(fileName);
}
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.TEXT.getValue())){
if(StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())){
fileName = dataList.get(i).getDeliveryResult();
dataList.get(i).setDeliveryResult(fileName);
}
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.NA.getValue())){
fileName = "";
dataList.get(i).setDeliveryResult(fileName);
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.SELECT.getValue())) {
if (StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())) {
fileName = dataList.get(i).getDeliveryResult();
for(int i =0 ;i<dataList.size();i++){
if(dataList.get(i).getValueType()!=null){
if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.FILE.getValue())){
if(StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())){
fileName = ossFileService.getFileInfos(dataList.get(i).getDeliveryResult()).stream().map(OSSFile::getFileName).distinct().collect(Collectors.joining(","));
dataList.get(i).setDeliveryResult(fileName);
}
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.TEXT.getValue())){
if(StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())){
fileName = dataList.get(i).getDeliveryResult();
dataList.get(i).setDeliveryResult(fileName);
}
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.NA.getValue())){
fileName = "";
dataList.get(i).setDeliveryResult(fileName);
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.SELECT.getValue())) {
if (StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())) {
fileName = dataList.get(i).getDeliveryResult();
if(fileName=="1"){
fileName = "";
}else if(fileName == "0"){
fileName = "";
}
dataList.get(i).setDeliveryResult(fileName);
}
}
}
}
String excelName = projectCertificationInventoryEO.getExcelName()+".xlsx";
// String excelName = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
@@ -3985,11 +3968,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
title = "*类别,*检验项目,*配置项,*WVTA ID," +
"*标准编号,*责任领域,*工程接口人,*责任人," +
"*交付物类型,交付物模板,*截止日期,报告编号,产品型号,生产企业名称";
"交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称";
}else {
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
"*Standard No,*Responsible Field,*Eng. Interface,*Assignee," +
"*Deliverable Type,Deliverable Template,*Due Date,Report No,Product Model,Name Of Manufacturer";
"Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer";
}
List<String> list = Arrays.asList(title.split(","));
@@ -4008,7 +3991,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
nowFile.mkdirs();
HSSFSheet sheet = workbook.createSheet("认证清单导入模板");
sheet.setDefaultColumnWidth(16);//列宽
// HSSFCellStyle cellStyle = workbook.createCellStyle();
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat((short) 49);
sheet.setDefaultColumnStyle(10,cellStyle);
// cellStyle.setWrapText(true);//自动换行
// cellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直居中
// cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//水平居中
@@ -546,7 +546,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//直接将allList存入到
String all = String.join(",",allList);
projectRelatedPersonnel.setEngineerLawSet(all);
projectRelatedPersonnelService.editById(projectRelatedPersonnel);
// projectRelatedPersonnelService.editById(projectRelatedPersonnel);
}else {
enginnerList.add(projectRelatedPersonnel.getEngineeringInterfacePerson());
@@ -576,10 +576,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//将相关人员名单中没有的resultList添加到相关人员记录表中
String result = String.join(",",resultList);
projectRelatedPersonnel.setEngineerLawSet(result);
projectRelatedPersonnelService.editById(projectRelatedPersonnel);
// projectRelatedPersonnelService.editById(projectRelatedPersonnel);
}
}
}
this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList);
//翻译-中文
@@ -405,7 +405,30 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setCertificationEngineerName(certificationName.substring(0,certificationName.toString().length()-1));
}
}
//认证工程师设置
List<SysUser> engineerAttSetUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineerAttSet())){
List<String> engineerAttSetIdList = Arrays.asList(projectRelatedPersonnel.getEngineerAttSet().split(","));
if (CollectionUtils.isNotEmpty(engineerAttSetIdList)) {
engineerAttSetIdList=engineerAttSetIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", engineerAttSetIdList);
certificationEngineerUsers = sysUserMapper.selectList(userqueryWrapper);
}
if(CollectionUtils.isNotEmpty(engineerAttSetUsers)) {
String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet();
String engineerAttSetName = null;
StringBuilder certificationName = new StringBuilder();
for (String data : engineerAttSetIdList) {
if (StringUtils.isNotEmpty(engineerAttSetId)) {
engineerAttSetName = engineerAttSetUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
certificationName.append(engineerAttSetName).append(",");
}
projectRelatedPersonnel.setEngineerAttSetName(certificationName.substring(0,certificationName.toString().length()-1));
}
}
}
}
@@ -564,7 +587,6 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
QueryWrapper<ProjectRelatedPersonnel> wrapper = new QueryWrapper<>();
wrapper.eq("project_id",projectId).in("duty_territory",dutyTerritoryList);
List<ProjectRelatedPersonnel> projectRelatedPersonnels = baseMapper.selectList(wrapper);
return projectRelatedPersonnels;