|
@@ -2064,7 +2064,7 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
List<BilletBasicInfo> finalOriginalBilletBasicInfoList = originalBilletBasicInfoList.subList(0, changeHeatVo.getNumber());
|
|
|
List<BilletBasicInfo> finalChangeBilletBasicInfoList = changeBilletBasicInfoList.subList(0, changeHeatVo.getNumber());
|
|
|
// 钢坯实绩、炉次实绩、炉次传递单统一公共处理
|
|
|
- commonBilletChangeHandle(finalOriginalBilletBasicInfoList, finalChangeBilletBasicInfoList, changeHeatVo, shift, shiftGroup);
|
|
|
+ commonBilletChangeHandle(finalOriginalBilletBasicInfoList, finalChangeBilletBasicInfoList, changeHeatVo, shift, shiftGroup, 1);
|
|
|
// 棒一统一公共处理
|
|
|
commonBilletRollClubOneHandle(finalOriginalBilletBasicInfoList, finalChangeBilletBasicInfoList, changeHeatVo, shift, shiftGroup);
|
|
|
}else {
|
|
@@ -2096,21 +2096,66 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- List<BilletBasicInfo> finalOriginalBilletBasicInfoList = originalBilletBasicInfoList.subList(0, changeHeatVo.getNumber());
|
|
|
- List<BilletBasicInfo> finalChangeBilletBasicInfoList = changeBilletBasicInfoList.subList(0, changeHeatVo.getNumber());
|
|
|
- boolean allOriginalBilletNull = finalOriginalBilletBasicInfoList.stream()
|
|
|
- .allMatch(info -> info.getBelongTable() == null);
|
|
|
- boolean allChangeBilletNull = finalChangeBilletBasicInfoList.stream()
|
|
|
- .allMatch(info -> info.getBelongTable() == null);
|
|
|
+ List<BilletBasicInfo> finalOriginalBilletBasicInfoList = originalBilletBasicInfoList.subList(0, changeHeatVo.getNumber() / 4);
|
|
|
+ List<BilletBasicInfo> finalChangeBilletBasicInfoList = changeBilletBasicInfoList.subList(0, changeHeatVo.getNumber() / 4);
|
|
|
+
|
|
|
+ List<String> originalBilletNos = finalOriginalBilletBasicInfoList.stream().map(BilletBasicInfo::getAssemblyNumber).distinct().collect(Collectors.toList());
|
|
|
+ List<String> changeBilletNos = finalChangeBilletBasicInfoList.stream().map(BilletBasicInfo::getAssemblyNumber).distinct().collect(Collectors.toList());
|
|
|
+ // 根据铸机号、组批号、班组、班别查询钢坯实绩
|
|
|
+ List<BilletBasicInfo> originalBilletBasicInfoList1 = billetBasicInfoService.list(new LambdaQueryWrapper<BilletBasicInfo>()
|
|
|
+ .eq(BilletBasicInfo::getCcmNo, changeHeatVo.getCcmNo())
|
|
|
+ .in(BilletBasicInfo::getAssemblyNumber, originalBilletNos)
|
|
|
+ .eq(BilletBasicInfo::getShift, shift)
|
|
|
+ .eq(BilletBasicInfo::getShiftGroup, shiftGroup));
|
|
|
+
|
|
|
+ List<BilletBasicInfo> changeBilletBasicInfoList2 = billetBasicInfoService.list(new LambdaQueryWrapper<BilletBasicInfo>()
|
|
|
+ .eq(BilletBasicInfo::getCcmNo, changeHeatVo.getCcmNo())
|
|
|
+ .in(BilletBasicInfo::getAssemblyNumber, changeBilletNos)
|
|
|
+ .eq(BilletBasicInfo::getShift, shift)
|
|
|
+ .eq(BilletBasicInfo::getShiftGroup, shiftGroup));
|
|
|
+
|
|
|
+ boolean allOriginalBilletNull = originalBilletBasicInfoList1.stream().allMatch(info -> info.getBelongTable() == null);
|
|
|
+ boolean allChangeBilletNull = changeBilletBasicInfoList2.stream().allMatch(info -> info.getBelongTable() == null);
|
|
|
if (allOriginalBilletNull && allChangeBilletNull) {
|
|
|
- // 无需处理,棒二、棒三、上若、付跨、装运单、主表和明细表
|
|
|
+ // 只处理钢坯实绩、炉次传递单、炉次实绩对应的数量和重量
|
|
|
+ commonBilletChangeHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup, 0);
|
|
|
}else if (allOriginalBilletNull && !allChangeBilletNull) {
|
|
|
+ // 判断变更炉号中 目的地
|
|
|
+ List<String> belongTableList = changeBilletBasicInfoList2.stream().map(BilletBasicInfo::getBelongTable).distinct().collect(Collectors.toList());
|
|
|
+ belongTableList.forEach(x -> {
|
|
|
+ if ("roll_club_two".equals(x)){
|
|
|
+ commonBilletChangeHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup, 2);
|
|
|
+ // 处理棒二明细和主表
|
|
|
+ commonBilletRollClubTwoHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup);
|
|
|
+ // 查询去棒二对应的装运单
|
|
|
+
|
|
|
+ }else if ("roll_club_three".equals(x)){
|
|
|
+ commonBilletChangeHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup, 3);
|
|
|
+ // 处理棒三明细和主表
|
|
|
+ commonBilletRollClubThreeHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup);
|
|
|
+ // 查询去棒二对应的装运单
|
|
|
+
|
|
|
+ }else if ("roll_out_shipp".equals(x)){
|
|
|
+ commonBilletChangeHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup, 4);
|
|
|
+ // 处理上若明细和主表
|
|
|
+ commonBilletRollOutShippHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup);
|
|
|
+ }else if ("roll_deputy_cross".equals(x)){
|
|
|
+ commonBilletChangeHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup, 5);
|
|
|
+ // 处理付跨明细和主表
|
|
|
+ commonBilletRollDeputyCrossHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup);
|
|
|
+ }else if ("stacking_and_loading_vehicles".equals(x)){
|
|
|
+ commonBilletChangeHandle(originalBilletBasicInfoList1, changeBilletBasicInfoList2, changeHeatVo, shift, shiftGroup, 6);
|
|
|
+ // 处理起垛明细和主表
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
|
|
|
}else if (!allOriginalBilletNull && allChangeBilletNull) {
|
|
|
|
|
|
}else if (!allOriginalBilletNull && !allChangeBilletNull) {
|
|
|
// 需要处理,棒二、棒三、上若、付跨、装运单、主表和明细表
|
|
|
}
|
|
|
+ // 统一维护炉次传递中的棒二、棒三、上若、付跨支数
|
|
|
}
|
|
|
|
|
|
result.put("success", "炉号变更,操作成功!");
|
|
@@ -2174,6 +2219,235 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 棒二统一公共处理
|
|
|
+ * @param originalBilletBasicInfoList
|
|
|
+ * @param changeBilletBasicInfoList
|
|
|
+ * @param changeHeatVo
|
|
|
+ * @param shift
|
|
|
+ * @param shiftGroup
|
|
|
+ */
|
|
|
+ private void commonBilletRollClubTwoHandle(List<BilletBasicInfo> originalBilletBasicInfoList, List<BilletBasicInfo> changeBilletBasicInfoList,
|
|
|
+ ChangeHeatVo changeHeatVo, String shift, String shiftGroup) {
|
|
|
+
|
|
|
+ // 所有变更炉号的总重量
|
|
|
+ double changeTotalWeight = originalBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
+ // 所有原始炉号的总重量
|
|
|
+ double originalTotalWeight = changeBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
+
|
|
|
+ // 棒二 主表
|
|
|
+ RollClubTwo originalRollClubTwo = getRollClubTwo(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
+ if (originalRollClubTwo == null) {
|
|
|
+ throw new RuntimeException("原棒二主表为空,操作失败!");
|
|
|
+ }
|
|
|
+ originalRollClubTwo.setAmountTotal(originalRollClubTwo.getAmountTotal() + changeHeatVo.getNumber());
|
|
|
+ originalRollClubTwo.setBlankOutput(originalRollClubTwo.getBlankOutput() + changeTotalWeight);
|
|
|
+ rollClubTwoService.updateById(originalRollClubTwo);
|
|
|
+
|
|
|
+ RollClubTwo changeRollClubTwo = getRollClubTwo(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
+ if (changeRollClubTwo == null) {
|
|
|
+ throw new RuntimeException("变更棒二主表为空,操作失败!");
|
|
|
+ }
|
|
|
+ changeRollClubTwo.setAmountTotal(changeRollClubTwo.getAmountTotal() - changeHeatVo.getNumber());
|
|
|
+ changeRollClubTwo.setBlankOutput(changeRollClubTwo.getBlankOutput() - originalTotalWeight);
|
|
|
+ rollClubTwoService.updateById(changeRollClubTwo);
|
|
|
+
|
|
|
+ List<String> originalBilletNos = originalBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
+ // 棒二明细
|
|
|
+ List<RollClubTwoDetails> originalRollClubTwoDetailsList = getRollClubTwoDetailsList(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, originalBilletNos);
|
|
|
+ if (oConvertUtils.listIsEmpty(originalRollClubTwoDetailsList)) {
|
|
|
+ throw new RuntimeException("原棒二明细为空,操作失败!");
|
|
|
+ }
|
|
|
+ for (RollClubTwoDetails originalRollClubTwoDetails : originalRollClubTwoDetailsList){
|
|
|
+ originalRollClubTwoDetails.setHeatNo(changeHeatVo.getChangeHeatNo());
|
|
|
+ originalRollClubTwoDetails.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ rollClubTwoDetailsService.updateBatchById(originalRollClubTwoDetailsList);
|
|
|
+
|
|
|
+ List<String> changeBilletNos = changeBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
+ List<RollClubTwoDetails> changeRollClubTwoDetailsList = getRollClubTwoDetailsList(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, changeBilletNos);
|
|
|
+ if (oConvertUtils.listIsEmpty(changeRollClubTwoDetailsList)) {
|
|
|
+ throw new RuntimeException("变更棒二明细为空,操作失败!");
|
|
|
+ }
|
|
|
+ for (RollClubTwoDetails changeRollClubTwoDetails : changeRollClubTwoDetailsList){
|
|
|
+ changeRollClubTwoDetails.setHeatNo(changeHeatVo.getOriginalHeatNo());
|
|
|
+ changeRollClubTwoDetails.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ rollClubTwoDetailsService.updateBatchById(changeRollClubTwoDetailsList);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 棒三统一公共处理
|
|
|
+ * @param originalBilletBasicInfoList
|
|
|
+ * @param changeBilletBasicInfoList
|
|
|
+ * @param changeHeatVo
|
|
|
+ * @param shift
|
|
|
+ * @param shiftGroup
|
|
|
+ */
|
|
|
+ private void commonBilletRollClubThreeHandle(List<BilletBasicInfo> originalBilletBasicInfoList, List<BilletBasicInfo> changeBilletBasicInfoList,
|
|
|
+ ChangeHeatVo changeHeatVo, String shift, String shiftGroup) {
|
|
|
+
|
|
|
+ // 所有变更炉号的总重量
|
|
|
+ double changeTotalWeight = originalBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
+ // 所有原始炉号的总重量
|
|
|
+ double originalTotalWeight = changeBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
+
|
|
|
+ // 棒三 主表
|
|
|
+ RollClubThree originalRollClubThree = getRollClubThree(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
+ if (originalRollClubThree == null) {
|
|
|
+ throw new RuntimeException("原棒三主表为空,操作失败!");
|
|
|
+ }
|
|
|
+ originalRollClubThree.setAmountTotal(originalRollClubThree.getAmountTotal() + changeHeatVo.getNumber());
|
|
|
+ originalRollClubThree.setBlankOutput(originalRollClubThree.getBlankOutput() + changeTotalWeight);
|
|
|
+ rollClubThreeService.updateById(originalRollClubThree);
|
|
|
+
|
|
|
+ RollClubThree changeRollClubThree = getRollClubThree(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
+ if (changeRollClubThree == null) {
|
|
|
+ throw new RuntimeException("变更棒三主表为空,操作失败!");
|
|
|
+ }
|
|
|
+ changeRollClubThree.setAmountTotal(changeRollClubThree.getAmountTotal() - changeHeatVo.getNumber());
|
|
|
+ changeRollClubThree.setBlankOutput(changeRollClubThree.getBlankOutput() - originalTotalWeight);
|
|
|
+ rollClubThreeService.updateById(changeRollClubThree);
|
|
|
+
|
|
|
+ List<String> originalBilletNos = originalBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
+ // 棒三明细
|
|
|
+ List<RollClubThreeDetails> originalRollClubThreeDetailsList = getRollClubThreeDetailsList(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, originalBilletNos);
|
|
|
+ if (oConvertUtils.listIsEmpty(originalRollClubThreeDetailsList)) {
|
|
|
+ throw new RuntimeException("原棒三明细为空,操作失败!");
|
|
|
+ }
|
|
|
+ for (RollClubThreeDetails originalRollClubThreeDetails : originalRollClubThreeDetailsList){
|
|
|
+ originalRollClubThreeDetails.setHeatNo(changeHeatVo.getChangeHeatNo());
|
|
|
+ originalRollClubThreeDetails.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ rollClubThreeDetailsService.updateBatchById(originalRollClubThreeDetailsList);
|
|
|
+
|
|
|
+ List<String> changeBilletNos = changeBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
+ List<RollClubThreeDetails> changeRollClubThreeDetailsList = getRollClubThreeDetailsList(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, changeBilletNos);
|
|
|
+ if (oConvertUtils.listIsEmpty(changeRollClubThreeDetailsList)) {
|
|
|
+ throw new RuntimeException("变更棒三明细为空,操作失败!");
|
|
|
+ }
|
|
|
+ for (RollClubThreeDetails changeRollClubThreeDetails : changeRollClubThreeDetailsList){
|
|
|
+ changeRollClubThreeDetails.setHeatNo(changeHeatVo.getOriginalHeatNo());
|
|
|
+ changeRollClubThreeDetails.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ rollClubThreeDetailsService.updateBatchById(changeRollClubThreeDetailsList);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 上若统一公共处理
|
|
|
+ * @param originalBilletBasicInfoList
|
|
|
+ * @param changeBilletBasicInfoList
|
|
|
+ * @param changeHeatVo
|
|
|
+ * @param shift
|
|
|
+ * @param shiftGroup
|
|
|
+ */
|
|
|
+ private void commonBilletRollOutShippHandle(List<BilletBasicInfo> originalBilletBasicInfoList, List<BilletBasicInfo> changeBilletBasicInfoList,
|
|
|
+ ChangeHeatVo changeHeatVo, String shift, String shiftGroup) {
|
|
|
+
|
|
|
+ // 所有变更炉号的总重量
|
|
|
+ double changeTotalWeight = originalBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
+ // 所有原始炉号的总重量
|
|
|
+ double originalTotalWeight = changeBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
+
|
|
|
+ // 上若 主表
|
|
|
+ RollOutShipp originalRollOutShipp = getRollOutShipp(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
+ if (originalRollOutShipp == null) {
|
|
|
+ throw new RuntimeException("原上若主表为空,操作失败!");
|
|
|
+ }
|
|
|
+ originalRollOutShipp.setAmountTotal(originalRollOutShipp.getAmountTotal() + changeHeatVo.getNumber());
|
|
|
+ originalRollOutShipp.setBlankOutput(originalRollOutShipp.getBlankOutput() + changeTotalWeight);
|
|
|
+ rollOutShippService.updateById(originalRollOutShipp);
|
|
|
+
|
|
|
+ RollOutShipp changeRollOutShipp = getRollOutShipp(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
+ if (changeRollOutShipp == null) {
|
|
|
+ throw new RuntimeException("变更上若主表为空,操作失败!");
|
|
|
+ }
|
|
|
+ changeRollOutShipp.setAmountTotal(changeRollOutShipp.getAmountTotal() - changeHeatVo.getNumber());
|
|
|
+ changeRollOutShipp.setBlankOutput(changeRollOutShipp.getBlankOutput() - originalTotalWeight);
|
|
|
+ rollOutShippService.updateById(changeRollOutShipp);
|
|
|
+
|
|
|
+ List<String> originalBilletNos = originalBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
+ // 上若明细
|
|
|
+ List<RollOutShippDetails> originalRollOutShippDetailsList = getRollOutShippDetailsList(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, originalBilletNos);
|
|
|
+ if (oConvertUtils.listIsEmpty(originalRollOutShippDetailsList)) {
|
|
|
+ throw new RuntimeException("原上若明细为空,操作失败!");
|
|
|
+ }
|
|
|
+ for (RollOutShippDetails originalRollOutShippDetails : originalRollOutShippDetailsList){
|
|
|
+ originalRollOutShippDetails.setHeatNo(changeHeatVo.getChangeHeatNo());
|
|
|
+ originalRollOutShippDetails.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ rollOutShippDetailsService.updateBatchById(originalRollOutShippDetailsList);
|
|
|
+
|
|
|
+ List<String> changeBilletNos = changeBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
+ List<RollOutShippDetails> changeRollOutShippDetailsList = getRollOutShippDetailsList(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, changeBilletNos);
|
|
|
+ if (oConvertUtils.listIsEmpty(changeRollOutShippDetailsList)) {
|
|
|
+ throw new RuntimeException("变更上若明细为空,操作失败!");
|
|
|
+ }
|
|
|
+ for (RollOutShippDetails changeRollOutShippDetails : changeRollOutShippDetailsList){
|
|
|
+ changeRollOutShippDetails.setHeatNo(changeHeatVo.getOriginalHeatNo());
|
|
|
+ changeRollOutShippDetails.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ rollOutShippDetailsService.updateBatchById(changeRollOutShippDetailsList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 付跨统一公共处理
|
|
|
+ * @param originalBilletBasicInfoList
|
|
|
+ * @param changeBilletBasicInfoList
|
|
|
+ * @param changeHeatVo
|
|
|
+ * @param shift
|
|
|
+ * @param shiftGroup
|
|
|
+ */
|
|
|
+ private void commonBilletRollDeputyCrossHandle(List<BilletBasicInfo> originalBilletBasicInfoList, List<BilletBasicInfo> changeBilletBasicInfoList,
|
|
|
+ ChangeHeatVo changeHeatVo, String shift, String shiftGroup) {
|
|
|
+
|
|
|
+ // 所有变更炉号的总重量
|
|
|
+ double changeTotalWeight = originalBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
+ // 所有原始炉号的总重量
|
|
|
+ double originalTotalWeight = changeBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
+
|
|
|
+ // 副跨 主表
|
|
|
+ RollDeputyCross originalRollDeputyCross = getRollDeputyCross(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
+ if (originalRollDeputyCross == null) {
|
|
|
+ throw new RuntimeException("原付跨主表为空,操作失败!");
|
|
|
+ }
|
|
|
+ originalRollDeputyCross.setAmountTotal(originalRollDeputyCross.getAmountTotal() + changeHeatVo.getNumber());
|
|
|
+ originalRollDeputyCross.setBlankOutput(originalRollDeputyCross.getBlankOutput() + changeTotalWeight);
|
|
|
+ rollDeputyCrossService.updateById(originalRollDeputyCross);
|
|
|
+
|
|
|
+ RollDeputyCross changeRollDeputyCross = getRollDeputyCross(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
+ if (changeRollDeputyCross == null) {
|
|
|
+ throw new RuntimeException("变更付跨主表为空,操作失败!");
|
|
|
+ }
|
|
|
+ changeRollDeputyCross.setAmountTotal(changeRollDeputyCross.getAmountTotal() - changeHeatVo.getNumber());
|
|
|
+ changeRollDeputyCross.setBlankOutput(changeRollDeputyCross.getBlankOutput() - originalTotalWeight);
|
|
|
+ rollDeputyCrossService.updateById(changeRollDeputyCross);
|
|
|
+
|
|
|
+ List<String> originalBilletNos = originalBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
+ // 副跨明细
|
|
|
+ List<RollDeputyCrossDetails> originalRollDeputyCrossDetailsList = getRollDeputyCrossDetailsList(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, originalBilletNos);
|
|
|
+ if (oConvertUtils.listIsEmpty(originalRollDeputyCrossDetailsList)) {
|
|
|
+ throw new RuntimeException("原付跨明细为空,操作失败!");
|
|
|
+ }
|
|
|
+ for (RollDeputyCrossDetails originalRollDeputyCrossDetails : originalRollDeputyCrossDetailsList){
|
|
|
+ originalRollDeputyCrossDetails.setHeatNo(changeHeatVo.getChangeHeatNo());
|
|
|
+ originalRollDeputyCrossDetails.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ rollDeputyCrossDetailsService.updateBatchById(originalRollDeputyCrossDetailsList);
|
|
|
+
|
|
|
+ List<String> changeBilletNos = changeBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
+ List<RollDeputyCrossDetails> changeRollDeputyCrossDetailsList = getRollDeputyCrossDetailsList(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, changeBilletNos);
|
|
|
+ if (oConvertUtils.listIsEmpty(changeRollDeputyCrossDetailsList)) {
|
|
|
+ throw new RuntimeException("变更付跨明细为空,操作失败!");
|
|
|
+ }
|
|
|
+ for (RollDeputyCrossDetails changeRollDeputyCrossDetails : changeRollDeputyCrossDetailsList){
|
|
|
+ changeRollDeputyCrossDetails.setHeatNo(changeHeatVo.getOriginalHeatNo());
|
|
|
+ changeRollDeputyCrossDetails.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ rollDeputyCrossDetailsService.updateBatchById(changeRollDeputyCrossDetailsList);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 钢坯实绩、炉次实绩、炉次传递单统一公共处理
|
|
|
* @param originalBilletBasicInfoList
|
|
@@ -2182,8 +2456,8 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
* @param shift
|
|
|
* @param shiftGroup
|
|
|
*/
|
|
|
- private void commonBilletChangeHandle(List<BilletBasicInfo> originalBilletBasicInfoList ,List<BilletBasicInfo> changeBilletBasicInfoList ,
|
|
|
- ChangeHeatVo changeHeatVo, String shift, String shiftGroup) {
|
|
|
+ private void commonBilletChangeHandle(List<BilletBasicInfo> originalBilletBasicInfoList, List<BilletBasicInfo> changeBilletBasicInfoList,
|
|
|
+ ChangeHeatVo changeHeatVo, String shift, String shiftGroup, Integer type) {
|
|
|
|
|
|
/**
|
|
|
* 原炉号处理 根据changeHeatVo.getNumber() 的数量,获取billetBasicInfoList对应的条数
|
|
@@ -2243,7 +2517,19 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
if (originalBilletHotsend == null){
|
|
|
throw new RuntimeException("原炉次传递单为空,操作失败!");
|
|
|
}
|
|
|
- originalBilletHotsend.setRollcluboneNum(originalBilletHotsend.getRollcluboneNum() + changeHeatVo.getNumber());
|
|
|
+ if (type == 1){
|
|
|
+ originalBilletHotsend.setRollcluboneNum(originalBilletHotsend.getRollcluboneNum() + changeHeatVo.getNumber());
|
|
|
+ }else if (type == 2){
|
|
|
+ originalBilletHotsend.setRollclubtwoNum(originalBilletHotsend.getRollclubtwoNum() + changeHeatVo.getNumber());
|
|
|
+ }else if (type == 3){
|
|
|
+ originalBilletHotsend.setRollclubthreeNum(originalBilletHotsend.getRollclubthreeNum() + changeHeatVo.getNumber());
|
|
|
+ }else if (type == 4){
|
|
|
+ originalBilletHotsend.setRolloutshippNum(originalBilletHotsend.getRolloutshippNum() + changeHeatVo.getNumber());
|
|
|
+ }else if (type == 5){
|
|
|
+ originalBilletHotsend.setRollDeputyCrossNum(originalBilletHotsend.getRollDeputyCrossNum() + changeHeatVo.getNumber());
|
|
|
+ }else if (type == 6){
|
|
|
+ originalBilletHotsend.setStackNum(originalBilletHotsend.getStackNum() + changeHeatVo.getNumber() / 4);
|
|
|
+ }
|
|
|
originalBilletHotsend.setAmountTotal(originalBilletHotsend.getAmountTotal() + changeHeatVo.getNumber());
|
|
|
originalBilletHotsend.setBlankOutput(originalBilletHotsend.getBlankOutput() + changeTotalWeight);
|
|
|
baseMapper.updateById(originalBilletHotsend);
|
|
@@ -2252,7 +2538,19 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
if (changeBilletHotsend == null) {
|
|
|
throw new RuntimeException("变更炉次传递单为空,操作失败!");
|
|
|
}
|
|
|
- changeBilletHotsend.setRollcluboneNum(changeBilletHotsend.getRollcluboneNum() - changeHeatVo.getNumber());
|
|
|
+ if (type == 1){
|
|
|
+ changeBilletHotsend.setRollcluboneNum(changeBilletHotsend.getRollcluboneNum() - changeHeatVo.getNumber());
|
|
|
+ }else if (type == 2){
|
|
|
+ changeBilletHotsend.setRollclubtwoNum(changeBilletHotsend.getRollclubtwoNum() - changeHeatVo.getNumber());
|
|
|
+ }else if (type == 3){
|
|
|
+ changeBilletHotsend.setRollclubthreeNum(changeBilletHotsend.getRollclubthreeNum() - changeHeatVo.getNumber());
|
|
|
+ }else if (type == 4){
|
|
|
+ changeBilletHotsend.setRolloutshippNum(changeBilletHotsend.getRolloutshippNum() - changeHeatVo.getNumber());
|
|
|
+ }else if (type == 5){
|
|
|
+ changeBilletHotsend.setRollDeputyCrossNum(changeBilletHotsend.getRollDeputyCrossNum() - changeHeatVo.getNumber());
|
|
|
+ }else if (type == 6){
|
|
|
+ changeBilletHotsend.setStackNum(changeBilletHotsend.getStackNum() - changeHeatVo.getNumber() / 4);
|
|
|
+ }
|
|
|
changeBilletHotsend.setAmountTotal(changeBilletHotsend.getAmountTotal() - changeHeatVo.getNumber());
|
|
|
changeBilletHotsend.setBlankOutput(changeBilletHotsend.getBlankOutput() - originalTotalWeight);
|
|
|
baseMapper.updateById(changeBilletHotsend);
|
|
@@ -2288,13 +2586,17 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
* @return
|
|
|
*/
|
|
|
private List<BilletBasicInfo> queryBilletBasicInfoList(String ccmNo, String heatNo, String shift, String shiftGroup) {
|
|
|
-
|
|
|
- return billetBasicInfoService.list(new LambdaQueryWrapper<BilletBasicInfo>()
|
|
|
- .eq(BilletBasicInfo::getCcmNo, ccmNo)
|
|
|
- .eq(BilletBasicInfo::getHeatNo, heatNo)
|
|
|
- .eq(BilletBasicInfo::getShift, shift)
|
|
|
- .eq(BilletBasicInfo::getShiftGroup, shiftGroup)
|
|
|
- .orderByAsc(BilletBasicInfo::getBelongTable));
|
|
|
+ return billetBasicInfoService.list(
|
|
|
+ new LambdaQueryWrapper<BilletBasicInfo>()
|
|
|
+ .eq(BilletBasicInfo::getCcmNo, ccmNo)
|
|
|
+ .eq(BilletBasicInfo::getHeatNo, heatNo)
|
|
|
+ .eq(BilletBasicInfo::getShift, shift)
|
|
|
+ .eq(BilletBasicInfo::getShiftGroup, shiftGroup)
|
|
|
+ .isNotNull(BilletBasicInfo::getAssemblyNumber) // 添加非空条件
|
|
|
+ .ne(BilletBasicInfo::getAssemblyNumber, "") // 添加非空字符串条件
|
|
|
+ .groupBy(BilletBasicInfo::getAssemblyNumber) // 按assembly_number分组
|
|
|
+ .orderByAsc(BilletBasicInfo::getBelongTable)
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
|
|
@@ -2336,6 +2638,54 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
.last("LIMIT 1")
|
|
|
);
|
|
|
}
|
|
|
+ // 提取查询棒二主表的公共方法
|
|
|
+ private RollClubTwo getRollClubTwo(String heatNo, String ccmNo, String shift, String shiftGroup) {
|
|
|
+ return rollClubTwoService.getOne(
|
|
|
+ new LambdaQueryWrapper<RollClubTwo>()
|
|
|
+ .eq(RollClubTwo::getHeatNo, heatNo)
|
|
|
+ .eq(RollClubTwo::getCcmNo, ccmNo)
|
|
|
+ .eq(RollClubTwo::getShift, shift)
|
|
|
+ .eq(RollClubTwo::getShiftGroup, shiftGroup)
|
|
|
+ .orderByDesc(RollClubTwo::getCreateTime)
|
|
|
+ .last("LIMIT 1")
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // 提取查询棒三主表的公共方法
|
|
|
+ private RollClubThree getRollClubThree(String heatNo, String ccmNo, String shift, String shiftGroup) {
|
|
|
+ return rollClubThreeService.getOne(
|
|
|
+ new LambdaQueryWrapper<RollClubThree>()
|
|
|
+ .eq(RollClubThree::getHeatNo, heatNo)
|
|
|
+ .eq(RollClubThree::getCcmNo, ccmNo)
|
|
|
+ .eq(RollClubThree::getShift, shift)
|
|
|
+ .eq(RollClubThree::getShiftGroup, shiftGroup)
|
|
|
+ .orderByDesc(RollClubThree::getCreateTime)
|
|
|
+ .last("LIMIT 1")
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // 提取查询上若主表的公共方法
|
|
|
+ private RollOutShipp getRollOutShipp(String heatNo, String ccmNo, String shift, String shiftGroup) {
|
|
|
+ return rollOutShippService.getOne(
|
|
|
+ new LambdaQueryWrapper<RollOutShipp>()
|
|
|
+ .eq(RollOutShipp::getHeatNo, heatNo)
|
|
|
+ .eq(RollOutShipp::getCcmNo, ccmNo)
|
|
|
+ .eq(RollOutShipp::getShift, shift)
|
|
|
+ .eq(RollOutShipp::getShiftGroup, shiftGroup)
|
|
|
+ .orderByDesc(RollOutShipp::getCreateTime)
|
|
|
+ .last("LIMIT 1")
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // 提取查询付跨主表的公共方法
|
|
|
+ private RollDeputyCross getRollDeputyCross(String heatNo, String ccmNo, String shift, String shiftGroup) {
|
|
|
+ return rollDeputyCrossService.getOne(
|
|
|
+ new LambdaQueryWrapper<RollDeputyCross>()
|
|
|
+ .eq(RollDeputyCross::getHeatNo, heatNo)
|
|
|
+ .eq(RollDeputyCross::getCcmNo, ccmNo)
|
|
|
+ .eq(RollDeputyCross::getShift, shift)
|
|
|
+ .eq(RollDeputyCross::getShiftGroup, shiftGroup)
|
|
|
+ .orderByDesc(RollDeputyCross::getCreateTime)
|
|
|
+ .last("LIMIT 1")
|
|
|
+ );
|
|
|
+ }
|
|
|
|
|
|
// 提取查询棒一明细表的公共方法
|
|
|
private List<RollClubOneDetails> getRollClubOneDetailsList(String heatNo, String ccmNo, String shift, String shiftGroup, List<String> billetNos) {
|
|
@@ -2349,4 +2699,52 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
|
.orderByDesc(RollClubOneDetails::getCreateTime)
|
|
|
);
|
|
|
}
|
|
|
+ // 提取查询棒二明细表的公共方法
|
|
|
+ private List<RollClubTwoDetails> getRollClubTwoDetailsList(String heatNo, String ccmNo, String shift, String shiftGroup, List<String> billetNos) {
|
|
|
+ return rollClubTwoDetailsService.list(
|
|
|
+ new LambdaQueryWrapper<RollClubTwoDetails>()
|
|
|
+ .eq(RollClubTwoDetails::getHeatNo, heatNo)
|
|
|
+ .eq(RollClubTwoDetails::getCcmNo, ccmNo)
|
|
|
+ .eq(RollClubTwoDetails::getShift, shift)
|
|
|
+ .eq(RollClubTwoDetails::getShiftGroup, shiftGroup)
|
|
|
+ .in(RollClubTwoDetails::getBilletNo, billetNos)
|
|
|
+ .orderByDesc(RollClubTwoDetails::getCreateTime)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // 提取查询棒三明细表的公共方法
|
|
|
+ private List<RollClubThreeDetails> getRollClubThreeDetailsList(String heatNo, String ccmNo, String shift, String shiftGroup, List<String> billetNos) {
|
|
|
+ return rollClubThreeDetailsService.list(
|
|
|
+ new LambdaQueryWrapper<RollClubThreeDetails>()
|
|
|
+ .eq(RollClubThreeDetails::getHeatNo, heatNo)
|
|
|
+ .eq(RollClubThreeDetails::getCcmNo, ccmNo)
|
|
|
+ .eq(RollClubThreeDetails::getShift, shift)
|
|
|
+ .eq(RollClubThreeDetails::getShiftGroup, shiftGroup)
|
|
|
+ .in(RollClubThreeDetails::getBilletNo, billetNos)
|
|
|
+ .orderByDesc(RollClubThreeDetails::getCreateTime)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // 提取查询上若明细表的公共方法
|
|
|
+ private List<RollOutShippDetails> getRollOutShippDetailsList(String heatNo, String ccmNo, String shift, String shiftGroup, List<String> billetNos) {
|
|
|
+ return rollOutShippDetailsService.list(
|
|
|
+ new LambdaQueryWrapper<RollOutShippDetails>()
|
|
|
+ .eq(RollOutShippDetails::getHeatNo, heatNo)
|
|
|
+ .eq(RollOutShippDetails::getCcmNo, ccmNo)
|
|
|
+ .eq(RollOutShippDetails::getShift, shift)
|
|
|
+ .eq(RollOutShippDetails::getShiftGroup, shiftGroup)
|
|
|
+ .in(RollOutShippDetails::getBilletNo, billetNos)
|
|
|
+ .orderByDesc(RollOutShippDetails::getCreateTime)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // 提取查询付跨明细表的公共方法
|
|
|
+ private List<RollDeputyCrossDetails> getRollDeputyCrossDetailsList(String heatNo, String ccmNo, String shift, String shiftGroup, List<String> billetNos) {
|
|
|
+ return rollDeputyCrossDetailsService.list(
|
|
|
+ new LambdaQueryWrapper<RollDeputyCrossDetails>()
|
|
|
+ .eq(RollDeputyCrossDetails::getHeatNo, heatNo)
|
|
|
+ .eq(RollDeputyCrossDetails::getCcmNo, ccmNo)
|
|
|
+ .eq(RollDeputyCrossDetails::getShift, shift)
|
|
|
+ .eq(RollDeputyCrossDetails::getShiftGroup, shiftGroup)
|
|
|
+ .in(RollDeputyCrossDetails::getBilletNo, billetNos)
|
|
|
+ .orderByDesc(RollDeputyCrossDetails::getCreateTime)
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|