|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.jeecg.common.api.vo.Result;
|
|
import org.jeecg.common.exception.JeecgBootException;
|
|
import org.jeecg.common.exception.JeecgBootException;
|
|
import org.jeecg.common.util.DateUtils;
|
|
import org.jeecg.common.util.DateUtils;
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
@@ -2026,4 +2027,326 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
|
|
);
|
|
);
|
|
return assembly_number;
|
|
return assembly_number;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional
|
|
|
|
+ public JSONObject changeHeatNumberHandle(ChangeHeatVo changeHeatVo) {
|
|
|
|
+ JSONObject result = new JSONObject();
|
|
|
|
+
|
|
|
|
+ String classShiftGroup = String.format("class:shift:group:%s", changeHeatVo.getCcmNo()); // 班组
|
|
|
|
+ String classShift = String.format("class:shift:%s", changeHeatVo.getCcmNo()); // 班别
|
|
|
|
+ String shift = !oConvertUtils.getString(redisTemplate.opsForValue().get(classShift)).isEmpty() ? oConvertUtils.getString(redisTemplate.opsForValue().get(classShift)) : "";
|
|
|
|
+ String shiftGroup = !oConvertUtils.getString(redisTemplate.opsForValue().get(classShiftGroup)).isEmpty() ? oConvertUtils.getString(redisTemplate.opsForValue().get(classShiftGroup)) : "";
|
|
|
|
+
|
|
|
|
+ // 处理直轧棒一数据
|
|
|
|
+ if (changeHeatVo.getChangeType() == 1){
|
|
|
|
+ // 根据铸机、炉号、班组、班别 查询钢坯实绩明细信息
|
|
|
|
+ List<BilletBasicInfo> originalBilletBasicInfoList = queryBilletBasicInfoRollClubOneList(changeHeatVo.getCcmNo(), changeHeatVo.getOriginalHeatNo(), shift, shiftGroup);
|
|
|
|
+ if (oConvertUtils.listIsEmpty(originalBilletBasicInfoList)){
|
|
|
|
+ result.put("fail", "直轧热送-原炉号钢坯实绩不存在,操作失败!");
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 根据铸机、炉号、班组、班别 查询钢坯实绩明细信息
|
|
|
|
+ List<BilletBasicInfo> changeBilletBasicInfoList = queryBilletBasicInfoRollClubOneList(changeHeatVo.getCcmNo(), changeHeatVo.getChangeHeatNo(), shift, shiftGroup);
|
|
|
|
+ if (oConvertUtils.listIsEmpty(changeBilletBasicInfoList)){
|
|
|
|
+ result.put("fail", "直轧热送-变更炉号钢坯实绩不存在,操作失败!");
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 源炉号数据如果小于更换的数量返回
|
|
|
|
+ if (originalBilletBasicInfoList.size() < changeHeatVo.getNumber() || changeBilletBasicInfoList.size() < changeHeatVo.getNumber()){
|
|
|
|
+ result.put("fail", "直轧热送-原炉号、变更炉号钢坯实绩数据不足,操作失败!");
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<BilletBasicInfo> finalOriginalBilletBasicInfoList = originalBilletBasicInfoList.subList(0, changeHeatVo.getNumber());
|
|
|
|
+ List<BilletBasicInfo> finalChangeBilletBasicInfoList = changeBilletBasicInfoList.subList(0, changeHeatVo.getNumber());
|
|
|
|
+ // 钢坯实绩、炉次实绩、炉次传递单统一公共处理
|
|
|
|
+ commonBilletChangeHandle(finalOriginalBilletBasicInfoList, finalChangeBilletBasicInfoList, changeHeatVo, shift, shiftGroup);
|
|
|
|
+ // 棒一统一公共处理
|
|
|
|
+ commonBilletRollClubOneHandle(finalOriginalBilletBasicInfoList, finalChangeBilletBasicInfoList, changeHeatVo, shift, shiftGroup);
|
|
|
|
+ }else {
|
|
|
|
+ int number = changeHeatVo.getNumber();
|
|
|
|
+ // 校验是否为4的倍数
|
|
|
|
+ if (number == 0 || number % 4 != 0) {
|
|
|
|
+ result.put("fail", "变更数量必须是4的倍数,操作失败!");
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 处理热装变更炉号数据 根据铸机、炉号、班组、班别 查询钢坯实绩明细信息
|
|
|
|
+ */
|
|
|
|
+ List<BilletBasicInfo> originalBilletBasicInfoList = queryBilletBasicInfoList(changeHeatVo.getCcmNo(), changeHeatVo.getOriginalHeatNo(), shift, shiftGroup);
|
|
|
|
+ if (oConvertUtils.listIsEmpty(originalBilletBasicInfoList)){
|
|
|
|
+ result.put("fail", "热装-原炉号钢坯实绩不存在,操作失败!");
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 根据铸机、炉号、班组、班别 查询钢坯实绩明细信息
|
|
|
|
+ List<BilletBasicInfo> changeBilletBasicInfoList = queryBilletBasicInfoList(changeHeatVo.getCcmNo(), changeHeatVo.getChangeHeatNo(), shift, shiftGroup);
|
|
|
|
+ if (oConvertUtils.listIsEmpty(changeBilletBasicInfoList)){
|
|
|
|
+ result.put("fail", "热装-变更炉号钢坯实绩不存在,操作失败!");
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 源炉号数据如果小于更换的数量返回
|
|
|
|
+ if (originalBilletBasicInfoList.size() < changeHeatVo.getNumber() || changeBilletBasicInfoList.size() < changeHeatVo.getNumber()){
|
|
|
|
+ result.put("fail", "热装-原炉号、变更炉号钢坯实绩数据不足,操作失败!");
|
|
|
|
+ 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);
|
|
|
|
+ if (allOriginalBilletNull && allChangeBilletNull) {
|
|
|
|
+ // 无需处理,棒二、棒三、上若、付跨、装运单、主表和明细表
|
|
|
|
+ }else if (allOriginalBilletNull && !allChangeBilletNull) {
|
|
|
|
+
|
|
|
|
+ }else if (!allOriginalBilletNull && allChangeBilletNull) {
|
|
|
|
+
|
|
|
|
+ }else if (!allOriginalBilletNull && !allChangeBilletNull) {
|
|
|
|
+ // 需要处理,棒二、棒三、上若、付跨、装运单、主表和明细表
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ result.put("success", "炉号变更,操作成功!");
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 棒一统一公共处理
|
|
|
|
+ * @param originalBilletBasicInfoList
|
|
|
|
+ * @param changeBilletBasicInfoList
|
|
|
|
+ * @param changeHeatVo
|
|
|
|
+ * @param shift
|
|
|
|
+ * @param shiftGroup
|
|
|
|
+ */
|
|
|
|
+ private void commonBilletRollClubOneHandle(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();
|
|
|
|
+ // 棒一 主表
|
|
|
|
+ RollClubOne originalRollClubOne = getRollClubOne(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
|
+ if (originalRollClubOne == null) {
|
|
|
|
+ throw new RuntimeException("原棒一主表为空,操作失败!");
|
|
|
|
+ }
|
|
|
|
+ originalRollClubOne.setAmountTotal(originalRollClubOne.getAmountTotal() + changeHeatVo.getNumber());
|
|
|
|
+ originalRollClubOne.setBlankOutput(originalRollClubOne.getBlankOutput() + changeTotalWeight);
|
|
|
|
+ rollClubOneService.updateById(originalRollClubOne);
|
|
|
|
+
|
|
|
|
+ RollClubOne changeRollClubOne = getRollClubOne(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
|
+ if (changeRollClubOne == null) {
|
|
|
|
+ throw new RuntimeException("变更棒一主表为空,操作失败!");
|
|
|
|
+ }
|
|
|
|
+ changeRollClubOne.setAmountTotal(changeRollClubOne.getAmountTotal() - changeHeatVo.getNumber());
|
|
|
|
+ changeRollClubOne.setBlankOutput(changeRollClubOne.getBlankOutput() - originalTotalWeight);
|
|
|
|
+ rollClubOneService.updateById(changeRollClubOne);
|
|
|
|
+
|
|
|
|
+ List<String> originalBilletNos = originalBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
|
+ // 棒一明细
|
|
|
|
+ List<RollClubOneDetails> originalRollClubOneDetailsList = getRollClubOneDetailsList(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, originalBilletNos);
|
|
|
|
+ if (oConvertUtils.listIsEmpty(originalRollClubOneDetailsList)) {
|
|
|
|
+ throw new RuntimeException("原棒一明细为空,操作失败!");
|
|
|
|
+ }
|
|
|
|
+ for (RollClubOneDetails originalRollClubOneDetails : originalRollClubOneDetailsList){
|
|
|
|
+ originalRollClubOneDetails.setHeatNo(changeHeatVo.getChangeHeatNo());
|
|
|
|
+ originalRollClubOneDetails.setUpdateTime(new Date());
|
|
|
|
+ }
|
|
|
|
+ rollClubOneDetailsService.updateBatchById(originalRollClubOneDetailsList);
|
|
|
|
+
|
|
|
|
+ List<String> changeBilletNos = changeBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).collect(Collectors.toList());
|
|
|
|
+ List<RollClubOneDetails> changeRollClubOneDetailsList = getRollClubOneDetailsList(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup, changeBilletNos);
|
|
|
|
+ if (oConvertUtils.listIsEmpty(changeRollClubOneDetailsList)) {
|
|
|
|
+ throw new RuntimeException("变更棒一明细为空,操作失败!");
|
|
|
|
+ }
|
|
|
|
+ for (RollClubOneDetails changeRollClubOneDetails : changeRollClubOneDetailsList){
|
|
|
|
+ changeRollClubOneDetails.setHeatNo(changeHeatVo.getOriginalHeatNo());
|
|
|
|
+ changeRollClubOneDetails.setUpdateTime(new Date());
|
|
|
|
+ }
|
|
|
|
+ rollClubOneDetailsService.updateBatchById(changeRollClubOneDetailsList);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 钢坯实绩、炉次实绩、炉次传递单统一公共处理
|
|
|
|
+ * @param originalBilletBasicInfoList
|
|
|
|
+ * @param changeBilletBasicInfoList
|
|
|
|
+ * @param changeHeatVo
|
|
|
|
+ * @param shift
|
|
|
|
+ * @param shiftGroup
|
|
|
|
+ */
|
|
|
|
+ private void commonBilletChangeHandle(List<BilletBasicInfo> originalBilletBasicInfoList ,List<BilletBasicInfo> changeBilletBasicInfoList ,
|
|
|
|
+ ChangeHeatVo changeHeatVo, String shift, String shiftGroup) {
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 原炉号处理 根据changeHeatVo.getNumber() 的数量,获取billetBasicInfoList对应的条数
|
|
|
|
+ */
|
|
|
|
+ List<String> originalBilletNos = originalBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).distinct().collect(Collectors.toList());
|
|
|
|
+ log.info("原炉号********:{}", JSON.toJSON(originalBilletNos));
|
|
|
|
+ for (BilletBasicInfo billetBasicInfo : originalBilletBasicInfoList) {
|
|
|
|
+ billetBasicInfo.setHeatNo(changeHeatVo.getChangeHeatNo());
|
|
|
|
+ billetBasicInfo.setUpdateTime(new Date());
|
|
|
|
+ }
|
|
|
|
+ // 更新钢坯实绩
|
|
|
|
+ billetBasicInfoService.updateBatchById(originalBilletBasicInfoList);
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 变更炉号处理 根据changeHeatVo.getNumber() 的数量,获取billetBasicInfoList对应的条数
|
|
|
|
+ */
|
|
|
|
+ List<String> changeBilletNos = changeBilletBasicInfoList.stream().map(BilletBasicInfo::getBilletNo).distinct().collect(Collectors.toList());
|
|
|
|
+ log.info("变更炉号********:{}", JSON.toJSON(changeBilletNos));
|
|
|
|
+ for (BilletBasicInfo billetBasicInfo : changeBilletBasicInfoList) {
|
|
|
|
+ billetBasicInfo.setHeatNo(changeHeatVo.getOriginalHeatNo());
|
|
|
|
+ billetBasicInfo.setUpdateTime(new Date());
|
|
|
|
+ }
|
|
|
|
+ // 更新钢坯实绩
|
|
|
|
+ billetBasicInfoService.updateBatchById(changeBilletBasicInfoList);
|
|
|
|
+
|
|
|
|
+ // 所有变更炉号的总重量
|
|
|
|
+ double changeTotalWeight = originalBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
|
+ // 所有原始炉号的总重量
|
|
|
|
+ double originalTotalWeight = changeBilletBasicInfoList.stream().mapToDouble(BilletBasicInfo::getBilletWeight).sum();
|
|
|
|
+
|
|
|
|
+ // 原炉次实绩处理
|
|
|
|
+ HeatsActuals originalHeatsActuals = getHeatsActuals(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
|
+ if (originalHeatsActuals == null) {
|
|
|
|
+ throw new RuntimeException("原炉次实绩为空,操作失败!");
|
|
|
|
+ }
|
|
|
|
+ // 更新炉次实绩数量和对应的重量
|
|
|
|
+ if (originalHeatsActuals.getBilletSum() != 0){
|
|
|
|
+ originalHeatsActuals.setBilletSum(originalHeatsActuals.getBilletSum() + changeHeatVo.getNumber());
|
|
|
|
+ }
|
|
|
|
+ originalHeatsActuals.setBlankOutput(originalHeatsActuals.getBlankOutput() + changeTotalWeight);
|
|
|
|
+ heatsActualsService.updateById(originalHeatsActuals);
|
|
|
|
+
|
|
|
|
+ // 变更炉次实绩处理 处理变更炉次实绩(减少钢坯)
|
|
|
|
+ HeatsActuals changeHeatsActuals = getHeatsActuals(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
|
+ if (changeHeatsActuals == null) {
|
|
|
|
+ throw new RuntimeException("变更炉次实绩为空,操作失败!");
|
|
|
|
+ }
|
|
|
|
+ // 更新炉次实绩数量和对应的重量
|
|
|
|
+ if (changeHeatsActuals.getBilletSum() != 0 && changeHeatsActuals.getBilletSum() > changeHeatVo.getNumber()){
|
|
|
|
+ changeHeatsActuals.setBilletSum(changeHeatsActuals.getBilletSum() - changeHeatVo.getNumber());
|
|
|
|
+ }
|
|
|
|
+ changeHeatsActuals.setBlankOutput(changeHeatsActuals.getBlankOutput() - originalTotalWeight);
|
|
|
|
+ heatsActualsService.updateById(changeHeatsActuals);
|
|
|
|
+
|
|
|
|
+ // 原炉次传递单
|
|
|
|
+ BilletHotsend originalBilletHotsend = getBilletHotsend(changeHeatVo.getOriginalHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
|
+ if (originalBilletHotsend == null){
|
|
|
|
+ throw new RuntimeException("原炉次传递单为空,操作失败!");
|
|
|
|
+ }
|
|
|
|
+ originalBilletHotsend.setRollcluboneNum(originalBilletHotsend.getRollcluboneNum() + changeHeatVo.getNumber());
|
|
|
|
+ originalBilletHotsend.setAmountTotal(originalBilletHotsend.getAmountTotal() + changeHeatVo.getNumber());
|
|
|
|
+ originalBilletHotsend.setBlankOutput(originalBilletHotsend.getBlankOutput() + changeTotalWeight);
|
|
|
|
+ baseMapper.updateById(originalBilletHotsend);
|
|
|
|
+
|
|
|
|
+ BilletHotsend changeBilletHotsend = getBilletHotsend(changeHeatVo.getChangeHeatNo(), changeHeatVo.getCcmNo(), shift, shiftGroup);
|
|
|
|
+ if (changeBilletHotsend == null) {
|
|
|
|
+ throw new RuntimeException("变更炉次传递单为空,操作失败!");
|
|
|
|
+ }
|
|
|
|
+ changeBilletHotsend.setRollcluboneNum(changeBilletHotsend.getRollcluboneNum() - changeHeatVo.getNumber());
|
|
|
|
+ changeBilletHotsend.setAmountTotal(changeBilletHotsend.getAmountTotal() - changeHeatVo.getNumber());
|
|
|
|
+ changeBilletHotsend.setBlankOutput(changeBilletHotsend.getBlankOutput() - originalTotalWeight);
|
|
|
|
+ baseMapper.updateById(changeBilletHotsend);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 查询去棒一的钢坯实绩 信息
|
|
|
|
+ * @param ccmNo
|
|
|
|
+ * @param heatNo
|
|
|
|
+ * @param shift
|
|
|
|
+ * @param shiftGroup
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private List<BilletBasicInfo> queryBilletBasicInfoRollClubOneList(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)
|
|
|
|
+ .eq(BilletBasicInfo::getBelongTable, "roll_club_one"));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 查询热装的钢坯实绩 信息
|
|
|
|
+ * 确保没有目的地钢坯排在最前面
|
|
|
|
+ *
|
|
|
|
+ * @param ccmNo
|
|
|
|
+ * @param heatNo
|
|
|
|
+ * @param shift
|
|
|
|
+ * @param shiftGroup
|
|
|
|
+ * @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));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ // 提取查询炉次实绩的公共方法
|
|
|
|
+ private HeatsActuals getHeatsActuals(String heatNo, String ccmNo, String shift, String shiftGroup) {
|
|
|
|
+ return heatsActualsService.getOne(
|
|
|
|
+ new LambdaQueryWrapper<HeatsActuals>()
|
|
|
|
+ .eq(HeatsActuals::getHeatsCode, heatNo)
|
|
|
|
+ .eq(HeatsActuals::getCasterCode, ccmNo)
|
|
|
|
+ .eq(HeatsActuals::getShift, shift)
|
|
|
|
+ .eq(HeatsActuals::getShiftGroup, shiftGroup)
|
|
|
|
+ .orderByDesc(HeatsActuals::getCreateTime)
|
|
|
|
+ .last("LIMIT 1")
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 提取查询炉次传递单的公共方法
|
|
|
|
+ private BilletHotsend getBilletHotsend(String heatNo, String ccmNo, String shift, String shiftGroup) {
|
|
|
|
+ return baseMapper.selectOne(
|
|
|
|
+ new LambdaQueryWrapper<BilletHotsend>()
|
|
|
|
+ .eq(BilletHotsend::getHeatNo, heatNo)
|
|
|
|
+ .eq(BilletHotsend::getCcmNo, ccmNo)
|
|
|
|
+ .eq(BilletHotsend::getShift, shift)
|
|
|
|
+ .eq(BilletHotsend::getShiftGroup, shiftGroup)
|
|
|
|
+ .orderByDesc(BilletHotsend::getCreateTime)
|
|
|
|
+ .last("LIMIT 1")
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 提取查询棒一主表的公共方法
|
|
|
|
+ private RollClubOne getRollClubOne(String heatNo, String ccmNo, String shift, String shiftGroup) {
|
|
|
|
+ return rollClubOneService.getOne(
|
|
|
|
+ new LambdaQueryWrapper<RollClubOne>()
|
|
|
|
+ .eq(RollClubOne::getHeatNo, heatNo)
|
|
|
|
+ .eq(RollClubOne::getCcmNo, ccmNo)
|
|
|
|
+ .eq(RollClubOne::getShift, shift)
|
|
|
|
+ .eq(RollClubOne::getShiftGroup, shiftGroup)
|
|
|
|
+ .orderByDesc(RollClubOne::getCreateTime)
|
|
|
|
+ .last("LIMIT 1")
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 提取查询棒一明细表的公共方法
|
|
|
|
+ private List<RollClubOneDetails> getRollClubOneDetailsList(String heatNo, String ccmNo, String shift, String shiftGroup, List<String> billetNos) {
|
|
|
|
+ return rollClubOneDetailsService.list(
|
|
|
|
+ new LambdaQueryWrapper<RollClubOneDetails>()
|
|
|
|
+ .eq(RollClubOneDetails::getHeatNo, heatNo)
|
|
|
|
+ .eq(RollClubOneDetails::getCcmNo, ccmNo)
|
|
|
|
+ .eq(RollClubOneDetails::getShift, shift)
|
|
|
|
+ .eq(RollClubOneDetails::getShiftGroup, shiftGroup)
|
|
|
|
+ .in(RollClubOneDetails::getBilletNo, billetNos)
|
|
|
|
+ .orderByDesc(RollClubOneDetails::getCreateTime)
|
|
|
|
+ );
|
|
|
|
+ }
|
|
}
|
|
}
|