|
@@ -3,6 +3,7 @@ package com.rongwei.bscommon.sys.service.impl;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.rongwei.bscommon.sys.dao.*;
|
|
|
import com.rongwei.bscommon.sys.service.ApsProductionOrderService;
|
|
@@ -14,6 +15,7 @@ import com.rongwei.bsentity.domain.ApsProductionOrderDo;
|
|
|
import com.rongwei.bsentity.vo.ApsProductDetailVo;
|
|
|
import com.rongwei.bsentity.vo.CheckAndSaveOrUpdateOrderReq;
|
|
|
import com.rongwei.bsentity.vo.ProductDetailIdAndPlanOutPutRollCountAllVo;
|
|
|
+import com.rongwei.bsentity.vo.ProductTypeIdAndPidVo;
|
|
|
import com.rongwei.rwcommon.base.R;
|
|
|
import com.rongwei.safecommon.utils.SaveConstans;
|
|
|
import org.slf4j.Logger;
|
|
@@ -23,6 +25,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -123,8 +126,8 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
List<ApsProductionMergeOrderDo> apsProductionMergeOrderDoList = req.getApsProductionMergeOrderDoList();
|
|
|
//产品明细信息
|
|
|
List<ApsProductDetailVo> apsProductDetailVoList = req.getApsProductDetailVoList();
|
|
|
- //坯料计划信息
|
|
|
- List<ApsBlankOrderDo> apsBlankOrderDoList = req.getApsBlankOrderDoList();
|
|
|
+ //坯料计划信息(坯料计划是一保存的状态,校验直接通过数据库查询)
|
|
|
+ List<ApsBlankOrderDo> apsBlankOrderDoList = apsBlankOrderDao.selectList(new QueryWrapper<ApsBlankOrderDo>().lambda().eq(ApsBlankOrderDo::getProductionorderid, apsProductionOrderDo.getId()));
|
|
|
//是否需要检验坯料计划是否已排程
|
|
|
Boolean checkSchedule = req.getCheckSchedule();
|
|
|
|
|
@@ -189,6 +192,34 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //===============校验产品明细的长===================
|
|
|
+ if (ObjectUtil.isEmpty(apsProductDetailVoList)) {
|
|
|
+ return R.error("产品明细至少有一个");
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取产品明细的所有产品类型ID(去重)
|
|
|
+ Set<String> productTypeIds = apsProductDetailVoList.stream().map(ApsProductDetailVo::getProducttypeid).collect(Collectors.toSet());
|
|
|
+ String join = String.join("','", productTypeIds);
|
|
|
+
|
|
|
+ List<ProductTypeIdAndPidVo> productTypeIdAndPidList = this.baseMapper.selectProductTypeIdAndPid(join);
|
|
|
+ if (ObjectUtil.isNotEmpty(productTypeIdAndPidList)) {
|
|
|
+ for (ProductTypeIdAndPidVo productTypeIdAndPidVo : productTypeIdAndPidList) {
|
|
|
+ for (int i = 0; i < apsProductDetailVoList.size(); i++) {
|
|
|
+ ApsProductDetailVo apsProductDetailVo = apsProductDetailVoList.get(i);
|
|
|
+ if (apsProductDetailVo.getProducttypeid().equals(productTypeIdAndPidVo.getId())) {
|
|
|
+ //如果是铝板或铝锭
|
|
|
+ if (productTypeIdAndPidVo.getPid().equals(SaveConstans.ProductionType.LVBAN_ID) || productTypeIdAndPidVo.getPid().equals(SaveConstans.ProductionType.BANDING_ID)) {
|
|
|
+ //判断长度是否为空
|
|
|
+ if (ObjectUtil.isEmpty(apsProductDetailVo.getProlength())) {
|
|
|
+ return R.error("第" + (i + 1) + "个产品明细,产品类型是铝板或板锭时长度必填");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //================循环校验坯料计划===============
|
|
|
|
|
|
|
|
|
return null;
|