提交 5e1f4e54 authored 作者: 133's avatar 133

[用户 退役 ]

上级 7d778e81
...@@ -260,7 +260,9 @@ public class AllotBillController { ...@@ -260,7 +260,9 @@ public class AllotBillController {
//横纵向列装转换map(key:转换前列装id,value:转换后列装id),减少数据库查询 //横纵向列装转换map(key:转换前列装id,value:转换后列装id),减少数据库查询
Map<Integer,Integer> changeMap = new HashMap<>(); Map<Integer,Integer> changeMap = new HashMap<>();
get(strings,allotBillSaveVo); Map<String,PackingLibrary> packingLibraryHashMap = new HashMap<>();
get(strings,allotBillSaveVo,packingLibraryHashMap);
for (String s : strings) { for (String s : strings) {
//最后一位原来为装备扫码结果,已弃用 //最后一位原来为装备扫码结果,已弃用
if (s.length() >= 2) { if (s.length() >= 2) {
...@@ -275,35 +277,18 @@ public class AllotBillController { ...@@ -275,35 +277,18 @@ public class AllotBillController {
//如果当前装备的配用范围不是省以下纵向 //如果当前装备的配用范围不是省以下纵向
if (deviceLibraryEntity.getMatchingRange()!=1){ if (deviceLibraryEntity.getMatchingRange()!=1){
//判断changeMap是否存在该列装的转换信息 //判断changeMap是否存在该列装的转换信息
if (changeMap.get(deviceLibraryEntity.getPackingId())!=null){
//改变装备所属列装以及配用范围
deviceLibraryEntity.setPackingId(changeMap.get(deviceLibraryEntity.getPackingId()));
deviceLibraryEntity.setMatchingRange(1);
}
else {
PackingLibrary packingLibrary1 ;
//判断是否存在省以下纵向的相同列装装备 //判断是否存在省以下纵向的相同列装装备
PackingLibrary packingLibrary = packingLibraryService.getOne(deviceLibraryEntity.getPackingId()); PackingLibrary packingLibrary1 = packingLibraryHashMap.get(deviceLibraryEntity.getModel()+deviceLibraryEntity.getName()+1);
if(packingLibrary.getIsPart() == 1){
//拿到装备目录
PackingLibrary devLibrary = getPackingLibrary(packingLibrary);
List<PackingLibrary> packingLibraries = packingLibraryService.findSamePacking1(devLibrary.getPartParentId(), 1, devLibrary.getType(), packingLibrary.getStyle(), devLibrary.getName(), packingLibrary.getSecretLevel(), devLibrary.getInvisibleRange());
List<PackingLibrary> collect = packingLibraries.stream().sorted(Comparator.comparing(PackingLibrary::getCreateTime).reversed()).collect(Collectors.toList());
packingLibrary1 = collect.get(0);
}else {
packingLibrary1 = packingLibraryService.findSamePacking(packingLibrary.getPartParentId(), 1, packingLibrary.getType(), packingLibrary.getStyle(), packingLibrary.getName(), packingLibrary.getSecretLevel(), packingLibrary.getInvisibleRange());
}
//不存在直接抛出异常 //不存在直接抛出异常
if (packingLibrary1 == null) { if (packingLibrary1 != null) {
throw new ApiException(ResponseEntity.status(20000).body(new ResultObj("序列号为" + deviceLibraryEntity.getSeqNumber() + "的装备所属列装不存在配用范围为省对下纵向的相同列装装备")));
}
//存在的话改变装备所属列装以及配用范围
else {
changeMap.put(deviceLibraryEntity.getPackingId(),packingLibrary1.getId()); changeMap.put(deviceLibraryEntity.getPackingId(),packingLibrary1.getId());
deviceLibraryEntity.setPackingId(packingLibrary1.getId()); deviceLibraryEntity.setPackingId(packingLibrary1.getId());
deviceLibraryEntity.setMatchingRange(1); deviceLibraryEntity.setMatchingRange(1);
}else {
log.info("[配发] 没有在packingLibraryHashMap找到key:{}的列装",deviceLibraryEntity.getModel()+deviceLibraryEntity.getName()+1);
} }
}
//存装备日志 //存装备日志
DeviceLogDto deviceLogDto = new DeviceLogDto(id, "纵向配发将所属列装由" + deviceLibraryEntity.getMatchingRangeName() + "的列装改为"+configCache.getMatchingRangeMap().get(1)+"的列装", fileVoList,saveEntity.getId(),null); DeviceLogDto deviceLogDto = new DeviceLogDto(id, "纵向配发将所属列装由" + deviceLibraryEntity.getMatchingRangeName() + "的列装改为"+configCache.getMatchingRangeMap().get(1)+"的列装", fileVoList,saveEntity.getId(),null);
deviceLogService.addLog(deviceLogDto); deviceLogService.addLog(deviceLogDto);
...@@ -316,25 +301,15 @@ public class AllotBillController { ...@@ -316,25 +301,15 @@ public class AllotBillController {
//如果当前装备的配用范围不是省以下纵向 //如果当前装备的配用范围不是省以下纵向
if (deviceLibraryEntity.getMatchingRange()!=2){ if (deviceLibraryEntity.getMatchingRange()!=2){
//判断changeMap是否存在该列装的转换信息 //判断changeMap是否存在该列装的转换信息
if (changeMap.get(deviceLibraryEntity.getPackingId())!=null){
//改变装备所属列装以及配用范围
deviceLibraryEntity.setPackingId(changeMap.get(deviceLibraryEntity.getPackingId()));
deviceLibraryEntity.setMatchingRange(2);
}
else {
//判断是否存在省以下纵向的相同列装装备 //判断是否存在省以下纵向的相同列装装备
PackingLibrary packingLibrary = packingLibraryService.getOne(deviceLibraryEntity.getPackingId()); PackingLibrary packingLibrary1 = packingLibraryHashMap.get(deviceLibraryEntity.getModel()+deviceLibraryEntity.getName()+2);
PackingLibrary packingLibrary1 = packingLibraryService.findSamePacking(packingLibrary.getPartParentId(), 2, packingLibrary.getType(), packingLibrary.getStyle(), packingLibrary.getName(), packingLibrary.getSecretLevel(), packingLibrary.getInvisibleRange());
//不存在直接抛出异常 //不存在直接抛出异常
if (packingLibrary1 == null) { if (packingLibrary1 != null) {
throw new ApiException(ResponseEntity.status(20000).body(new ResultObj("序列号为" + deviceLibraryEntity.getSeqNumber() + "的装备所属列装不存在配用范围为省对下纵向的相同列装装备")));
}
//存在的话改变装备所属列装以及配用范围
else {
changeMap.put(deviceLibraryEntity.getPackingId(),packingLibrary1.getId()); changeMap.put(deviceLibraryEntity.getPackingId(),packingLibrary1.getId());
deviceLibraryEntity.setPackingId(packingLibrary1.getId()); deviceLibraryEntity.setPackingId(packingLibrary1.getId());
deviceLibraryEntity.setMatchingRange(1); deviceLibraryEntity.setMatchingRange(2);
} }else {
log.info("[配发] 没有在packingLibraryHashMap找到key:{}的列装",deviceLibraryEntity.getModel()+deviceLibraryEntity.getName()+2);
} }
//存装备日志 //存装备日志
DeviceLogDto deviceLogDto = new DeviceLogDto(id, "纵向配发将所属列装由" + deviceLibraryEntity.getMatchingRangeName() + "的列装改为"+configCache.getMatchingRangeMap().get(1)+"的列装", fileVoList,saveEntity.getId(),null); DeviceLogDto deviceLogDto = new DeviceLogDto(id, "纵向配发将所属列装由" + deviceLibraryEntity.getMatchingRangeName() + "的列装改为"+configCache.getMatchingRangeMap().get(1)+"的列装", fileVoList,saveEntity.getId(),null);
...@@ -350,33 +325,20 @@ public class AllotBillController { ...@@ -350,33 +325,20 @@ public class AllotBillController {
//如果当前装备的配用范围不是省以下横向 //如果当前装备的配用范围不是省以下横向
if (deviceLibraryEntity.getMatchingRange()!=3) { if (deviceLibraryEntity.getMatchingRange()!=3) {
//判断changeMap是否存在该列装的转换信息 //判断changeMap是否存在该列装的转换信息
if (changeMap.get(deviceLibraryEntity.getPackingId())!=null){ PackingLibrary packingLibrary1 = packingLibraryHashMap.get(deviceLibraryEntity.getModel()+deviceLibraryEntity.getName()+3);
//改变装备所属列装以及配用范围
deviceLibraryEntity.setPackingId(changeMap.get(deviceLibraryEntity.getPackingId()));
deviceLibraryEntity.setMatchingRange(3);
}
else {
//判断是否存在省以下横向的相同列装装备
PackingLibrary packingLibrary = packingLibraryService.getOne(deviceLibraryEntity.getPackingId());
PackingLibrary packingLibrary1 = packingLibraryService.findSamePacking(packingLibrary.getPartParentId(), 3, packingLibrary.getType(), packingLibrary.getStyle(), packingLibrary.getName(), packingLibrary.getSecretLevel(), packingLibrary.getInvisibleRange());
//不存在直接抛出异常 //不存在直接抛出异常
// if (packingLibrary1 == null) { if (packingLibrary1 != null) {
// throw new ApiException(ResponseEntity.status(20000).body(new ResultObj("序列号为" + deviceLibraryEntity.getSeqNumber() + "的装备所属列装不存在配用范围为省对下横向的相同列装装备"))); changeMap.put(deviceLibraryEntity.getPackingId(),packingLibrary1.getId());
// }
if (packingLibrary1 == null){
createPackingLibrary(packingLibrary,null,id);
}
//存在的话改变装备所属列装以及配用范围
else {
changeMap.put(deviceLibraryEntity.getPackingId(), packingLibrary1.getId());
deviceLibraryEntity.setPackingId(packingLibrary1.getId()); deviceLibraryEntity.setPackingId(packingLibrary1.getId());
deviceLibraryEntity.setMatchingRange(3); deviceLibraryEntity.setMatchingRange(3);
}else {
log.info("[配发] 没有在packingLibraryHashMap找到key:{}的列装",deviceLibraryEntity.getModel()+deviceLibraryEntity.getName()+3);
} }
} }
//存装备日志 //存装备日志
DeviceLogDto deviceLogDto = new DeviceLogDto(id, "横向配发将所属列装由" + deviceLibraryEntity.getMatchingRangeName() + "的列装改为" + configCache.getMatchingRangeMap().get(3) + "的列装", fileVoList,saveEntity.getId(),null); DeviceLogDto deviceLogDto = new DeviceLogDto(id, "横向配发将所属列装由" + deviceLibraryEntity.getMatchingRangeName() + "的列装改为" + configCache.getMatchingRangeMap().get(3) + "的列装", fileVoList,saveEntity.getId(),null);
deviceLogService.addLog(deviceLogDto); deviceLogService.addLog(deviceLogDto);
}
//横向直接改变装备所属所在 //横向直接改变装备所属所在
deviceLibraryEntity.setLocationUnit(allotBillSaveVo.getReceiveUnit()); deviceLibraryEntity.setLocationUnit(allotBillSaveVo.getReceiveUnit());
deviceLibraryEntity.setOwnUnit(allotBillSaveVo.getReceiveUnit()); deviceLibraryEntity.setOwnUnit(allotBillSaveVo.getReceiveUnit());
...@@ -422,7 +384,6 @@ public class AllotBillController { ...@@ -422,7 +384,6 @@ public class AllotBillController {
allotBill.setSendFileList(FilesUtil.stringFileToList(allotBill.getSendFiles())); allotBill.setSendFileList(FilesUtil.stringFileToList(allotBill.getSendFiles()));
allotBill.setReplyFileList(FilesUtil.stringFileToList(allotBill.getReplyFiles())); allotBill.setReplyFileList(FilesUtil.stringFileToList(allotBill.getReplyFiles()));
//输出配发单给前端 //输出配发单给前端
System.out.println("46131");
return ResponseEntity.ok(new ResultObj(allotBill, "发起成功")); return ResponseEntity.ok(new ResultObj(allotBill, "发起成功"));
} }
...@@ -1032,26 +993,28 @@ public class AllotBillController { ...@@ -1032,26 +993,28 @@ public class AllotBillController {
} }
} }
public void getPackingLibrary2(PackingLibrary packingLibrary,Integer newId,Integer matchingRange){ public void getPackingLibrary2(PackingLibrary packingLibrary,Integer newId,Integer matchingRange,Map<String,PackingLibrary> packingLibraryMap){
// PackingLibrary newPackingLibrary = mapper.map(packingLibrary,PackingLibrary.class);
PackingLibrary newPackingLibrary = new PackingLibrary(); PackingLibrary newPackingLibrary = new PackingLibrary();
BeanUtils.copyProperties(packingLibrary,newPackingLibrary); BeanUtils.copyProperties(packingLibrary,newPackingLibrary);
newPackingLibrary.setId(null); newPackingLibrary.setId(null);
newPackingLibrary.setPartParentId(newId); newPackingLibrary.setPartParentId(newId);
newPackingLibrary.setMatchingRange(matchingRange); newPackingLibrary.setMatchingRange(matchingRange);
PackingLibrary pl = packingLibraryDao.save(newPackingLibrary); packingLibraryService.addAllotPacking(newPackingLibrary);
// packingLibraryDao.save(newPackingLibrary);
log.info("pl:{}",pl); packingLibraryMap.put(newPackingLibrary.getModel()+newPackingLibrary.getName()+newPackingLibrary.getMatchingRange(),newPackingLibrary);
List<PackingLibrary> packingLibraryList = packingLibraryService.getAllByPartPackingId(packingLibrary.getId()); List<PackingLibrary> packingLibraryList = packingLibraryService.getAllByPartPackingId(packingLibrary.getId());
if (packingLibraryList!=null||packingLibraryList.size()!=0){ if (packingLibraryList!=null||packingLibraryList.size()!=0){
packingLibraryList.forEach(packingLibrary1 -> { packingLibraryList.forEach(packingLibrary1 -> {
getPackingLibrary2(packingLibrary1,newPackingLibrary.getId(),matchingRange); getPackingLibrary2(packingLibrary1,newPackingLibrary.getId(),matchingRange,packingLibraryMap);
}); });
} }
} }
public void get(String[] strings,AllotBillSaveVo allotBillSaveVo){ public void get(String[] strings,AllotBillSaveVo allotBillSaveVo,Map<String,PackingLibrary> packingLibraryHashMap){
for (String s : strings) { for (String s : strings) {
//最后一位原来为装备扫码结果,已弃用 //最后一位原来为装备扫码结果,已弃用
if (s.length() >= 2) { if (s.length() >= 2) {
...@@ -1064,14 +1027,28 @@ public class AllotBillController { ...@@ -1064,14 +1027,28 @@ public class AllotBillController {
if (allotBillSaveVo.getMatchingRange() == 1){ if (allotBillSaveVo.getMatchingRange() == 1){
//如果当前装备的配用范围不是省以下纵向 //如果当前装备的配用范围不是省以下纵向
if (deviceLibraryEntity.getMatchingRange()!=1){ if (deviceLibraryEntity.getMatchingRange()!=1){
//判断是否存在省以下纵向的相同列装装备 //判断是否存在省以下纵向的相同列装装备
PackingLibrary packingLibrary = packingLibraryService.getOne(deviceLibraryEntity.getPackingId()); PackingLibrary packingLibrary = packingLibraryService.getOne(deviceLibraryEntity.getPackingId());
PackingLibrary packingLibrary1 = packingLibraryService.findSamePacking(packingLibrary.getPartParentId(), 1, packingLibrary.getType(), packingLibrary.getStyle(), packingLibrary.getName(), packingLibrary.getSecretLevel(), packingLibrary.getInvisibleRange()); PackingLibrary packingLibrary1;
if(packingLibrary.getIsPart() == 1){
//拿到装备目录
PackingLibrary devLibrary = getPackingLibrary(packingLibrary);
List<PackingLibrary> packingLibraries = packingLibraryService.findSamePacking1(devLibrary.getPartParentId(), 1, devLibrary.getType(), packingLibrary.getStyle(), devLibrary.getName(), packingLibrary.getSecretLevel(), devLibrary.getInvisibleRange());
List<PackingLibrary> collect = packingLibraries.stream().sorted(Comparator.comparing(PackingLibrary::getCreateTime).reversed()).collect(Collectors.toList());
packingLibrary1 = collect.get(0);
}else {
packingLibrary1 = packingLibraryService.findSamePacking(packingLibrary.getPartParentId(), 1, packingLibrary.getType(), packingLibrary.getStyle(), packingLibrary.getName(), packingLibrary.getSecretLevel(), packingLibrary.getInvisibleRange());
}
//不存在直接抛出异常 //不存在直接抛出异常
if (packingLibrary1 == null) { if (packingLibrary1 == null) {
PackingLibrary library = getPackingLibrary(packingLibrary); PackingLibrary library = getPackingLibrary(packingLibrary);
getPackingLibrary2(library,library.getPartParentId(),1); getPackingLibrary2(library,library.getPartParentId(),1,packingLibraryHashMap);
}else {
packingLibraryHashMap.put(packingLibrary1.getModel()+packingLibrary1.getName()+1,packingLibrary1);
} }
} }
} }
//横向配发 //横向配发
...@@ -1080,11 +1057,21 @@ public class AllotBillController { ...@@ -1080,11 +1057,21 @@ public class AllotBillController {
if (deviceLibraryEntity.getMatchingRange()!=2){ if (deviceLibraryEntity.getMatchingRange()!=2){
//判断是否存在省以下纵向的相同列装装备 //判断是否存在省以下纵向的相同列装装备
PackingLibrary packingLibrary = packingLibraryService.getOne(deviceLibraryEntity.getPackingId()); PackingLibrary packingLibrary = packingLibraryService.getOne(deviceLibraryEntity.getPackingId());
PackingLibrary packingLibrary1 = packingLibraryService.findSamePacking(packingLibrary.getPartParentId(), 2, packingLibrary.getType(), packingLibrary.getStyle(), packingLibrary.getName(), packingLibrary.getSecretLevel(), packingLibrary.getInvisibleRange()); PackingLibrary packingLibrary1;
//不存在直接抛出异常 if(packingLibrary.getIsPart() == 1){
//拿到装备目录
PackingLibrary devLibrary = getPackingLibrary(packingLibrary);
List<PackingLibrary> packingLibraries = packingLibraryService.findSamePacking1(devLibrary.getPartParentId(), 2, devLibrary.getType(), packingLibrary.getStyle(), devLibrary.getName(), packingLibrary.getSecretLevel(), devLibrary.getInvisibleRange());
List<PackingLibrary> collect = packingLibraries.stream().sorted(Comparator.comparing(PackingLibrary::getCreateTime).reversed()).collect(Collectors.toList());
packingLibrary1 = collect.get(0);
}else {
packingLibrary1 = packingLibraryService.findSamePacking(packingLibrary.getPartParentId(), 2, packingLibrary.getType(), packingLibrary.getStyle(), packingLibrary.getName(), packingLibrary.getSecretLevel(), packingLibrary.getInvisibleRange());
} //不存在直接抛出异常
if (packingLibrary1 == null) { if (packingLibrary1 == null) {
PackingLibrary library = getPackingLibrary(packingLibrary); PackingLibrary library = getPackingLibrary(packingLibrary);
getPackingLibrary2(library,library.getPartParentId(),2); getPackingLibrary2(library,library.getPartParentId(),2,packingLibraryHashMap);
}else {
packingLibraryHashMap.put(packingLibrary1.getModel()+packingLibrary1.getName()+2,packingLibrary1);
} }
} }
...@@ -1093,10 +1080,21 @@ public class AllotBillController { ...@@ -1093,10 +1080,21 @@ public class AllotBillController {
//如果当前装备的配用范围不是省以下横向 //如果当前装备的配用范围不是省以下横向
if (deviceLibraryEntity.getMatchingRange()!=3) { if (deviceLibraryEntity.getMatchingRange()!=3) {
PackingLibrary packingLibrary = packingLibraryService.getOne(deviceLibraryEntity.getPackingId()); PackingLibrary packingLibrary = packingLibraryService.getOne(deviceLibraryEntity.getPackingId());
PackingLibrary packingLibrary1 = packingLibraryService.findSamePacking(packingLibrary.getPartParentId(), 3, packingLibrary.getType(), packingLibrary.getStyle(), packingLibrary.getName(), packingLibrary.getSecretLevel(), packingLibrary.getInvisibleRange()); PackingLibrary packingLibrary1;
if(packingLibrary.getIsPart() == 1){
//拿到装备目录
PackingLibrary devLibrary = getPackingLibrary(packingLibrary);
List<PackingLibrary> packingLibraries = packingLibraryService.findSamePacking1(devLibrary.getPartParentId(), 3, devLibrary.getType(), packingLibrary.getStyle(), devLibrary.getName(), packingLibrary.getSecretLevel(), devLibrary.getInvisibleRange());
List<PackingLibrary> collect = packingLibraries.stream().sorted(Comparator.comparing(PackingLibrary::getCreateTime).reversed()).collect(Collectors.toList());
packingLibrary1 = collect.get(0);
}else {
packingLibrary1 = packingLibraryService.findSamePacking(packingLibrary.getPartParentId(), 3, packingLibrary.getType(), packingLibrary.getStyle(), packingLibrary.getName(), packingLibrary.getSecretLevel(), packingLibrary.getInvisibleRange());
}
if (packingLibrary1 == null){ if (packingLibrary1 == null){
PackingLibrary library = getPackingLibrary(packingLibrary); PackingLibrary library = getPackingLibrary(packingLibrary);
getPackingLibrary2(library,library.getPartParentId(),3); getPackingLibrary2(library,library.getPartParentId(),3,packingLibraryHashMap);
}else {
packingLibraryHashMap.put(packingLibrary1.getModel()+packingLibrary1.getName()+3,packingLibrary1);
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论