创建排单-获取未排单板件接口新增数量上限检查

This commit is contained in:
gaoqr
2025-07-15 11:20:17 +08:00
parent 820a532d62
commit 9a9186598e
2 changed files with 19 additions and 1 deletions
@@ -1,6 +1,5 @@
package com.cf.imes.module.executor.service.optimizeplan;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.text.CharSequenceUtil;
@@ -22,6 +21,7 @@ import co.elastic.clients.elasticsearch.sql.TranslateResponse;
import co.elastic.clients.json.JsonData;
import co.elastic.clients.json.JsonpMappingException;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
@@ -30,6 +30,7 @@ import com.cf.imes.framework.common.enums.OrderStatusEnum;
import com.cf.imes.framework.common.enums.PlanStatusEnum;
import com.cf.imes.framework.common.enums.PlanTypeEnum;
import com.cf.imes.framework.common.exception.ServiceException;
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.Assert.AssertUtils;
import com.cf.imes.framework.common.util.object.BeanUtils;
@@ -73,6 +74,8 @@ import com.cf.imes.module.system.api.systemconfig.dto.ProcessSchemeDTO;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -98,6 +101,7 @@ import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
*/
@Service
@Slf4j
@RefreshScope
public class OptimizePlanServiceImpl implements OptimizePlanService {
@Resource
@@ -151,6 +155,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
@Resource
private PlateGoodMapper plateGoodMapper;
@Value("${chenfeng.plan.create.plate-threshold:20000}")
private int planCreatePlateThreshold;
private static final String FIELD_ORDER_ID = "orderId";
private static final String FIELD_PLATE_ID = "plateId";
private static final String FIELD_PLAN_ID = "planId";
@@ -773,6 +780,16 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
AssertUtils.notEmpty(orderDOS,THIS_ORDER_PLATE_DATA_ERROR);
// 查询未排单的小板数量
Long unplanPlateNum = plateMapper.selectCount(new LambdaQueryWrapper<PlateDO>()
.in(PlateDO::getOrderId, orderIds)
.in(PlateDO::getGoodsId, orderGoodsIds)
.eq(PlateDO::getPlanId, 0)
.eq(PlateDO::getDeleted, false));
if (planCreatePlateThreshold < unplanPlateNum) {
throw ServiceExceptionUtil.exception(ORDER_PLAN_CREATE_PLATE_NUM_REACH_THRESHOLD_ERROR, planCreatePlateThreshold);
}
List<PlateDetailRespVO> plateDetailRespVOS = plateMapper.selectNoPlanPlate(orderIds, orderGoodsIds, getUserOrganId());
AssertUtils.notEmpty(plateDetailRespVOS,ORDER_PLATE_ERROR);