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/basic/UdiRelevanceDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/UdiRelevanceDao.java index 426f9d24..c65ffe06 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/UdiRelevanceDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/UdiRelevanceDao.java @@ -66,12 +66,6 @@ public interface UdiRelevanceDao { */ void importUdiRelevance(@Param("udiRelevanceEntities") List udiRelevanceEntities); - /** - * 查找产品UUID - * @param relId - * @return - */ - String selectUuidById(String relId); /** * 查询产品ID * @@ -81,4 +75,10 @@ public interface UdiRelevanceDao { */ String selectProductId(@Param("nameCode") String nameCode, @Param("orderIdFk") String orderIdFk); + /** + * 查找产品UUID + * @param relId + * @return + */ + String selectUuidById(String relId); } 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/application-dev.properties b/api-admin/src/main/resources/application-dev.properties index 59e1a7b9..5893b8c7 100644 --- a/api-admin/src/main/resources/application-dev.properties +++ b/api-admin/src/main/resources/application-dev.properties @@ -1,6 +1,6 @@ server.port=9991 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://192.168.235.137:33306/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=root spring.datasource.hikari.connection-timeout=60000 @@ -14,9 +14,9 @@ UDI_KEY=6b137c66-6286-46c6-8efa-c2f5dd9237df UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server_test SPMS_KEY=lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs spring.redis.database=8 -spring.redis.host=127.0.0.1 +spring.redis.host=192.168.235.137 spring.redis.port=6379 -spring.redis.password= +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 diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index ff49ef6c..7da3fb3d 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -2,7 +2,6 @@ - @@ -311,7 +409,8 @@ - select * from basic_udirel INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid + select * + from basic_udirel + INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid AND basic_udirel.uuid = #{uuid} @@ -365,7 +466,8 @@ - select * FROM basic_udirel + select * + FROM basic_udirel AND ${thirdSys} = #{thirdId} @@ -406,7 +509,8 @@ - replace into basic_udirel (id, thirdId, thirdName, uuid, isUseDy, updateTime, modifyTime, thirdId1, thirdId2, - thirdId3, + replace into basic_udirel (id, thirdId, thirdName, uuid, isUseDy, updateTime, modifyTime, thirdId1, thirdId2, thirdId3, thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, ybbm, sptm, manufactory, measname, isDisable, mainId, mainName, udplatCode,supName,price,modifyTime) values (#{item.id}, - #{item.thirdId}, - #{item.thirdName}, - #{item.uuid}, - #{item.isUseDy}, - #{item.updateTime}, - #{item.modifyTime}, - #{item.thirdId1}, - #{item.thirdId2}, - #{item.thirdId3}, - #{item.thirdId4}, - #{item.thirdName1}, - #{item.thirdName2}, - #{item.thirdName3}, - #{item.thirdName4}, - #{item.ybbm}, - #{item.sptm}, - #{item.manufactory}, - #{item.measname}, - #{item.isDisable}, - #{item.mainId}, - #{item.mainName}, - #{item.udplatCode},#{item.supName},#{item.price},#{modifyTime}) + #{item.thirdId}, + #{item.thirdName}, + #{item.uuid}, + #{item.isUseDy}, + #{item.updateTime}, + #{item.modifyTime}, + #{item.thirdId1}, + #{item.thirdId2}, + #{item.thirdId3}, + #{item.thirdId4}, + #{item.thirdName1}, + #{item.thirdName2}, + #{item.thirdName3}, + #{item.thirdName4}, + #{item.ybbm}, + #{item.sptm}, + #{item.manufactory}, + #{item.measname}, + #{item.isDisable}, + #{item.mainId}, + #{item.mainName}, + #{item.udplatCode}, #{item.supName}, #{item.price}, #{modifyTime}) - - - - \ No newline at end of file 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}