From b3057f8a1e11bbfc07b1aae867cf49abac169f44 Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 18 Nov 2022 15:34:15 +0800 Subject: [PATCH 1/9] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E8=B4=A6=E5=8F=B7=E5=88=86=E5=BA=93=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=97=A0=E6=95=B0=E6=8D=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/inventory/InvSubWarehouseController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java index 8f99f6ac..3f03fbe4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java @@ -73,7 +73,7 @@ public class InvSubWarehouseController { AuthAdmin authAdmin = customerService.getUserBean(); if (filterInvWarehouseRequest.getFilter() == null || filterInvWarehouseRequest.getFilter() == 1 || StrUtil.isNotEmpty(filterInvWarehouseRequest.getPcode())) { - if (authAdmin.getCustomerId().equals("110")) + if (null != authAdmin.getCustomerId() && authAdmin.getCustomerId() == 110) filterInvWarehouseRequest.setUserId(authAdmin.getId().intValue()); else{ filterInvWarehouseRequest.setSpUse(true); From cfcdc1a2da2ad688ca698a57217ed613467c995f Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 18 Nov 2022 16:10:59 +0800 Subject: [PATCH 2/9] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=8D=95=E6=8D=AE=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/inventory/impl/InvCountOrderServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 284f4069..1c4edc94 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 @@ -305,6 +305,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { warehouseEntity.setSupId(""); }); + invCountOrder.setInOrderIds(order.getId()); orderDao.insertOrder(order); codesTempDao.insertCodesTemp(inOrderCodes); log.info("盘盈入库单据生成成功"); @@ -323,6 +324,8 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { String supId = codesDao.selectSupIdByCode(warehouseEntity.getCode()); warehouseEntity.setSupId(supId); }); + + invCountOrder.setOutOrderIds(order.getId()); orderDao.insertOrder(order); codesTempDao.insertCodesTemp(outOrderCodes); log.info("盘亏入库单据生成成功"); @@ -387,7 +390,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { //构造单据数据 OrderEntity orderEntity = new OrderEntity(); - orderEntity.setMainAction(type); + orderEntity.setMainAction(bussinessTypeEntity.getMainAction()); orderEntity.setAction(invCountSettingEntity.getInAction()); orderEntity.setActDate(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); orderEntity.setCreateTime(orderEntity.getActDate()); From 879de858f97c541878e518b36f5545506c988ada Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 18 Nov 2022 16:32:03 +0800 Subject: [PATCH 3/9] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E8=BD=AC=E5=8D=95=E4=BA=A7=E5=93=81=E6=95=B0=E9=87=8F=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/admin/service/inventory/InvCountCodesService.java | 2 ++ .../service/inventory/impl/InvCountCodesServiceImpl.java | 1 + .../service/inventory/impl/InvCountOrderServiceImpl.java | 8 ++++++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvCountCodesService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvCountCodesService.java index 04350ec8..d8e5dbbf 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvCountCodesService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvCountCodesService.java @@ -42,4 +42,6 @@ public interface InvCountCodesService { * @return */ Long getCountOrderCodesNum(String orderIdFk); + + int getActCount(String nameCode); } 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 410e6dc8..a293795e 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 @@ -104,6 +104,7 @@ public class InvCountCodesServiceImpl implements InvCountCodesService { return invCountCodesDao.countByOrderId(orderIdFk); } + @Override public int getActCount(String nameCode) { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); filterUdiInfoRequest.setNameCode(nameCode); 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 1c4edc94..690e0e2b 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 @@ -273,6 +273,9 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { codesList.forEach(invCountCodes -> { if (invCountCodes.getProductId().equals(productId) && !verifyCodeExist(outOrderCodes, invCountCodes.getCode())) { WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, invCountCodes.getCode(), invCountCodes.getProductId()); + int count = invCountCodesService.getActCount(warehouseEntity.getNameCode()); + warehouseEntity.setCount(count); + warehouseEntity.setReCount(count); inOrderCodes.add(warehouseEntity); } }); @@ -282,6 +285,9 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { invProductDetailEntities.forEach(invProductDetailEntity -> { if (!countCodes.contains(invProductDetailEntity.getOriginCode()) && !verifyCodeExist(outOrderCodes, invProductDetailEntity.getCode())) { WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, invProductDetailEntity.getCode(), invProductDetailEntity.getProductIdFk()); + int count = invCountCodesService.getActCount(warehouseEntity.getNameCode()); + warehouseEntity.setCount(count); + warehouseEntity.setReCount(count); outOrderCodes.add(warehouseEntity); } }); @@ -366,8 +372,6 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { warehouseEntity.setExpireDate(udi.getExpireDate()); warehouseEntity.setSerialNo(udi.getSerialNo()); warehouseEntity.setNameCode(udi.getUdi()); - warehouseEntity.setCount(1); - warehouseEntity.setReCount(1); return warehouseEntity; } From 763ec2992f07e2969d29d53495599f0ffae140fe Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 18 Nov 2022 16:52:34 +0800 Subject: [PATCH 4/9] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=9B=98=E7=82=B9=E5=8D=95=E6=8D=AE=E6=97=B6=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98=202.?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8D=95=E6=8D=AE=E6=9D=A5=E6=BA=90=E6=95=B0?= =?UTF-8?q?=E5=80=BC=EF=BC=8C=E4=BF=AE=E5=A4=8D=E9=87=8D=E5=A4=8D=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/admin/constant/ConstantStatus.java | 2 +- .../service/inventory/impl/InvCountOrderServiceImpl.java | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java b/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java index cedb76ad..9118e325 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java +++ b/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java @@ -113,7 +113,7 @@ public class ConstantStatus { public static final int FROM_UDISP = 7; //供应商平台 public static final int FROM_PEACE_CHANGE = 8; //平衡补单 public static final int FROM_COPY = 10; //单据复制 - public static final int FROM_COUNT = 10; //盘点单据转单 + public static final int FROM_COUNT = 11; //盘点单据转单 //DI类型 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 690e0e2b..f53780e6 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 @@ -306,9 +306,6 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { warehouseEntity.setFromCorp(order.getFromCorp()); warehouseEntity.setFromCorpId(order.getFromCorpId()); warehouseEntity.setCorpOrderId(order.getCorpOrderId()); - //设置供应商信息 - - warehouseEntity.setSupId(""); }); invCountOrder.setInOrderIds(order.getId()); @@ -395,7 +392,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { //构造单据数据 OrderEntity orderEntity = new OrderEntity(); orderEntity.setMainAction(bussinessTypeEntity.getMainAction()); - orderEntity.setAction(invCountSettingEntity.getInAction()); + orderEntity.setAction(bussinessTypeEntity.getAction()); orderEntity.setActDate(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); orderEntity.setCreateTime(orderEntity.getActDate()); orderEntity.setInvStorageCode(invCountOrder.getInvStorageCode()); From f2b7d009da9088b4063aba06e9ea6f5749e2ff04 Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 18 Nov 2022 17:58:36 +0800 Subject: [PATCH 5/9] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=85=BB=E6=8A=A4=E5=8A=9F=E8=83=BD=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/inventory/InvMaintenanceOrderDao.java | 18 ++ .../InvMaintenanceOrderDetailDao.java | 18 ++ .../InvMaintenanceOrderDetailEntity.java | 67 ++++++ .../inventory/InvMaintenanceOrderEntity.java | 62 ++++++ .../inventory/InvMaintenanceOrderDao.xml | 179 +++++++++++++++++ .../InvMaintenanceOrderDetailDao.xml | 190 ++++++++++++++++++ scripts/库存养护功能表.sql | 37 ++++ 7 files changed, 571 insertions(+) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDetailDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderDetailEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderEntity.java create mode 100644 api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml create mode 100644 api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml create mode 100644 scripts/库存养护功能表.sql diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDao.java new file mode 100644 index 00000000..d80217e3 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDao.java @@ -0,0 +1,18 @@ +package com.glxp.api.admin.dao.inventory; + +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; + +public interface InvMaintenanceOrderDao { + + int deleteByPrimaryKey(Integer id); + + int insert(InvMaintenanceOrderEntity record); + + int insertSelective(InvMaintenanceOrderEntity record); + + InvMaintenanceOrderEntity selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(InvMaintenanceOrderEntity record); + + int updateByPrimaryKey(InvMaintenanceOrderEntity record); +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDetailDao.java new file mode 100644 index 00000000..5c178f4f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDetailDao.java @@ -0,0 +1,18 @@ +package com.glxp.api.admin.dao.inventory; + +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; + +public interface InvMaintenanceOrderDetailDao { + + int deleteByPrimaryKey(Integer id); + + int insert(InvMaintenanceOrderDetailEntity record); + + int insertSelective(InvMaintenanceOrderDetailEntity record); + + InvMaintenanceOrderDetailEntity selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(InvMaintenanceOrderDetailEntity record); + + int updateByPrimaryKey(InvMaintenanceOrderDetailEntity record); +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderDetailEntity.java new file mode 100644 index 00000000..8bb2b3bd --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderDetailEntity.java @@ -0,0 +1,67 @@ +package com.glxp.api.admin.entity.inventory; + +import lombok.Data; + +/** + * 养护单据详情表 + */ +@Data +public class InvMaintenanceOrderDetailEntity { + + private Integer id; + + /** + * 养护记录号 + */ + private String orderIdFk; + + /** + * 条码 + */ + private String code; + + /** + * 产品ID + */ + private String productId; + + /** + * DI标识 + */ + private String nameCode; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String produceDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 养护数量 + */ + private Integer count; + + /** + * 养护状态 + */ + private Boolean maintenanceStatus; + + /** + * 设备状态 + */ + private Boolean deviceStatus; + + /** + * 备注 + */ + private String remark; +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderEntity.java new file mode 100644 index 00000000..1c506cd4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderEntity.java @@ -0,0 +1,62 @@ +package com.glxp.api.admin.entity.inventory; + +import lombok.Data; + +/** + * 养护记录表 + */ +@Data +public class InvMaintenanceOrderEntity { + + private Integer id; + + /** + * 养护记录号 + */ + private String orderId; + + /** + * 分库码 + */ + private String invWarehouseCode; + + /** + * 货位码 + */ + private String invSpaceCode; + + /** + * 状态 0:草稿 1:未审核 2:已完成 + */ + private Boolean status; + + /** + * 养护日期 + */ + private String createTime; + + /** + * 更新时间 + */ + private String updateTime; + + /** + * 审核时间 + */ + private String auditTime; + + /** + * 养护人 + */ + private String createUser; + + /** + * 审核人 + */ + private String auditUser; + + /** + * 备注 + */ + private String remark; +} \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml new file mode 100644 index 00000000..f43cc62f --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + id, + orderId, + invWarehouseCode, + invSpaceCode, + `status`, + createTime, + updateTime, + auditTime, + `createUser`, + auditUser, + remark + + + + + + delete + from inv_maintenance_order + where id = #{id,jdbcType=INTEGER} + + + + insert into inv_maintenance_order (orderId, invWarehouseCode, invSpaceCode, + `status`, createTime, updateTime, + auditTime, `createUser`, auditUser, + remark) + values (#{orderId,jdbcType=VARCHAR}, #{invWarehouseCode,jdbcType=VARCHAR}, #{invSpaceCode,jdbcType=VARCHAR}, + #{status,jdbcType=BOOLEAN}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, + #{auditTime,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR}, #{auditUser,jdbcType=VARCHAR}, + #{remark,jdbcType=VARCHAR}) + + + + insert into inv_maintenance_order + + + orderId, + + + invWarehouseCode, + + + invSpaceCode, + + + `status`, + + + createTime, + + + updateTime, + + + auditTime, + + + `createUser`, + + + auditUser, + + + remark, + + + + + #{orderId,jdbcType=VARCHAR}, + + + #{invWarehouseCode,jdbcType=VARCHAR}, + + + #{invSpaceCode,jdbcType=VARCHAR}, + + + #{status,jdbcType=BOOLEAN}, + + + #{createTime,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=VARCHAR}, + + + #{auditTime,jdbcType=VARCHAR}, + + + #{createUser,jdbcType=VARCHAR}, + + + #{auditUser,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + + + + update inv_maintenance_order + + + orderId = #{orderId,jdbcType=VARCHAR}, + + + invWarehouseCode = #{invWarehouseCode,jdbcType=VARCHAR}, + + + invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, + + + `status` = #{status,jdbcType=BOOLEAN}, + + + createTime = #{createTime,jdbcType=VARCHAR}, + + + updateTime = #{updateTime,jdbcType=VARCHAR}, + + + auditTime = #{auditTime,jdbcType=VARCHAR}, + + + `createUser` = #{createUser,jdbcType=VARCHAR}, + + + auditUser = #{auditUser,jdbcType=VARCHAR}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + update inv_maintenance_order + set orderId = #{orderId,jdbcType=VARCHAR}, + invWarehouseCode = #{invWarehouseCode,jdbcType=VARCHAR}, + invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, + `status` = #{status,jdbcType=BOOLEAN}, + createTime = #{createTime,jdbcType=VARCHAR}, + updateTime = #{updateTime,jdbcType=VARCHAR}, + auditTime = #{auditTime,jdbcType=VARCHAR}, + `createUser` = #{createUser,jdbcType=VARCHAR}, + auditUser = #{auditUser,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml new file mode 100644 index 00000000..3ab15d67 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + id, + orderIdFk, + code, + productId, + nameCode, + batchNo, + produceDate, + expireDate, + `count`, + maintenanceStatus, + deviceStatus, + remark + + + + + + delete + from inv_maintenance_order_detail + where id = #{id,jdbcType=INTEGER} + + + + insert into inv_maintenance_order_detail (orderIdFk, code, productId, + nameCode, batchNo, produceDate, + expireDate, `count`, maintenanceStatus, + deviceStatus, remark) + values (#{orderIdFk,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, + #{nameCode,jdbcType=VARCHAR}, #{batchNo,jdbcType=VARCHAR}, #{produceDate,jdbcType=VARCHAR}, + #{expireDate,jdbcType=VARCHAR}, #{count,jdbcType=INTEGER}, #{maintenanceStatus,jdbcType=BOOLEAN}, + #{deviceStatus,jdbcType=BOOLEAN}, #{remark,jdbcType=VARCHAR}) + + + + insert into inv_maintenance_order_detail + + + orderIdFk, + + + code, + + + productId, + + + nameCode, + + + batchNo, + + + produceDate, + + + expireDate, + + + `count`, + + + maintenanceStatus, + + + deviceStatus, + + + remark, + + + + + #{orderIdFk,jdbcType=VARCHAR}, + + + #{code,jdbcType=VARCHAR}, + + + #{productId,jdbcType=VARCHAR}, + + + #{nameCode,jdbcType=VARCHAR}, + + + #{batchNo,jdbcType=VARCHAR}, + + + #{produceDate,jdbcType=VARCHAR}, + + + #{expireDate,jdbcType=VARCHAR}, + + + #{count,jdbcType=INTEGER}, + + + #{maintenanceStatus,jdbcType=BOOLEAN}, + + + #{deviceStatus,jdbcType=BOOLEAN}, + + + #{remark,jdbcType=VARCHAR}, + + + + + + update inv_maintenance_order_detail + + + orderIdFk = #{orderIdFk,jdbcType=VARCHAR}, + + + code = #{code,jdbcType=VARCHAR}, + + + productId = #{productId,jdbcType=VARCHAR}, + + + nameCode = #{nameCode,jdbcType=VARCHAR}, + + + batchNo = #{batchNo,jdbcType=VARCHAR}, + + + produceDate = #{produceDate,jdbcType=VARCHAR}, + + + expireDate = #{expireDate,jdbcType=VARCHAR}, + + + `count` = #{count,jdbcType=INTEGER}, + + + maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, + + + deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + update inv_maintenance_order_detail + set orderIdFk = #{orderIdFk,jdbcType=VARCHAR}, + code = #{code,jdbcType=VARCHAR}, + productId = #{productId,jdbcType=VARCHAR}, + nameCode = #{nameCode,jdbcType=VARCHAR}, + batchNo = #{batchNo,jdbcType=VARCHAR}, + produceDate = #{produceDate,jdbcType=VARCHAR}, + expireDate = #{expireDate,jdbcType=VARCHAR}, + `count` = #{count,jdbcType=INTEGER}, + maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, + deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + remark = #{remark,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/scripts/库存养护功能表.sql b/scripts/库存养护功能表.sql new file mode 100644 index 00000000..065eec21 --- /dev/null +++ b/scripts/库存养护功能表.sql @@ -0,0 +1,37 @@ +DROP TABLE IF EXISTS `inv_maintenance_order`; +CREATE TABLE `inv_maintenance_order` ( + `id` int NOT NULL AUTO_INCREMENT, + `orderId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '养护记录号', + `invWarehouseCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分库码', + `invSpaceCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '货位码', + `status` tinyint(1) NULL DEFAULT NULL COMMENT '状态 0:草稿 1:未审核 2:已完成', + `createTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '养护日期', + `updateTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新时间', + `auditTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核时间', + `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '养护人', + `auditUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核人', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护记录表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Table structure for inv_maintenance_order_detail +-- ---------------------------- +DROP TABLE IF EXISTS `inv_maintenance_order_detail`; +CREATE TABLE `inv_maintenance_order_detail` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT 'id', + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '养护记录号', + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '条码', + `productId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品ID', + `nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'DI标识', + `batchNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号', + `produceDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生产日期', + `expireDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '失效日期', + `count` int NULL DEFAULT NULL COMMENT '养护数量', + `maintenanceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '养护状态', + `deviceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '设备状态', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护单据详情表' ROW_FORMAT = Dynamic; + +SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file From 29a33df20ee4c5a1a07653942d950ce65e514eec Mon Sep 17 00:00:00 2001 From: x_z Date: Sun, 20 Nov 2022 18:26:06 +0800 Subject: [PATCH 6/9] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E8=BD=AC=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/dao/inventory/InvCountCodesDao.java | 8 ++ .../dao/inventory/InvCountOrderDetailDao.java | 8 ++ .../FilterInvCountOrderDetailRequest.java | 5 + .../FilterInvProductDetailRequest.java | 3 + .../impl/InvCountCodesServiceImpl.java | 24 +++-- .../impl/InvCountOrderServiceImpl.java | 100 ++++++++++-------- .../mapper/inventory/InvCountCodesDao.xml | 15 +++ .../inventory/InvCountOrderDetailDao.xml | 13 +++ .../mapper/inventory/InvProductDetailDao.xml | 3 + 9 files changed, 127 insertions(+), 52 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvCountCodesDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvCountCodesDao.java index ea8fd29c..801a55db 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvCountCodesDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvCountCodesDao.java @@ -81,4 +81,12 @@ public interface InvCountCodesDao { * @return */ List selectByOrderIdAndProductId(@Param("orderIdFk") String orderIdFk, @Param("productId") String productId); + + /** + * 查询盘点单据码详情集合 + * + * @param codesRequest + * @return + */ + List selectCodes(FilterInvCountCodesRequest codesRequest); } \ No newline at end of file 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 ca0e0254..ce1ee5dc 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 @@ -89,4 +89,12 @@ public interface InvCountOrderDetailDao { * @param orderId */ void resetCountFiledValue(@Param("orderId") String orderId); + + /** + * 查询盘点单据详情 + * + * @param detailRequest + * @return + */ + List selectDetailList(FilterInvCountOrderDetailRequest detailRequest); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvCountOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvCountOrderDetailRequest.java index 15387a74..9a7f2756 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvCountOrderDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvCountOrderDetailRequest.java @@ -16,4 +16,9 @@ public class FilterInvCountOrderDetailRequest extends ListPageRequest { */ private String orderIdFk; + /** + * 盈亏状态 0:亏损 1:盈利 2:平衡 + */ + private Integer status; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java index 6d0b01dc..3b9c1082 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java @@ -32,6 +32,9 @@ public class FilterInvProductDetailRequest extends ListPageRequest { private String invSpaceCode; private List invCodes; + //更新时间 + private String updateTime; + /** * 产品ID集合 */ 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 a293795e..50728649 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 @@ -75,27 +75,31 @@ public class InvCountCodesServiceImpl implements InvCountCodesService { public BaseResponse addCode(InvCountCodes invCountCodes) { //解析条码 UdiEntity udi = FilterUdiUtils.getUdi(invCountCodes.getCode()); + //查询此条码是否重复 + + //查询单据详情,是否包含此产品 + InvCountOrderDetail invCountOrderDetail = invCountOrderDetailDao.selectOrderDetail(invCountCodes.getOrderIdFk(), udi.getUdi(), udi.getBatchNo(), udi.getProduceDate(), udi.getExpireDate()); + if (null == invCountOrderDetail) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "当前仓库或货位不存在此产品"); + } + //判断此产品是否有批次号,如果没有批次号,则直接在单据详情的盘点数量上加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, "条码重复!"); + } else { + //新增条码 + invCountCodes.setProductId(invCountOrderDetail.getProductId()); + invCountCodes.setBatchNo(udi.getBatchNo()); + invCountCodesDao.insert(invCountCodes); } } - - //查询单据详情,单据详情添加 - InvCountOrderDetail invCountOrderDetail = invCountOrderDetailDao.selectOrderDetail(invCountCodes.getOrderIdFk(), udi.getUdi(), udi.getBatchNo(), udi.getProduceDate(),udi.getExpireDate()); - if (null == invCountOrderDetail) { - return ResultVOUtils.error(ResultEnum.DATA_NOT, "当前仓库或货位不存在此产品"); - } - + //修改码明细 invCountOrderDetail.setCountNum(invCountOrderDetail.getCountNum() + getActCount(udi.getUdi())); - invCountCodes.setProductId(invCountOrderDetail.getProductId()); - invCountCodes.setBatchNo(udi.getBatchNo()); invCountOrderDetailDao.updateByPrimaryKey(invCountOrderDetail); - invCountCodesDao.insert(invCountCodes); return ResultVOUtils.success(); } 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 f53780e6..f7aab280 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 @@ -22,10 +22,7 @@ import com.glxp.api.admin.entity.basic.UnitMaintainEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.entity.inventory.*; -import com.glxp.api.admin.req.inventory.FilterInvCountCodesRequest; -import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest; -import com.glxp.api.admin.req.inventory.FilterInvCountOrderSaveRequest; -import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.api.admin.req.inventory.*; import com.glxp.api.admin.res.inventory.InvCountOrderResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.InvCountCodesService; @@ -110,12 +107,14 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { } //封装相关数据 - invCountOrder.setStatus(0); //未提交 + //未提交 + invCountOrder.setStatus(0); if (StrUtil.isBlank(invCountOrder.getOrderId())) { //生成单据号 String orderId = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.COUNT_ORDER, "yyyyMMdd")); - invCountOrder.setOrderId(orderId); //盘点单号 + //盘点单号 + invCountOrder.setOrderId(orderId); AuthAdmin user = customerService.getUserBean(); invCountOrder.setCreateUser(user.getUserName()); invCountOrder.setCreateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); @@ -158,12 +157,15 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { int diff = invCountOrderDetail.getInvNum() - invCountOrderDetail.getCountNum(); if (diff > 0) { invCountOrderDetail.setLossNum(Math.abs(diff)); - invCountOrderDetail.setStatus(0); //盘亏 + //盘亏 + invCountOrderDetail.setStatus(0); } else if (diff < 0) { invCountOrderDetail.setProfitNum(Math.abs(diff)); - invCountOrderDetail.setStatus(1); //盘盈 + //盘盈 + invCountOrderDetail.setStatus(1); } else { - invCountOrderDetail.setStatus(2); //平 + //平衡 + invCountOrderDetail.setStatus(2); } //查询此产品的条码列表,判断此产品在库存中是多还是少 @@ -244,56 +246,68 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { return; } - //根据盘点单据号,查询此盘点单的条码信息 - FilterInvCountCodesRequest codesRequest = new FilterInvCountCodesRequest(); - codesRequest.setOrderIdFk(invCountOrder.getOrderId()); - List codesList = invCountCodesDao.filterList(codesRequest); - List countProductIds = codesList.stream().map(InvCountCodes::getProductId).collect(Collectors.toList()); - - //出入库单据条码 + //出入库码明细列表 List inOrderCodes = new ArrayList<>(); List outOrderCodes = new ArrayList<>(); - //查询库存详情表此产品的条码信息 - for (String productId : countProductIds) { + FilterInvCountOrderDetailRequest detailRequest = new FilterInvCountOrderDetailRequest(); + detailRequest.setOrderIdFk(invCountOrder.getOrderId()); + //查询亏损单据详情 + detailRequest.setStatus(0); + List detailList = invCountOrderDetailDao.selectDetailList(detailRequest); + if (CollUtil.isNotEmpty(detailList)) { + log.info("开始生成盘亏单据码明细"); + log.info("查询盘亏产品码详情"); FilterInvProductDetailRequest invProductDetailRequest = new FilterInvProductDetailRequest(); - invProductDetailRequest.setProductIdFk(productId); invProductDetailRequest.setInvStorageCode(invCountOrder.getInvStorageCode()); invProductDetailRequest.setInvWarehouseCode(invCountOrder.getInvWarehouseCode()); - if (invCountOrder.getCountType() == 1) { //按照货位盘点,查询库存详情添加货位条件 invProductDetailRequest.setInvSpaceCode(invCountOrder.getInvSpaceCode()); } - List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(invProductDetailRequest); - if (CollUtil.isEmpty(invProductDetailEntities)) { - log.info("产品:" + productId + " 非当前仓库产品,添加到盘点入库单条码中"); - //将此条码添加到入库单据条码中 - codesList.forEach(invCountCodes -> { - if (invCountCodes.getProductId().equals(productId) && !verifyCodeExist(outOrderCodes, invCountCodes.getCode())) { - WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, invCountCodes.getCode(), invCountCodes.getProductId()); - int count = invCountCodesService.getActCount(warehouseEntity.getNameCode()); - warehouseEntity.setCount(count); - warehouseEntity.setReCount(count); - inOrderCodes.add(warehouseEntity); - } - }); - } else { - //库存中存在此产品,筛选出盘点中不存在的条码,添加到盘点出库条码中 - List countCodes = codesList.stream().map(InvCountCodes::getCode).collect(Collectors.toList()); - invProductDetailEntities.forEach(invProductDetailEntity -> { - if (!countCodes.contains(invProductDetailEntity.getOriginCode()) && !verifyCodeExist(outOrderCodes, invProductDetailEntity.getCode())) { + for (InvCountOrderDetail invCountOrderDetail : detailList) { + //查询库存详情 + invProductDetailRequest.setProductIdFk(invCountOrderDetail.getProductId()); + invProductDetailRequest.setBatchNo(invCountOrderDetail.getBatchNo()); + //库存早于或等于盘点时间的库存数据,锁库存 + invProductDetailRequest.setUpdateTime(invCountOrder.getCreateTime()); + List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(invProductDetailRequest); + //查询盘点码明细 + FilterInvCountCodesRequest codesRequest = new FilterInvCountCodesRequest(); + codesRequest.setOrderIdFk(invCountOrder.getOrderId()); + codesRequest.setProductId(invCountOrderDetail.getProductId()); + codesRequest.setBatchNo(invCountOrderDetail.getBatchNo()); + List countCodesList = invCountCodesDao.selectCodes(codesRequest); + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + if (!countCodesList.contains(invProductDetailEntity.getOriginCode()) && !verifyCodeExist(outOrderCodes, invProductDetailEntity.getCode())) { WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, invProductDetailEntity.getCode(), invProductDetailEntity.getProductIdFk()); - int count = invCountCodesService.getActCount(warehouseEntity.getNameCode()); - warehouseEntity.setCount(count); - warehouseEntity.setReCount(count); outOrderCodes.add(warehouseEntity); } - }); + } } + + log.info("盘亏单据码明细生成完毕"); } + //查询盘盈的条码明细 + FilterInvCountCodesRequest codesRequest = new FilterInvCountCodesRequest(); + codesRequest.setOrderIdFk(invCountOrder.getOrderId()); + //码状态标记为多码的数据 + codesRequest.setStatus(1); + List invCountCodesList = invCountCodesDao.filterList(codesRequest); + if (CollUtil.isNotEmpty(invCountCodesList)) { + log.info("开始生成盘盈单据码明细"); + for (InvCountCodes invCountCodes : invCountCodesList) { + if (!verifyCodeExist(inOrderCodes, invCountCodes.getCode())) { + WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, invCountCodes.getCode(), invCountCodes.getProductId()); + inOrderCodes.add(warehouseEntity); + } + } + log.info("盘盈单据码明细生成完毕"); + } + + InvCountSettingEntity invCountSettingEntity = list.get(0); if (CollUtil.isNotEmpty(inOrderCodes)) { @@ -369,6 +383,8 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { warehouseEntity.setExpireDate(udi.getExpireDate()); warehouseEntity.setSerialNo(udi.getSerialNo()); warehouseEntity.setNameCode(udi.getUdi()); + warehouseEntity.setCount(1); + warehouseEntity.setReCount(1); return warehouseEntity; } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountCodesDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountCodesDao.xml index 6d3c0f20..881a069f 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountCodesDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountCodesDao.xml @@ -216,4 +216,19 @@ where orderIdFk = #{orderIdFk} and productId = #{productId} + + \ 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 c4f631e9..96e0168d 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvCountOrderDetailDao.xml @@ -356,4 +356,17 @@ status = null where orderIdFk = #{orderId} + + \ 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 bc5a188a..a8f62bb0 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml @@ -63,6 +63,9 @@ #{item} + + AND updateTime = ]]> #{updateTime} + @@ -35,9 +37,9 @@ insert into inv_count_codes (orderIdFk, productId, code, - `status`, batchNo) + `status`, batchNo, count) values (#{orderIdFk,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, - #{status,jdbcType=INTEGER}, #{batchNo,jdbcType=VARCHAR}) + #{status,jdbcType=INTEGER}, #{batchNo,jdbcType=VARCHAR}, #{count,jdbcType=INTEGER}) batchNo, + + count, + @@ -76,6 +81,9 @@ #{batchNo,jdbcType=VARCHAR}, + + #{count,jdbcType=INTEGER}, + @@ -97,6 +105,9 @@ batchNo = #{batchNo,jdbcType=VARCHAR}, + + count = #{count,jdbcType=INTEGER}, + where id = #{id,jdbcType=INTEGER} @@ -107,7 +118,8 @@ productId = #{productId,jdbcType=VARCHAR}, code = #{code,jdbcType=VARCHAR}, `status` = #{status,jdbcType=INTEGER}, - batchNo = #{batchNo,jdbcType=VARCHAR} + batchNo = #{batchNo,jdbcType=VARCHAR}, + count = #{count,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} @@ -139,6 +151,11 @@ when id = #{item.id,jdbcType=INTEGER} then #{item.batchNo,jdbcType=VARCHAR} + + + when id = #{item.id,jdbcType=INTEGER} then #{item.count,jdbcType=INTEGER} + + where id in @@ -148,11 +165,11 @@ insert into inv_count_codes - (orderIdFk, productId, code, `status`, batchNo) + (orderIdFk, productId, code, `status`, batchNo, count) values (#{item.orderIdFk,jdbcType=VARCHAR}, #{item.productId,jdbcType=VARCHAR}, #{item.code,jdbcType=VARCHAR}, - #{item.status,jdbcType=INTEGER}, #{item.batchNo,jdbcType=VARCHAR}) + #{item.status,jdbcType=INTEGER}, #{item.batchNo,jdbcType=VARCHAR}, #{item.count,jdbcType=INTEGER}) @@ -192,7 +209,7 @@ @@ -218,7 +235,8 @@ + + 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 a8f62bb0..1d570e25 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml @@ -432,4 +432,8 @@ and invWarehouseCode = #{invWarehouseCode} and invSpaceCode = #{invSpaceCode} + + \ No newline at end of file From 425752bfd9f522cb55b21cc1ecf64f0d56148c23 Mon Sep 17 00:00:00 2001 From: x_z Date: Tue, 22 Nov 2022 18:02:00 +0800 Subject: [PATCH 9/9] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E8=BD=AC=E5=8D=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/InvMAOrderController.java | 16 +++ .../inventory/InvMAOrderDetailController.java | 16 +++ .../inventory/InvSubWarehouseController.java | 2 +- .../inventory/FilterInvMAOrderRequest.java | 34 +++++ .../inventory/InvMAOrderDetailResponse.java | 17 +++ .../res/inventory/InvMAOrderResponse.java | 22 ++++ .../inventory/InvMAOrderDetailService.java | 7 ++ .../service/inventory/InvMAOrderService.java | 7 ++ .../impl/InvCountCodesServiceImpl.java | 4 +- .../impl/InvCountOrderServiceImpl.java | 118 ++++++++++++------ .../impl/InvMAOrderDetailServiceImpl.java | 22 ++++ .../inventory/impl/InvMAOrderServiceImpl.java | 20 +++ .../mapper/inventory/InvProductDetailDao.xml | 6 +- 13 files changed, 249 insertions(+), 42 deletions(-) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderController.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderDetailController.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvMAOrderDetailResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvMAOrderResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderDetailService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderDetailServiceImpl.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderServiceImpl.java diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderController.java new file mode 100644 index 00000000..693e7ed9 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderController.java @@ -0,0 +1,16 @@ +package com.glxp.api.admin.controller.inventory; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RestController; + +/** + * 库存养护记录接口 + */ +@Slf4j +@RestController +public class InvMAOrderController { + + + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderDetailController.java new file mode 100644 index 00000000..7addb013 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderDetailController.java @@ -0,0 +1,16 @@ +package com.glxp.api.admin.controller.inventory; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RestController; + +/** + * 库存养护记录详情接口 + */ +@Slf4j +@RestController +public class InvMAOrderDetailController { + + + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java index badeeaf2..4649cd86 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvSubWarehouseController.java @@ -78,7 +78,7 @@ public class InvSubWarehouseController { AuthAdmin authAdmin = customerService.getUserBean(); if (filterInvWarehouseRequest.getFilter() == null || filterInvWarehouseRequest.getFilter() == 1 || StrUtil.isNotEmpty(filterInvWarehouseRequest.getPcode())) { - if (authAdmin.getCustomerId().equals("110")) + if (null != authAdmin.getCustomerId() && authAdmin.getCustomerId() == 110) filterInvWarehouseRequest.setUserId(authAdmin.getId().intValue()); else{ filterInvWarehouseRequest.setSpUse(true); diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderRequest.java new file mode 100644 index 00000000..b265c55a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderRequest.java @@ -0,0 +1,34 @@ +package com.glxp.api.admin.req.inventory; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +/** + * 养护记录查询参数 + */ +@Data +public class FilterInvMAOrderRequest extends ListPageRequest { + + private Integer id; + + /** + * 记录ID + */ + private String orderId; + + /** + * 分库号 + */ + private String invWarehouseCode; + + /** + * 货位号 + */ + private String invSpaceCode; + + /** + * 状态 0:草稿 1:未审核 2:已完成 + */ + private Integer status; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvMAOrderDetailResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvMAOrderDetailResponse.java new file mode 100644 index 00000000..539eed0f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvMAOrderDetailResponse.java @@ -0,0 +1,17 @@ +package com.glxp.api.admin.res.inventory; + +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; +import lombok.Data; + +/** + * 养护记录详情接口结果封装类 + */ +@Data +public class InvMAOrderDetailResponse extends InvMaintenanceOrderDetailEntity { + + /** + * 产品名称 + */ + private String productName; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvMAOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvMAOrderResponse.java new file mode 100644 index 00000000..f4a69ed4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvMAOrderResponse.java @@ -0,0 +1,22 @@ +package com.glxp.api.admin.res.inventory; + +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import lombok.Data; + +/** + * 养护记录接口返回结果 + */ +@Data +public class InvMAOrderResponse extends InvMaintenanceOrderEntity { + + /** + * 分库名称 + */ + private String invWarehouseName; + + /** + * 货位名称 + */ + private String invSpaceName; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderDetailService.java new file mode 100644 index 00000000..c1f002e7 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderDetailService.java @@ -0,0 +1,7 @@ +package com.glxp.api.admin.service.inventory; + +/** + * 库存养护记录详情Service + */ +public interface InvMAOrderDetailService { +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderService.java new file mode 100644 index 00000000..1701c7e6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderService.java @@ -0,0 +1,7 @@ +package com.glxp.api.admin.service.inventory; + +/** + * 库存养护记录Service + */ +public interface InvMAOrderService { +} 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 244c929e..bd905db5 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 @@ -101,11 +101,13 @@ public class InvCountCodesServiceImpl implements InvCountCodesService { if (StrUtil.isNotBlank(udi.getBatchNo()) && StrUtil.isNotBlank(udi.getSerialNo())) { //条码为标准条码,批次号和序列号都存在,条码重复 return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "条码重复!"); - } else { + } else if ((StrUtil.isBlank(udi.getBatchNo()) && StrUtil.isBlank(udi.getSerialNo()) || (StrUtil.isNotBlank(udi.getBatchNo()) && StrUtil.isBlank(udi.getSerialNo())))) { //批次号或序列号,其中一个字段为空,直接修改数量 InvCountCodes countCodes = codesList.get(0); countCodes.setCount(countCodes.getCount() + 1); invCountCodesDao.updateByPrimaryKey(countCodes); + } else { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "条码重复!"); } } 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 341f6574..d01d875a 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 @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.constant.Constant; @@ -189,7 +190,10 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { } else { //审核通过 //根据单据详情生成相关单据 - countOrderTransfer(invCountOrder); + log.info("单据审核通过,开始生成扫码单据"); + ThreadUtil.execAsync(() -> { + countOrderTransfer(invCountOrder); + }); } invCountOrderDao.updateByPrimaryKey(invCountOrder); return ResultVOUtils.success(); @@ -273,24 +277,44 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { codesRequest.setProductId(invCountOrderDetail.getProductId()); codesRequest.setBatchNo(invCountOrderDetail.getBatchNo()); List countCodesList = invCountCodesDao.selectCodes(codesRequest); - for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { - if (!countCodesList.contains(invProductDetailEntity.getOriginCode()) && !verifyCodeExist(outOrderCodes, invProductDetailEntity.getCode())) { - //生成码详情 - WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, invProductDetailEntity.getCode(), invProductDetailEntity.getProductIdFk()); - //判断此条码,是否有批次号和序列号 - UdiEntity udi = FilterUdiUtils.getUdi(invProductDetailEntity.getOriginCode()); - if (StrUtil.isBlank(udi.getBatchNo()) || StrUtil.isBlank(udi.getSerialNo())) { - //修改码数量 - int actCount = invCountCodesService.getActCount(udi.getUdi()); - //使用此盘点单据详情的盘亏数量 / 实际数量,计算得出扫码数量 - int codeNum = invCountOrderDetail.getLossNum() / actCount; - warehouseEntity.setCount(codeNum); - warehouseEntity.setReCount(codeNum); + List invProductCodes = invProductDetailEntities.stream().map(InvProductDetailEntity::getOriginCode).collect(Collectors.toList()); + List lossCodes = CollUtil.subtractToList(invProductCodes, countCodesList); + if (CollUtil.isNotEmpty(countCodesList) && CollUtil.isEmpty(lossCodes)) { + //盘点的码不为空,但是盘点数量和库存数量不一样,比对差集结果为空,说明是同一个条码,数量不同,直接根据盘亏数量计算生成一个扫码单据的码明细 + //生成码详情 + WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, invProductDetailEntities.get(0).getCode(), invProductDetailEntities.get(0).getProductIdFk()); + //判断此条码,是否有批次号和序列号 + UdiEntity udi = FilterUdiUtils.getUdi(invProductDetailEntities.get(0).getOriginCode()); + //修改码数量 + int actCount = invCountCodesService.getActCount(udi.getUdi()); + //使用此盘点单据详情的盘亏数量 / 实际数量,计算得出扫码数量 + int codeNum = invCountOrderDetail.getLossNum() / actCount; + warehouseEntity.setCount(codeNum); + warehouseEntity.setReCount(codeNum); + + //设置供应商信息 + setSupInfo(warehouseEntity); + outOrderCodes.add(warehouseEntity); + } else { + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + if (!countCodesList.contains(invProductDetailEntity.getOriginCode()) && !verifyCodeExist(outOrderCodes, invProductDetailEntity.getCode())) { + //生成码详情 + WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, invProductDetailEntity.getCode(), invProductDetailEntity.getProductIdFk()); + //判断此条码,是否有批次号和序列号 + UdiEntity udi = FilterUdiUtils.getUdi(invProductDetailEntity.getOriginCode()); + if ((StrUtil.isBlank(udi.getBatchNo()) && StrUtil.isBlank(udi.getSerialNo())) || (StrUtil.isBlank(udi.getSerialNo()) && StrUtil.isNotBlank(udi.getBatchNo()))) { + //修改码数量 + int actCount = invCountCodesService.getActCount(udi.getUdi()); + //使用此盘点单据详情的盘亏数量 / 实际数量,计算得出扫码数量 + int codeNum = invCountOrderDetail.getLossNum() / actCount; + warehouseEntity.setCount(codeNum); + warehouseEntity.setReCount(codeNum); + } + + //设置供应商信息 + setSupInfo(warehouseEntity); + outOrderCodes.add(warehouseEntity); } - - //设置供应商信息 - setSupInfo(warehouseEntity); - outOrderCodes.add(warehouseEntity); } } } @@ -316,22 +340,41 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { codesRequest.setBatchNo(invCountOrderDetail.getBatchNo()); List countCodesList = invCountCodesDao.selectCodes(codesRequest); List invProductCodeList = invProductDetailEntities.stream().map(InvProductDetailEntity::getOriginCode).collect(Collectors.toList()); - for (String code : countCodesList) { - if (!invProductCodeList.contains(code) && !verifyCodeExist(inOrderCodes, code)) { - //生成码详情 - WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, code, invCountOrderDetail.getProductId()); - //判断此条码,是否有批次号和序列号 - UdiEntity udi = FilterUdiUtils.getUdi(code); - if (StrUtil.isBlank(udi.getBatchNo()) || StrUtil.isBlank(udi.getSerialNo())) { - //修改码数量 - int actCount = invCountCodesService.getActCount(udi.getUdi()); - //使用此盘点单据详情的盘亏数量 / 实际数量,计算得出扫码数量 - int codeNum = invCountOrderDetail.getProfitNum() / actCount; - warehouseEntity.setCount(codeNum); - warehouseEntity.setReCount(codeNum); + List profitCodes = CollUtil.subtractToList(countCodesList, invProductCodeList); //计算盘盈的条码 + if (CollUtil.isNotEmpty(invProductCodeList) && CollUtil.isEmpty(profitCodes)) { + /** + * 盘点条码不为空,且库存条码也不为空,但是计算的条码差集为空 + * 说明盘点的条码和库存的条码是相同的条码,直接根据盘盈数量计算出扫码数量,生成一个条码即可 + */ + WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, countCodesList.get(0), invCountOrderDetail.getProductId()); + //判断此条码,是否有批次号和序列号 + UdiEntity udi = FilterUdiUtils.getUdi(countCodesList.get(0)); + //修改码数量 + int actCount = invCountCodesService.getActCount(udi.getUdi()); + //使用此盘点单据详情的盘亏数量 / 实际数量,计算得出扫码数量 + int codeNum = invCountOrderDetail.getProfitNum() / actCount; + warehouseEntity.setCount(codeNum); + warehouseEntity.setReCount(codeNum); + setSupInfo(warehouseEntity); + inOrderCodes.add(warehouseEntity); + } else { + for (String code : profitCodes) { + if (!verifyCodeExist(inOrderCodes, code)) { + //生成码详情 + WarehouseEntity warehouseEntity = buildWarehouse(invCountOrder, code, invCountOrderDetail.getProductId()); + //判断此条码,是否有批次号和序列号 + UdiEntity udi = FilterUdiUtils.getUdi(code); + if ((StrUtil.isBlank(udi.getBatchNo()) && StrUtil.isBlank(udi.getSerialNo())) || (StrUtil.isBlank(udi.getSerialNo()) && StrUtil.isNotBlank(udi.getBatchNo()))) { + //修改码数量 + int actCount = invCountCodesService.getActCount(udi.getUdi()); + //使用此盘点单据详情的盘亏数量 / 实际数量,计算得出扫码数量 + int codeNum = invCountOrderDetail.getProfitNum() / actCount; + warehouseEntity.setCount(codeNum); + warehouseEntity.setReCount(codeNum); + } + setSupInfo(warehouseEntity); + inOrderCodes.add(warehouseEntity); } - setSupInfo(warehouseEntity); - inOrderCodes.add(warehouseEntity); } } } @@ -393,7 +436,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { if (StrUtil.isNotEmpty(supId)) { warehouseEntity.setSupId(supId); //查询供应商名称 - String name = unitMaintainDao.selectNameByErpId(supId); + String name = unitMaintainDao.selectNameByErpId(supId); warehouseEntity.setSupName(name); } } @@ -406,9 +449,10 @@ public class InvCountOrderServiceImpl implements InvCountOrderService { * @return */ private boolean verifyCodeExist(List codes, String code) { - List codesList = codes.stream().map(WarehouseEntity::getCode).collect(Collectors.toList()); - if (codesList.contains(code)) { - return true; + for (WarehouseEntity warehouseEntity : codes) { + if (warehouseEntity.getCode().equals(code)) { + return true; + } } return false; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderDetailServiceImpl.java new file mode 100644 index 00000000..11c4ffc2 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderDetailServiceImpl.java @@ -0,0 +1,22 @@ +package com.glxp.api.admin.service.inventory.impl; + +import com.glxp.api.admin.dao.inventory.InvMaintenanceOrderDetailDao; +import com.glxp.api.admin.service.inventory.InvMAOrderDetailService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { + + @Resource + private InvMaintenanceOrderDetailDao invMAOrderDetailDao; + + + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderServiceImpl.java new file mode 100644 index 00000000..d848c8ac --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderServiceImpl.java @@ -0,0 +1,20 @@ +package com.glxp.api.admin.service.inventory.impl; + +import com.glxp.api.admin.dao.inventory.InvMaintenanceOrderDao; +import com.glxp.api.admin.service.inventory.InvMAOrderService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class InvMAOrderServiceImpl implements InvMAOrderService { + + @Resource + private InvMaintenanceOrderDao invMAOrderDao; + + +} 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 1d570e25..4959ec2a 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml @@ -64,7 +64,7 @@ - AND updateTime = ]]> #{updateTime} + AND updateTime #{updateTime} @@ -383,7 +383,7 @@ from inv_product_detail where invStorageCode = #{invStorageCode} and invWarehouseCode = #{invWarehouseCode} - and code in + and originCode in #{item} @@ -403,7 +403,7 @@ from inv_product_detail where invStorageCode = #{invStorageCode} and invWarehouseCode = #{invWarehouseCode} - and code = #{code} + and originCode = #{code} limit 1