|
@@ -152,7 +152,7 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
.in(BilletBasicInfo::getBilletNo, billetNos);
|
|
|
List<BilletBasicInfo> billetBasicInfoList = billetBasicInfoService.list(queryWrapperls);
|
|
|
if (oConvertUtils.listIsEmpty(billetBasicInfoList)){
|
|
|
- result.put("fail", "钢坯基础信息不存在,保存失败!");
|
|
|
+ result.put("fail", "钢坯基础信息不存在,棒线保存失败!");
|
|
|
return result;
|
|
|
}
|
|
|
billetBasicInfoList.forEach(x ->{
|
|
@@ -187,30 +187,55 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
result.put("fail", "钢坯装运单不存在,棒线保存操作失败!");
|
|
|
return result;
|
|
|
}
|
|
|
- storageBillInfo.setAmountTotal(storageBillInfo.getAmountTotal() + rollClubCommonList.size());
|
|
|
+
|
|
|
// 取最新的第一条钢坯信息
|
|
|
- RollClubCommon rollClubCommon = rollClubCommonList.stream().findFirst().orElse(null);
|
|
|
- if (rollClubCommon != null) {
|
|
|
- storageBillInfo.setSteel(rollClubCommon.getGrade());//钢种
|
|
|
- storageBillInfo.setSpec(rollClubCommon.getSpec());//规格
|
|
|
- storageBillInfo.setHeatNo(rollClubCommon.getHeatNo());// 炉号
|
|
|
+ BilletBasicInfo billetBasicInfo = billetBasicInfoList.stream().findFirst().orElse(null);
|
|
|
+ if (billetBasicInfo != null) {
|
|
|
+ storageBillInfo.setSteel(billetBasicInfo.getGrade());//钢种
|
|
|
+ storageBillInfo.setSpec(billetBasicInfo.getSpec());//规格
|
|
|
+ storageBillInfo.setHeatNo(billetBasicInfo.getHeatNo());// 炉号
|
|
|
+ }
|
|
|
+ // 装运单编辑确认目的地,同步时,维护定尺
|
|
|
+ List<Integer> sizeIntList = billetBasicInfoList.stream().map(BilletBasicInfo::getLength).distinct().collect(Collectors.toList());
|
|
|
+ List<String> sizeStrList = sizeIntList.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
+ if(oConvertUtils.listIsNotEmpty(sizeStrList)) {
|
|
|
+ String distinctSizeStr = sizeIntList.stream()
|
|
|
+ .distinct()
|
|
|
+ .map(String::valueOf)
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
+ String finalSizeStr = Optional.ofNullable(storageBillInfo.getSize())
|
|
|
+ .filter(oConvertUtils::isNotEmpty)
|
|
|
+ .map(s -> s + "," + distinctSizeStr)
|
|
|
+ .orElse(distinctSizeStr);
|
|
|
+ // 对 finalSizeStr 再次去重
|
|
|
+ String[] sizeArray = finalSizeStr.split(",");
|
|
|
+ Set<String> uniqueSizes = Arrays.stream(sizeArray)
|
|
|
+ .filter(s -> s != null && !s.isEmpty())
|
|
|
+ .collect(Collectors.toCollection(HashSet::new));
|
|
|
+ finalSizeStr = String.join(",", uniqueSizes);
|
|
|
+ storageBillInfo.setSize(finalSizeStr);
|
|
|
}
|
|
|
- List<Integer> sizeList = rollClubCommonList.stream().map(RollClubCommon::getLength).distinct().collect(Collectors.toList());
|
|
|
- List<String> sizeLists = sizeList.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
- String sizeString = String.join(",", sizeLists);
|
|
|
- storageBillInfo.setSize(sizeString);// 定尺
|
|
|
- List<String> stringList = billetBasicInfoList.stream().map(BilletBasicInfo::getAssemblyNumber).filter(assemblyNumber -> oConvertUtils.isNotEmpty(assemblyNumber)).collect(Collectors.toList());
|
|
|
- if(oConvertUtils.listIsNotEmpty(stringList)) {
|
|
|
- String distinctAssemblyNumber = billetBasicInfoList.stream()
|
|
|
- .map(BilletBasicInfo::getAssemblyNumber)
|
|
|
- .filter(assemblyNumber -> oConvertUtils.isNotEmpty(assemblyNumber))
|
|
|
- .distinct().collect(Collectors.joining(","));
|
|
|
+
|
|
|
+ // 装运单编辑确认目的地,同步时,维护组批号
|
|
|
+ List<String> assemblyNumberList = billetBasicInfoList.stream().map(BilletBasicInfo::getAssemblyNumber)
|
|
|
+ .filter(assemblyNumber -> oConvertUtils.isNotEmpty(assemblyNumber)).collect(Collectors.toList());
|
|
|
+ if(oConvertUtils.listIsNotEmpty(assemblyNumberList)) {
|
|
|
+ String distinctAssemblyNumber = assemblyNumberList.stream().distinct().collect(Collectors.joining(","));
|
|
|
String finalAssemblyNumber = Optional.ofNullable(storageBillInfo.getAssemblyNumber())
|
|
|
.filter(oConvertUtils::isNotEmpty)
|
|
|
.map(s -> s + "," + distinctAssemblyNumber)
|
|
|
.orElse(distinctAssemblyNumber);
|
|
|
+
|
|
|
+ // 对 finalAssemblyNumber 再次去重
|
|
|
+ String[] assemblyNumberArray = finalAssemblyNumber.split(",");
|
|
|
+ Set<String> uniqueAssemblyNumbers = Arrays.stream(assemblyNumberArray)
|
|
|
+ .filter(s -> s != null && !s.isEmpty())
|
|
|
+ .collect(Collectors.toCollection(HashSet::new));
|
|
|
+ finalAssemblyNumber = String.join(",", uniqueAssemblyNumbers);
|
|
|
storageBillInfo.setAssemblyNumber(finalAssemblyNumber);
|
|
|
}
|
|
|
+ // 装运总支数累加
|
|
|
+ storageBillInfo.setAmountTotal(storageBillInfo.getAmountTotal() + rollClubCommonList.size());
|
|
|
storageBillService.updateById(storageBillInfo);
|
|
|
result.put("success", "棒线保存成功!");
|
|
|
return result;
|
|
@@ -271,7 +296,6 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
//
|
|
|
List<String> sizeList = new ArrayList<>();
|
|
|
List<String> heatNoList = new ArrayList<>();
|
|
|
- long count = 0l;
|
|
|
//根据铸机号、钢坯转运单ID查询定尺信息
|
|
|
if ("roll_club_two".equals(billetHotsendDetailsVo.getBelongTable())){
|
|
|
LambdaQueryWrapper<RollClubTwoDetails> queryWrapperRC = new LambdaQueryWrapper();
|
|
@@ -281,9 +305,6 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
.collect(Collectors.toList());
|
|
|
heatNoList = rollClubTwoDetailsList.stream().map(RollClubTwoDetails::getHeatNo).distinct()
|
|
|
.collect(Collectors.toList());
|
|
|
- if (oConvertUtils.listIsNotEmpty(rollClubTwoDetailsList)){
|
|
|
- count = rollClubTwoDetailsList.stream().count();
|
|
|
- }
|
|
|
}
|
|
|
if ("roll_club_three".equals(billetHotsendDetailsVo.getBelongTable())){
|
|
|
LambdaQueryWrapper<RollClubThreeDetails> queryWrapperCT = new LambdaQueryWrapper();
|
|
@@ -293,9 +314,6 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
.collect(Collectors.toList());
|
|
|
heatNoList = rollClubThreeDetailsList.stream().map(RollClubThreeDetails::getHeatNo).distinct()
|
|
|
.collect(Collectors.toList());
|
|
|
- if (oConvertUtils.listIsNotEmpty(rollClubThreeDetailsList)){
|
|
|
- count = rollClubThreeDetailsList.stream().count();
|
|
|
- }
|
|
|
}
|
|
|
if ("roll_out_shipp".equals(billetHotsendDetailsVo.getBelongTable())){
|
|
|
LambdaQueryWrapper<RollOutShippDetails> queryWrapperROS = new LambdaQueryWrapper();
|
|
@@ -305,9 +323,6 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
.collect(Collectors.toList());
|
|
|
heatNoList = rollOutShippDetailsList.stream().map(RollOutShippDetails::getHeatNo).distinct()
|
|
|
.collect(Collectors.toList());
|
|
|
- if (oConvertUtils.listIsNotEmpty(rollOutShippDetailsList)){
|
|
|
- count = rollOutShippDetailsList.stream().count();
|
|
|
- }
|
|
|
}
|
|
|
// 更新装运单 车次总序号、本车车次
|
|
|
if (oConvertUtils.isEmpty(billetHotsendDetailsVo.getStorageBill()) || billetHotsendDetailsVo.getStorageBill() == null){
|
|
@@ -323,26 +338,56 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
result.put("fail", "钢坯装运单不存在,棒线发车操作失败!");
|
|
|
return result;
|
|
|
}
|
|
|
- storageBillInfo.setAmountTotal(storageBillInfo.getAmountTotal() + rollClubCommonList.size());
|
|
|
+
|
|
|
// 取最新的第一条钢坯信息
|
|
|
- RollClubCommon rollClubCommon = rollClubCommonList.stream().findFirst().orElse(null);
|
|
|
- storageBillInfo.setSteel(rollClubCommon.getGrade());//钢种
|
|
|
- storageBillInfo.setSpec(rollClubCommon.getSpec());//规格
|
|
|
- storageBillInfo.setHeatNo(rollClubCommon.getHeatNo());// 炉号
|
|
|
- String sizeString = String.join(",", sizeList.stream().map(String::valueOf).collect(Collectors.toList()));
|
|
|
- storageBillInfo.setSize(sizeString);// 定尺
|
|
|
- List<String> assemblyNumberList = billetBasicInfoList.stream().map(BilletBasicInfo::getAssemblyNumber).filter(assemblyNumber -> oConvertUtils.isNotEmpty(assemblyNumber)).collect(Collectors.toList());
|
|
|
+ BilletBasicInfo billetBasicInfo = billetBasicInfoList.stream().findFirst().orElse(null);
|
|
|
+ if (billetBasicInfo != null) {
|
|
|
+ storageBillInfo.setSteel(billetBasicInfo.getGrade());//钢种
|
|
|
+ storageBillInfo.setSpec(billetBasicInfo.getSpec());//规格
|
|
|
+ storageBillInfo.setHeatNo(billetBasicInfo.getHeatNo());// 炉号
|
|
|
+ }
|
|
|
+ // 装运单编辑确认目的地,同步时,维护定尺
|
|
|
+ List<Integer> sizeIntList = billetBasicInfoList.stream().map(BilletBasicInfo::getLength).distinct().collect(Collectors.toList());
|
|
|
+ List<String> sizeStrList = sizeIntList.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
+ if(oConvertUtils.listIsNotEmpty(sizeStrList)) {
|
|
|
+ String distinctSizeStr = sizeIntList.stream()
|
|
|
+ .distinct()
|
|
|
+ .map(String::valueOf)
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
+ String finalSizeStr = Optional.ofNullable(storageBillInfo.getSize())
|
|
|
+ .filter(oConvertUtils::isNotEmpty)
|
|
|
+ .map(s -> s + "," + distinctSizeStr)
|
|
|
+ .orElse(distinctSizeStr);
|
|
|
+ // 对 finalSizeStr 再次去重
|
|
|
+ String[] sizeArray = finalSizeStr.split(",");
|
|
|
+ Set<String> uniqueSizes = Arrays.stream(sizeArray)
|
|
|
+ .filter(s -> s != null && !s.isEmpty())
|
|
|
+ .collect(Collectors.toCollection(HashSet::new));
|
|
|
+ finalSizeStr = String.join(",", uniqueSizes);
|
|
|
+ storageBillInfo.setSize(finalSizeStr);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 装运单编辑确认目的地,同步时,维护组批号
|
|
|
+ List<String> assemblyNumberList = billetBasicInfoList.stream().map(BilletBasicInfo::getAssemblyNumber)
|
|
|
+ .filter(assemblyNumber -> oConvertUtils.isNotEmpty(assemblyNumber)).collect(Collectors.toList());
|
|
|
if(oConvertUtils.listIsNotEmpty(assemblyNumberList)) {
|
|
|
- String distinctAssemblyNumber = billetBasicInfoList.stream()
|
|
|
- .map(BilletBasicInfo::getAssemblyNumber)
|
|
|
- .filter(assemblyNumber -> oConvertUtils.isNotEmpty(assemblyNumber))
|
|
|
- .distinct().collect(Collectors.joining(","));
|
|
|
+ String distinctAssemblyNumber = assemblyNumberList.stream().distinct().collect(Collectors.joining(","));
|
|
|
String finalAssemblyNumber = Optional.ofNullable(storageBillInfo.getAssemblyNumber())
|
|
|
.filter(oConvertUtils::isNotEmpty)
|
|
|
.map(s -> s + "," + distinctAssemblyNumber)
|
|
|
.orElse(distinctAssemblyNumber);
|
|
|
+
|
|
|
+ // 对 finalAssemblyNumber 再次去重
|
|
|
+ String[] assemblyNumberArray = finalAssemblyNumber.split(",");
|
|
|
+ Set<String> uniqueAssemblyNumbers = Arrays.stream(assemblyNumberArray)
|
|
|
+ .filter(s -> s != null && !s.isEmpty())
|
|
|
+ .collect(Collectors.toCollection(HashSet::new));
|
|
|
+ finalAssemblyNumber = String.join(",", uniqueAssemblyNumbers);
|
|
|
storageBillInfo.setAssemblyNumber(finalAssemblyNumber);
|
|
|
}
|
|
|
+ // 装运总支数
|
|
|
+ storageBillInfo.setAmountTotal(storageBillInfo.getAmountTotal() + rollClubCommonList.size());
|
|
|
+ // 发车时间
|
|
|
storageBillInfo.setOutTime(new Date());
|
|
|
storageBillService.updateById(storageBillInfo);
|
|
|
|
|
@@ -384,7 +429,7 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
storageCarLog.setTypeConfigId(storageBillInfo.getTypeConfigId()); // 钢坯配置类型ID
|
|
|
storageCarLog.setHeatNo(String.join(",", heatNoList));
|
|
|
storageCarLog.setSize(String.join(",", sizeList));// 定尺
|
|
|
- storageCarLog.setAmount(Integer.valueOf((int) count));// 支数
|
|
|
+ storageCarLog.setAmount(storageBillInfo.getAmountTotal());// 支数
|
|
|
storageCarLog.setDataTime(new Date());
|
|
|
storageCarLogService.save(storageCarLog);
|
|
|
result.put("success", "棒线发车成功!");
|