|
@@ -1453,6 +1453,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
BeanUtils.copyProperties(billetInfo, billetBasicInfo);
|
|
BeanUtils.copyProperties(billetInfo, billetBasicInfo);
|
|
// 去棒一数据补录
|
|
// 去棒一数据补录
|
|
if (oConvertUtils.listIsEmpty(billetBasicInfoAdd.getRollClubOneList())){
|
|
if (oConvertUtils.listIsEmpty(billetBasicInfoAdd.getRollClubOneList())){
|
|
|
|
+
|
|
|
|
+ List<BilletBasicInfo> allBilletBasicInfoList = new ArrayList<>();
|
|
// 整炉全部去组批
|
|
// 整炉全部去组批
|
|
// 1流补录钢坯
|
|
// 1流补录钢坯
|
|
if (oConvertUtils.isNotEmpty(billetBasicInfoAdd.getOneStrandNo()) && billetBasicInfoAdd.getOneStrandNoSum() > 0){
|
|
if (oConvertUtils.isNotEmpty(billetBasicInfoAdd.getOneStrandNo()) && billetBasicInfoAdd.getOneStrandNoSum() > 0){
|
|
@@ -1460,7 +1462,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
int addSum = billetBasicInfoAdd.getOneStrandNoSum();
|
|
int addSum = billetBasicInfoAdd.getOneStrandNoSum();
|
|
int strandNo = billetBasicInfoAdd.getOneStrandNo();
|
|
int strandNo = billetBasicInfoAdd.getOneStrandNo();
|
|
int length = billetBasicInfoAdd.getOneLength();
|
|
int length = billetBasicInfoAdd.getOneLength();
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
+ allBilletBasicInfoList.addAll(billetBasicInfoList);
|
|
log.info("1流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("1流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
}
|
|
}
|
|
// 2流补录钢坯
|
|
// 2流补录钢坯
|
|
@@ -1469,7 +1472,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
int addSum = billetBasicInfoAdd.getTwoStrandNoSum();
|
|
int addSum = billetBasicInfoAdd.getTwoStrandNoSum();
|
|
int strandNo = billetBasicInfoAdd.getTwoStrandNo();
|
|
int strandNo = billetBasicInfoAdd.getTwoStrandNo();
|
|
int length = billetBasicInfoAdd.getTwoLength();
|
|
int length = billetBasicInfoAdd.getTwoLength();
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
+ allBilletBasicInfoList.addAll(billetBasicInfoList);
|
|
log.info("2流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("2流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
}
|
|
}
|
|
// 3流补录钢坯
|
|
// 3流补录钢坯
|
|
@@ -1478,7 +1482,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
int addSum = billetBasicInfoAdd.getThreeStrandNoSum();
|
|
int addSum = billetBasicInfoAdd.getThreeStrandNoSum();
|
|
int strandNo = billetBasicInfoAdd.getThreeStrandNo();
|
|
int strandNo = billetBasicInfoAdd.getThreeStrandNo();
|
|
int length = billetBasicInfoAdd.getThreeLength();
|
|
int length = billetBasicInfoAdd.getThreeLength();
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
+ allBilletBasicInfoList.addAll(billetBasicInfoList);
|
|
log.info("3流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("3流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1488,7 +1493,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
int addSum = billetBasicInfoAdd.getFourStrandNoSum();
|
|
int addSum = billetBasicInfoAdd.getFourStrandNoSum();
|
|
int strandNo = billetBasicInfoAdd.getFourStrandNo();
|
|
int strandNo = billetBasicInfoAdd.getFourStrandNo();
|
|
int length = billetBasicInfoAdd.getFourLength();
|
|
int length = billetBasicInfoAdd.getFourLength();
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
+ allBilletBasicInfoList.addAll(billetBasicInfoList);
|
|
log.info("4流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("4流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1498,7 +1504,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
int addSum = billetBasicInfoAdd.getFiveStrandNoSum();
|
|
int addSum = billetBasicInfoAdd.getFiveStrandNoSum();
|
|
int strandNo = billetBasicInfoAdd.getFiveStrandNo();
|
|
int strandNo = billetBasicInfoAdd.getFiveStrandNo();
|
|
int length = billetBasicInfoAdd.getFiveLength();
|
|
int length = billetBasicInfoAdd.getFiveLength();
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
+ allBilletBasicInfoList.addAll(billetBasicInfoList);
|
|
log.info("5流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("5流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1508,7 +1515,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
int addSum = billetBasicInfoAdd.getSixStrandNoSum();
|
|
int addSum = billetBasicInfoAdd.getSixStrandNoSum();
|
|
int strandNo = billetBasicInfoAdd.getSixStrandNo();
|
|
int strandNo = billetBasicInfoAdd.getSixStrandNo();
|
|
int length = billetBasicInfoAdd.getSixLength();
|
|
int length = billetBasicInfoAdd.getSixLength();
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
+ allBilletBasicInfoList.addAll(billetBasicInfoList);
|
|
log.info("6流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("6流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1518,7 +1526,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
int addSum = billetBasicInfoAdd.getSevenStrandNoSum();
|
|
int addSum = billetBasicInfoAdd.getSevenStrandNoSum();
|
|
int strandNo = billetBasicInfoAdd.getSevenStrandNo();
|
|
int strandNo = billetBasicInfoAdd.getSevenStrandNo();
|
|
int length = billetBasicInfoAdd.getSevenLength();
|
|
int length = billetBasicInfoAdd.getSevenLength();
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
+ allBilletBasicInfoList.addAll(billetBasicInfoList);
|
|
log.info("7流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("7流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1528,20 +1537,19 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
int addSum = billetBasicInfoAdd.getEightStrandNoSum();
|
|
int addSum = billetBasicInfoAdd.getEightStrandNoSum();
|
|
int strandNo = billetBasicInfoAdd.getEightStrandNo();
|
|
int strandNo = billetBasicInfoAdd.getEightStrandNo();
|
|
int length = billetBasicInfoAdd.getEightLength();
|
|
int length = billetBasicInfoAdd.getEightLength();
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, addSum, strandNo, length);
|
|
|
|
+ allBilletBasicInfoList.addAll(billetBasicInfoList);
|
|
log.info("8流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("8流保存钢坯实绩结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
}
|
|
}
|
|
- // 查询整个炉钢坯基础信息
|
|
|
|
- List<BilletBasicInfo> resultList = billetBasicInfoService.list(new LambdaQueryWrapper<BilletBasicInfo>()
|
|
|
|
- .eq(BilletBasicInfo::getCcmNo, billetBasicInfoAdd.getCcmNo())
|
|
|
|
- .eq(BilletBasicInfo::getHeatNo, billetBasicInfoAdd.getHeatNo())
|
|
|
|
- .eq(BilletBasicInfo::getShift, billetBasicInfoAdd.getShift())
|
|
|
|
- .eq(BilletBasicInfo::getShiftGroup, billetBasicInfoAdd.getShiftGroup()));
|
|
|
|
- log.info("开始组批号更新处理:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
|
- if (oConvertUtils.listIsNotEmpty(resultList) && resultList.size() >= 4) {
|
|
|
|
|
|
+
|
|
|
|
+ List<BilletBasicInfo> finalBilletBasicInfoList = updateBilletBasicInfoAndSave(allBilletBasicInfoList);
|
|
|
|
+
|
|
|
|
+ billetBasicInfoService.saveOrUpdateBatch(finalBilletBasicInfoList);
|
|
|
|
+
|
|
|
|
+ if (oConvertUtils.listIsNotEmpty(finalBilletBasicInfoList) && finalBilletBasicInfoList.size() >= 4) {
|
|
// 收集所有需要更新的钢坯
|
|
// 收集所有需要更新的钢坯
|
|
List<BilletBasicInfo> updateList = new ArrayList<>();
|
|
List<BilletBasicInfo> updateList = new ArrayList<>();
|
|
- int size = resultList.size();
|
|
|
|
|
|
+ int size = finalBilletBasicInfoList.size();
|
|
int maxProcessed = (size / 4) * 4; // 计算可处理的最大4的倍数
|
|
int maxProcessed = (size / 4) * 4; // 计算可处理的最大4的倍数
|
|
for (int i = 0; i < maxProcessed; i += 4) {
|
|
for (int i = 0; i < maxProcessed; i += 4) {
|
|
int start = i;
|
|
int start = i;
|
|
@@ -1549,7 +1557,7 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
// 生成组批号(优化:直接生成随机数,避免雪花算法开销)
|
|
// 生成组批号(优化:直接生成随机数,避免雪花算法开销)
|
|
String assemblyNumber = generateUniqueAssemblyNumber(billetBasicInfoAdd.getHeatNo());
|
|
String assemblyNumber = generateUniqueAssemblyNumber(billetBasicInfoAdd.getHeatNo());
|
|
// 为当前分组的4条记录设置相同组批号,并添加到更新列表
|
|
// 为当前分组的4条记录设置相同组批号,并添加到更新列表
|
|
- List<BilletBasicInfo> batch = resultList.subList(start, end);
|
|
|
|
|
|
+ List<BilletBasicInfo> batch = finalBilletBasicInfoList.subList(start, end);
|
|
batch.forEach(item -> item.setAssemblyNumber(assemblyNumber));
|
|
batch.forEach(item -> item.setAssemblyNumber(assemblyNumber));
|
|
updateList.addAll(batch);
|
|
updateList.addAll(batch);
|
|
}
|
|
}
|
|
@@ -1558,10 +1566,10 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
log.info("结束组批号更新处理:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("结束组批号更新处理:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
|
|
|
// 更新炉次传递单中的总数和坯重
|
|
// 更新炉次传递单中的总数和坯重
|
|
- double totalBilletWeight = resultList.stream()
|
|
|
|
|
|
+ double totalBilletWeight = allBilletBasicInfoList.stream()
|
|
.mapToDouble(BilletBasicInfo::getBilletWeight)
|
|
.mapToDouble(BilletBasicInfo::getBilletWeight)
|
|
.sum();
|
|
.sum();
|
|
- billetHotsend.setAmountTotal(resultList.size());
|
|
|
|
|
|
+ billetHotsend.setAmountTotal(allBilletBasicInfoList.size());
|
|
billetHotsend.setBlankOutput(totalBilletWeight);
|
|
billetHotsend.setBlankOutput(totalBilletWeight);
|
|
billetHotsendBaseMapper.updateById(billetHotsend);
|
|
billetHotsendBaseMapper.updateById(billetHotsend);
|
|
|
|
|
|
@@ -1569,7 +1577,7 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
|
|
|
// 更新炉次实绩中的总数和坯重
|
|
// 更新炉次实绩中的总数和坯重
|
|
heatsActuals.setBlankOutput(totalBilletWeight);
|
|
heatsActuals.setBlankOutput(totalBilletWeight);
|
|
- heatsActuals.setBilletSum(resultList.size());
|
|
|
|
|
|
+ heatsActuals.setBilletSum(allBilletBasicInfoList.size());
|
|
heatsActualsService.updateById(heatsActuals);
|
|
heatsActualsService.updateById(heatsActuals);
|
|
|
|
|
|
log.info("炉次实绩更新处理结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("炉次实绩更新处理结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
@@ -1656,45 +1664,52 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
}
|
|
}
|
|
|
|
|
|
log.info("开始处理每流剩余:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("开始处理每流剩余:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
|
+ List<BilletBasicInfo> result = new ArrayList<>();
|
|
if (oneStrandRemainSum > 0){
|
|
if (oneStrandRemainSum > 0){
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, oneStrandRemainSum, 1, billetBasicInfoAdd.getOneLength());
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, oneStrandRemainSum, 1, billetBasicInfoAdd.getOneLength());
|
|
|
|
+ result.addAll(billetBasicInfoList);
|
|
}
|
|
}
|
|
if (twoStrandRemainSum > 0){
|
|
if (twoStrandRemainSum > 0){
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, twoStrandRemainSum, 2, billetBasicInfoAdd.getTwoLength());
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList =saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, twoStrandRemainSum, 2, billetBasicInfoAdd.getTwoLength());
|
|
|
|
+ result.addAll(billetBasicInfoList);
|
|
}
|
|
}
|
|
if (threeStrandRemainSum > 0){
|
|
if (threeStrandRemainSum > 0){
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, threeStrandRemainSum, 3, billetBasicInfoAdd.getThreeLength());
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, threeStrandRemainSum, 3, billetBasicInfoAdd.getThreeLength());
|
|
|
|
+ result.addAll(billetBasicInfoList);
|
|
}
|
|
}
|
|
if (fourStrandRemainSum > 0){
|
|
if (fourStrandRemainSum > 0){
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, fourStrandRemainSum, 4, billetBasicInfoAdd.getFourLength());
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, fourStrandRemainSum, 4, billetBasicInfoAdd.getFourLength());
|
|
|
|
+ result.addAll(billetBasicInfoList);
|
|
}
|
|
}
|
|
if (fiveStrandRemainSum > 0){
|
|
if (fiveStrandRemainSum > 0){
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, fiveStrandRemainSum, 5, billetBasicInfoAdd.getFiveLength());
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, fiveStrandRemainSum, 5, billetBasicInfoAdd.getFiveLength());
|
|
|
|
+ result.addAll(billetBasicInfoList);
|
|
}
|
|
}
|
|
if (sixStrandRemainSum > 0){
|
|
if (sixStrandRemainSum > 0){
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, sixStrandRemainSum, 6, billetBasicInfoAdd.getSixLength());
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, sixStrandRemainSum, 6, billetBasicInfoAdd.getSixLength());
|
|
|
|
+ result.addAll(billetBasicInfoList);
|
|
}
|
|
}
|
|
// 7不存在去棒一
|
|
// 7不存在去棒一
|
|
if (oConvertUtils.isNotEmpty(billetBasicInfoAdd.getSevenStrandNoSum()) && billetBasicInfoAdd.getSevenStrandNoSum() > 0){
|
|
if (oConvertUtils.isNotEmpty(billetBasicInfoAdd.getSevenStrandNoSum()) && billetBasicInfoAdd.getSevenStrandNoSum() > 0){
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, billetBasicInfoAdd.getSevenStrandNoSum(), 7, billetBasicInfoAdd.getSevenLength());
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, billetBasicInfoAdd.getSevenStrandNoSum(), 7, billetBasicInfoAdd.getSevenLength());
|
|
|
|
+ result.addAll(billetBasicInfoList);
|
|
}
|
|
}
|
|
// 8流不存在去棒一
|
|
// 8流不存在去棒一
|
|
if (oConvertUtils.isNotEmpty(billetBasicInfoAdd.getEightStrandNoSum()) && billetBasicInfoAdd.getEightStrandNoSum() > 0){
|
|
if (oConvertUtils.isNotEmpty(billetBasicInfoAdd.getEightStrandNoSum()) && billetBasicInfoAdd.getEightStrandNoSum() > 0){
|
|
- saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, billetBasicInfoAdd.getSevenStrandNoSum(), 8, billetBasicInfoAdd.getSevenLength());
|
|
|
|
|
|
+ List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, billetBasicInfoAdd.getSevenStrandNoSum(), 8, billetBasicInfoAdd.getSevenLength());
|
|
|
|
+ result.addAll(billetBasicInfoList);
|
|
}
|
|
}
|
|
log.info("结束处理每流剩余:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("结束处理每流剩余:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
- // 查询去除棒一,整炉 剩余钢坯基础信息
|
|
|
|
- List<BilletBasicInfo> result = billetBasicInfoService.list(new LambdaQueryWrapper<BilletBasicInfo>()
|
|
|
|
- .eq(BilletBasicInfo::getCcmNo, billetBasicInfoAdd.getCcmNo())
|
|
|
|
- .eq(BilletBasicInfo::getHeatNo, billetBasicInfoAdd.getHeatNo())
|
|
|
|
- .eq(BilletBasicInfo::getShift, billetBasicInfoAdd.getShift())
|
|
|
|
- .eq(BilletBasicInfo::getShiftGroup, billetBasicInfoAdd.getShiftGroup())
|
|
|
|
- .isNull(BilletBasicInfo::getBelongTable));
|
|
|
|
|
|
+
|
|
|
|
+ List<BilletBasicInfo> finalBilletBasicInfoList = updateBilletBasicInfoAndSave(result);
|
|
|
|
+
|
|
|
|
+ billetBasicInfoService.saveOrUpdateBatch(finalBilletBasicInfoList);
|
|
|
|
+
|
|
log.info("开始整炉去除棒一组批更新处理:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("开始整炉去除棒一组批更新处理:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
- if (oConvertUtils.listIsNotEmpty(result) && result.size() >= 4) {
|
|
|
|
|
|
+ if (oConvertUtils.listIsNotEmpty(finalBilletBasicInfoList) && finalBilletBasicInfoList.size() >= 4) {
|
|
// 收集所有需要更新的钢坯
|
|
// 收集所有需要更新的钢坯
|
|
List<BilletBasicInfo> updateList = new ArrayList<>();
|
|
List<BilletBasicInfo> updateList = new ArrayList<>();
|
|
- int size = result.size();
|
|
|
|
|
|
+ int size = finalBilletBasicInfoList.size();
|
|
int maxProcessed = (size / 4) * 4; // 计算可处理的最大4的倍数
|
|
int maxProcessed = (size / 4) * 4; // 计算可处理的最大4的倍数
|
|
for (int i = 0; i < maxProcessed; i += 4) {
|
|
for (int i = 0; i < maxProcessed; i += 4) {
|
|
int start = i;
|
|
int start = i;
|
|
@@ -1702,7 +1717,7 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
// 生成组批号(优化:直接生成随机数,避免雪花算法开销)
|
|
// 生成组批号(优化:直接生成随机数,避免雪花算法开销)
|
|
String assemblyNumber = generateUniqueAssemblyNumber(billetBasicInfoAdd.getHeatNo());
|
|
String assemblyNumber = generateUniqueAssemblyNumber(billetBasicInfoAdd.getHeatNo());
|
|
// 为当前分组的4条记录设置相同组批号,并添加到更新列表
|
|
// 为当前分组的4条记录设置相同组批号,并添加到更新列表
|
|
- List<BilletBasicInfo> batch = result.subList(start, end);
|
|
|
|
|
|
+ List<BilletBasicInfo> batch = finalBilletBasicInfoList.subList(start, end);
|
|
batch.forEach(item -> item.setAssemblyNumber(assemblyNumber));
|
|
batch.forEach(item -> item.setAssemblyNumber(assemblyNumber));
|
|
updateList.addAll(batch);
|
|
updateList.addAll(batch);
|
|
}
|
|
}
|
|
@@ -1711,13 +1726,13 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
log.info("结束整炉去除棒一组批更新处理:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("结束整炉去除棒一组批更新处理:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
|
|
|
// 去棒一的和组批的合计钢坯实绩信息
|
|
// 去棒一的和组批的合计钢坯实绩信息
|
|
- result.addAll(rollClubOneResultList);
|
|
|
|
|
|
+ finalBilletBasicInfoList.addAll(rollClubOneResultList);
|
|
|
|
|
|
// 更新炉次传递单中的总数和坯重
|
|
// 更新炉次传递单中的总数和坯重
|
|
- double totalBilletWeight = result.stream()
|
|
|
|
|
|
+ double totalBilletWeight = finalBilletBasicInfoList.stream()
|
|
.mapToDouble(BilletBasicInfo::getBilletWeight)
|
|
.mapToDouble(BilletBasicInfo::getBilletWeight)
|
|
.sum();
|
|
.sum();
|
|
- billetHotsend.setAmountTotal(result.size());
|
|
|
|
|
|
+ billetHotsend.setAmountTotal(finalBilletBasicInfoList.size());
|
|
billetHotsend.setBlankOutput(totalBilletWeight);
|
|
billetHotsend.setBlankOutput(totalBilletWeight);
|
|
|
|
|
|
if (oConvertUtils.listIsNotEmpty(rollClubOneResultList) && rollClubOneResultList.size() > 0){
|
|
if (oConvertUtils.listIsNotEmpty(rollClubOneResultList) && rollClubOneResultList.size() > 0){
|
|
@@ -1728,23 +1743,10 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
|
|
|
// 更新炉次实绩中的总数和坯重
|
|
// 更新炉次实绩中的总数和坯重
|
|
heatsActuals.setBlankOutput(totalBilletWeight);
|
|
heatsActuals.setBlankOutput(totalBilletWeight);
|
|
- heatsActuals.setBilletSum(result.size());
|
|
|
|
|
|
+ heatsActuals.setBilletSum(finalBilletBasicInfoList.size());
|
|
log.info("炉次实绩更新:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
log.info("炉次实绩更新:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
heatsActualsService.updateById(heatsActuals);
|
|
heatsActualsService.updateById(heatsActuals);
|
|
}
|
|
}
|
|
-
|
|
|
|
- // 根据炉号、铸机号、炉号查询钢坯实绩信息
|
|
|
|
- List<BilletBasicInfo> allBilletBasicInfoList = billetBasicInfoService.list(new LambdaQueryWrapper<BilletBasicInfo>()
|
|
|
|
- .eq(BilletBasicInfo::getCcmNo, billetBasicInfoAdd.getCcmNo())
|
|
|
|
- .eq(BilletBasicInfo::getHeatNo, billetBasicInfoAdd.getHeatNo())
|
|
|
|
- .eq(BilletBasicInfo::getShift, billetBasicInfoAdd.getShift())
|
|
|
|
- .eq(BilletBasicInfo::getShiftGroup, billetBasicInfoAdd.getShiftGroup()));
|
|
|
|
- // 处理钢坯实绩,流内顺序号、和炉内顺序号
|
|
|
|
- if (oConvertUtils.listIsNotEmpty(allBilletBasicInfoList)){
|
|
|
|
- updateBilletBasicInfoAndSave(allBilletBasicInfoList);
|
|
|
|
- }
|
|
|
|
- log.info("钢坯实绩流内顺序号处理结束:"+ DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
|
-
|
|
|
|
return "整炉补录成功!";
|
|
return "整炉补录成功!";
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1803,9 +1805,9 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
* 处理流内顺序号、和炉内顺序号
|
|
* 处理流内顺序号、和炉内顺序号
|
|
* @param resultList
|
|
* @param resultList
|
|
*/
|
|
*/
|
|
- public void updateBilletBasicInfoAndSave(List<BilletBasicInfo> resultList) {
|
|
|
|
|
|
+ public List<BilletBasicInfo> updateBilletBasicInfoAndSave(List<BilletBasicInfo> resultList) {
|
|
if (oConvertUtils.listIsEmpty(resultList)) {
|
|
if (oConvertUtils.listIsEmpty(resultList)) {
|
|
- return;
|
|
|
|
|
|
+ return null;
|
|
}
|
|
}
|
|
Map<Integer, List<BilletBasicInfo>> strandNoGroupMap = resultList.stream()
|
|
Map<Integer, List<BilletBasicInfo>> strandNoGroupMap = resultList.stream()
|
|
.collect(Collectors.groupingBy(BilletBasicInfo::getStrandNo));
|
|
.collect(Collectors.groupingBy(BilletBasicInfo::getStrandNo));
|
|
@@ -1817,8 +1819,7 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
});
|
|
});
|
|
// 设置炉内顺序号(全局顺序)
|
|
// 设置炉内顺序号(全局顺序)
|
|
IntStream.range(0, resultList.size()).forEach(i -> resultList.get(i).setHeatnoIndex(i + 1));
|
|
IntStream.range(0, resultList.size()).forEach(i -> resultList.get(i).setHeatnoIndex(i + 1));
|
|
- billetBasicInfoService.updateBatchById(resultList);
|
|
|
|
-
|
|
|
|
|
|
+ return resultList;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -1829,7 +1830,7 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
* @param strandNo
|
|
* @param strandNo
|
|
* @param length
|
|
* @param length
|
|
*/
|
|
*/
|
|
- private void saveBilletBasicInfoList(BilletBasicInfo billetBasicInfo, BilletBasicInfoAdd billetBasicInfoAdd, int addSum, int strandNo, int length) {
|
|
|
|
|
|
+ private List<BilletBasicInfo> saveBilletBasicInfoList(BilletBasicInfo billetBasicInfo, BilletBasicInfoAdd billetBasicInfoAdd, int addSum, int strandNo, int length) {
|
|
List<BilletBasicInfo> resultList = new ArrayList<>();
|
|
List<BilletBasicInfo> resultList = new ArrayList<>();
|
|
|
|
|
|
// 批量查询定尺规则
|
|
// 批量查询定尺规则
|
|
@@ -1865,7 +1866,7 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
billet.setBilletWeight(weight);
|
|
billet.setBilletWeight(weight);
|
|
resultList.add(billet);
|
|
resultList.add(billet);
|
|
}
|
|
}
|
|
- billetBasicInfoService.saveOrUpdateBatch(resultList);
|
|
|
|
|
|
+ return resultList;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|