From 852377e6203edee5c503a5820d450113c5c4273e Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 11 Nov 2022 18:44:48 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api-admin/src/main/resources/application-dev.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api-admin/src/main/resources/application-dev.properties b/api-admin/src/main/resources/application-dev.properties index 47a7dc1f..5893b8c7 100644 --- a/api-admin/src/main/resources/application-dev.properties +++ b/api-admin/src/main/resources/application-dev.properties @@ -16,7 +16,7 @@ SPMS_KEY=lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs spring.redis.database=8 spring.redis.host=192.168.235.137 spring.redis.port=6379 -spring.redis.password=123456 +spring.redis.auth=123456 spring.redis.jedis.pool.max-active=8 spring.redis.jedis.pool.max-wait=-1 spring.redis.jedis.pool.max-idle=8 From 6b88b3f244cbc7696f195b80fc1a529188c3e983 Mon Sep 17 00:00:00 2001 From: x_z Date: Sun, 13 Nov 2022 17:39:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E5=8A=9F=E8=83=BDbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/InvProductsController.java | 6 ++- .../dao/inventory/InvCountOrderDetailDao.java | 2 +- .../impl/InvCountCodesServiceImpl.java | 47 +++++++++++++++---- .../impl/InvCountOrderServiceImpl.java | 4 +- .../inventory/impl/InvProductServiceImpl.java | 6 +++ .../inventory/InvCountOrderDetailDao.xml | 15 ++++-- .../mapper/inventory/InvProductDao.xml | 33 ++++++++++--- .../mapper/inventory/InvProductDetailDao.xml | 4 +- 8 files changed, 93 insertions(+), 24 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java index 9cf3a76c..659983e3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java @@ -491,7 +491,11 @@ public class InvProductsController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } List list = invProductService.getCountInvProductProduct(filterInvProductRequest); - return ResultVOUtils.success(list); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setList(pageInfo.getList()); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + return ResultVOUtils.success(pageSimpleResponse); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvCountOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvCountOrderDetailDao.java index be2b7139..c8569a71 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvCountOrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvCountOrderDetailDao.java @@ -73,7 +73,7 @@ public interface InvCountOrderDetailDao { * @param nameCode * @return */ - InvCountOrderDetail selectByOrderIdAndNameCode(@Param("orderIdFk") String orderIdFk, @Param("nameCode") String nameCode); + InvCountOrderDetail selectOrderDetail(@Param("orderIdFk") String orderIdFk, @Param("nameCode") String nameCode, @Param("batchNo") String batchNo); /** * 查询此盘点单的单据详情 diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountCodesServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountCodesServiceImpl.java index 14cd3f8a..84fef6d6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountCodesServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountCodesServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.admin.service.inventory.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.basic.UdiRelevanceDao; import com.glxp.api.admin.dao.inventory.InvCountCodesDao; @@ -8,7 +9,9 @@ import com.glxp.api.admin.dao.inventory.InvCountOrderDetailDao; import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.inventory.InvCountCodes; import com.glxp.api.admin.entity.inventory.InvCountOrderDetail; +import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; import com.glxp.api.admin.req.inventory.FilterInvCountCodesRequest; +import com.glxp.api.admin.res.basic.UdiRelevanceResponse; import com.glxp.api.admin.service.inventory.InvCountCodesService; import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.common.enums.ResultEnum; @@ -54,13 +57,13 @@ public class InvCountCodesServiceImpl implements InvCountCodesService { } UdiEntity udi = FilterUdiUtils.getUdi(list.get(0).getCode()); - InvCountOrderDetail invCountOrderDetail = invCountOrderDetailDao.selectByOrderIdAndNameCode(list.get(0).getOrderIdFk(), udi.getUdi()); + InvCountOrderDetail invCountOrderDetail = invCountOrderDetailDao.selectOrderDetail(list.get(0).getOrderIdFk(), udi.getUdi(), udi.getBatchNo()); if (invCountOrderDetail.getCountNum() == 1) { //条码数量为1,删除此产品的盘点单据详情 invCountOrderDetailDao.deleteByPrimaryKey(invCountOrderDetail.getId()); } else { //条码数量大于1,将此单据详情的盘点数量 - 1 - invCountOrderDetail.setCountNum(invCountOrderDetail.getCountNum() - 1); + invCountOrderDetail.setCountNum(invCountOrderDetail.getCountNum() - getActCount(udi.getUdi())); invCountOrderDetailDao.updateByPrimaryKey(invCountOrderDetail); } //删除此条码 @@ -70,20 +73,25 @@ public class InvCountCodesServiceImpl implements InvCountCodesService { @Override public BaseResponse addCode(InvCountCodes invCountCodes) { - //查询此条码是否重复 - Long count = invCountCodesDao.selectCountByCodeAndOrderId(invCountCodes.getCode(), invCountCodes.getOrderIdFk()); - if (count > 0) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "条码重复!"); - } //解析条码 UdiEntity udi = FilterUdiUtils.getUdi(invCountCodes.getCode()); + //查询此条码是否重复 + //判断此产品是否有批次号,如果没有批次号,则直接在单据详情的盘点数量上加1 + if (StrUtil.isNotBlank(udi.getBatchNo()) && StrUtil.isNotBlank(udi.getSerialNo())) { + Long count = invCountCodesDao.selectCountByCodeAndOrderId(invCountCodes.getCode(), invCountCodes.getOrderIdFk()); + if (count > 0) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "条码重复!"); + } + } + + //查询单据详情,单据详情添加 - InvCountOrderDetail invCountOrderDetail = invCountOrderDetailDao.selectByOrderIdAndNameCode(invCountCodes.getOrderIdFk(), udi.getUdi()); + InvCountOrderDetail invCountOrderDetail = invCountOrderDetailDao.selectOrderDetail(invCountCodes.getOrderIdFk(), udi.getUdi(), udi.getBatchNo()); if (null == invCountOrderDetail) { - return ResultVOUtils.error(ResultEnum.DATA_NOT, "当前仓库不存在此产品"); + return ResultVOUtils.error(ResultEnum.DATA_NOT, "当前仓库或货位不存在此产品"); } - invCountOrderDetail.setCountNum(invCountOrderDetail.getCountNum() + 1); + invCountOrderDetail.setCountNum(invCountOrderDetail.getCountNum() + getActCount(udi.getUdi())); invCountCodes.setProductId(invCountOrderDetail.getProductId()); invCountOrderDetailDao.updateByPrimaryKey(invCountOrderDetail); invCountCodesDao.insert(invCountCodes); @@ -95,4 +103,23 @@ public class InvCountCodesServiceImpl implements InvCountCodesService { return invCountCodesDao.countByOrderId(orderIdFk); } + public int getActCount(String nameCode) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setNameCode(nameCode); + List list = udiRelevanceDao.filterUdiRelevance(null); + UdiRelevanceResponse udiInfoBean = list.get(0); + if (udiInfoBean != null) { + if (udiInfoBean.getIsUseDy() == 1 && udiInfoBean.getDiType() != 2) { + if (udiInfoBean.getBhzxxsbzsl() == 0) + return udiInfoBean.getZxxsbzbhsydysl(); + else + return udiInfoBean.getZxxsbzbhsydysl() * udiInfoBean.getBhzxxsbzsl(); + } else { + return udiInfoBean.getBhzxxsbzsl(); + } + } + + return 1; + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountOrderServiceImpl.java index 7d30071e..7e3b6040 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvCountOrderServiceImpl.java @@ -283,7 +283,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { log.info("盘点单据:{} 生成盘亏入库单据", invCountOrder.getOrderId()); OrderEntity order = createOrder(invCountSettingEntity, invCountOrder, ConstantType.TYPE_OUT); log.info("盘盈入库单据号:{}", order.getId()); - inOrderCodes.forEach(warehouseEntity -> { + outOrderCodes.forEach(warehouseEntity -> { warehouseEntity.setOrderId(order.getId()); warehouseEntity.setAction(order.getAction()); warehouseEntity.setFromCorp(order.getFromCorp()); @@ -292,7 +292,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { }); orderDao.insertOrder(order); - codesTempDao.insertCodesTemp(inOrderCodes); + codesTempDao.insertCodesTemp(outOrderCodes); log.info("盘亏入库单据生成成功"); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java index c12da7b4..fff69534 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java @@ -146,6 +146,12 @@ public class InvProductServiceImpl implements InvProductService { @Override public List getCountInvProductProduct(FilterInvProductRequest filterInvProductRequest) { + if (null == filterInvProductRequest) { + return Collections.emptyList(); + } + if (null != filterInvProductRequest.getPage() && null != filterInvProductRequest.getLimit()) { + PageHelper.offsetPage((filterInvProductRequest.getPage() -1 ) * filterInvProductRequest.getLimit(), filterInvProductRequest.getLimit()); + } return invProductDao.getCountInvProduct(filterInvProductRequest); } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountOrderDetailDao.xml index 67fb842b..7800a8b8 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountOrderDetailDao.xml @@ -321,11 +321,20 @@ and productId = #{productId} - select * from inv_count_order_detail - where orderIdFk = #{orderIdFk} - and nameCode = #{nameCode} + + + AND nameCode = #{nameCode} + + + AND orderIdFk = #{orderIdFk} + + + AND batchNo = #{batchNo} + + select * from inv_product - where relIdFk = #{productId} - and batchNo = #{batchNo} - and invStorageCode = #{invStorageCode} - and invWarehouseCode = #{invWarehouseCode} + + + and relIdFk = #{productId} + + + and batchNo = #{batchNo} + + + and invStorageCode = #{invStorageCode} + + + and invWarehouseCode = #{invWarehouseCode} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml index 54cb80c7..ffc8e4c9 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml @@ -359,7 +359,9 @@ left join basic_products bp on bp.uuid = bu.uuid left join inv_warehouse on pd.invStorageCode = inv_warehouse.code left join inv_warehouse_sub on pd.invWarehouseCode = inv_warehouse_sub.code - left join inv_space on pd.invSpaceCode = inv_space.code + left join inv_space + on pd.invSpaceCode = inv_space.code and inv_space.invStorageCode = pd.invStorageCode and + inv_space.invWarehouseCode = pd.invWarehouseCode AND pd.invStorageCode = #{invStorageCode}