提交 fb8fb9c6 authored 作者: zhoushaopan's avatar zhoushaopan

fix(入库模块): 修复了入库的bug

修复了入库的bug
上级 face55e9
...@@ -67,6 +67,7 @@ import java.util.function.Function; ...@@ -67,6 +67,7 @@ import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.IntStream; import java.util.stream.IntStream;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.toMap; import static java.util.stream.Collectors.toMap;
/** /**
...@@ -674,25 +675,35 @@ public class StorageBillController { ...@@ -674,25 +675,35 @@ public class StorageBillController {
List<DeviceLibrary> saveParts = new ArrayList<>(); List<DeviceLibrary> saveParts = new ArrayList<>();
List<DeviceLibrary> devs = batchEntities.stream().filter(deviceLibrary -> deviceLibrary.getIsPart() == 0) List<DeviceLibrary> devs = batchEntities.stream().filter(deviceLibrary -> deviceLibrary.getIsPart() == 0)
.collect(Collectors.toList()); .collect(Collectors.toList());
Map<String, List<DeviceLibrary>> modelsDev = devs.stream().collect(groupingBy(DeviceLibrary::getModel));
if (!devs.isEmpty()){ Map<String, List<DeviceLibrary>> modelsPart = parts.stream().collect(groupingBy(DeviceLibrary::getModel));
if (!parts.isEmpty()){ //存放附件
if (devs.size()>parts.size()){ List<DeviceLibrary> deviceLibraries2 = new ArrayList<>();
devs = devs.subList(0,parts.size()); for (String model : modelsDev.keySet()) {
if (modelsPart.get(model)!=null){
//说明同型号的附件存在
//装备集合
List<DeviceLibrary> deviceLibraries = modelsDev.get(model);
//附件集合
List<DeviceLibrary> deviceLibraries1 = modelsPart.get(model);
if (deviceLibraries.size()>deviceLibraries1.size()){
deviceLibraries = deviceLibraries.subList(0,deviceLibraries1.size());
} }
if (devs.size()<parts.size()){ if (deviceLibraries.size()<deviceLibraries1.size()){
//将长度设为一致 //将长度设为一致 截取和装备集合相同数量
List<DeviceLibrary> deviceLibraries = parts.subList(0, devs.size()); // deviceLibraries2 = deviceLibraries1.subList(0, deviceLibraries.size());
parts.removeAll(deviceLibraries); List<DeviceLibrary> deviceLibraries3 = deviceLibraries1.subList(0, deviceLibraries.size());
saveParts.addAll(parts); deviceLibraries2.addAll(deviceLibraries3);
deviceLibraries1.removeAll(deviceLibraries2);
//处理多余的附件
saveParts.addAll(deviceLibraries1);
} }
if (deviceLibraries.size() == deviceLibraries2.size()){
if (devs.size() == parts.size()){ for (int i = 0; i < deviceLibraries.size(); i++) {
for (int i = 0; i < devs.size(); i++) { for (int j = 0; j < deviceLibraries2.size(); j++) {
for (int j = 0; j < parts.size(); j++) { if(deviceLibraries.get(i).getPackingId().equals(packingLibraryService.getOne(deviceLibraries2.get(j).getPackingId()).getPartParentId())){
if(devs.get(i).getPackingId().equals(packingLibraryService.getOne(parts.get(j).getPackingId()).getPartParentId())){ deviceLibraries2.get(j).setPartParentId(deviceLibraries.get(i).getId());
parts.get(j).setPartParentId(devs.get(i).getId()); saveParts.add(deviceLibraries2.get(j));
saveParts.add(parts.get(j));
i++; i++;
} }
} }
...@@ -701,6 +712,32 @@ public class StorageBillController { ...@@ -701,6 +712,32 @@ public class StorageBillController {
} }
} }
// if (!devs.isEmpty()){
// if (!parts.isEmpty()){
// if (devs.size()>parts.size()){
// devs = devs.subList(0,parts.size());
// }
// if (devs.size()<parts.size()){
// //将长度设为一致
// List<DeviceLibrary> deviceLibraries = parts.subList(0, devs.size());
// parts.removeAll(deviceLibraries);
// saveParts.addAll(parts);
// }
//
// if (devs.size() == parts.size()){
// for (int i = 0; i < devs.size(); i++) {
// for (int j = 0; j < parts.size(); j++) {
// if(devs.get(i).getPackingId().equals(packingLibraryService.getOne(parts.get(j).getPackingId()).getPartParentId())){
// parts.get(j).setPartParentId(devs.get(i).getId());
// saveParts.add(parts.get(j));
// i++;
// }
// }
// }
// }
//
// }
// }
//批量更新 //批量更新
List<DeviceLibrary> updateParts = deviceLibraryService.batchDevices(saveParts); List<DeviceLibrary> updateParts = deviceLibraryService.batchDevices(saveParts);
batchEntitiesIsBinding0.addAll(updateParts); batchEntitiesIsBinding0.addAll(updateParts);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论