From 211ba9eef691d596159622ca3fe6c5c98740056a Mon Sep 17 00:00:00 2001 From: anthonyywj2 <353682448@qq.com> Date: Mon, 8 Aug 2022 17:39:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A9=E5=B9=B3=E5=8F=B0bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=8C=E6=AD=A5=EF=BC=88=E4=BA=8C=E7=BA=A7?= =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/StockOrderController.java | 27 ++++++++++++++++--- .../business/StockOrderDetailService.java | 3 +++ .../impl/StockOrderDetailServiceImpl.java | 24 +++++++++++++++++ 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java index db0e858e..be082523 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java @@ -66,10 +66,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import java.util.*; @RestController public class StockOrderController { @@ -182,6 +179,28 @@ public class StockOrderController { stockOrderEntity.setStatus("202");//已配货 } } + + + if (CollUtil.isNotEmpty(stockOrderPostRequest.getSubErpOrders())) { + boolean verifyResult = stockOrderDetailService.verifyCount(stockOrderPostRequest.getSubErpOrders()); + if (!verifyResult) { + return ResultVOUtils.error(500, "实际数量不能高于订单数量"); + } + List filterList = new ArrayList(); + for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderPostRequest.getSubErpOrders()) { + + filterList.add(StrUtil.trimToEmpty(stockOrderDetailEntity.getRelId()) + StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo())); + + } + HashSet set = new HashSet<>(filterList); + Boolean result = set.size() == filterList.size() ? true : false; + if (!result) { + return ResultVOUtils.error(500, "存在相同批次产品,提交失败!"); + } + + } + + if (StringUtils.isBlank(stockOrderEntity.getId())) { BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType()); if (StrUtil.isEmpty(stockOrderPostRequest.getBillNo())) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java index fabdeb64..9b867998 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java @@ -25,4 +25,7 @@ public interface StockOrderDetailService { StockOrderDetailEntity findOne(@Param("id") String id); + boolean verifyCount(List subErpOrders); + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderDetailServiceImpl.java index 697fa987..7b8a8380 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderDetailServiceImpl.java @@ -1,8 +1,11 @@ package com.glxp.api.admin.service.business.impl; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.business.StockOrderDetailDao; +import com.glxp.api.admin.dao.schedule.SystemParamConfigDao; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; +import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest; import com.glxp.api.admin.res.business.StockOrderDetailResponse; import com.glxp.api.admin.service.business.StockOrderDetailService; @@ -17,6 +20,8 @@ public class StockOrderDetailServiceImpl implements StockOrderDetailService { @Resource StockOrderDetailDao stockOrderDetailDao; + @Resource + private SystemParamConfigDao systemParamConfigDao; @Override public List filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest) { @@ -61,6 +66,7 @@ public class StockOrderDetailServiceImpl implements StockOrderDetailService { public boolean deleteById(String id) { return stockOrderDetailDao.deleteById(id); } + @Override public boolean deleteByOrderIdFk(String id) { return stockOrderDetailDao.deleteByOrderIdFk(id); @@ -71,4 +77,22 @@ public class StockOrderDetailServiceImpl implements StockOrderDetailService { return stockOrderDetailDao.findOne(id); } + @Override + public boolean verifyCount(List subErpOrders) { + //查询配置的系统运行参数 + SystemParamConfigEntity config = systemParamConfigDao.selectByParamKey("stock_order_detail_count_max"); + if (null != config) { + //0:允许;1:不允许,允许时不做判断 + if ("1".equals(config.getParamValue())) { + for (StockOrderDetailEntity subErpOrder : subErpOrders) { + if (subErpOrder.getReCount() > subErpOrder.getCount()) { + return false; + } + } + } + return true; + } + return true; + } + }