|
@@ -409,62 +409,7 @@ public class RollClubOneDetailsServiceImpl extends ServiceImpl<RollClubOneDetail
|
|
|
*/
|
|
|
private String completeHeatsHandle(BilletBasicInfoAdd billetBasicInfoAdd, String brandNumStr) {
|
|
|
|
|
|
- LambdaQueryWrapper<HeatsActuals> queryWrapper1 = new LambdaQueryWrapper<HeatsActuals>()
|
|
|
- .eq(HeatsActuals::getHeatsCode, billetBasicInfoAdd.getHeatNo())
|
|
|
- .orderByDesc(HeatsActuals::getCreateTime).last("limit 1");
|
|
|
- HeatsActuals actualsCheck = heatsActualsService.getOne(queryWrapper1);
|
|
|
- if (actualsCheck != null) {
|
|
|
- return "炉次实绩中炉号重复,补录失败!";
|
|
|
- }
|
|
|
|
|
|
- // 查询基础信息
|
|
|
- LambdaQueryWrapper<HeatsActuals> queryWrapper = new LambdaQueryWrapper<HeatsActuals>()
|
|
|
- .eq(HeatsActuals::getCasterCode, billetBasicInfoAdd.getCcmNo())
|
|
|
- .orderByDesc(HeatsActuals::getCreateTime).last("limit 1");
|
|
|
- HeatsActuals actuals = heatsActualsService.getOne(queryWrapper);
|
|
|
-
|
|
|
- HeatsActuals heatsActuals = new HeatsActuals();
|
|
|
- BeanUtils.copyProperties(actuals, heatsActuals);
|
|
|
-
|
|
|
- try {
|
|
|
- heatsActuals.setId(String.valueOf(IdWorker.getId()));
|
|
|
- heatsActuals.setHeatsCode(billetBasicInfoAdd.getHeatNo());
|
|
|
- heatsActuals.setShift(billetBasicInfoAdd.getShift());
|
|
|
- heatsActuals.setShiftGroup(billetBasicInfoAdd.getShiftGroup());
|
|
|
- //根据最新一炉的炉次信息计算 空包重量核算
|
|
|
- if (heatsActuals.getMoltenSteelWeight() > 0 && heatsActuals.getFullLadleWeight() > 0) { // 如果钢水重量存在核算
|
|
|
- heatsActuals.setEmptyLadleWeight(heatsActuals.getFullLadleWeight() - heatsActuals.getMoltenSteelWeight());
|
|
|
- }
|
|
|
- // 整理添加总支数
|
|
|
- heatsActuals.setBilletSum(0);
|
|
|
- heatsActuals.setBlankOutput(0.0d);
|
|
|
- heatsActuals.setCreateTime(new Date());
|
|
|
- heatsActuals.setUpdateTime(new Date());
|
|
|
- heatsActualsService.save(heatsActuals);
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("整炉补坯保存炉次实绩数据出现异常", e);
|
|
|
- throw new RuntimeException("整炉补坯保存炉次实绩数据出现失败!", e);
|
|
|
- }
|
|
|
- log.info("1炉次实绩插入:" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
- //新增炉次传递单
|
|
|
- BilletHotsend billetHotsend = new BilletHotsend();
|
|
|
- billetHotsend.setId(String.valueOf(IdWorker.getId()));
|
|
|
- billetHotsend.setCcmNo(billetBasicInfoAdd.getCcmNo()); // 铸机号
|
|
|
- billetHotsend.setHeatNo(billetBasicInfoAdd.getHeatNo()); // 炉号
|
|
|
- billetHotsend.setShiftGroup(billetBasicInfoAdd.getShiftGroup()); // 班组
|
|
|
- billetHotsend.setShift(billetBasicInfoAdd.getShift()); // 班别
|
|
|
- billetHotsend.setSteel(heatsActuals.getGrade()); // 钢种
|
|
|
- billetHotsend.setSpec(heatsActuals.getSpec()); // 规格
|
|
|
-
|
|
|
- billetHotsend.setBrandNum(brandNumStr);
|
|
|
- billetHotsend.setAmountTotal(heatsActuals.getBilletSum()); // 支数
|
|
|
- billetHotsend.setBlankOutput(0.0d); // 出批量
|
|
|
- billetHotsend.setDecideWeight(0.0d); // 定重
|
|
|
- billetHotsend.setWasteBlankOutput(0.0);
|
|
|
- billetHotsend.setCreateTime(new Date());
|
|
|
- billetHotsend.setUpdateTime(new Date());
|
|
|
- billetHotsendBaseMapper.insert(billetHotsend);
|
|
|
- log.info("2炉次传递单插入:" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
LambdaQueryWrapper<BilletBasicInfo> queryWrapperB = new LambdaQueryWrapper<BilletBasicInfo>()
|
|
|
.eq(BilletBasicInfo::getCcmNo, billetBasicInfoAdd.getCcmNo())
|
|
|
.orderByDesc(BilletBasicInfo::getCreateTime).last("limit 1");
|
|
@@ -481,7 +426,6 @@ public class RollClubOneDetailsServiceImpl extends ServiceImpl<RollClubOneDetail
|
|
|
int fiveStrandRemainSum = 0;
|
|
|
int sixStrandRemainSum = 0;
|
|
|
|
|
|
- // 有去组批的,有去棒一的(混合情况) 1、先处理去棒一的数据 2、在减掉棒一的数量,剩余的进行组批
|
|
|
List<BilletBasicInfo> rollClubOneResultList = new ArrayList<>();
|
|
|
// 添加棒一明细
|
|
|
List<RollClubOneInfo> rollClubOneList = billetBasicInfoAdd.getRollClubOneList();
|
|
@@ -549,13 +493,10 @@ public class RollClubOneDetailsServiceImpl extends ServiceImpl<RollClubOneDetail
|
|
|
}
|
|
|
log.info("结束去棒一数据组装:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
if (oConvertUtils.listIsNotEmpty(rollClubOneResultList)) {
|
|
|
- log.info("开始整炉去棒一明细处理:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
// 去棒一明细处理
|
|
|
saveRollClubOneInfo(rollClubOneResultList, billetBasicInfoAdd);
|
|
|
- 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) {
|
|
|
List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, oneStrandRemainSum, 1, billetBasicInfoAdd.getOneLength());
|
|
@@ -581,7 +522,6 @@ public class RollClubOneDetailsServiceImpl extends ServiceImpl<RollClubOneDetail
|
|
|
List<BilletBasicInfo> billetBasicInfoList = saveBilletBasicInfoList(billetBasicInfo, billetBasicInfoAdd, sixStrandRemainSum, 6, billetBasicInfoAdd.getSixLength());
|
|
|
result.addAll(billetBasicInfoList);
|
|
|
}
|
|
|
- log.info("结束处理每流剩余:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
|
|
|
result.addAll(rollClubOneResultList);
|
|
|
|
|
@@ -589,29 +529,40 @@ public class RollClubOneDetailsServiceImpl extends ServiceImpl<RollClubOneDetail
|
|
|
|
|
|
billetBasicInfoService.saveOrUpdateBatch(finalBilletBasicInfoListSort);
|
|
|
|
|
|
- log.info("开始整炉去除棒一组批更新处理:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
+ LambdaQueryWrapper<BilletHotsend> queryWrapperBh = new LambdaQueryWrapper<BilletHotsend>()
|
|
|
+ .eq(BilletHotsend::getHeatNo, billetBasicInfoAdd.getHeatNo())
|
|
|
+ .orderByDesc(BilletHotsend::getCreateTime).last("limit 1");
|
|
|
+ BilletHotsend billetHotsend = billetHotsendBaseMapper.selectOne(queryWrapperBh);
|
|
|
|
|
|
|
|
|
// 更新炉次传递单中的总数和坯重
|
|
|
double totalBilletWeight = finalBilletBasicInfoListSort.stream()
|
|
|
.mapToDouble(BilletBasicInfo::getBilletWeight)
|
|
|
.sum();
|
|
|
- billetHotsend.setAmountTotal(finalBilletBasicInfoListSort.size());
|
|
|
- billetHotsend.setBlankOutput(totalBilletWeight);
|
|
|
+ Double oldWeight = billetHotsend.getBlankOutput();
|
|
|
+ Integer oldCount = billetHotsend.getAmountTotal();
|
|
|
+ billetHotsend.setBlankOutput((oldWeight == null ? 0 : oldWeight) + totalBilletWeight);
|
|
|
+ billetHotsend.setAmountTotal((oldCount == null ? 0 : oldCount) + finalBilletBasicInfoListSort.size());
|
|
|
|
|
|
if (oConvertUtils.listIsNotEmpty(rollClubOneResultList) && rollClubOneResultList.size() > 0) {
|
|
|
- billetHotsend.setRollcluboneNum(rollClubOneResultList.size());
|
|
|
+ Integer rollcluboneNum = billetHotsend.getRollcluboneNum();
|
|
|
+ billetHotsend.setRollcluboneNum((rollcluboneNum == null ? 0 : rollcluboneNum) + rollClubOneResultList.size());
|
|
|
}
|
|
|
- log.info("炉次传递单更新:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
billetHotsendBaseMapper.updateById(billetHotsend);
|
|
|
|
|
|
+ LambdaQueryWrapper<HeatsActuals> queryWrapperHa = new LambdaQueryWrapper<HeatsActuals>()
|
|
|
+ .eq(HeatsActuals::getHeatsCode, billetBasicInfoAdd.getHeatNo())
|
|
|
+ .orderByDesc(HeatsActuals::getCreateTime).last("limit 1");
|
|
|
+ HeatsActuals actualsCheck = heatsActualsService.getOne(queryWrapperHa);
|
|
|
+
|
|
|
// 更新炉次实绩中的总数和坯重
|
|
|
- heatsActuals.setBlankOutput(totalBilletWeight);
|
|
|
- heatsActuals.setBilletSum(finalBilletBasicInfoListSort.size());
|
|
|
- log.info("炉次实绩更新:{}" + DateUtils.date2Str(new Date(), DateUtils.datetimeFormat.get()));
|
|
|
- heatsActualsService.updateById(heatsActuals);
|
|
|
+ Double oldActWeight = actualsCheck.getBlankOutput();
|
|
|
+ Integer oldActCount = actualsCheck.getBilletSum();
|
|
|
+ actualsCheck.setBlankOutput((oldActWeight == null ? 0 : oldActWeight) + totalBilletWeight);
|
|
|
+ actualsCheck.setBilletSum((oldActCount == null ? 0 : oldActCount) + finalBilletBasicInfoListSort.size());
|
|
|
+ heatsActualsService.updateById(actualsCheck);
|
|
|
|
|
|
- return "整炉补录成功!";
|
|
|
+ return "去棒一补录成功!";
|
|
|
}
|
|
|
|
|
|
|