diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java index fc1dccf..6e15c75 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java @@ -1,6 +1,7 @@ package com.glxp.sale.admin.controller.inout; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.sale.admin.annotation.AuthRuleAnnotation; @@ -156,6 +157,15 @@ public class StockOrderController { stockOrderEntity.setStatus("202");//已配货 } } + + //校验 业务单据配货时实际数量是否允许高于单据数量 + if (CollUtil.isNotEmpty(stockOrderPostRequest.getSubErpOrders())) { + boolean verifyResult = stockOrderDetailService.verifyCount(stockOrderPostRequest.getSubErpOrders()); + if (!verifyResult) { + 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/sale/admin/service/inout/StockOrderDetailService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java index da51fcb..db84b90 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java @@ -24,4 +24,12 @@ public interface StockOrderDetailService { boolean deleteByOrderIdFk(String id); StockOrderDetailEntity findOne(@Param("id") String id); + + /** + * 校验 业务单据配货时实际数量是否允许高于单据数量 + * + * @param subErpOrders + * @return + */ + boolean verifyCount(List subErpOrders); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java index 706a1bd..ac24067 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java @@ -1,8 +1,11 @@ package com.glxp.sale.admin.service.inout.impl; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.sale.admin.dao.inout.StockOrderDetailDao; +import com.glxp.sale.admin.dao.param.SystemParamConfigDao; import com.glxp.sale.admin.entity.inout.StockOrderDetailEntity; +import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.req.inout.StockOrderDetailFilterRequest; import com.glxp.sale.admin.res.inout.StockOrderDetailResponse; import com.glxp.sale.admin.service.inout.StockOrderDetailService; @@ -16,7 +19,9 @@ import java.util.List; public class StockOrderDetailServiceImpl implements StockOrderDetailService { @Resource - StockOrderDetailDao stockOrderDetailDao; + private 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,24 @@ 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 (StrUtil.isNotBlank(subErpOrder.getCount()) && StrUtil.isNotBlank(subErpOrder.getReCount())) { + if (Long.parseLong(subErpOrder.getReCount()) > Long.parseLong(subErpOrder.getCount())) { + return false; + } + } + } + } + return true; + } + return true; + } + } diff --git a/api-admin/src/main/resources/application-dev.properties b/api-admin/src/main/resources/application-dev.properties index 7a0a09b..371f905 100644 --- a/api-admin/src/main/resources/application-dev.properties +++ b/api-admin/src/main/resources/application-dev.properties @@ -30,8 +30,6 @@ logging.level.com.glxp.api.admin.dao.info=debug logging.level.com.glxp.api.admin.dao.inout=debug logging.level.com.glxp.api.admin.dao.inventory=debug logging.level.com.glxp.api.admin.dao.thrsys=debug -# \u8F93\u51FA\u65E5\u5FD7\u5230\u9879\u76EE\u6839\u76EE\u5F55\u4E0B\u7684springboot.log\u6587\u4EF6\u4E2D // \u914D\u7F6E logback-spring.xml\u65F6 \u6B64\u65E5\u5FD7\u8F93\u51FA\u65B9\u5F0F\u4F1A\u88AB\u8986\u76D6\u3002 -logging.file=D:/glxpdata/udiwms/udiwms.log #file_path=/home/glxpdata/udiwms file_path=D:/glxpdata/udiwms #UDI\u6570\u636E\u4E0B\u8F7D diff --git a/api-admin/src/main/resources/application-pro.properties b/api-admin/src/main/resources/application-pro.properties index 7a0a09b..371f905 100644 --- a/api-admin/src/main/resources/application-pro.properties +++ b/api-admin/src/main/resources/application-pro.properties @@ -30,8 +30,6 @@ logging.level.com.glxp.api.admin.dao.info=debug logging.level.com.glxp.api.admin.dao.inout=debug logging.level.com.glxp.api.admin.dao.inventory=debug logging.level.com.glxp.api.admin.dao.thrsys=debug -# \u8F93\u51FA\u65E5\u5FD7\u5230\u9879\u76EE\u6839\u76EE\u5F55\u4E0B\u7684springboot.log\u6587\u4EF6\u4E2D // \u914D\u7F6E logback-spring.xml\u65F6 \u6B64\u65E5\u5FD7\u8F93\u51FA\u65B9\u5F0F\u4F1A\u88AB\u8986\u76D6\u3002 -logging.file=D:/glxpdata/udiwms/udiwms.log #file_path=/home/glxpdata/udiwms file_path=D:/glxpdata/udiwms #UDI\u6570\u636E\u4E0B\u8F7D diff --git a/api-admin/src/main/resources/application-test1.properties b/api-admin/src/main/resources/application-test1.properties index 2da769c..5caf8ea 100644 --- a/api-admin/src/main/resources/application-test1.properties +++ b/api-admin/src/main/resources/application-test1.properties @@ -29,8 +29,6 @@ logging.level.com.glxp.api.admin.dao.info=debug logging.level.com.glxp.api.admin.dao.inout=debug logging.level.com.glxp.api.admin.dao.inventory=debug logging.level.com.glxp.api.admin.dao.thrsys=debug -# \u8F93\u51FA\u65E5\u5FD7\u5230\u9879\u76EE\u6839\u76EE\u5F55\u4E0B\u7684springboot.log\u6587\u4EF6\u4E2D // \u914D\u7F6E logback-spring.xml\u65F6 \u6B64\u65E5\u5FD7\u8F93\u51FA\u65B9\u5F0F\u4F1A\u88AB\u8986\u76D6\u3002 -logging.file=D:/glxpdata/udiwms/udiwms.log #file_path=/home/glxpdata/udiwms file_path=D:/glxpdata/udiwms #UDI\u6570\u636E\u4E0B\u8F7D diff --git a/api-admin/src/main/resources/application-test2.properties b/api-admin/src/main/resources/application-test2.properties index d7d94c5..0199869 100644 --- a/api-admin/src/main/resources/application-test2.properties +++ b/api-admin/src/main/resources/application-test2.properties @@ -29,8 +29,6 @@ logging.level.com.glxp.api.admin.dao.info=debug logging.level.com.glxp.api.admin.dao.inout=debug logging.level.com.glxp.api.admin.dao.inventory=debug logging.level.com.glxp.api.admin.dao.thrsys=debug -# \u8F93\u51FA\u65E5\u5FD7\u5230\u9879\u76EE\u6839\u76EE\u5F55\u4E0B\u7684springboot.log\u6587\u4EF6\u4E2D // \u914D\u7F6E logback-spring.xml\u65F6 \u6B64\u65E5\u5FD7\u8F93\u51FA\u65B9\u5F0F\u4F1A\u88AB\u8986\u76D6\u3002 -logging.file=D:/glxpdata/udiwms/udiwms.log #file_path=/home/glxpdata/udiwms file_path=D:/glxpdata/udiwms #UDI\u6570\u636E\u4E0B\u8F7D diff --git a/api-admin/src/main/resources/logback-spring.xml b/api-admin/src/main/resources/logback-spring.xml index 3fcecf1..9423311 100644 --- a/api-admin/src/main/resources/logback-spring.xml +++ b/api-admin/src/main/resources/logback-spring.xml @@ -38,7 +38,7 @@ - d://glxpdata/udiwms/logs/${LOG_INFO_HOME}//%d{yyyy-MM-dd}_%i.log + ../logs/spms/info/%d{yyyy-MM-dd}_%i.log 30 - d://glxpdata/udiwms/logs/${LOG_ERROR_HOME}//%d{yyyy-MM-dd}_%i.log + ../logs/spms/error/%d{yyyy-MM-dd}_%i.log 30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
\ No newline at end of file