虚拟清单--导入修改
This commit is contained in:
+98
-77
@@ -418,7 +418,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
//titleTwo
|
||||
String[] headerArrTwo = titleTwo.split(",");
|
||||
for (int j = 0; j < headerArrTwo.length; j++) {
|
||||
row.createCell(7+j).setCellValue(headerArrTwo[j]);
|
||||
row.createCell(8+j).setCellValue(headerArrTwo[j]);
|
||||
}
|
||||
}else{
|
||||
short height = (short) (7 * 252);
|
||||
@@ -584,7 +584,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
public void importData(MultipartFile file, DummyInventoryInfoEO dummyInventoryInfoEO) {
|
||||
String title = "";
|
||||
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
|
||||
title = "编号,标题,子标题,适用范围,状态,对应标准,实施类别,新车实施日期,在产车实施日期,WVTA ID,认证类型,认证级别,技术领域,责任领域,适用地区,备注," +
|
||||
title = "*编号,子标题,实施类别,WVTA ID,认证类型,*认证级别,*责任领域,备注," +
|
||||
"设计交付物类型,设计交付物模板,设计发起人,设计责任人,pre交付物类型,pre交付物模板,pre发起人,pre责任人,验证交付物类型,验证交付物模板,验证发起人,验证责任人";
|
||||
}else{
|
||||
|
||||
@@ -689,9 +689,6 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
StringBuilder headerSb = new StringBuilder();
|
||||
int rowNos = sheet.getLastRowNum();// 得到excel的总记录条数
|
||||
for (int i = 0; i <= rowNos; i++) {
|
||||
// if (i == 1) {
|
||||
// continue;
|
||||
// }
|
||||
Row row = sheet.getRow(i);
|
||||
Row headerRow = sheet.getRow(i);
|
||||
boolean isBlank = isRowEmpty(row);
|
||||
@@ -706,21 +703,21 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
if (i == 0) {
|
||||
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
|
||||
headerSb.append(cell.getStringCellValue() + ",");
|
||||
if(j == 15){
|
||||
if(j == 7){
|
||||
break;
|
||||
}
|
||||
}else if(i == 1){
|
||||
if(j > 15){
|
||||
if(j > 7){
|
||||
String flag = "";
|
||||
if(15 < j && j < 20){
|
||||
if(7 < j && j < 12){
|
||||
flag ="设计";
|
||||
key = flag + headerCell.getStringCellValue();
|
||||
}
|
||||
if(19 < j && j < 24){
|
||||
if(11 < j && j < 16){
|
||||
flag ="pre";
|
||||
key = flag + headerCell.getStringCellValue();
|
||||
}
|
||||
if(23 < j && j < 28){
|
||||
if(15 < j && j < 20){
|
||||
flag ="验证";
|
||||
key = flag + headerCell.getStringCellValue();
|
||||
|
||||
@@ -819,7 +816,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
List<String> msgList = new ArrayList<>();
|
||||
String value = "";
|
||||
boolean flag = true;
|
||||
//编号验重
|
||||
//编号验证
|
||||
List<BussDocumentLibraryEO> bussDocumentLibraryEOList = verifySerialNumber(dataList);
|
||||
for (DummyInventoryInfoEO dummyInventoryInfoEO : dataList) {
|
||||
i++;
|
||||
@@ -832,28 +829,25 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
//编号
|
||||
String serialNumber = dummyInventoryInfoEO.getSerialNumber();
|
||||
//标题
|
||||
String title = dummyInventoryInfoEO.getTitle();
|
||||
// String title = dummyInventoryInfoEO.getTitle();
|
||||
//子标题
|
||||
String subtitle = dummyInventoryInfoEO.getSubtitle();
|
||||
//对应标准
|
||||
String correspondingStandard = dummyInventoryInfoEO.getCorrespondingStandard();
|
||||
// String correspondingStandard = dummyInventoryInfoEO.getCorrespondingStandard();
|
||||
//状态
|
||||
String state = dummyInventoryInfoEO.getState();
|
||||
// String state = dummyInventoryInfoEO.getState();
|
||||
//认证级别
|
||||
String attestationRank = dummyInventoryInfoEO.getAttestationRank();
|
||||
//责任领域
|
||||
String dutyTerritory = dummyInventoryInfoEO.getDutyTerritory();
|
||||
|
||||
//适用范围
|
||||
String shi4Yong4Fan4Wei2 = dummyInventoryInfoEO.getShi4Yong4Fan4Wei2();
|
||||
// String shi4Yong4Fan4Wei2 = dummyInventoryInfoEO.getShi4Yong4Fan4Wei2();
|
||||
//认证类型
|
||||
String attestationType = dummyInventoryInfoEO.getAttestationType();
|
||||
//责任领域
|
||||
//认证级别
|
||||
//实施类别
|
||||
String implementType = dummyInventoryInfoEO.getImplementType();
|
||||
//适用地区
|
||||
String region = dummyInventoryInfoEO.getRegion();
|
||||
// String region = dummyInventoryInfoEO.getRegion();
|
||||
//设计交付物类型
|
||||
String designDeliverableType = dummyInventoryInfoEO.getDesignDeliverableType();
|
||||
//设计发起人
|
||||
@@ -873,11 +867,11 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
//确认责任人
|
||||
String verifyDuty = dummyInventoryInfoEO.getVerifyDuty();
|
||||
//技术领域
|
||||
String technologyTerritory = dummyInventoryInfoEO.getTechnologyTerritory();
|
||||
// String technologyTerritory = dummyInventoryInfoEO.getTechnologyTerritory();
|
||||
//新车型实施日期
|
||||
Date xin1Che1Xing2Shi2Shi1Ri4Qi1 = dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1();
|
||||
// Date xin1Che1Xing2Shi2Shi1Ri4Qi1 = dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1();
|
||||
//在产车实施日期
|
||||
Date implementTime = dummyInventoryInfoEO.getImplementTime();
|
||||
// Date implementTime = dummyInventoryInfoEO.getImplementTime();
|
||||
//文件
|
||||
String designDeliverableTemplate = dummyInventoryInfoEO.getDesignDeliverableTemplate();
|
||||
String prehomoDeliverableTemplate = dummyInventoryInfoEO.getPrehomoDeliverableTemplate();
|
||||
@@ -887,47 +881,47 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
flag = must(dummyInventoryInfoEO, errorMsg, msgList, serialNumber, "编号", "serial number");
|
||||
|
||||
//标题(输入框必填)
|
||||
if(StringUtils.isBlank(title)){
|
||||
//必填验证
|
||||
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
|
||||
errorMsg += "标题为必填项,不能为空";
|
||||
}else{
|
||||
errorMsg += "title this parameter is mandatory and cannot be empty";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
// if(StringUtils.isBlank(title)){
|
||||
// //必填验证
|
||||
// if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
|
||||
// errorMsg += "标题为必填项,不能为空";
|
||||
// }else{
|
||||
// errorMsg += "title this parameter is mandatory and cannot be empty";
|
||||
// }
|
||||
// msgList.add(errorMsg);
|
||||
// }
|
||||
//适用范围(多选不必填)
|
||||
value = pullMore(dictItemList, dummyInventoryInfoEO, errorMsg, shi4Yong4Fan4Wei2,msgList,"适用范围","scope of application");;
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
dummyInventoryInfoEO.setShi4Yong4Fan4Wei2(value);
|
||||
}
|
||||
// value = pullMore(dictItemList, dummyInventoryInfoEO, errorMsg, shi4Yong4Fan4Wei2,msgList,"适用范围","scope of application");;
|
||||
// if (StringUtils.isNotBlank(value)) {
|
||||
// dummyInventoryInfoEO.setShi4Yong4Fan4Wei2(value);
|
||||
// }
|
||||
//状态(单选必填)
|
||||
flag = must(dummyInventoryInfoEO, errorMsg, msgList, state, "状态", "state");
|
||||
if(flag){
|
||||
value = pullSingle(dictItemList, dummyInventoryInfoEO, errorMsg, state, msgList, "状态", "state");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
dummyInventoryInfoEO.setState(value);
|
||||
}
|
||||
}
|
||||
// flag = must(dummyInventoryInfoEO, errorMsg, msgList, state, "状态", "state");
|
||||
// if(flag){
|
||||
// value = pullSingle(dictItemList, dummyInventoryInfoEO, errorMsg, state, msgList, "状态", "state");
|
||||
// if(StringUtils.isNotBlank(value)){
|
||||
// dummyInventoryInfoEO.setState(value);
|
||||
// }
|
||||
// }
|
||||
|
||||
//对应标准
|
||||
flag = must(dummyInventoryInfoEO, errorMsg, msgList, correspondingStandard,"对应标准","corresponding standard");
|
||||
if(flag){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String s : correspondingStandard.split(",")) {
|
||||
List<BussDocumentLibraryEO> collect = bussDocumentLibraryEOList.stream()
|
||||
.filter(e -> s.equals(e.getSerialNumber())).collect(Collectors.toList());
|
||||
if(collect.size() == 0){
|
||||
sb.append(s+",");
|
||||
}else{
|
||||
sb.append(collect.get(0).getId()+",");
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(sb)){
|
||||
String substring = sb.substring(0, sb.length() - 1);
|
||||
dummyInventoryInfoEO.setCorrespondingStandard(substring);
|
||||
}
|
||||
}
|
||||
// flag = must(dummyInventoryInfoEO, errorMsg, msgList, correspondingStandard,"对应标准","corresponding standard");
|
||||
// if(flag){
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
// for (String s : correspondingStandard.split(",")) {
|
||||
// List<BussDocumentLibraryEO> collect = bussDocumentLibraryEOList.stream()
|
||||
// .filter(e -> s.equals(e.getSerialNumber())).collect(Collectors.toList());
|
||||
// if(collect.size() == 0){
|
||||
// sb.append(s+",");
|
||||
// }else{
|
||||
// sb.append(collect.get(0).getId()+",");
|
||||
// }
|
||||
// }
|
||||
// if(StringUtils.isNotBlank(sb)){
|
||||
// String substring = sb.substring(0, sb.length() - 1);
|
||||
// dummyInventoryInfoEO.setCorrespondingStandard(substring);
|
||||
// }
|
||||
// }
|
||||
|
||||
//实施类别(单选不必填)
|
||||
value = pullSingle(dictItemList, dummyInventoryInfoEO, errorMsg, implementType,msgList,"实施类别","implementation category");
|
||||
@@ -936,16 +930,16 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
}
|
||||
|
||||
//新车实施日期 xin1Che1Xing2Shi2Shi1Ri4Qi1
|
||||
flag = dateVerify(dummyInventoryInfoEO, errorMsg, xin1Che1Xing2Shi2Shi1Ri4Qi1,msgList,"新车实施日期","new car implementation date");
|
||||
if(flag){
|
||||
dummyInventoryInfoEO.setXin1Che1Xing2Shi2Shi1Ri4Qi1(xin1Che1Xing2Shi2Shi1Ri4Qi1);
|
||||
}
|
||||
// flag = dateVerify(dummyInventoryInfoEO, errorMsg, xin1Che1Xing2Shi2Shi1Ri4Qi1,msgList,"新车实施日期","new car implementation date");
|
||||
// if(flag){
|
||||
// dummyInventoryInfoEO.setXin1Che1Xing2Shi2Shi1Ri4Qi1(xin1Che1Xing2Shi2Shi1Ri4Qi1);
|
||||
// }
|
||||
|
||||
//在产车实施日期 implementTime
|
||||
flag = dateVerify(dummyInventoryInfoEO, errorMsg, implementTime,msgList,"在产车实施日期","on the production vehicle implementation date");
|
||||
if(flag){
|
||||
dummyInventoryInfoEO.setImplementTime(implementTime);
|
||||
}
|
||||
// flag = dateVerify(dummyInventoryInfoEO, errorMsg, implementTime,msgList,"在产车实施日期","on the production vehicle implementation date");
|
||||
// if(flag){
|
||||
// dummyInventoryInfoEO.setImplementTime(implementTime);
|
||||
// }
|
||||
//认证类型(单选不必填)
|
||||
value = pullSingle(dictItemList, dummyInventoryInfoEO, errorMsg, attestationType,msgList,"认证类型","certification type");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
@@ -962,7 +956,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
}
|
||||
|
||||
//技术领域
|
||||
tree(categoryList,msgList, dummyInventoryInfoEO, errorMsg, technologyTerritory);
|
||||
// tree(categoryList,msgList, dummyInventoryInfoEO, errorMsg, technologyTerritory);
|
||||
|
||||
//责任领域(多选必填)
|
||||
flag = must(dummyInventoryInfoEO, errorMsg, msgList, dutyTerritory,"责任领域","area of responsibility");
|
||||
@@ -974,10 +968,10 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
}
|
||||
|
||||
//适用地区(多选不必填)
|
||||
value = pullMore(dictItemList, dummyInventoryInfoEO, errorMsg, region,msgList,"适用地区","zone of application");;
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
dummyInventoryInfoEO.setRegion(value);
|
||||
}
|
||||
// value = pullMore(dictItemList, dummyInventoryInfoEO, errorMsg, region,msgList,"适用地区","zone of application");;
|
||||
// if (StringUtils.isNotBlank(value)) {
|
||||
// dummyInventoryInfoEO.setRegion(value);
|
||||
// }
|
||||
//备注
|
||||
|
||||
//设计
|
||||
@@ -1073,15 +1067,28 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
}
|
||||
|
||||
private List<BussDocumentLibraryEO> verifySerialNumber(List<DummyInventoryInfoEO> dataList) {
|
||||
List<String> correspondingStandardIdList = dataList.stream().map(DummyInventoryInfoEO::getCorrespondingStandard).collect(Collectors.toList());
|
||||
//文档库数据
|
||||
List<String> serialNumberList = dataList.stream().map(DummyInventoryInfoEO::getSerialNumber).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<BussDocumentLibraryEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(BussDocumentLibraryEO::getId,correspondingStandardIdList);
|
||||
wrapper.in(BussDocumentLibraryEO::getSerialNumber,serialNumberList);
|
||||
List<BussDocumentLibraryEO> bussDocumentLibraryEOList = iBussDocumentLibraryEOService.list(wrapper);
|
||||
//文档库中可能存在重复的标准号
|
||||
List<String> serialNumberListTemp = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).distinct().collect(Collectors.toList());
|
||||
|
||||
//虚拟清单数据
|
||||
LambdaQueryWrapper<DummyInventoryInfoEO> wrapperTemp = new LambdaQueryWrapper<>();
|
||||
wrapperTemp.in(DummyInventoryInfoEO::getSerialNumber,serialNumberList);
|
||||
List<DummyInventoryInfoEO> dummyInventoryInfoEOList = this.list(wrapperTemp);
|
||||
if(serialNumberList.size() != serialNumberListTemp.size()){
|
||||
//存在文档库没有的数据
|
||||
List<String> collect = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList());
|
||||
List<String> serialNumbers = serialNumberList.stream().filter(e -> !collect.contains(e)).collect(Collectors.toList());
|
||||
if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加");
|
||||
}else{
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added");
|
||||
}
|
||||
}
|
||||
if(dummyInventoryInfoEOList.size() > 0){
|
||||
if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){
|
||||
throw new JeroBootException(StringUtils.join(serialNumberList,",")+"已存在,不能重复添加");
|
||||
@@ -1089,6 +1096,20 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
throw new JeroBootException(StringUtils.join(serialNumberList,",")+" already exists and cannot be added again");
|
||||
}
|
||||
}
|
||||
//通过编号将导入的数据与文档库进行关联
|
||||
for (DummyInventoryInfoEO dummyInventoryInfoEO : dataList) {
|
||||
List<BussDocumentLibraryEO> collect = bussDocumentLibraryEOList.stream()
|
||||
.filter(e -> e.getSerialNumber().equals(dummyInventoryInfoEO.getSerialNumber())).collect(Collectors.toList());
|
||||
dummyInventoryInfoEO.setTitle(collect.get(0).getTitle());
|
||||
dummyInventoryInfoEO.setState(collect.get(0).getState());
|
||||
dummyInventoryInfoEO.setCorrespondingStandard(collect.get(0).getCorrespondingStandard());
|
||||
dummyInventoryInfoEO.setTechnologyTerritory(collect.get(0).getTechnologyTerritory());
|
||||
dummyInventoryInfoEO.setRegion(collect.get(0).getRegion());
|
||||
dummyInventoryInfoEO.setShi4Yong4Fan4Wei2(collect.get(0).getShi4Yong4Fan4Wei2());
|
||||
dummyInventoryInfoEO.setImplementTime(collect.get(0).getImplementTime());
|
||||
dummyInventoryInfoEO.setXin1Che1Xing2Shi2Shi1Ri4Qi1(collect.get(0).getXin1Che1Xing2Shi2Shi1Ri4Qi1());
|
||||
}
|
||||
|
||||
return bussDocumentLibraryEOList;
|
||||
}
|
||||
|
||||
@@ -1248,7 +1269,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
private String fieldConvert(String field){
|
||||
if (field == null) return null;
|
||||
switch (field) {
|
||||
case "编号": return "serialNumber";
|
||||
case "*编号": return "serialNumber";
|
||||
case "标题": return "title";
|
||||
case "子标题": return "subtitle";
|
||||
case "适用范围": return "shi4Yong4Fan4Wei2";
|
||||
@@ -1259,9 +1280,9 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
case "在产车实施日期": return "implementTime";
|
||||
case "WVTA ID": return "wvtaId";
|
||||
case "认证类型": return "attestationType";
|
||||
case "认证级别": return "attestationRank";
|
||||
case "*认证级别": return "attestationRank";
|
||||
case "技术领域": return "technologyTerritory";
|
||||
case "责任领域": return "dutyTerritory";
|
||||
case "*责任领域": return "dutyTerritory";
|
||||
case "适用地区": return "region";
|
||||
case "备注": return "remark";
|
||||
case "设计交付物类型": return "designDeliverableType";
|
||||
|
||||
Reference in New Issue
Block a user