From b3057f8a1e11bbfc07b1aae867cf49abac169f44 Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 18 Nov 2022 15:34:15 +0800 Subject: [PATCH 01/41] =?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 02/41] =?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 03/41] =?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 04/41] =?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 05/41] =?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 06/41] =?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 c860f06157ce08acbca54a0f44d33bc5f79c0808 Mon Sep 17 00:00:00 2001 From: zhengmingliang Date: Tue, 22 Nov 2022 16:51:51 +0800 Subject: [PATCH 09/41] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E8=87=AA=E5=8A=A9?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/SupCompanyController.java | 35 +++++++++++ .../purchase/SupManufacturerController.java | 61 +++++++++++++++++-- .../purchase/SupProductController.java | 50 ++++++++++++++- .../dao/purchase/SupManufacturerDao.java | 2 + .../purchase/SupManufacturerService.java | 3 + .../impl/SupManufacturerServiceImpl.java | 5 ++ .../mapper/purchase/SupManufacturerDao.xml | 21 +++++++ 7 files changed, 171 insertions(+), 6 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupCompanyController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupCompanyController.java index daa94a8b..da8bb5c4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupCompanyController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupCompanyController.java @@ -162,6 +162,41 @@ public class SupCompanyController { public BaseResponse auditCompany(@RequestBody SupCompanyEntity companyEntity) { + if(companyEntity.getAuditStatus()==1){ + //查询用户上传的证书 + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(companyEntity.getCustomerId()); + filterSupCertRequest.setType(ConstantStatus.CERT_COMPANY); + List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); + + //查询用户该上传的证书 + FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); + filterCertSetsRequest.setType(ConstantStatus.CERT_COMPANY); + filterCertSetsRequest.setNeed(1); + List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); + + //验证 + ListIterator iterable1 = supCertSetEntities.listIterator(); + while (iterable1.hasNext()) { + SupCertSetEntity supCertSetEntity = iterable1.next(); + if (supCertSetEntity.isNeed()) { + for (SupCertEntity supCertEntity : supCertEntityList) { + if (supCertEntity.getName().equals(supCertSetEntity.getName())) { + if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { + iterable1.remove(); + break; + } + } + } + } + + } + String errMsg = ""; + if (supCertSetEntities.size() > 0) { + return ResultVOUtils.error(500, "必传证书不齐全!"); + } + } + //查询是否包含审核未通过的证书 if (companyEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || companyEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupManufacturerController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupManufacturerController.java index c5243cd0..47e17a1e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupManufacturerController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupManufacturerController.java @@ -97,14 +97,14 @@ public class SupManufacturerController { FilterSupManufacturerRequest filterSupManufacturerRequest=new FilterSupManufacturerRequest(); filterSupManufacturerRequest.setCompanyName(supManufacturerEntity.getCompanyName()); filterSupManufacturerRequest.setCustomerId(getCustomerId()); - List companyEntities = supManufacturerService.getCompany(filterSupManufacturerRequest); + List companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); if(companyEntities.size()>0){ return ResultVOUtils.error(999,"企业名称不能重复!"); } filterSupManufacturerRequest=new FilterSupManufacturerRequest(); filterSupManufacturerRequest.setCustomerId(getCustomerId()); filterSupManufacturerRequest.setCreditCode(supManufacturerEntity.getCreditCode()); - companyEntities = supManufacturerService.getCompany(filterSupManufacturerRequest); + companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); if(companyEntities.size()>0){ return ResultVOUtils.error(999,"统一社会信用代码不能重复!"); } @@ -196,14 +196,14 @@ public class SupManufacturerController { FilterSupManufacturerRequest filterSupManufacturerRequest=new FilterSupManufacturerRequest(); filterSupManufacturerRequest.setCompanyName(supManufacturerEntity.getCompanyName()); filterSupManufacturerRequest.setCustomerId(getCustomerId()); - List companyEntities = supManufacturerService.getCompany(filterSupManufacturerRequest); + List companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); if(companyEntities.size()>0){ return ResultVOUtils.error(999,"企业名称不能重复!"); } filterSupManufacturerRequest=new FilterSupManufacturerRequest(); filterSupManufacturerRequest.setCustomerId(getCustomerId()); filterSupManufacturerRequest.setCreditCode(supManufacturerEntity.getCreditCode()); - companyEntities = supManufacturerService.getCompany(filterSupManufacturerRequest); + companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); if(companyEntities.size()>0){ return ResultVOUtils.error(999,"统一社会信用代码不能重复!"); } @@ -295,6 +295,59 @@ public class SupManufacturerController { if (StrUtil.isEmpty(supManufacturerEntity.getManufacturerId()) || StrUtil.isEmpty(supManufacturerEntity.getCustomerId())) { return ResultVOUtils.error(500, "参数错误!"); } + + + + if(supManufacturerEntity.getAuditStatus()==2){ + //查询上传的资质证书 + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(supManufacturerEntity.getCustomerId()); + filterSupCertRequest.setManufacturerIdFk(supManufacturerEntity.getManufacturerId()); + filterSupCertRequest.setType(ConstantStatus.CERT_MANUFACTURER); + List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); + //查询必须上传的资质证书 + FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); + filterCertSetsRequest.setType(ConstantStatus.CERT_MANUFACTURER); + List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); + //判断有没有存在必须上传而没有上传的证书 + ListIterator iterable = supCertSetEntities.listIterator(); + while (iterable.hasNext()) { + SupCertSetEntity supCertSetEntity = iterable.next(); + + if (( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 + && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) + || + ( + supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 + && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) + || + ( supCertSetEntity.getForeign() != null + && supCertSetEntity.getForeign() == 1 + && supManufacturerEntity.getCompanyType().equals("1")) + || + ( supCertSetEntity.getForeign() != null + && supCertSetEntity.getForeign() == 3 + && supManufacturerEntity.getCompanyType().equals("1"))) { + for (SupCertEntity supCertEntity : supCertEntityList) { + + if (supCertEntity.getName().equals(supCertSetEntity.getName())) { + if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { + iterable.remove(); + break; + } + } + } + } else { + iterable.remove(); + } + } + String errMsg = ""; + if (supCertSetEntities.size() > 0) { + return ResultVOUtils.error(500, "必传证书不齐全!"); + } + } + + // 查询是否包含审核未通过的证书 if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupProductController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupProductController.java index 8ffa0178..9e554444 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupProductController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/purchase/SupProductController.java @@ -213,7 +213,7 @@ public class SupProductController { } } //提交审核 - if (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_UN) { + //判断是否上级供应商是否审核通过 SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supProductEntity.getManufacturerIdFk()); @@ -260,7 +260,7 @@ public class SupProductController { return ResultVOUtils.error(500, errMsg.substring(1) + "等证书未上传,无法提交审核!"); } - } + supProductEntity.setUpdateTime(new Date()); SupProductResponse originEntity = supProductService.findByProductId(supProductEntity.getProductId()); supCertService.updateProductId(originEntity.getCustomerId(), supProductEntity.getCustomerId(), originEntity.getManufacturerIdFk(), @@ -281,7 +281,53 @@ public class SupProductController { if (supProductEntity.getAuditStatus() == null) { return ResultVOUtils.error(500, "参数错误!"); } + if(supProductEntity.getAuditStatus()==1){ + //查询用户上传的证书 + FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); + filterSupCertRequest.setCustomerId(supProductEntity.getCustomerId()); + filterSupCertRequest.setManufacturerIdFk(supProductEntity.getManufacturerIdFk()); + filterSupCertRequest.setProductIdFk(supProductEntity.getProductId()); + filterSupCertRequest.setType(ConstantStatus.CERT_PRODUCT); + List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); + //查询用户该上传的证书 + FilterCertSetsRequest filterCertSetsRequest = new FilterCertSetsRequest(); + filterCertSetsRequest.setType(ConstantStatus.CERT_PRODUCT); + List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); + + ListIterator iterable = supCertSetEntities.listIterator(); + while (iterable.hasNext()) { + SupCertSetEntity supCertSetEntity = iterable.next(); + + if (supCertSetEntity.getImports()!=null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") + || StrUtil.isNotEmpty(supCertSetEntity.getHchzsb()) && supCertSetEntity.getHchzsb().equals("全部") + || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 2 + && StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) + || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 3 && !StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) + || (StrUtil.trimToEmpty(supProductEntity.getProductType()).equals(supCertSetEntity.getCplx())) + || (StrUtil.trimToEmpty(supProductEntity.getHchzsb()).equals(supCertSetEntity.getHchzsb())) + || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) &&(supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) + ) { + for (SupCertEntity supCertEntity : supCertEntityList) { + if (supCertEntity.getName().equals(supCertSetEntity.getName())) { + if (StrUtil.isNotEmpty(supCertEntity.getFilePath())) { + iterable.remove(); + break; + } + } + } + } else { + iterable.remove(); + } + } + String errMsg = ""; + if (supCertSetEntities.size() > 0) { + for (SupCertSetEntity supCertSetEntity : supCertSetEntities) { + errMsg = errMsg + "," + supCertSetEntity.getName(); + } + return ResultVOUtils.error(500, "必传证书不齐全"); + } + } // 查询是否包含审核未通过的证书 if (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/purchase/SupManufacturerDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/purchase/SupManufacturerDao.java index 68137cc3..2d01fe1b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/purchase/SupManufacturerDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/purchase/SupManufacturerDao.java @@ -21,4 +21,6 @@ public interface SupManufacturerDao { boolean insertCompany(SupManufacturerEntity supManufacturerEntity); boolean deleteById(@Param("id") String id); + + List getCompanyByNameAndCode(FilterSupManufacturerRequest filterSupManufacturerRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/purchase/SupManufacturerService.java b/api-admin/src/main/java/com/glxp/api/admin/service/purchase/SupManufacturerService.java index 6688a7d2..0cde563c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/purchase/SupManufacturerService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/purchase/SupManufacturerService.java @@ -23,4 +23,7 @@ public interface SupManufacturerService { boolean deleteById(String id); + List getCompanyByNameAndCode(FilterSupManufacturerRequest filterSupManufacturerRequest); + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/purchase/impl/SupManufacturerServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/purchase/impl/SupManufacturerServiceImpl.java index efb70f56..e90b1e3f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/purchase/impl/SupManufacturerServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/purchase/impl/SupManufacturerServiceImpl.java @@ -72,4 +72,9 @@ public class SupManufacturerServiceImpl implements SupManufacturerService { public boolean deleteById(String id) { return supManufacturerDao.deleteById(id); } + + @Override + public List getCompanyByNameAndCode(FilterSupManufacturerRequest filterSupManufacturerRequest) { + return supManufacturerDao.getCompanyByNameAndCode(filterSupManufacturerRequest); + } } diff --git a/api-admin/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml b/api-admin/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml index 775bfe2a..9b6bfaea 100644 --- a/api-admin/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml @@ -126,4 +126,25 @@ WHERE id = #{id} + + \ No newline at end of file From 8f2d6fcb34b2b4c3faed413d2bb07d86c625ff1f Mon Sep 17 00:00:00 2001 From: zhengmingliang Date: Tue, 22 Nov 2022 18:00:37 +0800 Subject: [PATCH 10/41] =?UTF-8?q?=E4=BF=AE=E6=94=B9sql=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mybatis/mapper/purchase/SupCertDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api-admin/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml b/api-admin/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml index 2974de9b..d602bd61 100644 --- a/api-admin/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml @@ -70,7 +70,7 @@ filePath=#{filePath}, remark=#{remark}, createTime=#{createTime}, - updateTime=#{updateTime},SupManufacturerDao + updateTime=#{updateTime}, vailDate=#{vailDate}, expireDate=#{expireDate}, `type`=#{type}, From 425752bfd9f522cb55b21cc1ecf64f0d56148c23 Mon Sep 17 00:00:00 2001 From: x_z Date: Tue, 22 Nov 2022 18:02:00 +0800 Subject: [PATCH 11/41] =?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 From 86367efddd3a81ade176aa7b6dbb1452ab1a7387 Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 23 Nov 2022 18:06:30 +0800 Subject: [PATCH 12/41] =?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=E8=AE=B0=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/admin/constant/Constant.java | 5 + .../inventory/InvMAOrderController.java | 120 ++++++++++++++++++ .../inventory/InvMAOrderDetailController.java | 28 ++++ .../dao/inventory/InvMaintenanceOrderDao.java | 15 +++ .../InvMaintenanceOrderDetailDao.java | 16 +++ .../InvMaintenanceOrderDetailEntity.java | 8 +- .../inventory/InvMaintenanceOrderEntity.java | 2 +- .../FilterInvMAOrderDetailRequest.java | 27 ++++ .../inventory/InvMAOrderDetailService.java | 13 ++ .../service/inventory/InvMAOrderService.java | 57 +++++++++ .../impl/InvMAOrderDetailServiceImpl.java | 14 +- .../inventory/impl/InvMAOrderServiceImpl.java | 110 ++++++++++++++++ .../inventory/InvMaintenanceOrderDao.xml | 52 +++++++- .../InvMaintenanceOrderDetailDao.xml | 32 +++-- scripts/库存养护功能表.sql | 6 +- 15 files changed, 479 insertions(+), 26 deletions(-) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java diff --git a/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java index 6ac0c6ea..0723bf83 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java +++ b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java @@ -22,6 +22,11 @@ public class Constant { */ public static final String COUNT_ORDER = "MP"; + /** + * 养护记录前缀 + */ + public static final String MA_ORDER = "MA"; + public static final String dlThrProducts = "THR_DOWNLOAD_PRODUCTS"; public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS"; public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS"; 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 index 693e7ed9..7d371220 100644 --- 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 @@ -1,8 +1,25 @@ package com.glxp.api.admin.controller.inventory; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.InvMAOrderResponse; +import com.glxp.api.admin.service.inventory.InvMAOrderService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.List; + /** * 库存养护记录接口 */ @@ -11,6 +28,109 @@ import org.springframework.web.bind.annotation.RestController; public class InvMAOrderController { + @Resource + private InvMAOrderService invMAOrderService; + + /** + * 查询养护记录列表 + * + * @param filterInvMAOrderRequest + * @return + */ + @GetMapping("/inv/MA/order/filterList") + public BaseResponse filterList(FilterInvMAOrderRequest filterInvMAOrderRequest) { + List list = invMAOrderService.filterList(filterInvMAOrderRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(pageInfo.getList()); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 添加养护记录 + * + * @param invMaintenanceOrder + * @param bindingResult + * @return + */ + @PostMapping("/inv/MA/order/addOrder") + public BaseResponse addOrder(@RequestBody InvMaintenanceOrderEntity invMaintenanceOrder, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return invMAOrderService.addOrder(invMaintenanceOrder); + } + + /** + * 更新养护记录 + * + * @param invMaintenanceOrder + * @param bindingResult + * @return + */ + @PostMapping("/inv/MA/order/update") + public BaseResponse update(@RequestBody InvMaintenanceOrderEntity invMaintenanceOrder, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == invMaintenanceOrder || StrUtil.isBlank(invMaintenanceOrder.getOrderId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + return invMAOrderService.update(invMaintenanceOrder); + } + + /** + * 提交审核 + * + * @param orderId + * @return + */ + @PostMapping("/inv/MA/order/submitAudit") + public BaseResponse submitAudit(@RequestBody FilterInvMAOrderRequest filterInvMAOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == filterInvMAOrderRequest || null == filterInvMAOrderRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空"); + } + return invMAOrderService.submitAudit(filterInvMAOrderRequest.getId()); + } + + /** + * 更新养护记录状态 + * + * @param filterInvMAOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/inv/MA/order/updateStatus") + public BaseResponse updateStatus(@RequestBody FilterInvMAOrderRequest filterInvMAOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == filterInvMAOrderRequest || null == filterInvMAOrderRequest.getId() || null == filterInvMAOrderRequest.getStatus()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + return invMAOrderService.updateStatus(filterInvMAOrderRequest.getId(), filterInvMAOrderRequest.getStatus()); + } + /** + * 删除养护记录 + * + * @param filterInvMAOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/inv/MA/order/delete") + public BaseResponse delete(FilterInvMAOrderRequest filterInvMAOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == filterInvMAOrderRequest || null == filterInvMAOrderRequest.getId() || null == filterInvMAOrderRequest.getStatus()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + return invMAOrderService.delete(filterInvMAOrderRequest.getId()); + } } 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 index 7addb013..ad74cb70 100644 --- 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 @@ -1,8 +1,19 @@ package com.glxp.api.admin.controller.inventory; +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; +import com.glxp.api.admin.service.inventory.InvMAOrderDetailService; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.List; + /** * 库存养护记录详情接口 */ @@ -10,7 +21,24 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class InvMAOrderDetailController { + @Resource + private InvMAOrderDetailService invMAOrderDetailService; + /** + * 查询养护记录详情 + * + * @param filterInvMAOrderDetailRequest + * @return + */ + @GetMapping("/inv/MA/order/detail/filterList") + public BaseResponse filterList(FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest) { + List list = invMAOrderDetailService.filterList(filterInvMAOrderDetailRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(pageInfo.getList()); + return ResultVOUtils.success(); + } } 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 index d80217e3..c83a7d9a 100644 --- 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 @@ -1,6 +1,11 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; public interface InvMaintenanceOrderDao { @@ -15,4 +20,14 @@ public interface InvMaintenanceOrderDao { int updateByPrimaryKeySelective(InvMaintenanceOrderEntity record); int updateByPrimaryKey(InvMaintenanceOrderEntity record); + + List filterList(FilterInvMAOrderRequest filterInvMAOrderRequest); + + /** + * 根据养护记录ID查询数据 + * + * @param orderId + * @return + */ + InvMaintenanceOrderEntity selectByOrderId(@Param("orderId") String orderId); } \ 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 index 5c178f4f..ff6259d6 100644 --- 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 @@ -1,6 +1,7 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; +import org.apache.ibatis.annotations.Param; public interface InvMaintenanceOrderDetailDao { @@ -15,4 +16,19 @@ public interface InvMaintenanceOrderDetailDao { int updateByPrimaryKeySelective(InvMaintenanceOrderDetailEntity record); int updateByPrimaryKey(InvMaintenanceOrderDetailEntity record); + + /** + * 根据养护记录ID删除详情 + * + * @param orderId + */ + void deleteByOrderId(@Param("orderId") String orderId); + + /** + * 统计养护产品详情数量 + * + * @param orderId + * @return + */ + Long countByOrderId(@Param("orderId") String orderId); } \ 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 index 8bb2b3bd..6f414f41 100644 --- 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 @@ -51,14 +51,14 @@ public class InvMaintenanceOrderDetailEntity { private Integer count; /** - * 养护状态 + * 养护状态 0:未养护 1:已养护 */ - private Boolean maintenanceStatus; + private Integer maintenanceStatus; /** - * 设备状态 + * 设备状态 0:异常 1:正常 */ - private Boolean deviceStatus; + private Integer deviceStatus; /** * 备注 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 index 1c506cd4..6a3698c9 100644 --- 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 @@ -28,7 +28,7 @@ public class InvMaintenanceOrderEntity { /** * 状态 0:草稿 1:未审核 2:已完成 */ - private Boolean status; + private Integer status; /** * 养护日期 diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java new file mode 100644 index 00000000..fdb91d3f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java @@ -0,0 +1,27 @@ +package com.glxp.api.admin.req.inventory; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +/** + * 查询 + */ +@Data +public class FilterInvMAOrderDetailRequest extends ListPageRequest { + + /** + * 养护记录ID + */ + public String orderIdFk; + + /** + * 养护状态 0:未养护 1:已养护 + */ + public Integer maintenanceStatus; + + /** + * 设备状态 0:异常 1:正常 + */ + private Integer deviceStatus; + +} 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 index c1f002e7..0ead72d9 100644 --- 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 @@ -1,7 +1,20 @@ package com.glxp.api.admin.service.inventory; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; + +import java.util.List; + /** * 库存养护记录详情Service */ public interface InvMAOrderDetailService { + + /** + * 查询养护记录详情 + * + * @param filterInvMAOrderDetailRequest + * @return + */ + List filterList(FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest); } 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 index 1701c7e6..f738cdd1 100644 --- 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 @@ -1,7 +1,64 @@ package com.glxp.api.admin.service.inventory; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderResponse; +import com.glxp.api.common.res.BaseResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + /** * 库存养护记录Service */ public interface InvMAOrderService { + + /** + * 查询养护记录列表 + * + * @param filterInvMAOrderRequest + * @return + */ + List filterList(FilterInvMAOrderRequest filterInvMAOrderRequest); + + /** + * 添加养护记录 + * + * @param invMaintenanceOrder + * @return + */ + BaseResponse addOrder(InvMaintenanceOrderEntity invMaintenanceOrder); + + /** + * 更新养护记录 + * + * @param invMaintenanceOrder + * @return + */ + BaseResponse update(InvMaintenanceOrderEntity invMaintenanceOrder); + + /** + * 养护记录提交审核 + * + * @param id + * @return + */ + BaseResponse submitAudit(Integer id); + + /** + * 更新养护记录状态 + * + * @param id + * @param status + * @return + */ + BaseResponse updateStatus(Integer id, Integer status); + + /** + * 删除养护记录 + * + * @param id + * @return + */ + BaseResponse delete(@Param("id") Integer id); } 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 index 11c4ffc2..20a6f6e5 100644 --- 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 @@ -1,12 +1,16 @@ package com.glxp.api.admin.service.inventory.impl; import com.glxp.api.admin.dao.inventory.InvMaintenanceOrderDetailDao; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; 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; +import java.util.Collections; +import java.util.List; @Slf4j @Service @@ -16,7 +20,11 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { @Resource private InvMaintenanceOrderDetailDao invMAOrderDetailDao; - - - + @Override + public List filterList(FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest) { + if (null == filterInvMAOrderDetailRequest) { + return Collections.emptyList(); + } + return null; + } } 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 index d848c8ac..82022af4 100644 --- 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 @@ -1,12 +1,30 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.dao.inventory.InvMaintenanceOrderDao; +import com.glxp.api.admin.dao.inventory.InvMaintenanceOrderDetailDao; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderResponse; +import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.InvMAOrderService; +import com.glxp.api.admin.util.GennerOrderUtils; +import com.glxp.api.admin.util.OrderNoTypeBean; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; @Slf4j @Service @@ -15,6 +33,98 @@ public class InvMAOrderServiceImpl implements InvMAOrderService { @Resource private InvMaintenanceOrderDao invMAOrderDao; + @Resource + private GennerOrderUtils gennerOrderUtils; + @Resource + private CustomerService customerService; + @Resource + private InvMaintenanceOrderDetailDao invMAOrderDetailDao; + + + @Override + public List filterList(FilterInvMAOrderRequest filterInvMAOrderRequest) { + if (null == filterInvMAOrderRequest) { + return Collections.emptyList(); + } + if (null != filterInvMAOrderRequest.getPage() && null != filterInvMAOrderRequest.getLimit()) { + PageHelper.offsetPage((filterInvMAOrderRequest.getPage() - 1) * filterInvMAOrderRequest.getLimit(), filterInvMAOrderRequest.getLimit()); + } + return invMAOrderDao.filterList(filterInvMAOrderRequest); + } + + @Override + public BaseResponse addOrder(InvMaintenanceOrderEntity invMaintenanceOrder) { + if (null == invMaintenanceOrder || StrUtil.isBlank(invMaintenanceOrder.getInvWarehouseCode())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + //生成养护记录 + //生成单据号 + invMaintenanceOrder.setOrderId(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.MA_ORDER, "yyyyMMdd"))); + //创建时间 + invMaintenanceOrder.setCreateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); + //创建人 + String createUser = customerService.getUserBean().getUserName(); + invMaintenanceOrder.setCreateUser(createUser); + //设置状态为草稿 + invMaintenanceOrder.setStatus(0); + invMAOrderDao.insert(invMaintenanceOrder); + return ResultVOUtils.success(invMaintenanceOrder.getOrderId()); + } + + @Override + public BaseResponse update(InvMaintenanceOrderEntity invMaintenanceOrder) { + //查找此单据是否存在 + InvMaintenanceOrderEntity maintenanceOrder = invMAOrderDao.selectByOrderId(invMaintenanceOrder.getOrderId()); + if (null == maintenanceOrder) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此单据不存在!"); + } + //复制新数据 + BeanUtil.copyProperties(invMaintenanceOrder, maintenanceOrder, "id", "createTime", "createUser"); + invMAOrderDao.updateByPrimaryKey(maintenanceOrder); + return ResultVOUtils.success("更新成功"); + } + + @Override + public BaseResponse submitAudit(Integer id) { + InvMaintenanceOrderEntity maintenanceOrder = invMAOrderDao.selectByPrimaryKey(id); + if (null == maintenanceOrder) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此记录不存在!"); + } + if (maintenanceOrder.getStatus() != 0) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此记录已提交审核,请勿重复提交!"); + } + //查询此养护记录是否添加详情 + Long count = invMAOrderDetailDao.countByOrderId(maintenanceOrder.getOrderId()); + if (count == 0) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加养护产品!"); + } + maintenanceOrder.setStatus(1); + maintenanceOrder.setUpdateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); + return ResultVOUtils.success("提交成功"); + } + + @Override + public BaseResponse updateStatus(Integer id, Integer status) { + InvMaintenanceOrderEntity maintenanceOrder = invMAOrderDao.selectByPrimaryKey(id); + if (null == maintenanceOrder || maintenanceOrder.getStatus() != 1) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + maintenanceOrder.setStatus(status); + maintenanceOrder.setUpdateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); + invMAOrderDao.updateByPrimaryKey(maintenanceOrder); + return ResultVOUtils.success("更新成功"); + } + @Override + public BaseResponse delete(Integer id) { + InvMaintenanceOrderEntity maintenanceOrder = invMAOrderDao.selectByPrimaryKey(id); + if (null == maintenanceOrder) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此记录不存在!"); + } + //删除养护记录和详情 + invMAOrderDao.selectByPrimaryKey(id); + invMAOrderDetailDao.deleteByOrderId(maintenanceOrder.getOrderId()); + return ResultVOUtils.success("删除成功"); + } } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml index f43cc62f..93ad720c 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml @@ -6,7 +6,7 @@ - + @@ -49,7 +49,7 @@ auditTime, `createUser`, auditUser, remark) values (#{orderId,jdbcType=VARCHAR}, #{invWarehouseCode,jdbcType=VARCHAR}, #{invSpaceCode,jdbcType=VARCHAR}, - #{status,jdbcType=BOOLEAN}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, + #{status,jdbcType=INTEGER}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, #{auditTime,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR}, #{auditUser,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}) @@ -100,7 +100,7 @@ #{invSpaceCode,jdbcType=VARCHAR}, - #{status,jdbcType=BOOLEAN}, + #{status,jdbcType=INTEGER}, #{createTime,jdbcType=VARCHAR}, @@ -137,7 +137,7 @@ invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, - `status` = #{status,jdbcType=BOOLEAN}, + `status` = #{status,jdbcType=INTEGER}, createTime = #{createTime,jdbcType=VARCHAR}, @@ -166,7 +166,7 @@ set orderId = #{orderId,jdbcType=VARCHAR}, invWarehouseCode = #{invWarehouseCode,jdbcType=VARCHAR}, invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, - `status` = #{status,jdbcType=BOOLEAN}, + `status` = #{status,jdbcType=INTEGER}, createTime = #{createTime,jdbcType=VARCHAR}, updateTime = #{updateTime,jdbcType=VARCHAR}, auditTime = #{auditTime,jdbcType=VARCHAR}, @@ -176,4 +176,46 @@ 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 index 3ab15d67..9a771978 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml @@ -11,8 +11,8 @@ - - + + @@ -52,8 +52,8 @@ 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}) + #{expireDate,jdbcType=VARCHAR}, #{count,jdbcType=INTEGER}, #{maintenanceStatus,jdbcType=INTEGER}, + #{deviceStatus,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR}) - #{maintenanceStatus,jdbcType=BOOLEAN}, + #{maintenanceStatus,jdbcType=INTEGER}, - #{deviceStatus,jdbcType=BOOLEAN}, + #{deviceStatus,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR}, @@ -160,10 +160,10 @@ `count` = #{count,jdbcType=INTEGER}, - maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, + maintenanceStatus = #{maintenanceStatus,jdbcType=INTEGER}, - deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + deviceStatus = #{deviceStatus,jdbcType=INTEGER}, remark = #{remark,jdbcType=VARCHAR}, @@ -182,9 +182,21 @@ produceDate = #{produceDate,jdbcType=VARCHAR}, expireDate = #{expireDate,jdbcType=VARCHAR}, `count` = #{count,jdbcType=INTEGER}, - maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, - deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + maintenanceStatus = #{maintenanceStatus,jdbcType=INTEGER}, + deviceStatus = #{deviceStatus,jdbcType=INTEGER}, remark = #{remark,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} + + + delete + from inv_maintenance_order_detail + where orderIdFk = #{orderId} + + + \ No newline at end of file diff --git a/scripts/库存养护功能表.sql b/scripts/库存养护功能表.sql index 065eec21..5f9b1761 100644 --- a/scripts/库存养护功能表.sql +++ b/scripts/库存养护功能表.sql @@ -28,10 +28,10 @@ CREATE TABLE `inv_maintenance_order_detail` ( `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 '设备状态', + `maintenanceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '养护状态 0:未养护 1:已养护', + `deviceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '设备状态 0:异常 1:正常', `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; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护单据详情表' ROW_FORMAT = Dynamic; SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file From fdc7adb9f37e6553c2317266d4592ba924b7fc76 Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 23 Nov 2022 22:39:08 +0800 Subject: [PATCH 13/41] =?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=E8=AE=B0=E5=BD=95=E8=AF=A6=E6=83=85=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/InvMAOrderDetailController.java | 60 +++++++++++++++++ .../InvMaintenanceOrderDetailDao.java | 21 ++++++ .../inventory/InvMAOrderDetailService.java | 11 ++++ .../impl/InvMAOrderDetailServiceImpl.java | 65 ++++++++++++++++++- .../InvMaintenanceOrderDetailDao.xml | 32 +++++++++ scripts/库存养护功能表.sql | 3 - 6 files changed, 188 insertions(+), 4 deletions(-) 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 index ad74cb70..036e0b17 100644 --- 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 @@ -1,14 +1,20 @@ package com.glxp.api.admin.controller.inventory; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; import com.glxp.api.admin.service.inventory.InvMAOrderDetailService; +import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @@ -40,5 +46,59 @@ public class InvMAOrderDetailController { return ResultVOUtils.success(); } + /** + * 扫码添加养护记录详情 + * + * @param invMaintenanceOrderDetailEntity + * @param bindingResult + * @return + */ + @PostMapping("/inv/MA/order/detail/addOrderDetail") + public BaseResponse addOrderDetail(@RequestBody InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == invMaintenanceOrderDetailEntity || StrUtil.isBlank(invMaintenanceOrderDetailEntity.getCode()) || StrUtil.isBlank(invMaintenanceOrderDetailEntity.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空"); + } + return invMAOrderDetailService.addOrderDetail(invMaintenanceOrderDetailEntity); + } + + /** + * 选中库存详情批量添加养护记录详情 + * + * @param invProductIds + * @return + */ + @PostMapping("/inv/MA/order/detail/batchAddDetail") + public BaseResponse batchAddDetail(@RequestBody List invProductIds, BindingResult bindingResult) { + + return ResultVOUtils.success(); + } + + /** + * 减一 + * + * @param filterInvMAOrderDetailRequest + * @return + */ + @PostMapping("/inv/MA/order/detail/delete") + public BaseResponse delete(@RequestBody FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest, BindingResult bindingResult) { + + return ResultVOUtils.success(); + } + + /** + * 更新库存养护记录详情 + * + * @param invMaintenanceOrderDetailEntity + * @return + */ + @PostMapping("/inv/MA/order/detail/delete") + public BaseResponse update(@RequestBody InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity, BindingResult bindingResult) { + + + return ResultVOUtils.success(); + } } 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 index ff6259d6..9e03a54a 100644 --- 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 @@ -1,8 +1,12 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface InvMaintenanceOrderDetailDao { int deleteByPrimaryKey(Integer id); @@ -31,4 +35,21 @@ public interface InvMaintenanceOrderDetailDao { * @return */ Long countByOrderId(@Param("orderId") String orderId); + + /** + * 查询养护记录详情 + * + * @param filterInvMAOrderDetailRequest + * @return + */ + List filterList(FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest); + + /** + * 根据养护记录号和条码查询养护记录详情 + * + * @param orderIdFk + * @param code + * @return + */ + InvMaintenanceOrderDetailEntity selectByOrderIdAndCode(@Param("orderIdFk") String orderIdFk, @Param("code") String code); } \ No newline at end of file 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 index 0ead72d9..e5ed5f6c 100644 --- 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 @@ -1,7 +1,9 @@ package com.glxp.api.admin.service.inventory; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; +import com.glxp.api.common.res.BaseResponse; import java.util.List; @@ -17,4 +19,13 @@ public interface InvMAOrderDetailService { * @return */ List filterList(FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest); + + /** + * 扫码添加养护记录详情 + * + * @param invMaintenanceOrderDetailEntity + * @return + */ + BaseResponse addOrderDetail(InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity); + } 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 index 20a6f6e5..9bcc599a 100644 --- 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 @@ -1,9 +1,23 @@ 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.inventory.InvMaintenanceOrderDao; import com.glxp.api.admin.dao.inventory.InvMaintenanceOrderDetailDao; +import com.glxp.api.admin.dao.inventory.InvProductDetailDao; +import com.glxp.api.admin.entity.basic.UdiEntity; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; +import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; import com.glxp.api.admin.service.inventory.InvMAOrderDetailService; +import com.glxp.api.admin.util.FilterUdiUtils; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -19,12 +33,61 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { @Resource private InvMaintenanceOrderDetailDao invMAOrderDetailDao; + @Resource + private InvMaintenanceOrderDao invMaintenanceOrderDao; + @Resource + private InvProductDetailDao invProductDetailDao; @Override public List filterList(FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest) { if (null == filterInvMAOrderDetailRequest) { return Collections.emptyList(); } - return null; + if (null == filterInvMAOrderDetailRequest.getPage() && null == filterInvMAOrderDetailRequest.getLimit()) { + PageHelper.offsetPage((filterInvMAOrderDetailRequest.getPage() - 1) * filterInvMAOrderDetailRequest.getLimit(), filterInvMAOrderDetailRequest.getLimit()); + } + return invMAOrderDetailDao.filterList(filterInvMAOrderDetailRequest); + } + + @Override + public BaseResponse addOrderDetail(InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity) { + //解析条码 + UdiEntity udi = FilterUdiUtils.getUdi(invMaintenanceOrderDetailEntity.getCode()); + //查询此条码是否重复 + InvMaintenanceOrderDetailEntity maintenanceOrderDetailEntity = invMAOrderDetailDao.selectByOrderIdAndCode(invMaintenanceOrderDetailEntity.getOrderIdFk(), invMaintenanceOrderDetailEntity.getCode()); + if (null != maintenanceOrderDetailEntity) { + if (StrUtil.isBlank(udi.getSerialNo()) || (StrUtil.isBlank(udi.getBatchNo()) && StrUtil.isBlank(udi.getSerialNo()))) { + maintenanceOrderDetailEntity.setCount(maintenanceOrderDetailEntity.getCount() + 1); + invMAOrderDetailDao.updateByPrimaryKey(maintenanceOrderDetailEntity); + } else { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "条码重复!"); + } + } + //查询养护记录信息 + InvMaintenanceOrderEntity maOrder = invMaintenanceOrderDao.selectByOrderId(invMaintenanceOrderDetailEntity.getOrderIdFk()); + //查询此产品库存详情是否存在 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setOriginCode(invMaintenanceOrderDetailEntity.getCode()); + filterInvProductDetailRequest.setBatchNo(udi.getBatchNo()); + filterInvProductDetailRequest.setInvWarehouseCode(maOrder.getInvWarehouseCode()); + filterInvProductDetailRequest.setInvSpaceCode(maOrder.getInvSpaceCode()); + filterInvProductDetailRequest.setProductionDate(udi.getProduceDate()); + filterInvProductDetailRequest.setExpireDate(udi.getExpireDate()); + List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); + if (CollUtil.isNotEmpty(invProductDetailEntities)) { + log.info("库存中存在,添加到库存养护记录详情中"); + //设置养护状态为未养护 + invMaintenanceOrderDetailEntity.setMaintenanceStatus(0); + //设置设备养护状态为正常 + invMaintenanceOrderDetailEntity.setDeviceStatus(1); + invMaintenanceOrderDetailEntity.setCount(1); + invMaintenanceOrderDetailEntity.setBatchNo(udi.getBatchNo()); + invMaintenanceOrderDetailEntity.setProduceDate(udi.getProduceDate()); + invMaintenanceOrderDetailEntity.setExpireDate(udi.getExpireDate()); + invMaintenanceOrderDetailEntity.setNameCode(udi.getUdi()); + invMaintenanceOrderDetailEntity.setProductId(invProductDetailEntities.get(0).getProductIdFk()); + invMAOrderDetailDao.insert(invMaintenanceOrderDetailEntity); + } + return ResultVOUtils.success("添加库存养护详情成功!"); } } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml index 9a771978..3a2cc3b1 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml @@ -199,4 +199,36 @@ from inv_maintenance_order_detail where orderIdFk = #{orderId} + + + + \ No newline at end of file diff --git a/scripts/库存养护功能表.sql b/scripts/库存养护功能表.sql index 5f9b1761..b85a106a 100644 --- a/scripts/库存养护功能表.sql +++ b/scripts/库存养护功能表.sql @@ -14,9 +14,6 @@ CREATE TABLE `inv_maintenance_order` ( 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', From ca02062f6efc196b76ab1920b71a9857e81f5797 Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 23 Nov 2022 22:40:37 +0800 Subject: [PATCH 14/41] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E6=89=AB=E7=A0=81?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=93=E5=AD=98=E5=85=BB=E6=8A=A4=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/InvMAOrderDetailServiceImpl.java | 54 ++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) 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 index 9bcc599a..aac2e5a5 100644 --- 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 @@ -62,32 +62,36 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { } else { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "条码重复!"); } + } else { + //查询养护记录信息 + InvMaintenanceOrderEntity maOrder = invMaintenanceOrderDao.selectByOrderId(invMaintenanceOrderDetailEntity.getOrderIdFk()); + //查询此产品库存详情是否存在 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setOriginCode(invMaintenanceOrderDetailEntity.getCode()); + filterInvProductDetailRequest.setBatchNo(udi.getBatchNo()); + filterInvProductDetailRequest.setInvWarehouseCode(maOrder.getInvWarehouseCode()); + filterInvProductDetailRequest.setInvSpaceCode(maOrder.getInvSpaceCode()); + filterInvProductDetailRequest.setProductionDate(udi.getProduceDate()); + filterInvProductDetailRequest.setExpireDate(udi.getExpireDate()); + List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); + if (CollUtil.isNotEmpty(invProductDetailEntities)) { + log.info("库存中存在,添加到库存养护记录详情中"); + //设置养护状态为未养护 + invMaintenanceOrderDetailEntity.setMaintenanceStatus(0); + //设置设备养护状态为正常 + invMaintenanceOrderDetailEntity.setDeviceStatus(1); + invMaintenanceOrderDetailEntity.setCount(1); + invMaintenanceOrderDetailEntity.setBatchNo(udi.getBatchNo()); + invMaintenanceOrderDetailEntity.setProduceDate(udi.getProduceDate()); + invMaintenanceOrderDetailEntity.setExpireDate(udi.getExpireDate()); + invMaintenanceOrderDetailEntity.setNameCode(udi.getUdi()); + invMaintenanceOrderDetailEntity.setProductId(invProductDetailEntities.get(0).getProductIdFk()); + invMAOrderDetailDao.insert(invMaintenanceOrderDetailEntity); + } else { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "当前仓库中不存在此产品,无法进行养护!"); + } } - //查询养护记录信息 - InvMaintenanceOrderEntity maOrder = invMaintenanceOrderDao.selectByOrderId(invMaintenanceOrderDetailEntity.getOrderIdFk()); - //查询此产品库存详情是否存在 - FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); - filterInvProductDetailRequest.setOriginCode(invMaintenanceOrderDetailEntity.getCode()); - filterInvProductDetailRequest.setBatchNo(udi.getBatchNo()); - filterInvProductDetailRequest.setInvWarehouseCode(maOrder.getInvWarehouseCode()); - filterInvProductDetailRequest.setInvSpaceCode(maOrder.getInvSpaceCode()); - filterInvProductDetailRequest.setProductionDate(udi.getProduceDate()); - filterInvProductDetailRequest.setExpireDate(udi.getExpireDate()); - List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); - if (CollUtil.isNotEmpty(invProductDetailEntities)) { - log.info("库存中存在,添加到库存养护记录详情中"); - //设置养护状态为未养护 - invMaintenanceOrderDetailEntity.setMaintenanceStatus(0); - //设置设备养护状态为正常 - invMaintenanceOrderDetailEntity.setDeviceStatus(1); - invMaintenanceOrderDetailEntity.setCount(1); - invMaintenanceOrderDetailEntity.setBatchNo(udi.getBatchNo()); - invMaintenanceOrderDetailEntity.setProduceDate(udi.getProduceDate()); - invMaintenanceOrderDetailEntity.setExpireDate(udi.getExpireDate()); - invMaintenanceOrderDetailEntity.setNameCode(udi.getUdi()); - invMaintenanceOrderDetailEntity.setProductId(invProductDetailEntities.get(0).getProductIdFk()); - invMAOrderDetailDao.insert(invMaintenanceOrderDetailEntity); - } + return ResultVOUtils.success("添加库存养护详情成功!"); } } From d26c7b3964c2bf3bad8199d6c63cf793c75c2884 Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 24 Nov 2022 11:34:47 +0800 Subject: [PATCH 15/41] =?UTF-8?q?1.=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E5=85=BB=E6=8A=A4=E8=AE=B0=E5=BD=95=E8=AF=A6=E6=83=85=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/InvMAOrderDetailController.java | 34 ++++++++++---- .../inventory/AddMAOrderDetailRequest.java | 23 ++++++++++ .../FilterInvMAOrderDetailRequest.java | 4 +- .../inventory/InvMAOrderDetailService.java | 25 ++++++++++ .../impl/InvMAOrderDetailServiceImpl.java | 46 ++++++++++++++++++- 5 files changed, 121 insertions(+), 11 deletions(-) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddMAOrderDetailRequest.java 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 index 036e0b17..366b86e6 100644 --- 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 @@ -1,8 +1,10 @@ package com.glxp.api.admin.controller.inventory; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; +import com.glxp.api.admin.req.inventory.AddMAOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; @@ -71,9 +73,14 @@ public class InvMAOrderDetailController { * @return */ @PostMapping("/inv/MA/order/detail/batchAddDetail") - public BaseResponse batchAddDetail(@RequestBody List invProductIds, BindingResult bindingResult) { - - return ResultVOUtils.success(); + public BaseResponse batchAddDetail(@RequestBody AddMAOrderDetailRequest addMAOrderDetailRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == addMAOrderDetailRequest || CollUtil.isEmpty(addMAOrderDetailRequest.getInvProductIds()) || StrUtil.isBlank(addMAOrderDetailRequest.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + return invMAOrderDetailService.batchAddDetail(addMAOrderDetailRequest); } /** @@ -84,8 +91,13 @@ public class InvMAOrderDetailController { */ @PostMapping("/inv/MA/order/detail/delete") public BaseResponse delete(@RequestBody FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest, BindingResult bindingResult) { - - return ResultVOUtils.success(); + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == filterInvMAOrderDetailRequest || null == filterInvMAOrderDetailRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空"); + } + return invMAOrderDetailService.delete(filterInvMAOrderDetailRequest.getId()); } /** @@ -94,11 +106,15 @@ public class InvMAOrderDetailController { * @param invMaintenanceOrderDetailEntity * @return */ - @PostMapping("/inv/MA/order/detail/delete") + @PostMapping("/inv/MA/order/detail/update") public BaseResponse update(@RequestBody InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity, BindingResult bindingResult) { - - - return ResultVOUtils.success(); + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == invMaintenanceOrderDetailEntity || null == invMaintenanceOrderDetailEntity.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + return invMAOrderDetailService.update(invMaintenanceOrderDetailEntity); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddMAOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddMAOrderDetailRequest.java new file mode 100644 index 00000000..49bfb4c4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddMAOrderDetailRequest.java @@ -0,0 +1,23 @@ +package com.glxp.api.admin.req.inventory; + +import lombok.Data; + +import java.util.List; + +/** + * 添加库粗养护记录详情接口参数 + */ +@Data +public class AddMAOrderDetailRequest { + + /** + * 库存养护记录号 + */ + private String orderIdFk; + + /** + * 库存详情ID集合 + */ + List invProductIds; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java index fdb91d3f..b620a8d6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java @@ -4,11 +4,13 @@ import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; /** - * 查询 + * 库存养护记录详情参数 */ @Data public class FilterInvMAOrderDetailRequest extends ListPageRequest { + private Integer id; + /** * 养护记录ID */ 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 index e5ed5f6c..9b2590bc 100644 --- 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 @@ -1,6 +1,7 @@ package com.glxp.api.admin.service.inventory; import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; +import com.glxp.api.admin.req.inventory.AddMAOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; import com.glxp.api.common.res.BaseResponse; @@ -28,4 +29,28 @@ public interface InvMAOrderDetailService { */ BaseResponse addOrderDetail(InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity); + /** + * 养护详情记录 -1 + * + * @param id + * @return + */ + BaseResponse delete(Integer id); + + /** + * 根据库存详情批量添加养护详情记录 + * + * @param addMAOrderDetailRequest + * @return + */ + BaseResponse batchAddDetail(AddMAOrderDetailRequest addMAOrderDetailRequest); + + /** + * 更新养护记录详情 + * + * @param invMaintenanceOrderDetailEntity + * @return + */ + BaseResponse update(InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity); + } 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 index aac2e5a5..acf910c9 100644 --- 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 @@ -10,6 +10,7 @@ import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.api.admin.req.inventory.AddMAOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; @@ -91,7 +92,50 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "当前仓库中不存在此产品,无法进行养护!"); } } - return ResultVOUtils.success("添加库存养护详情成功!"); } + + @Override + public BaseResponse delete(Integer id) { + //查询养护记录详情 + InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity = invMAOrderDetailDao.selectByPrimaryKey(id); + if (invMaintenanceOrderDetailEntity.getCount() > 1) { + invMaintenanceOrderDetailEntity.setCount(invMaintenanceOrderDetailEntity.getCount() - 1); + invMAOrderDetailDao.updateByPrimaryKey(invMaintenanceOrderDetailEntity); + } + //养护数量为1,直接删除养护记录详情 + invMAOrderDetailDao.deleteByPrimaryKey(id); + return ResultVOUtils.success(); + } + + @Override + public BaseResponse batchAddDetail(AddMAOrderDetailRequest addMAOrderDetailRequest) { + for (String invProductId : addMAOrderDetailRequest.getInvProductIds()) { + FilterInvProductDetailRequest detailRequest = new FilterInvProductDetailRequest(); + detailRequest.setId(invProductId); + List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(detailRequest); + InvProductDetailEntity invProductDetailEntity = invProductDetailEntities.get(0); + //生成库存养护记录详情 + InvMaintenanceOrderDetailEntity maOrderDetail = new InvMaintenanceOrderDetailEntity(); + maOrderDetail.setOrderIdFk(addMAOrderDetailRequest.getOrderIdFk()); + maOrderDetail.setCode(invProductDetailEntity.getOriginCode()); + maOrderDetail.setProductId(invProductDetailEntity.getProductIdFk()); + UdiEntity udi = FilterUdiUtils.getUdi(invProductDetailEntity.getOriginCode()); + maOrderDetail.setNameCode(udi.getUdi()); + maOrderDetail.setProduceDate(invProductDetailEntity.getProductionDate()); + maOrderDetail.setExpireDate(invProductDetailEntity.getExpireDate()); + maOrderDetail.setCount(invProductDetailEntity.getCount()); + maOrderDetail.setMaintenanceStatus(0); + maOrderDetail.setDeviceStatus(1); + invMAOrderDetailDao.insert(maOrderDetail); + } + return ResultVOUtils.success("添加成功"); + } + + @Override + public BaseResponse update(InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity) { + invMAOrderDetailDao.updateByPrimaryKey(invMaintenanceOrderDetailEntity); + return ResultVOUtils.success("更新成功!"); + } + } From dda99de27d9d765d2b7da180d0d2fa6ffba69400 Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 24 Nov 2022 18:14:37 +0800 Subject: [PATCH 16/41] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=85=BB=E6=8A=A4=E8=AE=B0=E5=BD=95=E5=88=97=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3=E6=A0=B9=E6=8D=AE=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/admin/controller/inventory/InvMAOrderController.java | 1 - .../mybatis/mapper/inventory/InvMaintenanceOrderDao.xml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) 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 index 7d371220..99463711 100644 --- 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 @@ -83,7 +83,6 @@ public class InvMAOrderController { /** * 提交审核 * - * @param orderId * @return */ @PostMapping("/inv/MA/order/submitAudit") diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml index 93ad720c..6251a0f8 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml @@ -210,6 +210,7 @@ AND status = #{status} + order by updateTime desc + select * + from inv_maintenance_explanation + where status = #{status} + limit 1 + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml index 0aa3d69f..85e399ac 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml @@ -416,4 +416,33 @@ group by inv_product_detail.productIdFk, inv_product_detail.batchNo + + \ No newline at end of file diff --git a/scripts/库存养护功能表.sql b/scripts/库存养护功能表.sql index b85a106a..11c14de1 100644 --- a/scripts/库存养护功能表.sql +++ b/scripts/库存养护功能表.sql @@ -31,4 +31,16 @@ CREATE TABLE `inv_maintenance_order_detail` ( PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护单据详情表' ROW_FORMAT = Dynamic; -SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file +SET FOREIGN_KEY_CHECKS = 1; + +# 养护说明表 +DROP TABLE IF EXISTS `inv_maintenance_explanation`; +CREATE TABLE `inv_maintenance_explanation` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', + `status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '启用状态 0:未启用 1:启用', + `text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '默认内容', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护说明表' ROW_FORMAT = Dynamic; + +INSERT INTO `inv_maintenance_explanation` VALUES (1, '库存养护', '1', '正常'); \ No newline at end of file From bd4ae76e611ca7e38610084cde0382d62c6ffa20 Mon Sep 17 00:00:00 2001 From: x_z Date: Mon, 28 Nov 2022 18:15:29 +0800 Subject: [PATCH 20/41] =?UTF-8?q?1.=E5=AE=8C=E6=88=90=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=85=BB=E6=8A=A4=E8=AE=B0=E5=BD=95=E5=8F=8A?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=202.=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=85=BB=E6=8A=A4=E8=AE=B0=E5=BD=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=95=B0=E6=8D=AE=E5=BA=93=E8=A1=A8sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/库存养护功能表.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/库存养护功能表.sql b/scripts/库存养护功能表.sql index 11c14de1..47aa42ff 100644 --- a/scripts/库存养护功能表.sql +++ b/scripts/库存养护功能表.sql @@ -1,3 +1,4 @@ +# 库存养护记录表 DROP TABLE IF EXISTS `inv_maintenance_order`; CREATE TABLE `inv_maintenance_order` ( `id` int NOT NULL AUTO_INCREMENT, @@ -14,6 +15,7 @@ CREATE TABLE `inv_maintenance_order` ( PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护记录表' ROW_FORMAT = Dynamic; +# 库存养护记录详情表 DROP TABLE IF EXISTS `inv_maintenance_order_detail`; CREATE TABLE `inv_maintenance_order_detail` ( `id` int NOT NULL AUTO_INCREMENT COMMENT 'id', @@ -31,8 +33,6 @@ CREATE TABLE `inv_maintenance_order_detail` ( PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护单据详情表' ROW_FORMAT = Dynamic; -SET FOREIGN_KEY_CHECKS = 1; - # 养护说明表 DROP TABLE IF EXISTS `inv_maintenance_explanation`; CREATE TABLE `inv_maintenance_explanation` ( From 9905450be684bc98dd77e19403bcb91fa9ba640f Mon Sep 17 00:00:00 2001 From: x_z Date: Tue, 29 Nov 2022 10:40:46 +0800 Subject: [PATCH 21/41] =?UTF-8?q?1.=E5=BA=93=E5=AD=98=E5=85=BB=E6=8A=A4?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=B7=BB=E5=8A=A0=E5=85=BB=E6=8A=A4=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=92=8C=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=202.=E4=BF=AE=E5=A4=8D=E5=BA=93=E5=AD=98=E5=85=BB?= =?UTF-8?q?=E6=8A=A4=E5=8A=9F=E8=83=BDbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/InvMAOrderController.java | 4 +- .../InvMaintenanceOrderDetailDao.java | 26 ++++++++ .../InvMaintenanceOrderDetailEntity.java | 10 ++++ .../impl/InvMAOrderDetailServiceImpl.java | 6 ++ .../inventory/impl/InvMAOrderServiceImpl.java | 3 +- .../InvMaintenanceOrderDetailDao.xml | 59 +++++++++++++++++-- scripts/库存养护功能表.sql | 4 +- 7 files changed, 104 insertions(+), 8 deletions(-) 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 index 99463711..2c9c282c 100644 --- 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 @@ -122,11 +122,11 @@ public class InvMAOrderController { * @return */ @PostMapping("/inv/MA/order/delete") - public BaseResponse delete(FilterInvMAOrderRequest filterInvMAOrderRequest, BindingResult bindingResult) { + public BaseResponse delete(@RequestBody FilterInvMAOrderRequest filterInvMAOrderRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - if (null == filterInvMAOrderRequest || null == filterInvMAOrderRequest.getId() || null == filterInvMAOrderRequest.getStatus()) { + if (null == filterInvMAOrderRequest || null == filterInvMAOrderRequest.getId()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); } return invMAOrderService.delete(filterInvMAOrderRequest.getId()); 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 index 9e03a54a..8423236a 100644 --- 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 @@ -52,4 +52,30 @@ public interface InvMaintenanceOrderDetailDao { * @return */ InvMaintenanceOrderDetailEntity selectByOrderIdAndCode(@Param("orderIdFk") String orderIdFk, @Param("code") String code); + + /** + * 查询养护记录详情 + * + * @param orderId + * @return + */ + List selectByOrderId(@Param("orderId") String orderId); + + /** + * 更新养护记录详情时间 + * + * @param id 养护记录详情ID + * @param createTime 养护时间 + * @param updateTime 更新时间 + * @return + */ + int updateTime(@Param("id") Integer id, @Param("createTime") String createTime, @Param("updateTime") String updateTime); + + /** + * 查询库存养护记录详情ID集合 + * + * @param orderId + * @return + */ + List selectDetailIds(@Param("orderId") String orderId); } \ 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 index 6f414f41..35e51ba2 100644 --- 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 @@ -64,4 +64,14 @@ public class InvMaintenanceOrderDetailEntity { * 备注 */ private String remark; + + /** + * 养护时间 + */ + private String createTime; + + /** + * 更新时间 + */ + private String updateTime; } \ No newline at end of file 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 index f2c43f8b..853b0358 100644 --- 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 @@ -1,6 +1,8 @@ package com.glxp.api.admin.service.inventory.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.constant.ConstantType; @@ -66,6 +68,7 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { if (null != maintenanceOrderDetailEntity) { if (StrUtil.isBlank(udi.getSerialNo()) || (StrUtil.isBlank(udi.getBatchNo()) && StrUtil.isBlank(udi.getSerialNo()))) { maintenanceOrderDetailEntity.setCount(maintenanceOrderDetailEntity.getCount() + 1); + maintenanceOrderDetailEntity.setUpdateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); invMAOrderDetailDao.updateByPrimaryKey(maintenanceOrderDetailEntity); } else { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "条码重复!"); @@ -97,6 +100,7 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { if (null != invMaintenanceExplanation) { invMaintenanceOrderDetailEntity.setRemark(invMaintenanceExplanation.getText()); } + invMaintenanceOrderDetailEntity.setCreateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); invMAOrderDetailDao.insert(invMaintenanceOrderDetailEntity); } else { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "当前仓库中不存在此产品,无法进行养护!"); @@ -175,6 +179,7 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { maOrderDetail.setCount(codeMap.get(code)); maOrderDetail.setMaintenanceStatus(0); maOrderDetail.setDeviceStatus(1); + maOrderDetail.setCreateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); if (null != invMaintenanceExplanation) { maOrderDetail.setRemark(invMaintenanceExplanation.getText()); } @@ -187,6 +192,7 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { @Override public BaseResponse update(InvMaintenanceOrderDetailEntity invMaintenanceOrderDetailEntity) { + invMaintenanceOrderDetailEntity.setUpdateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); invMAOrderDetailDao.updateByPrimaryKey(invMaintenanceOrderDetailEntity); return ResultVOUtils.success("更新成功!"); } 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 index a5818722..d6fab7ed 100644 --- 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 @@ -111,6 +111,7 @@ public class InvMAOrderServiceImpl implements InvMAOrderService { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } maintenanceOrder.setStatus(status); + maintenanceOrder.setAuditTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); maintenanceOrder.setUpdateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); invMAOrderDao.updateByPrimaryKey(maintenanceOrder); return ResultVOUtils.success("更新成功"); @@ -123,7 +124,7 @@ public class InvMAOrderServiceImpl implements InvMAOrderService { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此记录不存在!"); } //删除养护记录和详情 - invMAOrderDao.selectByPrimaryKey(id); + invMAOrderDao.deleteByPrimaryKey(id); invMAOrderDetailDao.deleteByOrderId(maintenanceOrder.getOrderId()); return ResultVOUtils.success("删除成功"); } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml index 681f72b2..658398f1 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml @@ -14,6 +14,8 @@ + + @@ -28,7 +30,9 @@ `count`, maintenanceStatus, deviceStatus, - remark + remark, + createTime, + updateTime + + + + + update inv_maintenance_order_detail + + + createTime = #{createTime,jdbcType=VARCHAR}, + + + updateTime = #{updateTime,jdbcType=VARCHAR}, + + + where id = #{id} + + + \ No newline at end of file diff --git a/scripts/库存养护功能表.sql b/scripts/库存养护功能表.sql index 47aa42ff..407046e3 100644 --- a/scripts/库存养护功能表.sql +++ b/scripts/库存养护功能表.sql @@ -30,8 +30,10 @@ CREATE TABLE `inv_maintenance_order_detail` ( `maintenanceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '养护状态 0:未养护 1:已养护', `deviceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '设备状态 0:异常 1:正常', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `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 '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护单据详情表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护单据详情表' ROW_FORMAT = Dynamic; # 养护说明表 DROP TABLE IF EXISTS `inv_maintenance_explanation`; From 5305354837a6796e3e70a57cda86f633a6dd7543 Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 30 Nov 2022 14:44:13 +0800 Subject: [PATCH 22/41] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E9=A2=86=E7=94=A8=E5=85=BB=E6=8A=A4=E5=8A=9F=E8=83=BD=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E7=9A=84=E5=AE=9E=E4=BD=93=E7=B1=BB=E5=92=8Cxml?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=BB=A5=E5=8F=8A=E8=A1=A8sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceCollectOrderDetailEntity.java | 89 +++++++ .../inventory/DeviceCollectOrderEntity.java | 49 ++++ .../entity/inventory/DeviceMAOrderEntity.java | 81 ++++++ .../inventory/DeviceCollectOrderDao.xml | 140 ++++++++++ .../inventory/DeviceCollectOrderDetailDao.xml | 246 ++++++++++++++++++ .../mapper/inventory/DeviceMaOrderDao.xml | 227 ++++++++++++++++ scripts/设备领用养护功能表.sql | 56 ++++ 7 files changed, 888 insertions(+) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderDetailEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java create mode 100644 api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml create mode 100644 api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml create mode 100644 api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml create mode 100644 scripts/设备领用养护功能表.sql diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderDetailEntity.java new file mode 100644 index 00000000..1f19c303 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderDetailEntity.java @@ -0,0 +1,89 @@ +package com.glxp.api.admin.entity.inventory; + +import lombok.Data; + +/** + * 设备领用记录详情 + */ +@Data +public class DeviceCollectOrderDetailEntity { + /** + * id + */ + private Integer id; + + /** + * 设备领用记录号 + */ + private String orderIdFk; + + /** + * 原始码 + */ + private String originCode; + + /** + * 码 + */ + private String code; + + /** + * 产品ID + */ + private String productId; + + /** + * 产品DI + */ + private String nameCode; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String produceDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 领用时间 + */ + private String createTime; + + /** + * 更新时间 + */ + private String updateTime; + + /** + * 领用仓库 + */ + private String invWarehouseCode; + + /** + * 领用货位 + */ + private String invSpaceCode; + + /** + * 接收仓库 + */ + private String receiveWarehouseCode; + + /** + * 接收货位 + */ + private String receiveSpaceCode; +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java new file mode 100644 index 00000000..9a054c94 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java @@ -0,0 +1,49 @@ +package com.glxp.api.admin.entity.inventory; + +import lombok.Data; + +/** + * 设备领用记录表 + */ +@Data +public class DeviceCollectOrderEntity { + /** + * id + */ + private Integer id; + + /** + * 领用记录号 + */ + private String orderId; + + /** + * 领用部门 + */ + private String deptCode; + + /** + * 领用人 + */ + private String createUser; + + /** + * 审核人 + */ + private String auditUser; + + /** + * 领用时间 + */ + private String createTime; + + /** + * 更新时间 + */ + private String updateTime; + + /** + * 状态 0:草稿 1:未审核 2:已审核 + */ + private Boolean status; +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java new file mode 100644 index 00000000..0ae0d297 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java @@ -0,0 +1,81 @@ +package com.glxp.api.admin.entity.inventory; + +import lombok.Data; + +/** + * 设备养护记录表 + */ +@Data +public class DeviceMAOrderEntity { + private Integer id; + + /** + * 设备养护记录号 + */ + private String orderId; + + /** + * 码 + */ + private String code; + + /** + * 产品ID + */ + private String productId; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String produceDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 养护时间 + */ + private String createTime; + + /** + * 更新时间 + */ + private String updateTime; + + /** + * 设备状态 0:异常 1:正常 + */ + private Boolean deviceStatus; + + /** + * 养护状态 0:未养护 1:已养护 + */ + private Boolean maintenanceStatus; + + /** + * 养护人 + */ + private String createUser; + + /** + * 养护说明 + */ + private String remark; + + /** + * 状态 + */ + private Boolean status; +} \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml new file mode 100644 index 00000000..3ec3fccc --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + id, + orderId, + deptCode, + `createUser`, + auditUser, + createTime, + updateTime, + `status` + + + + + + delete + from device_collect_order + where id = #{id,jdbcType=INTEGER} + + + + insert into device_collect_order (orderId, deptCode, `createUser`, + auditUser, createTime, updateTime, + `status`) + values (#{orderId,jdbcType=VARCHAR}, #{deptCode,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR}, + #{auditUser,jdbcType=VARCHAR}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, + #{status,jdbcType=BOOLEAN}) + + + + insert into device_collect_order + + + orderId, + + + deptCode, + + + `createUser`, + + + auditUser, + + + createTime, + + + updateTime, + + + `status`, + + + + + #{orderId,jdbcType=VARCHAR}, + + + #{deptCode,jdbcType=VARCHAR}, + + + #{createUser,jdbcType=VARCHAR}, + + + #{auditUser,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=VARCHAR}, + + + #{status,jdbcType=BOOLEAN}, + + + + + + update device_collect_order + + + orderId = #{orderId,jdbcType=VARCHAR}, + + + deptCode = #{deptCode,jdbcType=VARCHAR}, + + + `createUser` = #{createUser,jdbcType=VARCHAR}, + + + auditUser = #{auditUser,jdbcType=VARCHAR}, + + + createTime = #{createTime,jdbcType=VARCHAR}, + + + updateTime = #{updateTime,jdbcType=VARCHAR}, + + + `status` = #{status,jdbcType=BOOLEAN}, + + + where id = #{id,jdbcType=INTEGER} + + + + update device_collect_order + set orderId = #{orderId,jdbcType=VARCHAR}, + deptCode = #{deptCode,jdbcType=VARCHAR}, + `createUser` = #{createUser,jdbcType=VARCHAR}, + auditUser = #{auditUser,jdbcType=VARCHAR}, + createTime = #{createTime,jdbcType=VARCHAR}, + updateTime = #{updateTime,jdbcType=VARCHAR}, + `status` = #{status,jdbcType=BOOLEAN} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml new file mode 100644 index 00000000..82016b41 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + + id, + orderIdFk, + originCode, + code, + productId, + nameCode, + batchNo, + produceDate, + expireDate, + serialNo, + createTime, + updateTime, + invWarehouseCode, + invSpaceCode, + receiveWarehouseCode, + receiveSpaceCode + + + + + + delete + from device_collect_order_detail + where id = #{id,jdbcType=INTEGER} + + + insert into device_collect_order_detail (id, orderIdFk, originCode, + code, productId, nameCode, + batchNo, produceDate, expireDate, + serialNo, createTime, updateTime, + invWarehouseCode, invSpaceCode, receiveWarehouseCode, + receiveSpaceCode) + values (#{id,jdbcType=INTEGER}, #{orderIdFk,jdbcType=VARCHAR}, #{originCode,jdbcType=VARCHAR}, + #{code,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, #{nameCode,jdbcType=VARCHAR}, + #{batchNo,jdbcType=VARCHAR}, #{produceDate,jdbcType=VARCHAR}, #{expireDate,jdbcType=VARCHAR}, + #{serialNo,jdbcType=VARCHAR}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, + #{invWarehouseCode,jdbcType=VARCHAR}, #{invSpaceCode,jdbcType=VARCHAR}, + #{receiveWarehouseCode,jdbcType=VARCHAR}, + #{receiveSpaceCode,jdbcType=VARCHAR}) + + + + insert into device_collect_order_detail + + + id, + + + orderIdFk, + + + originCode, + + + code, + + + productId, + + + nameCode, + + + batchNo, + + + produceDate, + + + expireDate, + + + serialNo, + + + createTime, + + + updateTime, + + + invWarehouseCode, + + + invSpaceCode, + + + receiveWarehouseCode, + + + receiveSpaceCode, + + + + + #{id,jdbcType=INTEGER}, + + + #{orderIdFk,jdbcType=VARCHAR}, + + + #{originCode,jdbcType=VARCHAR}, + + + #{code,jdbcType=VARCHAR}, + + + #{productId,jdbcType=VARCHAR}, + + + #{nameCode,jdbcType=VARCHAR}, + + + #{batchNo,jdbcType=VARCHAR}, + + + #{produceDate,jdbcType=VARCHAR}, + + + #{expireDate,jdbcType=VARCHAR}, + + + #{serialNo,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=VARCHAR}, + + + #{invWarehouseCode,jdbcType=VARCHAR}, + + + #{invSpaceCode,jdbcType=VARCHAR}, + + + #{receiveWarehouseCode,jdbcType=VARCHAR}, + + + #{receiveSpaceCode,jdbcType=VARCHAR}, + + + + + + update device_collect_order_detail + + + orderIdFk = #{orderIdFk,jdbcType=VARCHAR}, + + + originCode = #{originCode,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}, + + + serialNo = #{serialNo,jdbcType=VARCHAR}, + + + createTime = #{createTime,jdbcType=VARCHAR}, + + + updateTime = #{updateTime,jdbcType=VARCHAR}, + + + invWarehouseCode = #{invWarehouseCode,jdbcType=VARCHAR}, + + + invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, + + + receiveWarehouseCode = #{receiveWarehouseCode,jdbcType=VARCHAR}, + + + receiveSpaceCode = #{receiveSpaceCode,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + update device_collect_order_detail + set orderIdFk = #{orderIdFk,jdbcType=VARCHAR}, + originCode = #{originCode,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}, + serialNo = #{serialNo,jdbcType=VARCHAR}, + createTime = #{createTime,jdbcType=VARCHAR}, + updateTime = #{updateTime,jdbcType=VARCHAR}, + invWarehouseCode = #{invWarehouseCode,jdbcType=VARCHAR}, + invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, + receiveWarehouseCode = #{receiveWarehouseCode,jdbcType=VARCHAR}, + receiveSpaceCode = #{receiveSpaceCode,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml new file mode 100644 index 00000000..63e5e552 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml @@ -0,0 +1,227 @@ + + + + + + + + + + + + + + + + + + + + + + + id, + orderId, + code, + productId, + batchNo, + produceDate, + expireDate, + serialNo, + createTime, + updateTime, + deviceStatus, + maintenanceStatus, + `createUser`, + remark, + `status` + + + + + + delete + from device_ma_order + where id = #{id,jdbcType=INTEGER} + + + + insert into device_ma_order (orderId, code, productId, + batchNo, produceDate, expireDate, + serialNo, createTime, updateTime, + deviceStatus, maintenanceStatus, `createUser`, + remark, `status`) + values (#{orderId,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, + #{batchNo,jdbcType=VARCHAR}, #{produceDate,jdbcType=VARCHAR}, #{expireDate,jdbcType=VARCHAR}, + #{serialNo,jdbcType=VARCHAR}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, + #{deviceStatus,jdbcType=BOOLEAN}, #{maintenanceStatus,jdbcType=BOOLEAN}, #{createUser,jdbcType=VARCHAR}, + #{remark,jdbcType=VARCHAR}, #{status,jdbcType=BOOLEAN}) + + + + insert into device_ma_order + + + orderId, + + + code, + + + productId, + + + batchNo, + + + produceDate, + + + expireDate, + + + serialNo, + + + createTime, + + + updateTime, + + + deviceStatus, + + + maintenanceStatus, + + + `createUser`, + + + remark, + + + `status`, + + + + + #{orderId,jdbcType=VARCHAR}, + + + #{code,jdbcType=VARCHAR}, + + + #{productId,jdbcType=VARCHAR}, + + + #{batchNo,jdbcType=VARCHAR}, + + + #{produceDate,jdbcType=VARCHAR}, + + + #{expireDate,jdbcType=VARCHAR}, + + + #{serialNo,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=VARCHAR}, + + + #{deviceStatus,jdbcType=BOOLEAN}, + + + #{maintenanceStatus,jdbcType=BOOLEAN}, + + + #{createUser,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + #{status,jdbcType=BOOLEAN}, + + + + + + update device_ma_order + + + orderId = #{orderId,jdbcType=VARCHAR}, + + + code = #{code,jdbcType=VARCHAR}, + + + productId = #{productId,jdbcType=VARCHAR}, + + + batchNo = #{batchNo,jdbcType=VARCHAR}, + + + produceDate = #{produceDate,jdbcType=VARCHAR}, + + + expireDate = #{expireDate,jdbcType=VARCHAR}, + + + serialNo = #{serialNo,jdbcType=VARCHAR}, + + + createTime = #{createTime,jdbcType=VARCHAR}, + + + updateTime = #{updateTime,jdbcType=VARCHAR}, + + + deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + + + maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, + + + `createUser` = #{createUser,jdbcType=VARCHAR}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + `status` = #{status,jdbcType=BOOLEAN}, + + + where id = #{id,jdbcType=INTEGER} + + + + update device_ma_order + set orderId = #{orderId,jdbcType=VARCHAR}, + code = #{code,jdbcType=VARCHAR}, + productId = #{productId,jdbcType=VARCHAR}, + batchNo = #{batchNo,jdbcType=VARCHAR}, + produceDate = #{produceDate,jdbcType=VARCHAR}, + expireDate = #{expireDate,jdbcType=VARCHAR}, + serialNo = #{serialNo,jdbcType=VARCHAR}, + createTime = #{createTime,jdbcType=VARCHAR}, + updateTime = #{updateTime,jdbcType=VARCHAR}, + deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, + `createUser` = #{createUser,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR}, + `status` = #{status,jdbcType=BOOLEAN} + 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..57082263 --- /dev/null +++ b/scripts/设备领用养护功能表.sql @@ -0,0 +1,56 @@ +# 设备领用记录表 +DROP TABLE IF EXISTS `device_collect_order`; +CREATE TABLE `device_collect_order` ( + `id` int NOT NULL AUTO_INCREMENT COMMENT 'id', + `orderId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '领用记录号', + `deptCode` 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 '审核人', + `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 '更新时间', + `status` tinyint(1) NULL DEFAULT NULL COMMENT '状态 0:草稿 1:未审核 2:已审核', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备领用记录表' ROW_FORMAT = Dynamic; + +# 设备领用记录详情表 +DROP TABLE IF EXISTS `device_collect_order_detail`; +CREATE TABLE `device_collect_order_detail` ( + `id` int NOT NULL COMMENT 'id', + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备领用记录号', + `originCode` 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 '失效日期', + `serialNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '序列号', + `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 '更新时间', + `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 '领用货位', + `receiveWarehouseCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '接收仓库', + `receiveSpaceCode` 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; + +# 设备养护记录表 +DROP TABLE IF EXISTS `device_ma_order`; +CREATE TABLE `device_ma_order` ( + `id` int NOT NULL AUTO_INCREMENT, + `orderId` 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', + `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 '失效日期', + `serialNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '序列号', + `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 '更新时间', + `deviceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '设备状态 0:异常 1:正常', + `maintenanceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '养护状态 0:未养护 1:已养护', + `createUser` 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 '养护说明', + `status` tinyint(1) NULL DEFAULT NULL COMMENT '状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备养护记录表' ROW_FORMAT = Dynamic; \ No newline at end of file From 3a8288df0b1de45f05501705e5840722cc5dd4b8 Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 30 Nov 2022 14:56:41 +0800 Subject: [PATCH 23/41] =?UTF-8?q?1.=E6=8F=90=E4=BA=A4=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E9=A2=86=E7=94=A8=E5=85=BB=E6=8A=A4=E8=AE=B0=E5=BD=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/inventory/DeviceCollectOrderDao.java | 17 +++++++++++++++++ .../inventory/DeviceCollectOrderDetailDao.java | 17 +++++++++++++++++ .../admin/dao/inventory/DeviceMaOrderDao.java | 17 +++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java new file mode 100644 index 00000000..812cbe1d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java @@ -0,0 +1,17 @@ +package com.glxp.api.admin.dao.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; + +public interface DeviceCollectOrderDao { + int deleteByPrimaryKey(Integer id); + + int insert(DeviceCollectOrderEntity record); + + int insertSelective(DeviceCollectOrderEntity record); + + DeviceCollectOrderEntity selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(DeviceCollectOrderEntity record); + + int updateByPrimaryKey(DeviceCollectOrderEntity record); +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java new file mode 100644 index 00000000..92353490 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java @@ -0,0 +1,17 @@ +package com.glxp.api.admin.dao.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; + +public interface DeviceCollectOrderDetailDao { + int deleteByPrimaryKey(Integer id); + + int insert(DeviceCollectOrderDetailEntity record); + + int insertSelective(DeviceCollectOrderDetailEntity record); + + DeviceCollectOrderDetailEntity selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(DeviceCollectOrderDetailEntity record); + + int updateByPrimaryKey(DeviceCollectOrderDetailEntity record); +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java new file mode 100644 index 00000000..d9990261 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java @@ -0,0 +1,17 @@ +package com.glxp.api.admin.dao.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; + +public interface DeviceMaOrderDao { + int deleteByPrimaryKey(Integer id); + + int insert(DeviceMAOrderEntity record); + + int insertSelective(DeviceMAOrderEntity record); + + DeviceMAOrderEntity selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(DeviceMAOrderEntity record); + + int updateByPrimaryKey(DeviceMAOrderEntity record); +} \ No newline at end of file From aab56b818d9791363a9c7f9561ba011a0aca7a8c Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 30 Nov 2022 17:50:47 +0800 Subject: [PATCH 24/41] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E9=A2=86=E7=94=A8=E5=85=BB=E6=8A=A4=E8=AE=B0=E5=BD=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=92=8C=E5=AF=B9=E5=BA=94=E5=AE=9E=E7=8E=B0=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceCollectDetailController.java | 104 ++++++++++++++ .../DeviceCollectOrderController.java | 134 ++++++++++++++++++ .../inventory/DeviceMAOrderController.java | 97 +++++++++++++ .../AddDeviceCollectOrderDetailRequest.java | 16 +++ ...FilterDeviceCollectOrderDetailRequest.java | 21 +++ .../FilterDeviceCollectOrderRequest.java | 27 ++++ .../inventory/FilterDeviceMAOrderRequest.java | 18 +++ .../DeviceCollectOrderDetailResponse.java | 11 ++ .../inventory/DeviceCollectOrderResponse.java | 11 ++ .../res/inventory/DeviceMAOrderResponse.java | 11 ++ .../DeviceCollectOrderDetailService.java | 48 +++++++ .../inventory/DeviceCollectOrderService.java | 61 ++++++++ .../inventory/DeviceMAOrderService.java | 47 ++++++ .../DeviceCollectOrderDetailServiceImpl.java | 40 ++++++ .../impl/DeviceCollectOrderServiceImpl.java | 53 +++++++ .../impl/DeviceMAOrderServiceImpl.java | 47 ++++++ 16 files changed, 746 insertions(+) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectOrderController.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderController.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderDetailResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java new file mode 100644 index 00000000..df1a5de7 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java @@ -0,0 +1,104 @@ +package com.glxp.api.admin.controller.inventory; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; +import com.glxp.api.admin.req.inventory.AddDeviceCollectOrderDetailRequest; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; +import com.glxp.api.admin.service.inventory.DeviceCollectOrderDetailService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 设备领用记录详情接口 + */ +@Slf4j +@RestController +public class DeviceCollectDetailController { + + @Resource + private DeviceCollectOrderDetailService detailService; + + /** + * 查询领用记录详情列表 + * + * @param detailRequest + * @return + */ + @GetMapping("/device/collect/order/detail/filterList") + public BaseResponse filterList(FilterDeviceCollectOrderDetailRequest detailRequest) { + List list = detailService.filterList(detailRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 添加领用记录详情 + * + * @param addDetailRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/collect/order/detail/addOrderDetail") + public BaseResponse addOrderDetail(@RequestBody AddDeviceCollectOrderDetailRequest addDetailRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == addDetailRequest || StrUtil.isBlank(addDetailRequest.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return detailService.addOrderDetail(addDetailRequest); + } + + /** + * 更新设备领用记录详情 + * + * @param detailEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/collect/order/detail/updateOrderDetail") + public BaseResponse updateOrderDetail(@RequestBody DeviceCollectOrderDetailEntity detailEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == detailEntity || null == detailEntity.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return detailService.updateOrderDetail(detailEntity); + } + + /** + * 删除领用单据详情 + * + * @param detailRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/collect/order/detail/deleteOrderDetail") + public BaseResponse deleteOrderDetail(@RequestBody FilterDeviceCollectOrderDetailRequest detailRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == detailRequest || null == detailRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return detailService.deleteOrderDetail(detailRequest.getId()); + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectOrderController.java new file mode 100644 index 00000000..8fc1364e --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectOrderController.java @@ -0,0 +1,134 @@ +package com.glxp.api.admin.controller.inventory; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.DeviceCollectOrderResponse; +import com.glxp.api.admin.service.inventory.DeviceCollectOrderService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 设备领用记录接口 + */ +@Slf4j +@RestController +public class DeviceCollectOrderController { + + @Resource + private DeviceCollectOrderService deviceCollectOrderService; + + /** + * 设备领用记录列表查询接口 + * + * @param deviceCollectOrderRequest + * @return + */ + @GetMapping("/device/collect/order/filterList") + public BaseResponse filterList(FilterDeviceCollectOrderRequest deviceCollectOrderRequest) { + List list = deviceCollectOrderService.filterList(deviceCollectOrderRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 添加设备领用记录 + * + * @param deviceCollectOrderEntity + */ + @PostMapping("/device/collect/order/addOrder") + public BaseResponse addOrder(@RequestBody DeviceCollectOrderEntity deviceCollectOrderEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors() || null == deviceCollectOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceCollectOrderService.addDeviceCollectOrder(deviceCollectOrderEntity); + } + + /** + * 更新设备领用记录 + * + * @param deviceCollectOrderEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/collect/order/update") + public BaseResponse update(@RequestBody DeviceCollectOrderEntity deviceCollectOrderEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + + if (null == deviceCollectOrderEntity || null == deviceCollectOrderEntity.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceCollectOrderService.updateDeviceCollectOrder(deviceCollectOrderEntity); + } + + /** + * 设备领用记录提交审核 + * + * @param filterDeviceCollectOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/collect/order/submitAudit") + public BaseResponse submitAudit(@RequestBody FilterDeviceCollectOrderRequest filterDeviceCollectOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null == filterDeviceCollectOrderRequest || null == filterDeviceCollectOrderRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceCollectOrderService.submitAudit(filterDeviceCollectOrderRequest.getId()); + } + + /** + * 更新设备领用状态 + * + * @param filterDeviceCollectOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/collect/order/updateStatus") + public BaseResponse updateStatus(@RequestBody FilterDeviceCollectOrderRequest filterDeviceCollectOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null == filterDeviceCollectOrderRequest || null == filterDeviceCollectOrderRequest.getId() || null == filterDeviceCollectOrderRequest.getStatus()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceCollectOrderService.updateStatus(filterDeviceCollectOrderRequest.getId(), filterDeviceCollectOrderRequest.getStatus()); + } + + /** + * 删除设备领用记录 + * @param filterDeviceCollectOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/collect/order/delete") + public BaseResponse delete(@RequestBody FilterDeviceCollectOrderRequest filterDeviceCollectOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null == filterDeviceCollectOrderRequest || null == filterDeviceCollectOrderRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceCollectOrderService.deleteDeviceCollectOrder(filterDeviceCollectOrderRequest.getId()); + } + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderController.java new file mode 100644 index 00000000..67b0f919 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderController.java @@ -0,0 +1,97 @@ +package com.glxp.api.admin.controller.inventory; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.DeviceMAOrderResponse; +import com.glxp.api.admin.service.inventory.DeviceMAOrderService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 设备养护记录接口 + */ +@Slf4j +@RestController +public class DeviceMAOrderController { + + @Resource + private DeviceMAOrderService deviceMAOrderService; + + /** + * 查询设备养护记录列表 + * + * @param filterDeviceMAOrderRequest + * @return + */ + @GetMapping("/device/MA/order/filterList") + public BaseResponse filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest) { + List list = deviceMAOrderService.filterList(filterDeviceMAOrderRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 添加设备养护记录 + * + * @param deviceMAOrderEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/addMAOrder") + public BaseResponse addMAOrder(@RequestBody DeviceMAOrderEntity deviceMAOrderEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderService.addDeviceMAOrder(deviceMAOrderEntity); + } + + /** + * 更新设备养护记录 + * + * @param deviceMAOrderEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/updateMAOrder") + public BaseResponse updateMAOrder(@RequestBody DeviceMAOrderEntity deviceMAOrderEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderService.updateDeviceMAOrder(deviceMAOrderEntity); + } + + /** + * 删除设备养护记录 + * + * @param filterDeviceMAOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/deleteMAOrder") + public BaseResponse deleteMAOrder(@RequestBody FilterDeviceMAOrderRequest filterDeviceMAOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == filterDeviceMAOrderRequest || null == filterDeviceMAOrderRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceMAOrderService.deleteDeviceMAOrder(filterDeviceMAOrderRequest.getId()); + } + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java new file mode 100644 index 00000000..0bc578aa --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java @@ -0,0 +1,16 @@ +package com.glxp.api.admin.req.inventory; + +import lombok.Data; + +/** + * 添加设备领用记录详情参数 + */ +@Data +public class AddDeviceCollectOrderDetailRequest { + + /** + * 领用记录号 + */ + private String orderIdFk; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java new file mode 100644 index 00000000..8f53109c --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java @@ -0,0 +1,21 @@ +package com.glxp.api.admin.req.inventory; + +import lombok.Data; + +/** + * 设备领用记录详情接口参数 + */ +@Data +public class FilterDeviceCollectOrderDetailRequest { + + /** + * 设备领用记录详情ID + */ + private Integer id; + + /** + * 设备领用记录号 + */ + private String orderIdFk; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java new file mode 100644 index 00000000..f882172d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java @@ -0,0 +1,27 @@ +package com.glxp.api.admin.req.inventory; + +import lombok.Data; + +/** + * 设备领用记录相关参数 + */ +@Data +public class FilterDeviceCollectOrderRequest { + + /** + * 设备领用记录ID + */ + private Integer id; + + /** + * 设备领用记录号 + */ + private String orderId; + + /** + * 状态 0:草稿 1:未审核 2:已审核 + */ + private Integer status; + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java new file mode 100644 index 00000000..88ea9c4d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java @@ -0,0 +1,18 @@ +package com.glxp.api.admin.req.inventory; + +import lombok.Data; + +@Data +public class FilterDeviceMAOrderRequest { + + /** + * 设备养护记录ID + */ + private Integer id; + + /** + * 设备养护记录号 + */ + private String orderId; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderDetailResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderDetailResponse.java new file mode 100644 index 00000000..ba458fa0 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderDetailResponse.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.res.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; +import lombok.Data; + +/** + * 设备领用记录详情响应结果 + */ +@Data +public class DeviceCollectOrderDetailResponse extends DeviceCollectOrderDetailEntity { +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderResponse.java new file mode 100644 index 00000000..81b5640d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderResponse.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.res.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; +import lombok.Data; + +/** + * 设备领用记录响应结果 + */ +@Data +public class DeviceCollectOrderResponse extends DeviceCollectOrderEntity { +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java new file mode 100644 index 00000000..1a4bf7db --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.res.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; +import lombok.Data; + +/** + * 设备养护记录响应结果 + */ +@Data +public class DeviceMAOrderResponse extends DeviceMAOrderEntity { +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java new file mode 100644 index 00000000..bf82b665 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java @@ -0,0 +1,48 @@ +package com.glxp.api.admin.service.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; +import com.glxp.api.admin.req.inventory.AddDeviceCollectOrderDetailRequest; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; +import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; +import com.glxp.api.common.res.BaseResponse; + +import java.util.List; + +/** + * 设备领用记录详情Service + */ +public interface DeviceCollectOrderDetailService { + + /** + * 查询设备领用记录详情列表 + * + * @param detailRequest + * @return + */ + List filterList(FilterDeviceCollectOrderDetailRequest detailRequest); + + /** + * 添加设备领用记录详情 + * + * @param addDetailRequest + * @return + */ + BaseResponse addOrderDetail(AddDeviceCollectOrderDetailRequest addDetailRequest); + + /** + * 更新设备领用记录详情 + * + * @param detailEntity + * @return + */ + BaseResponse updateOrderDetail(DeviceCollectOrderDetailEntity detailEntity); + + /** + * 删除设备领用记录详情 + * + * @param detailRequest + * @return + */ + BaseResponse deleteOrderDetail(Integer id); + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderService.java new file mode 100644 index 00000000..3b335f72 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderService.java @@ -0,0 +1,61 @@ +package com.glxp.api.admin.service.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderRequest; +import com.glxp.api.admin.res.inventory.DeviceCollectOrderResponse; +import com.glxp.api.common.res.BaseResponse; + +import java.util.List; + +public interface DeviceCollectOrderService { + + /** + * 查询设备领用记录列表 + * + * @param deviceCollectOrderRequest + * @return + */ + List filterList(FilterDeviceCollectOrderRequest deviceCollectOrderRequest); + + /** + * 新增设备领用记录 + * + * @param deviceCollectOrderEntity + * @return + */ + BaseResponse addDeviceCollectOrder(DeviceCollectOrderEntity deviceCollectOrderEntity); + + /** + * 更新设备领用记录 + * + * @param deviceCollectOrderEntity + * @return + */ + BaseResponse updateDeviceCollectOrder(DeviceCollectOrderEntity deviceCollectOrderEntity); + + /** + * 设备领用记录提交审核 + * + * @param id + * @return + */ + BaseResponse submitAudit(Integer id); + + /** + * 更新设备领用记录状态 + * + * @param id + * @param status + * @return + */ + BaseResponse updateStatus(Integer id, Integer status); + + /** + * 删除设备领用记录 + * + * @param id + * @return + */ + BaseResponse deleteDeviceCollectOrder(Integer id); + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderService.java new file mode 100644 index 00000000..3aa40e54 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderService.java @@ -0,0 +1,47 @@ +package com.glxp.api.admin.service.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderRequest; +import com.glxp.api.admin.res.inventory.DeviceMAOrderResponse; +import com.glxp.api.common.res.BaseResponse; + +import java.util.List; + +/** + * 设备养护记录Service + */ +public interface DeviceMAOrderService { + + /** + * 查询设备养护记录列表 + * + * @param filterDeviceMAOrderRequest + * @return + */ + List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest); + + /** + * 添加设备养护记录 + * + * @param deviceMAOrderEntity + * @return + */ + BaseResponse addDeviceMAOrder(DeviceMAOrderEntity deviceMAOrderEntity); + + /** + * 更新设备养护记录 + * + * @param deviceMAOrderEntity + * @return + */ + BaseResponse updateDeviceMAOrder(DeviceMAOrderEntity deviceMAOrderEntity); + + /** + * 删除设备养护记录 + * + * @param id + * @return + */ + BaseResponse deleteDeviceMAOrder(Integer id); + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java new file mode 100644 index 00000000..6a36ea41 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java @@ -0,0 +1,40 @@ +package com.glxp.api.admin.service.inventory.impl; + +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; +import com.glxp.api.admin.req.inventory.AddDeviceCollectOrderDetailRequest; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; +import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; +import com.glxp.api.admin.service.inventory.DeviceCollectOrderDetailService; +import com.glxp.api.common.res.BaseResponse; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDetailService{ + + + @Override + public List filterList(FilterDeviceCollectOrderDetailRequest detailRequest) { + return null; + } + + @Override + public BaseResponse addOrderDetail(AddDeviceCollectOrderDetailRequest addDetailRequest) { + return null; + } + + @Override + public BaseResponse updateOrderDetail(DeviceCollectOrderDetailEntity detailEntity) { + return null; + } + + @Override + public BaseResponse deleteOrderDetail(Integer id) { + return null; + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java new file mode 100644 index 00000000..d9119df2 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java @@ -0,0 +1,53 @@ +package com.glxp.api.admin.service.inventory.impl; + +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderRequest; +import com.glxp.api.admin.res.inventory.DeviceCollectOrderResponse; +import com.glxp.api.admin.service.inventory.DeviceCollectOrderService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceCollectOrderServiceImpl implements DeviceCollectOrderService { + + + + @Override + public List filterList(FilterDeviceCollectOrderRequest deviceCollectOrderRequest) { + return null; + } + + @Override + public BaseResponse addDeviceCollectOrder(DeviceCollectOrderEntity deviceCollectOrderEntity) { + return null; + } + + @Override + public BaseResponse updateDeviceCollectOrder(DeviceCollectOrderEntity deviceCollectOrderEntity) { + return null; + } + + @Override + public BaseResponse submitAudit(Integer id) { + return null; + } + + @Override + public BaseResponse updateStatus(Integer id, Integer status) { + + return null; + } + + @Override + public BaseResponse deleteDeviceCollectOrder(Integer id) { + return null; + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java new file mode 100644 index 00000000..007a2529 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java @@ -0,0 +1,47 @@ +package com.glxp.api.admin.service.inventory.impl; + +import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderRequest; +import com.glxp.api.admin.res.inventory.DeviceMAOrderResponse; +import com.glxp.api.admin.service.inventory.DeviceMAOrderService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { + + + @Override + public List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest) { + return null; + } + + @Override + public BaseResponse addDeviceMAOrder(DeviceMAOrderEntity deviceMAOrderEntity) { + if (null == deviceMAOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return null; + } + + @Override + public BaseResponse updateDeviceMAOrder(DeviceMAOrderEntity deviceMAOrderEntity) { + if (null == deviceMAOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return null; + } + + @Override + public BaseResponse deleteDeviceMAOrder(Integer id) { + return null; + } +} From 7ba27b3445e49a85e9eb08a86518a341d231969a Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 30 Nov 2022 18:05:05 +0800 Subject: [PATCH 25/41] =?UTF-8?q?1.=E4=BF=9D=E5=AD=98=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/impl/DeviceCollectOrderServiceImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java index d9119df2..86c274dc 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java @@ -1,16 +1,17 @@ package com.glxp.api.admin.service.inventory.impl; +import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDao; +import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderRequest; import com.glxp.api.admin.res.inventory.DeviceCollectOrderResponse; import com.glxp.api.admin.service.inventory.DeviceCollectOrderService; -import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; -import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.List; @Slf4j @@ -18,7 +19,10 @@ import java.util.List; @Transactional(rollbackFor = Exception.class) public class DeviceCollectOrderServiceImpl implements DeviceCollectOrderService { - + @Resource + private DeviceCollectOrderDao deviceCollectOrderDao; + @Resource + private DeviceCollectOrderDetailDao deviceCollectOrderDetailDao; @Override public List filterList(FilterDeviceCollectOrderRequest deviceCollectOrderRequest) { From 6ce835f1188ba3079f2d333590516cd765830178 Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 1 Dec 2022 10:40:15 +0800 Subject: [PATCH 26/41] =?UTF-8?q?1.=E4=BF=9D=E5=AD=98=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/admin/constant/Constant.java | 10 ++++ .../dao/inventory/DeviceCollectOrderDao.java | 15 +++++ .../DeviceCollectOrderDetailDao.java | 4 ++ .../inventory/DeviceCollectOrderEntity.java | 2 +- .../FilterDeviceCollectOrderRequest.java | 3 +- .../inventory/DeviceCollectOrderResponse.java | 6 ++ .../impl/DeviceCollectOrderServiceImpl.java | 57 +++++++++++++++++-- .../inventory/DeviceCollectOrderDao.xml | 30 ++++++++-- .../inventory/DeviceCollectOrderDetailDao.xml | 7 +++ 9 files changed, 123 insertions(+), 11 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java index 0723bf83..9c0fdaa8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java +++ b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java @@ -27,6 +27,16 @@ public class Constant { */ public static final String MA_ORDER = "MA"; + /** + * 设备领用记录前缀 + */ + public static final String DEVICE_COLLECT_ORDER = "DCO"; + + /** + * 设备养护记录前缀 + */ + public static final String DEVICE_MA_ORDER = "DMA"; + public static final String dlThrProducts = "THR_DOWNLOAD_PRODUCTS"; public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS"; public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS"; diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java index 812cbe1d..cf66ef5a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java @@ -1,6 +1,11 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderRequest; +import com.glxp.api.admin.res.inventory.DeviceCollectOrderResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; public interface DeviceCollectOrderDao { int deleteByPrimaryKey(Integer id); @@ -14,4 +19,14 @@ public interface DeviceCollectOrderDao { int updateByPrimaryKeySelective(DeviceCollectOrderEntity record); int updateByPrimaryKey(DeviceCollectOrderEntity record); + + List filterList(FilterDeviceCollectOrderRequest deviceCollectOrderRequest); + + /** + * 根据ID查询领用记录号 + * + * @param id + * @return + */ + String selectOrderIdById(@Param("id") Integer id); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java index 92353490..c175569c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java @@ -2,6 +2,8 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; +import java.util.List; + public interface DeviceCollectOrderDetailDao { int deleteByPrimaryKey(Integer id); @@ -14,4 +16,6 @@ public interface DeviceCollectOrderDetailDao { int updateByPrimaryKeySelective(DeviceCollectOrderDetailEntity record); int updateByPrimaryKey(DeviceCollectOrderDetailEntity record); + + List selectByOrderId(String orderId); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java index 9a054c94..eaf9c77a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java @@ -45,5 +45,5 @@ public class DeviceCollectOrderEntity { /** * 状态 0:草稿 1:未审核 2:已审核 */ - private Boolean status; + private Integer status; } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java index f882172d..d968164d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java @@ -1,12 +1,13 @@ package com.glxp.api.admin.req.inventory; +import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; /** * 设备领用记录相关参数 */ @Data -public class FilterDeviceCollectOrderRequest { +public class FilterDeviceCollectOrderRequest extends ListPageRequest { /** * 设备领用记录ID diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderResponse.java index 81b5640d..94829343 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderResponse.java @@ -8,4 +8,10 @@ import lombok.Data; */ @Data public class DeviceCollectOrderResponse extends DeviceCollectOrderEntity { + + /** + * 领用部门 + */ + private String deptName; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java index 86c274dc..47a65131 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java @@ -1,17 +1,29 @@ 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.constant.Constant; import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDao; import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderRequest; import com.glxp.api.admin.res.inventory.DeviceCollectOrderResponse; +import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.DeviceCollectOrderService; +import com.glxp.api.admin.util.DateUtil; +import com.glxp.api.admin.util.GennerOrderUtils; +import com.glxp.api.admin.util.OrderNoTypeBean; +import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Collections; import java.util.List; @Slf4j @@ -23,25 +35,62 @@ public class DeviceCollectOrderServiceImpl implements DeviceCollectOrderService private DeviceCollectOrderDao deviceCollectOrderDao; @Resource private DeviceCollectOrderDetailDao deviceCollectOrderDetailDao; + @Resource + private GennerOrderUtils gennerOrderUtils; + @Resource + private CustomerService customerService; @Override public List filterList(FilterDeviceCollectOrderRequest deviceCollectOrderRequest) { - return null; + if (null == deviceCollectOrderRequest) { + return Collections.emptyList(); + } + if (null != deviceCollectOrderRequest.getPage() && null != deviceCollectOrderRequest.getLimit()) { + PageHelper.offsetPage((deviceCollectOrderRequest.getPage() - 1) * deviceCollectOrderRequest.getLimit(), deviceCollectOrderRequest.getLimit()); + } + return deviceCollectOrderDao.filterList(deviceCollectOrderRequest); } @Override public BaseResponse addDeviceCollectOrder(DeviceCollectOrderEntity deviceCollectOrderEntity) { - return null; + if (null == deviceCollectOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + //生成单号 + String orderId = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEVICE_COLLECT_ORDER, "yyyyMMdd")); + deviceCollectOrderEntity.setOrderId(orderId); + deviceCollectOrderEntity.setCreateTime(DateUtil.getDateTime()); + deviceCollectOrderEntity.setStatus(0); + deviceCollectOrderEntity.setUpdateTime(DateUtil.getDateTime()); + String userName = customerService.getUserBean().getUserName(); + deviceCollectOrderEntity.setCreateUser(userName); + deviceCollectOrderDao.insert(deviceCollectOrderEntity); + return ResultVOUtils.success(deviceCollectOrderEntity); } @Override public BaseResponse updateDeviceCollectOrder(DeviceCollectOrderEntity deviceCollectOrderEntity) { - return null; + if (null == deviceCollectOrderEntity || null == deviceCollectOrderEntity.getId() || StrUtil.isBlank(deviceCollectOrderEntity.getOrderId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceCollectOrderEntity.setUpdateTime(DateUtil.getDateTime()); + deviceCollectOrderDao.updateByPrimaryKey(deviceCollectOrderEntity); + return ResultVOUtils.success("更新成功"); } @Override public BaseResponse submitAudit(Integer id) { - return null; + if (null == id) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + //查询设备领用记录详情,判断是否每个设备都可以分辨唯一,如果不能,则无法提交审核 + String orderId = deviceCollectOrderDao.selectOrderIdById(id); + List detailList = deviceCollectOrderDetailDao.selectByOrderId(orderId); + if (CollUtil.isEmpty(detailList)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加领用设备!"); + } + + return ResultVOUtils.success("提交成功!"); } @Override diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml index 3ec3fccc..cc45d63e 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml @@ -9,7 +9,7 @@ - + @@ -43,7 +43,7 @@ `status`) values (#{orderId,jdbcType=VARCHAR}, #{deptCode,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR}, #{auditUser,jdbcType=VARCHAR}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, - #{status,jdbcType=BOOLEAN}) + #{status,jdbcType=INTEGER}) - #{status,jdbcType=BOOLEAN}, + #{status,jdbcType=INTEGER}, @@ -120,7 +120,7 @@ updateTime = #{updateTime,jdbcType=VARCHAR}, - `status` = #{status,jdbcType=BOOLEAN}, + `status` = #{status,jdbcType=INTEGER}, where id = #{id,jdbcType=INTEGER} @@ -134,7 +134,27 @@ auditUser = #{auditUser,jdbcType=VARCHAR}, createTime = #{createTime,jdbcType=VARCHAR}, updateTime = #{updateTime,jdbcType=VARCHAR}, - `status` = #{status,jdbcType=BOOLEAN} + `status` = #{status,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} + + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml index 82016b41..2b4c4ad4 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml @@ -243,4 +243,11 @@ receiveSpaceCode = #{receiveSpaceCode,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file From 889cd671f685ff9636b902f4f23f3ec381f38785 Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 1 Dec 2022 15:57:59 +0800 Subject: [PATCH 27/41] =?UTF-8?q?1.=E4=BF=9D=E5=AD=98=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceCollectDetailController.java | 4 +- .../dao/inventory/DeviceCollectOrderDao.java | 8 ++++ .../DeviceCollectOrderDetailDao.java | 10 +++++ ...FilterDeviceCollectOrderDetailRequest.java | 3 +- .../inventory/FilterDeviceMAOrderRequest.java | 3 +- .../DeviceCollectOrderDetailService.java | 2 +- .../DeviceCollectOrderDetailServiceImpl.java | 24 ++++++++++- .../impl/DeviceCollectOrderServiceImpl.java | 43 +++++++++++++++++-- .../glxp/api/admin/util/FilterUdiUtils.java | 11 +++++ .../inventory/DeviceCollectOrderDao.xml | 4 ++ .../inventory/DeviceCollectOrderDetailDao.xml | 32 ++++++++++++++ 11 files changed, 133 insertions(+), 11 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java index df1a5de7..a42f6dac 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java @@ -95,10 +95,10 @@ public class DeviceCollectDetailController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - if (null == detailRequest || null == detailRequest.getId()) { + if (null == detailRequest) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - return detailService.deleteOrderDetail(detailRequest.getId()); + return detailService.deleteOrderDetail(detailRequest); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java index cf66ef5a..b2a3f611 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java @@ -29,4 +29,12 @@ public interface DeviceCollectOrderDao { * @return */ String selectOrderIdById(@Param("id") Integer id); + + /** + * 更新设备领用记录状态 + * + * @param status 状态值 + * @param id + */ + void updateStatusById(@Param("status") int status, @Param("id") Integer id); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java index c175569c..c1bbf97f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java @@ -1,6 +1,8 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; +import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; import java.util.List; @@ -18,4 +20,12 @@ public interface DeviceCollectOrderDetailDao { int updateByPrimaryKey(DeviceCollectOrderDetailEntity record); List selectByOrderId(String orderId); + + /** + * 查询领用记录详情列表 + * + * @param detailRequest + * @return + */ + List filterList(FilterDeviceCollectOrderDetailRequest detailRequest); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java index 8f53109c..2db833ea 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java @@ -1,12 +1,13 @@ package com.glxp.api.admin.req.inventory; +import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; /** * 设备领用记录详情接口参数 */ @Data -public class FilterDeviceCollectOrderDetailRequest { +public class FilterDeviceCollectOrderDetailRequest extends ListPageRequest { /** * 设备领用记录详情ID diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java index 88ea9c4d..4fa4b63c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java @@ -1,9 +1,10 @@ package com.glxp.api.admin.req.inventory; +import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; @Data -public class FilterDeviceMAOrderRequest { +public class FilterDeviceMAOrderRequest extends ListPageRequest { /** * 设备养护记录ID diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java index bf82b665..c43b3b9e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java @@ -43,6 +43,6 @@ public interface DeviceCollectOrderDetailService { * @param detailRequest * @return */ - BaseResponse deleteOrderDetail(Integer id); + BaseResponse deleteOrderDetail(FilterDeviceCollectOrderDetailRequest detailRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java index 6a36ea41..fe2e88c1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java @@ -1,15 +1,22 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; import com.glxp.api.admin.req.inventory.AddDeviceCollectOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; import com.glxp.api.admin.service.inventory.DeviceCollectOrderDetailService; +import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.util.Collections; import java.util.List; @Slf4j @@ -17,14 +24,23 @@ import java.util.List; @Transactional(rollbackFor = Exception.class) public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDetailService{ + @Resource + private DeviceCollectOrderDetailDao deviceCollectOrderDetailDao; @Override public List filterList(FilterDeviceCollectOrderDetailRequest detailRequest) { - return null; + if (null == detailRequest) { + return Collections.emptyList(); + } + if (null == detailRequest.getPage() && null == detailRequest.getLimit()) { + PageHelper.offsetPage((detailRequest.getPage() - 1) * detailRequest.getLimit(), detailRequest.getLimit()); + } + return deviceCollectOrderDetailDao.filterList(detailRequest); } @Override public BaseResponse addOrderDetail(AddDeviceCollectOrderDetailRequest addDetailRequest) { + return null; } @@ -34,7 +50,11 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe } @Override - public BaseResponse deleteOrderDetail(Integer id) { + public BaseResponse deleteOrderDetail(FilterDeviceCollectOrderDetailRequest detailRequest) { + if (null == detailRequest.getId() && StrUtil.isBlank(detailRequest.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return null; } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java index 47a65131..edbec9b2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java @@ -1,11 +1,13 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDao; import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; +import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderRequest; @@ -13,6 +15,7 @@ import com.glxp.api.admin.res.inventory.DeviceCollectOrderResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.DeviceCollectOrderService; import com.glxp.api.admin.util.DateUtil; +import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.admin.util.GennerOrderUtils; import com.glxp.api.admin.util.OrderNoTypeBean; import com.glxp.api.common.enums.ResultEnum; @@ -85,22 +88,54 @@ public class DeviceCollectOrderServiceImpl implements DeviceCollectOrderService } //查询设备领用记录详情,判断是否每个设备都可以分辨唯一,如果不能,则无法提交审核 String orderId = deviceCollectOrderDao.selectOrderIdById(id); + if (StrUtil.isBlank(orderId)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "领用记录不存在!"); + } List detailList = deviceCollectOrderDetailDao.selectByOrderId(orderId); if (CollUtil.isEmpty(detailList)) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加领用设备!"); } - + for (DeviceCollectOrderDetailEntity deviceCollectOrderDetailEntity : detailList) { + if (StrUtil.isBlank(deviceCollectOrderDetailEntity.getSerialNo())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "领用设备中存在无序列号设备,无法提交审核,请完善设备信息!"); + } + } + //更新领用记录状态为待审核 + deviceCollectOrderDao.updateStatusById(1, id); return ResultVOUtils.success("提交成功!"); } @Override public BaseResponse updateStatus(Integer id, Integer status) { - - return null; + if (null == id || null == status) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, ""); + } + DeviceCollectOrderEntity deviceCollectOrderEntity = deviceCollectOrderDao.selectByPrimaryKey(id); + if (null == deviceCollectOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "领用记录不出存在!"); + } + //查询此领用记录详情中定义序列号的记录,重新生成码 + List detailEntityList = deviceCollectOrderDetailDao.selectByOrderId(deviceCollectOrderEntity.getOrderId()); + detailEntityList.forEach(detailEntity -> { + if (StrUtil.isBlank(detailEntity.getCode())) { + WarehouseEntity warehouseEntity = new WarehouseEntity(); + BeanUtil.copyProperties(detailEntity, warehouseEntity); + String code = FilterUdiUtils.transGlxpHasSerStr(warehouseEntity); + detailEntity.setCode(code); + //更新详情的条码信息 + deviceCollectOrderDetailDao.updateByPrimaryKey(detailEntity); + } + }); + deviceCollectOrderDao.updateStatusById(status, id); + return ResultVOUtils.success("更新成功!"); } @Override public BaseResponse deleteDeviceCollectOrder(Integer id) { - return null; + if (null == id) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceCollectOrderDao.deleteByPrimaryKey(id); + return ResultVOUtils.success("删除成功!"); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java index 85a7fff1..bc021d04 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java @@ -308,4 +308,15 @@ public class FilterUdiUtils { "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#"; return udiCode; } + + /** + * 生成有序列号的UDI码 + * @param warehouseEntity + * @return + */ + public static String transGlxpHasSerStr(WarehouseEntity warehouseEntity) { + String udiCode = "#" + warehouseEntity.getNameCode() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + + "#" + warehouseEntity.getBatchNo() + "#" + warehouseEntity.getSerialNo() + "#" + "#"; + return udiCode; + } } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml index cc45d63e..7101c97c 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml @@ -157,4 +157,8 @@ from device_collect_order where id = #{id} + + + update device_collect_order set status = #{status} and id = #{id} + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml index 2b4c4ad4..4a0b6a47 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml @@ -250,4 +250,36 @@ from device_collect_order_detail where orderIdFk = #{orderId} + + \ No newline at end of file From b11e8fdd57379e2d479a355b23413a8437600e3a Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 1 Dec 2022 18:03:12 +0800 Subject: [PATCH 28/41] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=85=BB=E6=8A=A4=E8=AE=B0=E5=BD=95=E8=AF=A6=E6=83=85=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceCollectDetailController.java | 14 +++++ .../DeviceCollectOrderDetailDao.java | 8 +++ .../AddDeviceCollectOrderDetailRequest.java | 12 +++++ .../DeviceCollectOrderDetailService.java | 7 +++ .../DeviceCollectOrderDetailServiceImpl.java | 52 +++++++++++++++++-- .../inventory/DeviceCollectOrderDetailDao.xml | 6 +++ 6 files changed, 96 insertions(+), 3 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java index a42f6dac..d5d63a25 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java @@ -47,6 +47,20 @@ public class DeviceCollectDetailController { return ResultVOUtils.success(pageSimpleResponse); } + /** + * 校验条码库存信息 + * + * @param code + * @return + */ + @GetMapping("/device/collect/order/detail/checkCode") + public BaseResponse checkCode(String code) { + if (StrUtil.isBlank(code)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return detailService.checkCode(code); + } + /** * 添加领用记录详情 * diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java index c1bbf97f..e31ce9f0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java @@ -3,6 +3,7 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -28,4 +29,11 @@ public interface DeviceCollectOrderDetailDao { * @return */ List filterList(FilterDeviceCollectOrderDetailRequest detailRequest); + + /** + * 根据领用记录号删除领用记录 + * + * @param orderIdFk + */ + void deleteByOrderId(@Param("orderIdFk") String orderIdFk); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java index 0bc578aa..635cbc75 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java @@ -2,6 +2,8 @@ package com.glxp.api.admin.req.inventory; import lombok.Data; +import java.util.List; + /** * 添加设备领用记录详情参数 */ @@ -13,4 +15,14 @@ public class AddDeviceCollectOrderDetailRequest { */ private String orderIdFk; + /** + * 扫描条码内容 + */ + private String code; + + /** + * 产品库存ID集合 + */ + private List invProductIds; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java index c43b3b9e..66ed5f94 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java @@ -45,4 +45,11 @@ public interface DeviceCollectOrderDetailService { */ BaseResponse deleteOrderDetail(FilterDeviceCollectOrderDetailRequest detailRequest); + /** + * 添加设备领用详情校验码 + * + * @param code + * @return + */ + BaseResponse checkCode(String code); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java index fe2e88c1..a042dc2d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java @@ -1,13 +1,19 @@ 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.inventory.DeviceCollectOrderDetailDao; +import com.glxp.api.admin.dao.inventory.InvProductDetailDao; +import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; +import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.req.inventory.AddDeviceCollectOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; +import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; import com.glxp.api.admin.service.inventory.DeviceCollectOrderDetailService; +import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -22,10 +28,12 @@ import java.util.List; @Slf4j @Service @Transactional(rollbackFor = Exception.class) -public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDetailService{ +public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDetailService { @Resource private DeviceCollectOrderDetailDao deviceCollectOrderDetailDao; + @Resource + private InvProductDetailDao invProductDetailDao; @Override public List filterList(FilterDeviceCollectOrderDetailRequest detailRequest) { @@ -40,13 +48,30 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe @Override public BaseResponse addOrderDetail(AddDeviceCollectOrderDetailRequest addDetailRequest) { + if (null == addDetailRequest || StrUtil.isBlank(addDetailRequest.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (StrUtil.isBlank(addDetailRequest.getCode()) || CollUtil.isEmpty(addDetailRequest.getInvProductIds())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加领用设备!"); + } + if (StrUtil.isNotBlank(addDetailRequest.getCode())) { + //解析条码 + UdiEntity udi = FilterUdiUtils.getUdi(addDetailRequest.getCode()); + DeviceCollectOrderDetailEntity orderDetail = new DeviceCollectOrderDetailEntity(); + + + } return null; } @Override public BaseResponse updateOrderDetail(DeviceCollectOrderDetailEntity detailEntity) { - return null; + if (null == detailEntity || null == detailEntity.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceCollectOrderDetailDao.updateByPrimaryKey(detailEntity); + return ResultVOUtils.success("更新成功!"); } @Override @@ -54,7 +79,28 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe if (null == detailRequest.getId() && StrUtil.isBlank(detailRequest.getOrderIdFk())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } + if (null == detailRequest.getId()) { + deviceCollectOrderDetailDao.deleteByPrimaryKey(detailRequest.getId()); + } else if (null == detailRequest.getOrderIdFk()) { + deviceCollectOrderDetailDao.deleteByOrderId(detailRequest.getOrderIdFk()); + } + return ResultVOUtils.success("删除成功!"); + } - return null; + @Override + public BaseResponse checkCode(String code) { + //校验码在库存中是否存在 + //查询此条码是否在库存中存在 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setOriginCode(code); + List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); + if (CollUtil.isNotEmpty(invProductDetailEntities)) { + if (invProductDetailEntities.size() > 1) { + return ResultVOUtils.error(ResultEnum.DATA_REPEAT,"此设备记录存在于多个仓库,请选择此设备当前所处仓库!"); + } else { + return ResultVOUtils.success("校验成功!"); + } + } + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此条码在库存中不存在,无法领用!"); } } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml index 4a0b6a47..cae4e91d 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml @@ -282,4 +282,10 @@ + + + delete + from device_collect_order_detail + where orderIdFk = #{orderIdFk} + \ No newline at end of file From f10b0f29c1061509bd03c60ae09e163114f58e55 Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 1 Dec 2022 22:00:47 +0800 Subject: [PATCH 29/41] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=85=BB=E6=8A=A4=E8=AE=B0=E5=BD=95=E7=9B=B8=E5=85=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E9=80=BB=E8=BE=91=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceCollectOrderDetailDao.java | 9 +++ .../admin/dao/inventory/DeviceMaOrderDao.java | 12 ++++ .../DeviceCollectOrderDetailEntity.java | 14 ++++- .../entity/inventory/DeviceMAOrderEntity.java | 4 +- .../AddDeviceCollectOrderDetailRequest.java | 15 +++++ ...FilterDeviceCollectOrderDetailRequest.java | 5 ++ .../res/inventory/DeviceMAOrderResponse.java | 6 ++ .../DeviceCollectOrderDetailServiceImpl.java | 40 ++++++++++++- .../impl/DeviceMAOrderServiceImpl.java | 57 +++++++++++++++++-- .../inventory/DeviceCollectOrderDetailDao.xml | 48 +++++++++++++++- .../mapper/inventory/DeviceMaOrderDao.xml | 22 +++++++ scripts/设备领用养护功能表.sql | 10 +++- 12 files changed, 229 insertions(+), 13 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java index e31ce9f0..7103535b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java @@ -36,4 +36,13 @@ public interface DeviceCollectOrderDetailDao { * @param orderIdFk */ void deleteByOrderId(@Param("orderIdFk") String orderIdFk); + + /** + * 查询设备领用记录详情 + * + * @param filterDeviceCollectOrderDetailRequest + * @return + */ + List selectList(FilterDeviceCollectOrderDetailRequest filterDeviceCollectOrderDetailRequest); + } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java index d9990261..acb3fefc 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java @@ -1,6 +1,10 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderRequest; +import com.glxp.api.admin.res.inventory.DeviceMAOrderResponse; + +import java.util.List; public interface DeviceMaOrderDao { int deleteByPrimaryKey(Integer id); @@ -14,4 +18,12 @@ public interface DeviceMaOrderDao { int updateByPrimaryKeySelective(DeviceMAOrderEntity record); int updateByPrimaryKey(DeviceMAOrderEntity record); + + /** + * 查询设备养护记录列表 + * + * @param filterDeviceMAOrderRequest + * @return + */ + List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderDetailEntity.java index 1f19c303..3e4e41cd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderDetailEntity.java @@ -68,7 +68,12 @@ public class DeviceCollectOrderDetailEntity { private String updateTime; /** - * 领用仓库 + * 领用仓库 + */ + private String invStorageCode; + + /** + * 领用分库 */ private String invWarehouseCode; @@ -78,7 +83,12 @@ public class DeviceCollectOrderDetailEntity { private String invSpaceCode; /** - * 接收仓库 + * 接收仓库 + */ + private String receiveStorageCode; + + /** + * 接收分库 */ private String receiveWarehouseCode; diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java index 0ae0d297..51ad8a1b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java @@ -57,12 +57,12 @@ public class DeviceMAOrderEntity { /** * 设备状态 0:异常 1:正常 */ - private Boolean deviceStatus; + private Integer deviceStatus; /** * 养护状态 0:未养护 1:已养护 */ - private Boolean maintenanceStatus; + private Integer maintenanceStatus; /** * 养护人 diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java index 635cbc75..59d3f923 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/AddDeviceCollectOrderDetailRequest.java @@ -25,4 +25,19 @@ public class AddDeviceCollectOrderDetailRequest { */ private List invProductIds; + /** + * 仓库码 + */ + private String invStorageCode; + + /** + * 货位码 + */ + private String invWarehouseCode; + + /** + * 货位码 + */ + private String invSpaceCode; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java index 2db833ea..6565daaf 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java @@ -19,4 +19,9 @@ public class FilterDeviceCollectOrderDetailRequest extends ListPageRequest { */ private String orderIdFk; + /** + * 码 + */ + private String code; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java index 1a4bf7db..cb1785f1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java @@ -8,4 +8,10 @@ import lombok.Data; */ @Data public class DeviceMAOrderResponse extends DeviceMAOrderEntity { + + /** + * 产品名称 + */ + private String productName; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java index a042dc2d..4970ac66 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java @@ -13,6 +13,7 @@ import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; import com.glxp.api.admin.service.inventory.DeviceCollectOrderDetailService; +import com.glxp.api.admin.util.DateUtil; import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; @@ -55,14 +56,49 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加领用设备!"); } if (StrUtil.isNotBlank(addDetailRequest.getCode())) { + //通过条码添加 + + + //设置库存详情查询参数 + FilterInvProductDetailRequest invProductDetailRequest = new FilterInvProductDetailRequest(); + invProductDetailRequest.setCode(addDetailRequest.getCode()); + + //判断是否有选入的仓库信息,如果没有,说明此条码仅存在一条仓库信息,直接使用即可 + if (StrUtil.isNotBlank(addDetailRequest.getInvStorageCode())) { + invProductDetailRequest.setInvStorageCode(addDetailRequest.getInvStorageCode()); + invProductDetailRequest.setInvWarehouseCode(addDetailRequest.getInvWarehouseCode()); + invProductDetailRequest.setInvSpaceCode(addDetailRequest.getInvSpaceCode()); + } + //查询库存详情 + List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(invProductDetailRequest); + InvProductDetailEntity invProductDetailEntity = invProductDetailEntities.get(0); + //解析条码 UdiEntity udi = FilterUdiUtils.getUdi(addDetailRequest.getCode()); + //构造设备领用详情参数 DeviceCollectOrderDetailEntity orderDetail = new DeviceCollectOrderDetailEntity(); + orderDetail.setOrderIdFk(addDetailRequest.getOrderIdFk()); + orderDetail.setOriginCode(addDetailRequest.getCode()); + orderDetail.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); + orderDetail.setInvWarehouseCode(invProductDetailRequest.getInvWarehouseCode()); + orderDetail.setInvSpaceCode(invProductDetailRequest.getInvSpaceCode()); + orderDetail.setProductId(invProductDetailEntity.getProductIdFk()); + orderDetail.setBatchNo(udi.getBatchNo()); + orderDetail.setProduceDate(udi.getProduceDate()); + orderDetail.setExpireDate(udi.getExpireDate()); + //判断此条码有无序列号,如果有序列号,则直接使用此条码当做此设备的唯一码,没有则留空唯一码,待后续提交审核时再生成 + if (StrUtil.isNotBlank(udi.getSerialNo())) { + orderDetail.setSerialNo(udi.getSerialNo()); + orderDetail.setCode(addDetailRequest.getCode()); + } + orderDetail.setUpdateTime(DateUtil.getDateTime()); + deviceCollectOrderDetailDao.insert(orderDetail); + } else { + //通过选库存添加 } - - return null; + return ResultVOUtils.success("添加成功!"); } @Override diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java index 007a2529..c71507d2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java @@ -1,9 +1,21 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.constant.Constant; +import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; +import com.glxp.api.admin.dao.inventory.DeviceMaOrderDao; +import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderRequest; import com.glxp.api.admin.res.inventory.DeviceMAOrderResponse; +import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.DeviceMAOrderService; +import com.glxp.api.admin.util.DateUtil; +import com.glxp.api.admin.util.GennerOrderUtils; +import com.glxp.api.admin.util.OrderNoTypeBean; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -11,6 +23,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.util.Collections; import java.util.List; @Slf4j @@ -18,10 +32,24 @@ import java.util.List; @Transactional(rollbackFor = Exception.class) public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { + @Resource + private DeviceMaOrderDao deviceMaOrderDao; + @Resource + private DeviceCollectOrderDetailDao deviceCollectOrderDetailDao; + @Resource + private CustomerService customerService; + @Resource + private GennerOrderUtils gennerOrderUtils; @Override public List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest) { - return null; + if (null == filterDeviceMAOrderRequest) { + return Collections.emptyList(); + } + if (null != filterDeviceMAOrderRequest.getPage() && null != filterDeviceMAOrderRequest.getLimit()) { + PageHelper.offsetPage((filterDeviceMAOrderRequest.getPage() - 1) * filterDeviceMAOrderRequest.getLimit(), filterDeviceMAOrderRequest.getLimit()); + } + return deviceMaOrderDao.filterList(filterDeviceMAOrderRequest); } @Override @@ -29,7 +57,19 @@ public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { if (null == deviceMAOrderEntity) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - return null; + FilterDeviceCollectOrderDetailRequest filterDeviceCollectOrderDetailRequest = new FilterDeviceCollectOrderDetailRequest(); + filterDeviceCollectOrderDetailRequest.setCode(deviceMAOrderEntity.getCode()); + List deviceCollectOrderDetailEntityList = deviceCollectOrderDetailDao.selectList(filterDeviceCollectOrderDetailRequest); + DeviceCollectOrderDetailEntity deviceCollectOrderDetailEntity = deviceCollectOrderDetailEntityList.get(0); + BeanUtil.copyProperties(deviceCollectOrderDetailEntity, deviceMAOrderEntity); + deviceMAOrderEntity.setOrderId(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEVICE_MA_ORDER, "yyyyMMdd"))); + deviceMAOrderEntity.setCreateTime(DateUtil.getDateTime()); + deviceMAOrderEntity.setCreateUser(customerService.getUserBean().getUserName()); + deviceMAOrderEntity.setUpdateTime(DateUtil.getDateTime()); + deviceMAOrderEntity.setDeviceStatus(1); + deviceMAOrderEntity.setMaintenanceStatus(0); + deviceMaOrderDao.insert(deviceMAOrderEntity); + return ResultVOUtils.success("添加成功!"); } @Override @@ -37,11 +77,20 @@ public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { if (null == deviceMAOrderEntity) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - return null; + if (null == deviceMAOrderEntity.getId() || StrUtil.isBlank(deviceMAOrderEntity.getOrderId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceMaOrderDao.updateByPrimaryKey(deviceMAOrderEntity); + return ResultVOUtils.success("更新成功"); } @Override public BaseResponse deleteDeviceMAOrder(Integer id) { - return null; + if (null == id) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceMaOrderDao.deleteByPrimaryKey(id); + return ResultVOUtils.success("删除成功!"); } + } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml index cae4e91d..6a7b2692 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml @@ -14,8 +14,10 @@ + + @@ -33,8 +35,10 @@ serialNo, createTime, updateTime, + invStorageCode, invWarehouseCode, invSpaceCode, + receiveStorageCode, receiveWarehouseCode, receiveSpaceCode @@ -56,14 +60,18 @@ code, productId, nameCode, batchNo, produceDate, expireDate, serialNo, createTime, updateTime, - invWarehouseCode, invSpaceCode, receiveWarehouseCode, + invStorageCode, + invWarehouseCode, invSpaceCode, receiveStorageCode, + receiveWarehouseCode, receiveSpaceCode) values (#{id,jdbcType=INTEGER}, #{orderIdFk,jdbcType=VARCHAR}, #{originCode,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, #{nameCode,jdbcType=VARCHAR}, #{batchNo,jdbcType=VARCHAR}, #{produceDate,jdbcType=VARCHAR}, #{expireDate,jdbcType=VARCHAR}, + #{invStorageCode,jdbcType=VARCHAR}, #{serialNo,jdbcType=VARCHAR}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, #{invWarehouseCode,jdbcType=VARCHAR}, #{invSpaceCode,jdbcType=VARCHAR}, - #{receiveWarehouseCode,jdbcType=VARCHAR}, + #{receiveStorageCode,jdbcType=VARCHAR} + #{receiveWarehouseCode,jdbcType=VARCHAR}, #{receiveSpaceCode,jdbcType=VARCHAR}) @@ -106,12 +114,18 @@ updateTime, + + invStorageCode, + invWarehouseCode, invSpaceCode, + + receiveStorageCode, + receiveWarehouseCode, @@ -156,12 +170,18 @@ #{updateTime,jdbcType=VARCHAR}, + + #{invStorageCode,jdbcType=VARCHAR}, + #{invWarehouseCode,jdbcType=VARCHAR}, #{invSpaceCode,jdbcType=VARCHAR}, + + #{receiveStorageCode,jdbcType=VARCHAR}, + #{receiveWarehouseCode,jdbcType=VARCHAR}, @@ -208,12 +228,18 @@ updateTime = #{updateTime,jdbcType=VARCHAR}, + + invStorageCode = #{updateTime,jdbcType=VARCHAR}, + invWarehouseCode = #{invWarehouseCode,jdbcType=VARCHAR}, invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, + + receiveStorageCode = #{invSpaceCode,jdbcType=VARCHAR}, + receiveWarehouseCode = #{receiveWarehouseCode,jdbcType=VARCHAR}, @@ -237,8 +263,10 @@ serialNo = #{serialNo,jdbcType=VARCHAR}, createTime = #{createTime,jdbcType=VARCHAR}, updateTime = #{updateTime,jdbcType=VARCHAR}, + invStorageCode = #{invStorageCode,jdbcType=VARCHAR}, invWarehouseCode = #{invWarehouseCode,jdbcType=VARCHAR}, invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, + receiveStorageCode = #{receiveStorageCode,jdbcType=VARCHAR}, receiveWarehouseCode = #{receiveWarehouseCode,jdbcType=VARCHAR}, receiveSpaceCode = #{receiveSpaceCode,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} @@ -264,8 +292,10 @@ dcod.serialNo, dcod.createTime, dcod.updateTime, + dcod.invStorageCode, dcod.invWarehouseCode, dcod.invSpaceCode, + dcod.receiveStorageCode, dcod.receiveWarehouseCode, dcod.receiveSpaceCode, bp.cpmctymc productName, @@ -288,4 +318,18 @@ from device_collect_order_detail where orderIdFk = #{orderIdFk} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml index 63e5e552..a28f8f17 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml @@ -224,4 +224,26 @@ `status` = #{status,jdbcType=BOOLEAN} where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/scripts/设备领用养护功能表.sql b/scripts/设备领用养护功能表.sql index 57082263..422665b8 100644 --- a/scripts/设备领用养护功能表.sql +++ b/scripts/设备领用养护功能表.sql @@ -53,4 +53,12 @@ CREATE TABLE `device_ma_order` ( `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '养护说明', `status` tinyint(1) NULL DEFAULT NULL COMMENT '状态', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备养护记录表' ROW_FORMAT = Dynamic; \ No newline at end of file +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备养护记录表' ROW_FORMAT = Dynamic; + +ALTER TABLE `udiwms`.`device_collect_order_detail` + ADD COLUMN `invStorageCode` varchar(255) NULL COMMENT '领用仓库' AFTER `updateTime`, + MODIFY COLUMN `invWarehouseCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '领用分库' AFTER `updateTime`; + +ALTER TABLE `udiwms`.`device_collect_order_detail` + ADD COLUMN `receiveStorageCode` varchar(255) NULL COMMENT '接收仓库' AFTER `invSpaceCode`, + MODIFY COLUMN `receiveWarehouseCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '接收分库' AFTER `invSpaceCode`; \ No newline at end of file From 526bb57f639efc623ae2ceb2755cb51ef4d5eeed Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 2 Dec 2022 15:09:48 +0800 Subject: [PATCH 30/41] =?UTF-8?q?1.=E5=AE=8C=E5=96=84=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E9=A2=86=E7=94=A8=E8=AF=A6=E6=83=85=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceCollectOrderDetailServiceImpl.java | 125 ++++++++++++++---- 1 file changed, 99 insertions(+), 26 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java index 4970ac66..1ce4b1b0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java @@ -3,11 +3,14 @@ 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.constant.ConstantType; import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; +import com.glxp.api.admin.dao.inventory.InvProductDao; import com.glxp.api.admin.dao.inventory.InvProductDetailDao; import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.api.admin.entity.inventory.InvProductEntity; import com.glxp.api.admin.req.inventory.AddDeviceCollectOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; @@ -24,7 +27,10 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Slf4j @Service @@ -35,6 +41,8 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe private DeviceCollectOrderDetailDao deviceCollectOrderDetailDao; @Resource private InvProductDetailDao invProductDetailDao; + @Resource + private InvProductDao invProductDao; @Override public List filterList(FilterDeviceCollectOrderDetailRequest detailRequest) { @@ -57,50 +65,115 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe } if (StrUtil.isNotBlank(addDetailRequest.getCode())) { //通过条码添加 - - //设置库存详情查询参数 FilterInvProductDetailRequest invProductDetailRequest = new FilterInvProductDetailRequest(); invProductDetailRequest.setCode(addDetailRequest.getCode()); //判断是否有选入的仓库信息,如果没有,说明此条码仅存在一条仓库信息,直接使用即可 if (StrUtil.isNotBlank(addDetailRequest.getInvStorageCode())) { - invProductDetailRequest.setInvStorageCode(addDetailRequest.getInvStorageCode()); - invProductDetailRequest.setInvWarehouseCode(addDetailRequest.getInvWarehouseCode()); - invProductDetailRequest.setInvSpaceCode(addDetailRequest.getInvSpaceCode()); + invProductDetailRequest.setInvStorageCode(addDetailRequest.getInvStorageCode()); + invProductDetailRequest.setInvWarehouseCode(addDetailRequest.getInvWarehouseCode()); + invProductDetailRequest.setInvSpaceCode(addDetailRequest.getInvSpaceCode()); } //查询库存详情 List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(invProductDetailRequest); InvProductDetailEntity invProductDetailEntity = invProductDetailEntities.get(0); - - //解析条码 - UdiEntity udi = FilterUdiUtils.getUdi(addDetailRequest.getCode()); - //构造设备领用详情参数 - DeviceCollectOrderDetailEntity orderDetail = new DeviceCollectOrderDetailEntity(); - orderDetail.setOrderIdFk(addDetailRequest.getOrderIdFk()); - orderDetail.setOriginCode(addDetailRequest.getCode()); - orderDetail.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); - orderDetail.setInvWarehouseCode(invProductDetailRequest.getInvWarehouseCode()); - orderDetail.setInvSpaceCode(invProductDetailRequest.getInvSpaceCode()); - orderDetail.setProductId(invProductDetailEntity.getProductIdFk()); - orderDetail.setBatchNo(udi.getBatchNo()); - orderDetail.setProduceDate(udi.getProduceDate()); - orderDetail.setExpireDate(udi.getExpireDate()); - //判断此条码有无序列号,如果有序列号,则直接使用此条码当做此设备的唯一码,没有则留空唯一码,待后续提交审核时再生成 - if (StrUtil.isNotBlank(udi.getSerialNo())) { - orderDetail.setSerialNo(udi.getSerialNo()); - orderDetail.setCode(addDetailRequest.getCode()); - } - orderDetail.setUpdateTime(DateUtil.getDateTime()); + DeviceCollectOrderDetailEntity orderDetail = getDeviceCollectOrderDetailEntity(addDetailRequest.getOrderIdFk(), addDetailRequest.getCode(), invProductDetailEntity); deviceCollectOrderDetailDao.insert(orderDetail); } else { //通过选库存添加 + //查询选中的库存信息 + for (String invProductId : addDetailRequest.getInvProductIds()) { + InvProductEntity invProductEntity = invProductDao.selectById(invProductId); + //查询库存详情 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setProductIdFk(invProductEntity.getRelIdFk()); + filterInvProductDetailRequest.setBatchNo(invProductEntity.getBatchNo()); + filterInvProductDetailRequest.setInvStorageCode(invProductEntity.getInvStorageCode()); + filterInvProductDetailRequest.setInvWarehouseCode(invProductEntity.getInvWarehouseCode()); + List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); + //计算出在仓库中的设备 + //提取库存详情中不同的码 + List codesList = invProductDetailEntities.stream().map(InvProductDetailEntity::getOriginCode).distinct().collect(Collectors.toList()); + //初始化所有码数量集合 + Map codeMap = new HashMap<>(codesList.size()); + codesList.forEach(code -> codeMap.put(code, 0)); + //计算库存详情中的码明细,得出所有存在于库存中的码 + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + Integer count = codeMap.get(invProductDetailEntity.getOriginCode()); + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + //入库,数量 +1 + count = count + 1; + } else { + //出库, 数量 -1 + count = count - 1; + } + codeMap.put(invProductDetailEntity.getOriginCode(), count); + } + //根据计算得出的,所有存在于库存中的码明细,生成设备领用记录详情 + for (String code : codeMap.keySet()) { + if (codeMap.get(code) > 0) { + //查找此条码对应的库存详情数据,根据此库存详情数据,查找仓库货位等信息 + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + for (InvProductDetailEntity detailEntity : invProductDetailEntities) { + if (detailEntity.getCode().equals(code)) { + invProductDetailEntity = detailEntity; + break; + } + } + //此条码存在于库存中,解析条码生成设备领用记录详情 + Integer count = codeMap.get(code); + if (count > 1) { + for (int i = 0; i < count; i++) { + DeviceCollectOrderDetailEntity orderDetail = getDeviceCollectOrderDetailEntity(addDetailRequest.getOrderIdFk(), code, invProductDetailEntity); + //插入设备领用记录详情 + deviceCollectOrderDetailDao.insert(orderDetail); + } + } else { + getDeviceCollectOrderDetailEntity(addDetailRequest.getOrderIdFk(), code, invProductDetailEntity); + } + } + } + } } return ResultVOUtils.success("添加成功!"); } + /** + * 构造设备领用记录详情 + * + * @param orderIdFk 设备领用记录号 + * @param code 码 + * @param invProductDetailEntity 库存详情 + * @return + */ + private static DeviceCollectOrderDetailEntity getDeviceCollectOrderDetailEntity(String orderIdFk, String code, InvProductDetailEntity invProductDetailEntity) { + //此条码数量为多个,生成多条养护记录 + UdiEntity udi = FilterUdiUtils.getUdi(code); + DeviceCollectOrderDetailEntity orderDetail = new DeviceCollectOrderDetailEntity(); + orderDetail.setOrderIdFk(orderIdFk); + orderDetail.setOriginCode(code); + orderDetail.setProductId(invProductDetailEntity.getProductIdFk()); + orderDetail.setNameCode(udi.getUdi()); + orderDetail.setBatchNo(udi.getBatchNo()); + orderDetail.setProduceDate(udi.getProduceDate()); + orderDetail.setExpireDate(udi.getExpireDate()); + //判断有无序列号,如果有序列号,则可以通过udi码来判定唯一,直接使用udi码做唯一码 + if (StrUtil.isNotBlank(udi.getSerialNo())) { + orderDetail.setSerialNo(udi.getSerialNo()); + orderDetail.setCode(code); + } + String date = DateUtil.getDateTime(); + orderDetail.setCreateTime(date); + orderDetail.setUpdateTime(date); + orderDetail.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); + orderDetail.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); + orderDetail.setInvSpaceCode(invProductDetailEntity.getInvSpaceCode()); + return orderDetail; + } + @Override public BaseResponse updateOrderDetail(DeviceCollectOrderDetailEntity detailEntity) { if (null == detailEntity || null == detailEntity.getId()) { @@ -132,7 +205,7 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); if (CollUtil.isNotEmpty(invProductDetailEntities)) { if (invProductDetailEntities.size() > 1) { - return ResultVOUtils.error(ResultEnum.DATA_REPEAT,"此设备记录存在于多个仓库,请选择此设备当前所处仓库!"); + return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "此设备记录存在于多个仓库,请选择此设备当前所处仓库!"); } else { return ResultVOUtils.success("校验成功!"); } From d6d4cc27f6c755737f6ae0389c06f33904f00e03 Mon Sep 17 00:00:00 2001 From: x_z Date: Mon, 5 Dec 2022 18:13:48 +0800 Subject: [PATCH 31/41] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E9=A2=86=E7=94=A8=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeviceCollectDetailController.java | 3 - .../FilterDeviceCollectOrderRequest.java | 4 + .../DeviceCollectOrderDetailResponse.java | 41 +++++++ .../DeviceCollectOrderDetailServiceImpl.java | 44 ++++++-- .../inventory/DeviceCollectOrderDao.xml | 25 +++-- .../inventory/DeviceCollectOrderDetailDao.xml | 100 +++++++++--------- scripts/设备领用养护功能表.sql | 8 +- 7 files changed, 157 insertions(+), 68 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java index d5d63a25..a8ba051e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java @@ -109,9 +109,6 @@ public class DeviceCollectDetailController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - if (null == detailRequest) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); - } return detailService.deleteOrderDetail(detailRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java index d968164d..066c88c6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderRequest.java @@ -24,5 +24,9 @@ public class FilterDeviceCollectOrderRequest extends ListPageRequest { */ private Integer status; + /** + * 部门编码 + */ + private String deptCode; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderDetailResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderDetailResponse.java index ba458fa0..53ae48e8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderDetailResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceCollectOrderDetailResponse.java @@ -8,4 +8,45 @@ import lombok.Data; */ @Data public class DeviceCollectOrderDetailResponse extends DeviceCollectOrderDetailEntity { + + /** + * 产品名称 + */ + private String productName; + + /** + * 分库名称 + */ + private String invWarehouseName; + + /** + * 货位名称 + */ + private String invSpaceName; + + /** + * 货位名称 + */ + private String invSpaceCode; + + /** + * 注册/备案凭证号 + */ + private String zczbhhzbapzbh; + + /** + * 生产厂家 + */ + private String ylqxzcrbarmc; + + /** + * 规格型号 + */ + private String ggxh; + + /** + * 是否可以自定义序列号 + */ + private Boolean editSerialNo; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java index 1ce4b1b0..b2620d6f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; @@ -8,6 +9,7 @@ import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; import com.glxp.api.admin.dao.inventory.InvProductDao; import com.glxp.api.admin.dao.inventory.InvProductDetailDao; import com.glxp.api.admin.entity.basic.UdiEntity; +import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductEntity; @@ -49,10 +51,15 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe if (null == detailRequest) { return Collections.emptyList(); } - if (null == detailRequest.getPage() && null == detailRequest.getLimit()) { + if (null != detailRequest.getPage() && null != detailRequest.getLimit()) { PageHelper.offsetPage((detailRequest.getPage() - 1) * detailRequest.getLimit(), detailRequest.getLimit()); } - return deviceCollectOrderDetailDao.filterList(detailRequest); + List list = deviceCollectOrderDetailDao.filterList(detailRequest); + //设置是否可以自定义序列号标识 + list.forEach(item -> { + item.setEditSerialNo(StrUtil.isBlank(item.getCode()) ? true : false); + }); + return list; } @Override @@ -60,11 +67,24 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe if (null == addDetailRequest || StrUtil.isBlank(addDetailRequest.getOrderIdFk())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - if (StrUtil.isBlank(addDetailRequest.getCode()) || CollUtil.isEmpty(addDetailRequest.getInvProductIds())) { + if (StrUtil.isBlank(addDetailRequest.getCode()) && CollUtil.isEmpty(addDetailRequest.getInvProductIds())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加领用设备!"); } if (StrUtil.isNotBlank(addDetailRequest.getCode())) { //通过条码添加 + //解析此条码,判断此条码是否已经存在 + UdiEntity udi = FilterUdiUtils.getUdi(addDetailRequest.getCode()); + if (StrUtil.isNotBlank(udi.getSerialNo())) { + //条码为完整码,查询此条码在当前领用记录中是否存在,如果存在则无法添加 + FilterDeviceCollectOrderDetailRequest detailRequest = new FilterDeviceCollectOrderDetailRequest(); + detailRequest.setOrderIdFk(addDetailRequest.getOrderIdFk()); + detailRequest.setCode(addDetailRequest.getCode()); + List list = deviceCollectOrderDetailDao.filterList(detailRequest); + if (CollUtil.isNotEmpty(list)) { + return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "条码重复!"); + } + } + //设置库存详情查询参数 FilterInvProductDetailRequest invProductDetailRequest = new FilterInvProductDetailRequest(); invProductDetailRequest.setCode(addDetailRequest.getCode()); @@ -132,7 +152,8 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe deviceCollectOrderDetailDao.insert(orderDetail); } } else { - getDeviceCollectOrderDetailEntity(addDetailRequest.getOrderIdFk(), code, invProductDetailEntity); + DeviceCollectOrderDetailEntity orderDetail = getDeviceCollectOrderDetailEntity(addDetailRequest.getOrderIdFk(), code, invProductDetailEntity); + deviceCollectOrderDetailDao.insert(orderDetail); } } } @@ -179,6 +200,17 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe if (null == detailEntity || null == detailEntity.getId()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } + //判断新的条码是否重复 + WarehouseEntity warehouseEntity = new WarehouseEntity(); + BeanUtil.copyProperties(detailEntity, warehouseEntity); + String code = FilterUdiUtils.transGlxpHasSerStr(warehouseEntity); + FilterDeviceCollectOrderDetailRequest detailRequest = new FilterDeviceCollectOrderDetailRequest(); + detailRequest.setOrderIdFk(detailEntity.getOrderIdFk()); + detailRequest.setCode(code); + List list = deviceCollectOrderDetailDao.filterList(detailRequest); + if (CollUtil.isNotEmpty(list)) { + return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "条码重复!"); + } deviceCollectOrderDetailDao.updateByPrimaryKey(detailEntity); return ResultVOUtils.success("更新成功!"); } @@ -188,9 +220,9 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe if (null == detailRequest.getId() && StrUtil.isBlank(detailRequest.getOrderIdFk())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - if (null == detailRequest.getId()) { + if (null != detailRequest.getId()) { deviceCollectOrderDetailDao.deleteByPrimaryKey(detailRequest.getId()); - } else if (null == detailRequest.getOrderIdFk()) { + } else if (StrUtil.isNotBlank(detailRequest.getOrderIdFk())) { deviceCollectOrderDetailDao.deleteByOrderId(detailRequest.getOrderIdFk()); } return ResultVOUtils.success("删除成功!"); diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml index 7101c97c..6351b0ff 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml @@ -140,16 +140,27 @@ select dcod.id, - dcod.orderIdFk, - dcod.originCode, - dcod.code, - dcod.productId, - dcod.nameCode, - dcod.batchNo, - dcod.produceDate, - dcod.expireDate, - dcod.serialNo, - dcod.createTime, - dcod.updateTime, - dcod.invStorageCode, - dcod.invWarehouseCode, - dcod.invSpaceCode, - dcod.receiveStorageCode, - dcod.receiveWarehouseCode, - dcod.receiveSpaceCode, - bp.cpmctymc productName, - iws.name invWarehouseName, - isp.name invSpaceName + dcod.orderIdFk, + dcod.originCode, + dcod.code, + dcod.productId, + dcod.nameCode, + dcod.batchNo, + dcod.produceDate, + dcod.expireDate, + dcod.serialNo, + dcod.createTime, + dcod.updateTime, + dcod.invStorageCode, + dcod.invWarehouseCode, + dcod.invSpaceCode, + dcod.receiveStorageCode, + dcod.receiveWarehouseCode, + dcod.receiveSpaceCode, + bp.cpmctymc productName, + bp.zczbhhzbapzbh, + bp.ylqxzcrbarmc, + bp.ggxh, + iws.name invWarehouseName, + isp.name invSpaceName from device_collect_order_detail dcod - left join basic_udirel bu on bu.id = dcod.productId - left join basic_products bp on bu.uuid = bp.uuid - left join inv_warehouse_sub iws on iws.code = dcod.invWarehouseCode - left join inv_space isp on isp.code = dcod.invSpaceCode + left join basic_udirel bu on bu.id = dcod.productId + left join basic_products bp on bu.uuid = bp.uuid + left join inv_warehouse_sub iws on iws.code = dcod.invWarehouseCode + left join inv_space isp on isp.code = dcod.invSpaceCode AND orderIdFk = #{orderIdFk} + + AND dcod.originCode = #{code} + diff --git a/scripts/设备领用养护功能表.sql b/scripts/设备领用养护功能表.sql index 422665b8..1598b144 100644 --- a/scripts/设备领用养护功能表.sql +++ b/scripts/设备领用养护功能表.sql @@ -15,7 +15,7 @@ CREATE TABLE `device_collect_order` ( # 设备领用记录详情表 DROP TABLE IF EXISTS `device_collect_order_detail`; CREATE TABLE `device_collect_order_detail` ( - `id` int NOT NULL COMMENT 'id', + `id` int NOT NULL AUTO_INCREMENT COMMENT 'id', `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备领用记录号', `originCode` 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 '码', @@ -27,9 +27,11 @@ CREATE TABLE `device_collect_order_detail` ( `serialNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '序列号', `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 '更新时间', - `invWarehouseCode` 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 '领用分库', + `invStorageCode` 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 '领用货位', - `receiveWarehouseCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '接收仓库', + `receiveWarehouseCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '接收分库', + `receiveStorageCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '接收仓库', `receiveSpaceCode` 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; From 7c88ebc0de50dba8a5d3fd160d8d0e4d068011b9 Mon Sep 17 00:00:00 2001 From: x_z Date: Mon, 5 Dec 2022 21:30:31 +0800 Subject: [PATCH 32/41] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E9=A2=86=E7=94=A8=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/impl/DeviceCollectOrderServiceImpl.java | 6 +++++- .../main/java/com/glxp/api/admin/util/FilterUdiUtils.java | 8 ++++++-- scripts/设备领用养护功能表.sql | 8 -------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java index edbec9b2..7e7aea81 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java @@ -126,7 +126,11 @@ public class DeviceCollectOrderServiceImpl implements DeviceCollectOrderService deviceCollectOrderDetailDao.updateByPrimaryKey(detailEntity); } }); - deviceCollectOrderDao.updateStatusById(status, id); + + String auditUser = customerService.getUserBean().getUserName(); + deviceCollectOrderEntity.setAuditUser(auditUser); + deviceCollectOrderEntity.setStatus(status); + deviceCollectOrderDao.updateByPrimaryKey(deviceCollectOrderEntity); return ResultVOUtils.success("更新成功!"); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java index bc021d04..8ae122bf 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java @@ -11,6 +11,7 @@ import com.glxp.api.admin.util.gs1.Gs1128Decoder; import com.glxp.api.admin.util.gs1.Gs1128Engine; import java.util.Map; +import java.util.Optional; /** * @author 彭于晏 @@ -315,8 +316,11 @@ public class FilterUdiUtils { * @return */ public static String transGlxpHasSerStr(WarehouseEntity warehouseEntity) { - String udiCode = "#" + warehouseEntity.getNameCode() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + - "#" + warehouseEntity.getBatchNo() + "#" + warehouseEntity.getSerialNo() + "#" + "#"; + String udiCode = "#" + warehouseEntity.getNameCode() + + "#" + Optional.ofNullable(warehouseEntity.getProduceDate()).orElse("") + + "#" + Optional.ofNullable(warehouseEntity.getExpireDate()).orElse("") + + "#" + Optional.ofNullable(warehouseEntity.getBatchNo()).orElse("") + + "#" + Optional.ofNullable(warehouseEntity.getSerialNo()).orElse("") + "#" + "#"; return udiCode; } } diff --git a/scripts/设备领用养护功能表.sql b/scripts/设备领用养护功能表.sql index 1598b144..7becde2d 100644 --- a/scripts/设备领用养护功能表.sql +++ b/scripts/设备领用养护功能表.sql @@ -56,11 +56,3 @@ CREATE TABLE `device_ma_order` ( `status` tinyint(1) NULL DEFAULT NULL COMMENT '状态', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备养护记录表' ROW_FORMAT = Dynamic; - -ALTER TABLE `udiwms`.`device_collect_order_detail` - ADD COLUMN `invStorageCode` varchar(255) NULL COMMENT '领用仓库' AFTER `updateTime`, - MODIFY COLUMN `invWarehouseCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '领用分库' AFTER `updateTime`; - -ALTER TABLE `udiwms`.`device_collect_order_detail` - ADD COLUMN `receiveStorageCode` varchar(255) NULL COMMENT '接收仓库' AFTER `invSpaceCode`, - MODIFY COLUMN `receiveWarehouseCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '接收分库' AFTER `invSpaceCode`; \ No newline at end of file From fe3483f3bd1fca53fb10d9c4e6129b435542b163 Mon Sep 17 00:00:00 2001 From: anthonyywj2 <353682448@qq.com> Date: Wed, 7 Dec 2022 10:28:02 +0800 Subject: [PATCH 33/41] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/admin/config/HdSchemaExecutor.java | 81 ++++++++++++++ .../basic/SpsSyncExportStatusController.java | 4 + .../controller/inout/OrderController.java | 53 +++++++++ .../glxp/api/admin/dao/info/DbVersionDao.java | 24 +++++ .../entity/basic/BasicExportStatusEntity.java | 1 + .../admin/entity/info/DbVersionEntity.java | 15 +++ .../api/admin/entity/info/SchemaData.java | 22 ++++ .../api/admin/entity/inout/OrderEntity.java | 4 +- .../req/basic/BasicExportStatusRequest.java | 1 + .../req/inout/WarehouseQueryRequest.java | 6 +- .../receipt/BussinessTypeFilterRequest.java | 1 + .../api/admin/service/inout/OrderService.java | 2 + .../service/inout/impl/OrderServiceImpl.java | 38 +++++++ .../main/resources/application-dev.properties | 2 +- .../main/resources/application-pro.properties | 2 +- .../resources/application-test1.properties | 2 +- .../resources/application-test2.properties | 2 +- .../mybatis/mapper/basic/BasicExportDao.xml | 8 +- .../mybatis/mapper/info/DbVersionDao.xml | 26 +++++ .../mybatis/mapper/inout/CodesDao.xml | 7 ++ api-admin/src/main/resources/schemas/init.sql | 101 ++++++++++++++++++ .../main/resources/schemas/schema_v2.1.sql | 9 ++ 22 files changed, 402 insertions(+), 9 deletions(-) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/config/HdSchemaExecutor.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/info/DbVersionDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/info/DbVersionEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/info/SchemaData.java create mode 100644 api-admin/src/main/resources/mybatis/mapper/info/DbVersionDao.xml create mode 100644 api-admin/src/main/resources/schemas/init.sql create mode 100644 api-admin/src/main/resources/schemas/schema_v2.1.sql diff --git a/api-admin/src/main/java/com/glxp/api/admin/config/HdSchemaExecutor.java b/api-admin/src/main/java/com/glxp/api/admin/config/HdSchemaExecutor.java new file mode 100644 index 00000000..bbb0fbf6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/config/HdSchemaExecutor.java @@ -0,0 +1,81 @@ +package com.glxp.api.admin.config; + +import cn.hutool.core.io.IORuntimeException; +import cn.hutool.core.io.IoUtil; +import cn.hutool.core.lang.UUID; +import com.glxp.api.admin.dao.info.DbVersionDao; +import com.glxp.api.admin.entity.info.DbVersionEntity; +import com.glxp.api.admin.entity.info.SchemaData; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Order(1) +@Component +@Slf4j +public class HdSchemaExecutor implements ApplicationRunner { + + @Resource + DbVersionDao hdCommonDao; + + private List schema = new ArrayList<>(); + + @Override + public void run(ApplicationArguments args) throws Exception { + //初始版本列表 + buildSchemas(); + //定义sql文件路径 + String basePath = "schemas/"; + //非版本控制,初始化脚本 + ClassLoader loader = this.getClass().getClassLoader(); + //通过流的方式获取项目路径下的文件 + InputStream inputStream = loader.getResourceAsStream(basePath + "init.sql"); + //获取文件内容 + String sql = IoUtil.readUtf8(inputStream); + try { + //判断版本表是否存在 + int count = hdCommonDao.selectTableExist("hd_version"); + if (count == 0) { + hdCommonDao.updateSql(sql); + } + for (SchemaData schemaData : schema) { + //查询版本记录是否存在 + count = hdCommonDao.selectVersion(schemaData.getVersion()); + if (count == 0) { + log.info("--------------执行数据脚本,版本:" + schemaData.getVersion()); + //获取对应sql脚本 + inputStream = loader.getResourceAsStream(basePath + schemaData.getFileName()); + sql = IoUtil.readUtf8(inputStream); + hdCommonDao.updateSql(sql); + DbVersionEntity entity = new DbVersionEntity(); + entity.setId(UUID.randomUUID().toString()); + entity.setVersion(schemaData.getVersion()); + entity.setCreated(new Date()); + entity.setRemark(schemaData.getFileName()); + //写入版本记录 + hdCommonDao.insertVersion(entity); + } + } + + } catch (IORuntimeException e) { + e.printStackTrace(); + } finally { + //关闭流 + inputStream.close(); + } + } + + public void buildSchemas() { + schema.add(new SchemaData("v2.1", "schema_v2.1.sql")); +// schema.add(new SchemaData("v2.2", "schema_v2.2.sql")); +// schema.add(new SchemaData("v2.3", "schema_v2.3.sql")); + } +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/SpsSyncExportStatusController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/SpsSyncExportStatusController.java index a24eaa2f..c49b83b0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/SpsSyncExportStatusController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/SpsSyncExportStatusController.java @@ -86,6 +86,10 @@ public class SpsSyncExportStatusController { @PostMapping("/spssync/basic/udiinfo/updateStatus") public BaseResponse updateStatus(@RequestBody BasicExportStatusEntity basicExportStatusEntity) { + if (StrUtil.isEmpty(basicExportStatusEntity.getReceiveStatus())) { + basicExportStatusEntity.setEndTime(new Date()); + } + basicExportStatusEntity.setEndTime(new Date()); basicExportStatusEntity.setUpdateTime(new Date()); boolean b = basicExportService.updateExportStatus(basicExportStatusEntity); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java index 89d3bd1b..8399a5ac 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java @@ -10,6 +10,7 @@ import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.controller.inout.utils.DataTransUtil; import com.glxp.api.admin.dao.inout.CodesTempDao; import com.glxp.api.admin.dao.inout.OrderDao; @@ -32,7 +33,9 @@ import com.glxp.api.admin.req.inout.*; import com.glxp.api.admin.req.inventory.FilterInvBusUserRequest; import com.glxp.api.admin.req.inventory.FilterInvUserRequest; import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest; +import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest; import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.basic.BussinessTypResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.EntrustReceService; @@ -799,6 +802,56 @@ public class OrderController { return ResultVOUtils.success(); } + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/order/filterPreInChange") + public BaseResponse filterPreInChange(String billNo, String code) { + + + if (StrUtil.isEmpty(code) && StrUtil.isEmpty(billNo)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + List orderEntities = new ArrayList<>(); + + if (StrUtil.isNotEmpty(code)) { + + //查询预验收单据类型 + BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); + bussinessTypeFilterRequest.setPreIn(true); + bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_PUT); + List bussinessTypResponses = bussinessTypeService.filterJoinList(bussinessTypeFilterRequest); + + List actions = new ArrayList<>(); + if (CollUtil.isNotEmpty(bussinessTypResponses)) { + for (BussinessTypResponse bussinessTypResponse : bussinessTypResponses) { + actions.add(bussinessTypResponse.getAction()); + } + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setCode(code); + warehouseQueryRequest.setActions(actions); + List warehouseEntityList = codesService.findAllByOrderId(warehouseQueryRequest); + if (CollUtil.isNotEmpty(warehouseEntityList)) { + for (WarehouseEntity warehouseEntity : warehouseEntityList) { + List temps = orderService.filterPreInChange(warehouseEntity.getOrderId()); + if (CollUtil.isNotEmpty(temps)) + orderEntities.addAll(temps); + + } + } + } + + + } else { + orderEntities = orderService.filterPreInChange(billNo); + } + + PageInfo pageInfo = new PageInfo<>(orderEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + /** * 根据扫码单据号查询单据信息 * diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/info/DbVersionDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/info/DbVersionDao.java new file mode 100644 index 00000000..8e9aee30 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/info/DbVersionDao.java @@ -0,0 +1,24 @@ +package com.glxp.api.admin.dao.info; + +import com.glxp.api.admin.entity.info.DbVersionEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; + +@Mapper +public interface DbVersionDao { + + int selectVersion(@Param("version") String version); + + //查询版本表是否存在 + int selectTableExist(@Param("tableName") String tableName); + + //新增版本 + int insertVersion(DbVersionEntity entity); + + //执行sql + @Update("${sql}") + void updateSql(@Param("sql") String sql); + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicExportStatusEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicExportStatusEntity.java index 13a15210..489e4e51 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicExportStatusEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicExportStatusEntity.java @@ -17,4 +17,5 @@ public class BasicExportStatusEntity { private Date startTime; private Date endTime; private String remark; + private String receiveStatus; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/info/DbVersionEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/info/DbVersionEntity.java new file mode 100644 index 00000000..ec9b8082 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/info/DbVersionEntity.java @@ -0,0 +1,15 @@ +package com.glxp.api.admin.entity.info; + +import lombok.Data; + +import java.util.Date; + +@Data +public class DbVersionEntity { + + private String id; + private String version; + private String remark; + private Date created; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/info/SchemaData.java b/api-admin/src/main/java/com/glxp/api/admin/entity/info/SchemaData.java new file mode 100644 index 00000000..d56235b7 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/info/SchemaData.java @@ -0,0 +1,22 @@ +package com.glxp.api.admin.entity.info; + +import lombok.Data; + + +@Data +public class SchemaData { + /** + * 版本号 + */ + public String version; + + /** + * 文件名 + */ + public String fileName; + + public SchemaData(String version, String fileName) { + this.version = version; + this.fileName = fileName; + } +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java index 17e4eb9f..65366f6e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java @@ -82,8 +82,10 @@ public class OrderEntity { /** * 上传到自助平台状态 - * + *

* 上传状态(0:未上传,1:已上传) */ private String uploadStatus; + private String wzUploadStatus; + private String wzUploadResult; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BasicExportStatusRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BasicExportStatusRequest.java index e7b18b4b..7016dbe8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BasicExportStatusRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BasicExportStatusRequest.java @@ -12,4 +12,5 @@ public class BasicExportStatusRequest extends ListPageRequest { private Integer scheduleType; public Integer createType; private String syncTime; + private String receiveStatus; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/WarehouseQueryRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/WarehouseQueryRequest.java index d8d80200..143b6158 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/WarehouseQueryRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/WarehouseQueryRequest.java @@ -3,6 +3,8 @@ package com.glxp.api.admin.req.inout; import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; +import java.util.List; + @Data public class WarehouseQueryRequest extends ListPageRequest { @@ -15,7 +17,7 @@ public class WarehouseQueryRequest extends ListPageRequest { private String nameCode; private String supId; private String locStorageCode; - - private String relId; + + List actions; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java index 72e54faf..2fd4f007 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java @@ -32,5 +32,6 @@ public class BussinessTypeFilterRequest extends ListPageRequest { private String code; private String ids; private List actionList; + private Boolean preIn; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java index 39e60545..6c14a45c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java @@ -44,6 +44,8 @@ public interface OrderService { List filterList(OrderFilterRequest orderFilterRequest); + List filterPreInChange(String billNo); + OrderEntity findOne(OrderFilterRequest orderFilterRequest); OrderEntity findById(String orderId); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java index 1b9124a6..b172f5da 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java @@ -205,6 +205,44 @@ public class OrderServiceImpl implements OrderService { return orderDao.findOne(orderFilterRequest); } + + @Override + public List filterPreInChange(String billNo) { + + List orderEntities = new ArrayList<>(); + String orderId = ""; + StockOrderEntity stockOrderEntity = stockOrderDao.selectByBillNo(billNo); + if (stockOrderEntity == null) { + orderId = billNo; + } else { + orderId = stockOrderEntity.getOrderIdFk(); + } + OrderEntity orderEntity = orderDao.selectByBillNo(orderId); + orderEntities.add(orderEntity); + if (StrUtil.isNotEmpty(orderEntity.getPreInBillNo())) { + String[] priInNo = orderEntity.getPreInBillNo().split(";"); + if (priInNo != null) { + for (int i = 0; i < priInNo.length; i++) { + OrderEntity temp = orderDao.selectByBillNo(priInNo[i]); + orderEntities.add(temp); + } + } + } + + if (StrUtil.isNotEmpty(orderEntity.getPreOutBillNo())) { + String[] priInNo = orderEntity.getPreOutBillNo().split(";"); + if (priInNo != null) { + for (int i = 0; i < priInNo.length; i++) { + OrderEntity temp = orderDao.selectByBillNo(priInNo[i]); + orderEntities.add(temp); + } + } + } + + return orderEntities; + } + + @Override public OrderEntity findById(String orderId) { OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); diff --git a/api-admin/src/main/resources/application-dev.properties b/api-admin/src/main/resources/application-dev.properties index ded4a0a3..2c87aee0 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_ph1?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udiwms_ph1?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=123456 spring.datasource.hikari.connection-timeout=60000 diff --git a/api-admin/src/main/resources/application-pro.properties b/api-admin/src/main/resources/application-pro.properties index c4212717..c8d24d22 100644 --- a/api-admin/src/main/resources/application-pro.properties +++ b/api-admin/src/main/resources/application-pro.properties @@ -1,7 +1,7 @@ # \u672C\u5730\u73AF\u5883 server.port=9991 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://192.168.0.148:3306/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://192.168.0.148:3306/udiwms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=Glxp@6066 #spring.datasource.password=89083fb2fc145533 diff --git a/api-admin/src/main/resources/application-test1.properties b/api-admin/src/main/resources/application-test1.properties index b8b9519f..a0a09f4e 100644 --- a/api-admin/src/main/resources/application-test1.properties +++ b/api-admin/src/main/resources/application-test1.properties @@ -1,7 +1,7 @@ # \u672C\u5730\u73AF\u5883 server.port=9991 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://192.168.0.66:3360/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://192.168.0.66:3360/udiwms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=root #spring.datasource.password=89083fb2fc145533 diff --git a/api-admin/src/main/resources/application-test2.properties b/api-admin/src/main/resources/application-test2.properties index 0393c80d..cd011f47 100644 --- a/api-admin/src/main/resources/application-test2.properties +++ b/api-admin/src/main/resources/application-test2.properties @@ -1,7 +1,7 @@ # \u672C\u5730\u73AF\u5883 server.port=9991 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://192.168.0.66:3361/udiwms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://192.168.0.66:3361/udiwms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=root #spring.datasource.password=89083fb2fc145533 diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml index 77df727b..f44bc8a6 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BasicExportDao.xml @@ -25,6 +25,9 @@ and #{syncTime} >= startTime and #{syncTime} <= endTime + + and receiveStatus = #{receiveStatus} + order by updateTime desc @@ -33,7 +36,7 @@ replace - INTO basic_export_status(id,idDatas,status,type,updateTime,scheduleType,startTime,endTime,remark) + INTO basic_export_status(id,idDatas,status,`type`,updateTime,scheduleType,startTime,endTime,remark,receiveStatus) values( #{id}, #{idDatas}, @@ -43,7 +46,8 @@ #{scheduleType}, #{startTime}, #{endTime}, - #{remark} + #{remark}, + #{receiveStatus} ) diff --git a/api-admin/src/main/resources/mybatis/mapper/info/DbVersionDao.xml b/api-admin/src/main/resources/mybatis/mapper/info/DbVersionDao.xml new file mode 100644 index 00000000..9a21fa58 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/info/DbVersionDao.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + insert into db_version(id, version, remark, created) + values (uuid(), #{version}, #{remark}, #{created}) + + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml index cc880486..b85e24d3 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml @@ -33,6 +33,13 @@ and relId =#{relId} + + and + `action` in + + #{id} + + ORDER BY actDate diff --git a/api-admin/src/main/resources/schemas/init.sql b/api-admin/src/main/resources/schemas/init.sql new file mode 100644 index 00000000..a76e3fa9 --- /dev/null +++ b/api-admin/src/main/resources/schemas/init.sql @@ -0,0 +1,101 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; +DROP TABLE IF EXISTS `db_version`; +CREATE TABLE `db_version` ( + `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '版本号', + `created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `remark` varchar(500) 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; + + +/* 创建函数Pro_Temp_ColumnWork操作表字段 */ +DROP PROCEDURE IF EXISTS Pro_Temp_ColumnWork; +CREATE PROCEDURE `Pro_Temp_ColumnWork` ( TableName VARCHAR ( 50 ), ColumnName VARCHAR ( 50 ), SqlStr VARCHAR ( 4000 ), CType INT ) BEGIN + DECLARE +Rows1 INT; + + SET Rows1 = 0; +SELECT + COUNT(*) INTO Rows1 +FROM + INFORMATION_SCHEMA.COLUMNS +WHERE + table_schema = DATABASE () + AND upper( table_name )= TableName + AND upper( column_name )= ColumnName; +IF +( CType = 1 AND Rows1 <= 0 ) THEN + + SET SqlStr := CONCAT( 'ALTER TABLE ', TableName, ' ADD COLUMN ', ColumnName, ' ', SqlStr ); + + ELSEIF ( CType = 2 AND Rows1 > 0 ) THEN + + SET SqlStr := CONCAT( 'ALTER TABLE ', TableName, ' MODIFY ', ColumnName, ' ', SqlStr ); + + ELSEIF ( CType = 3 AND Rows1 > 0 ) THEN + + SET SqlStr := CONCAT( 'ALTER TABLE ', TableName, ' DROP COLUMN ', ColumnName ); +ELSE + SET SqlStr := ''; + +END IF; + IF +( SqlStr <> '' ) THEN + + SET @SQL1 = SqlStr; +PREPARE stmt1 + FROM + @SQL1; +EXECUTE stmt1; + +END IF; + +END; +/** 函数创建结束 **/ + +/*创建定义普通索引函数*/ +DROP PROCEDURE IF EXISTS Modify_index; + +CREATE PROCEDURE Modify_index ( + TableName VARCHAR ( 50 ), + ColumnNames VARCHAR ( 500 ), + idx_name VARCHAR ( 50 ), + idx_type VARCHAR ( 50 )) BEGIN + DECLARE +Rows1 int; + DECLARE +SqlStr VARCHAR(4000); + DECLARE +target_database VARCHAR ( 100 ); +SELECT DATABASE + () INTO target_database; + +SET Rows1 = 0; +SELECT + COUNT(*) INTO Rows1 +FROM + information_schema.statistics +WHERE + table_schema = DATABASE () + AND upper( table_name )= upper(TableName) + AND upper( index_name )= upper(idx_name); +IF Rows1<=0 THEN + SET SqlStr := CONCAT( 'alter table ', TableName, ' ADD INDEX ', idx_name, '(', ColumnNames, ') USING ', idx_type ); +END IF; + IF +( SqlStr <> '' ) THEN + + SET @SQL1 = SqlStr; +PREPARE stmt1 + FROM + @SQL1; +EXECUTE stmt1; + +END IF; + +END; +/*创建定义普通索引函数结束*/ diff --git a/api-admin/src/main/resources/schemas/schema_v2.1.sql b/api-admin/src/main/resources/schemas/schema_v2.1.sql new file mode 100644 index 00000000..587b80fd --- /dev/null +++ b/api-admin/src/main/resources/schemas/schema_v2.1.sql @@ -0,0 +1,9 @@ + +-- 字段新增 (表名,字段名,字段类型,修改方式(1:新增,2:修改,3:删除) +CALL Pro_Temp_ColumnWork ('basic_export_status','receiveStatus','varchar(255) ', 1); +CALL Pro_Temp_ColumnWork ('io_order','wzUploadStatus','varchar(255) ', 1); +CALL Pro_Temp_ColumnWork ('io_order','wzUploadResult','varchar(255) ', 1); + + + +-- 创建表时必须 create table if not exists 表名 \ No newline at end of file From d219f3d78e68feaeb3c959c3042ba5feca04d76f Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 7 Dec 2022 16:22:59 +0800 Subject: [PATCH 34/41] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=85=BB=E6=8A=A4=E8=A1=A8=E5=8F=8A=E7=9B=B8=E5=85=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/DeviceMAOrderController.java | 7 +- .../DeviceMAOrderDetailCotroller.java | 91 +++++++ ...eMaOrderDao.java => DeviceMAOrderDao.java} | 12 +- .../entity/inventory/DeviceMAOrderEntity.java | 81 ------ .../FilterDeviceMAOrderDetailRequest.java | 17 ++ .../DeviceMAOrderDetailResponse.java | 32 +++ .../res/inventory/DeviceMAOrderResponse.java | 17 -- .../inventory/DeviceMAOrderDetailService.java | 24 ++ .../inventory/DeviceMAOrderService.java | 3 +- .../impl/DeviceMAOrderDetailServiceImpl.java | 74 ++++++ .../impl/DeviceMAOrderServiceImpl.java | 64 +++-- .../mapper/inventory/DeviceMaOrderDao.xml | 249 ------------------ scripts/设备领用养护功能表.sql | 34 ++- 13 files changed, 313 insertions(+), 392 deletions(-) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderDetailCotroller.java rename api-admin/src/main/java/com/glxp/api/admin/dao/inventory/{DeviceMaOrderDao.java => DeviceMAOrderDao.java} (62%) delete mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderDetailRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderDetailResponse.java delete mode 100644 api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderDetailService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderDetailServiceImpl.java delete mode 100644 api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderController.java index 67b0f919..5856f1aa 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderController.java @@ -4,7 +4,6 @@ import com.github.pagehelper.PageInfo; import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderRequest; import com.glxp.api.admin.res.PageSimpleResponse; -import com.glxp.api.admin.res.inventory.DeviceMAOrderResponse; import com.glxp.api.admin.service.inventory.DeviceMAOrderService; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; @@ -37,9 +36,9 @@ public class DeviceMAOrderController { */ @GetMapping("/device/MA/order/filterList") public BaseResponse filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest) { - List list = deviceMAOrderService.filterList(filterDeviceMAOrderRequest); - PageInfo pageInfo = new PageInfo<>(list); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + List list = deviceMAOrderService.filterList(filterDeviceMAOrderRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(list); return ResultVOUtils.success(pageSimpleResponse); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderDetailCotroller.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderDetailCotroller.java new file mode 100644 index 00000000..14518206 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceMAOrderDetailCotroller.java @@ -0,0 +1,91 @@ +package com.glxp.api.admin.controller.inventory; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.inventory.DeviceMAOrderDetailEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderDetailRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.DeviceMAOrderDetailResponse; +import com.glxp.api.admin.service.inventory.DeviceMAOrderDetailService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 设备养护记录详情接口 + */ +@RestController +public class DeviceMAOrderDetailCotroller { + + @Resource + private DeviceMAOrderDetailService deviceMAOrderDetailService; + + /** + * 查询设备养护记录详情列表 + * + * @param detailRequest + * @return + */ + @GetMapping("/device/MA/order/detail/filterList") + public BaseResponse filterList(FilterDeviceMAOrderDetailRequest detailRequest) { + List list = deviceMAOrderDetailService.filterList(detailRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 添加设备养护记录详情 + * + * @param detailEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/detail/addOrderDetail") + public BaseResponse addOrderDetail(@RequestBody DeviceMAOrderDetailEntity detailEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderDetailService.addDetail(detailEntity); + } + + /** + * 更新设备养护记录详情 + * + * @param detailEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/detail/updateOrderDetail") + public BaseResponse updateOrderDetail(@RequestBody DeviceMAOrderDetailEntity detailEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderDetailService.updateDetail(detailEntity); + } + + /** + * 删除设备养护记录详情 + * + * @param detailEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/detail/deleteOrderDetail") + public BaseResponse deleteOrderDetail(@RequestBody DeviceMAOrderDetailEntity detailEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderDetailService.deleteDetail(detailEntity); + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMAOrderDao.java similarity index 62% rename from api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java rename to api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMAOrderDao.java index acb3fefc..d424d856 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMAOrderDao.java @@ -1,12 +1,12 @@ package com.glxp.api.admin.dao.inventory; + import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderRequest; -import com.glxp.api.admin.res.inventory.DeviceMAOrderResponse; import java.util.List; -public interface DeviceMaOrderDao { +public interface DeviceMAOrderDao { int deleteByPrimaryKey(Integer id); int insert(DeviceMAOrderEntity record); @@ -19,11 +19,5 @@ public interface DeviceMaOrderDao { int updateByPrimaryKey(DeviceMAOrderEntity record); - /** - * 查询设备养护记录列表 - * - * @param filterDeviceMAOrderRequest - * @return - */ - List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest); + List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java deleted file mode 100644 index 51ad8a1b..00000000 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.glxp.api.admin.entity.inventory; - -import lombok.Data; - -/** - * 设备养护记录表 - */ -@Data -public class DeviceMAOrderEntity { - private Integer id; - - /** - * 设备养护记录号 - */ - private String orderId; - - /** - * 码 - */ - private String code; - - /** - * 产品ID - */ - private String productId; - - /** - * 批次号 - */ - private String batchNo; - - /** - * 生产日期 - */ - private String produceDate; - - /** - * 失效日期 - */ - private String expireDate; - - /** - * 序列号 - */ - private String serialNo; - - /** - * 养护时间 - */ - private String createTime; - - /** - * 更新时间 - */ - private String updateTime; - - /** - * 设备状态 0:异常 1:正常 - */ - private Integer deviceStatus; - - /** - * 养护状态 0:未养护 1:已养护 - */ - private Integer maintenanceStatus; - - /** - * 养护人 - */ - private String createUser; - - /** - * 养护说明 - */ - private String remark; - - /** - * 状态 - */ - private Boolean status; -} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderDetailRequest.java new file mode 100644 index 00000000..aae14754 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderDetailRequest.java @@ -0,0 +1,17 @@ +package com.glxp.api.admin.req.inventory; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +/** + * 设备养护记录详情查询接口参数 + */ +@Data +public class FilterDeviceMAOrderDetailRequest extends ListPageRequest { + + /** + * 设备养护记录号 + */ + private String orderIdFk; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderDetailResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderDetailResponse.java new file mode 100644 index 00000000..a15cea2f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderDetailResponse.java @@ -0,0 +1,32 @@ +package com.glxp.api.admin.res.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceMAOrderDetailEntity; +import lombok.Data; + +/** + * 设备养护记录详情响应结果 + */ +@Data +public class DeviceMAOrderDetailResponse extends DeviceMAOrderDetailEntity { + + /** + * 产品名称 + */ + private String productName; + + /** + * 医疗器械注册人名称 + */ + private String ylqxzcrbarmc; + + /** + * 注册证备案号 + */ + private String zczbhhzbapzbh; + + /** + * 规格型号 + */ + private String ggxh; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java deleted file mode 100644 index cb1785f1..00000000 --- a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/DeviceMAOrderResponse.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.glxp.api.admin.res.inventory; - -import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; -import lombok.Data; - -/** - * 设备养护记录响应结果 - */ -@Data -public class DeviceMAOrderResponse extends DeviceMAOrderEntity { - - /** - * 产品名称 - */ - private String productName; - -} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderDetailService.java new file mode 100644 index 00000000..1b7c92f3 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderDetailService.java @@ -0,0 +1,24 @@ +package com.glxp.api.admin.service.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceMAOrderDetailEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderDetailRequest; +import com.glxp.api.admin.res.inventory.DeviceMAOrderDetailResponse; +import com.glxp.api.common.res.BaseResponse; + +import java.util.List; + +/** + * 设备养护记录详情Service + */ +public interface DeviceMAOrderDetailService { + + List filterList(FilterDeviceMAOrderDetailRequest detailRequest); + + BaseResponse addDetail(DeviceMAOrderDetailEntity detailEntity); + + BaseResponse updateDetail(DeviceMAOrderDetailEntity detailEntity); + + + BaseResponse deleteDetail(DeviceMAOrderDetailEntity detailEntity); + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderService.java index 3aa40e54..8be29d71 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceMAOrderService.java @@ -2,7 +2,6 @@ package com.glxp.api.admin.service.inventory; import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderRequest; -import com.glxp.api.admin.res.inventory.DeviceMAOrderResponse; import com.glxp.api.common.res.BaseResponse; import java.util.List; @@ -18,7 +17,7 @@ public interface DeviceMAOrderService { * @param filterDeviceMAOrderRequest * @return */ - List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest); + List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest); /** * 添加设备养护记录 diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderDetailServiceImpl.java new file mode 100644 index 00000000..5a680250 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderDetailServiceImpl.java @@ -0,0 +1,74 @@ +package com.glxp.api.admin.service.inventory.impl; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.inventory.DeviceMaOrderDetailDao; +import com.glxp.api.admin.entity.inventory.DeviceMAOrderDetailEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderDetailRequest; +import com.glxp.api.admin.res.inventory.DeviceMAOrderDetailResponse; +import com.glxp.api.admin.service.inventory.DeviceMAOrderDetailService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import groovy.util.logging.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceMAOrderDetailServiceImpl implements DeviceMAOrderDetailService { + + @Resource + private DeviceMaOrderDetailDao deviceMaOrderDetailDao; + + @Override + public List filterList(FilterDeviceMAOrderDetailRequest detailRequest) { + if (null == detailRequest) { + return Collections.emptyList(); + } + if (null != detailRequest.getPage() && null != detailRequest.getLimit()) { + PageHelper.offsetPage((detailRequest.getPage() - 1) * detailRequest.getLimit(), detailRequest.getLimit()); + } + return deviceMaOrderDetailDao.filterList(detailRequest); + } + + @Override + public BaseResponse addDetail(DeviceMAOrderDetailEntity detailEntity) { + if (null == detailEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceMaOrderDetailDao.insert(detailEntity); + return ResultVOUtils.success("添加成功!"); + } + + @Override + public BaseResponse updateDetail(DeviceMAOrderDetailEntity detailEntity) { + if (null == detailEntity || null == detailEntity.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceMaOrderDetailDao.updateByPrimaryKey(detailEntity); + return ResultVOUtils.success("更新成功"); + } + + @Override + public BaseResponse deleteDetail(DeviceMAOrderDetailEntity detailEntity) { + if (null == detailEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null == detailEntity.getId() && StrUtil.isBlank(detailEntity.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null != detailEntity.getId()) { + deviceMaOrderDetailDao.deleteByPrimaryKey(detailEntity.getId()); + } else { + //删除整单数据 + deviceMaOrderDetailDao.deleteByOrderId(detailEntity.getOrderIdFk()); + } + return ResultVOUtils.success("删除成功"); + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java index c71507d2..42d44a3f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java @@ -1,16 +1,15 @@ package com.glxp.api.admin.service.inventory.impl; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; -import com.glxp.api.admin.dao.inventory.DeviceMaOrderDao; +import com.glxp.api.admin.dao.inventory.DeviceMAOrderDao; +import com.glxp.api.admin.dao.inventory.DeviceMaOrderDetailDao; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; +import com.glxp.api.admin.entity.inventory.DeviceMAOrderDetailEntity; import com.glxp.api.admin.entity.inventory.DeviceMAOrderEntity; -import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderRequest; -import com.glxp.api.admin.res.inventory.DeviceMAOrderResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.DeviceMAOrderService; import com.glxp.api.admin.util.DateUtil; @@ -33,23 +32,25 @@ import java.util.List; public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { @Resource - private DeviceMaOrderDao deviceMaOrderDao; - @Resource - private DeviceCollectOrderDetailDao deviceCollectOrderDetailDao; + private DeviceMAOrderDao deviceMAOrderDao; @Resource private CustomerService customerService; @Resource private GennerOrderUtils gennerOrderUtils; + @Resource + private DeviceCollectOrderDetailDao deviceCollectOrderDetailDao; + @Resource + private DeviceMaOrderDetailDao deviceMaOrderDetailDao; @Override - public List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest) { + public List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest) { if (null == filterDeviceMAOrderRequest) { return Collections.emptyList(); } if (null != filterDeviceMAOrderRequest.getPage() && null != filterDeviceMAOrderRequest.getLimit()) { PageHelper.offsetPage((filterDeviceMAOrderRequest.getPage() - 1) * filterDeviceMAOrderRequest.getLimit(), filterDeviceMAOrderRequest.getLimit()); } - return deviceMaOrderDao.filterList(filterDeviceMAOrderRequest); + return deviceMAOrderDao.filterList(filterDeviceMAOrderRequest); } @Override @@ -57,19 +58,34 @@ public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { if (null == deviceMAOrderEntity) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - FilterDeviceCollectOrderDetailRequest filterDeviceCollectOrderDetailRequest = new FilterDeviceCollectOrderDetailRequest(); - filterDeviceCollectOrderDetailRequest.setCode(deviceMAOrderEntity.getCode()); - List deviceCollectOrderDetailEntityList = deviceCollectOrderDetailDao.selectList(filterDeviceCollectOrderDetailRequest); - DeviceCollectOrderDetailEntity deviceCollectOrderDetailEntity = deviceCollectOrderDetailEntityList.get(0); - BeanUtil.copyProperties(deviceCollectOrderDetailEntity, deviceMAOrderEntity); + if (StrUtil.isBlank(deviceMAOrderEntity.getCollOrderId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请选择养护设备!"); + } deviceMAOrderEntity.setOrderId(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEVICE_MA_ORDER, "yyyyMMdd"))); - deviceMAOrderEntity.setCreateTime(DateUtil.getDateTime()); deviceMAOrderEntity.setCreateUser(customerService.getUserBean().getUserName()); + deviceMAOrderEntity.setCreateTime(DateUtil.getDateTime()); + deviceMAOrderEntity.setStatus(0); deviceMAOrderEntity.setUpdateTime(DateUtil.getDateTime()); - deviceMAOrderEntity.setDeviceStatus(1); - deviceMAOrderEntity.setMaintenanceStatus(0); - deviceMaOrderDao.insert(deviceMAOrderEntity); - return ResultVOUtils.success("添加成功!"); + deviceMAOrderDao.insert(deviceMAOrderEntity); + //查询此设备领用单据的设备列表,生成养护清单 + List deviceCollectOrderDetailList = deviceCollectOrderDetailDao.selectByOrderId(deviceMAOrderEntity.getCollOrderId()); + deviceCollectOrderDetailList.forEach(collectOrderDetail -> { + DeviceMAOrderDetailEntity detailEntity = new DeviceMAOrderDetailEntity(); + detailEntity.setOrderIdFk(deviceMAOrderEntity.getOrderId()); + detailEntity.setCode(collectOrderDetail.getCode()); + detailEntity.setNameCode(collectOrderDetail.getNameCode()); + detailEntity.setBatchNo(collectOrderDetail.getBatchNo()); + detailEntity.setProduceDate(collectOrderDetail.getProduceDate()); + detailEntity.setExpireDate(collectOrderDetail.getExpireDate()); + detailEntity.setProductId(collectOrderDetail.getProductId()); + detailEntity.setSerialNo(collectOrderDetail.getSerialNo()); + detailEntity.setCreateUser(deviceMAOrderEntity.getCreateUser()); + detailEntity.setCreateTime(deviceMAOrderEntity.getCreateTime()); + detailEntity.setMaintenanceStatus(0); + detailEntity.setDeviceStatus(1); + deviceMaOrderDetailDao.insert(detailEntity); + }); + return ResultVOUtils.success(deviceMAOrderEntity); } @Override @@ -80,7 +96,7 @@ public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { if (null == deviceMAOrderEntity.getId() || StrUtil.isBlank(deviceMAOrderEntity.getOrderId())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - deviceMaOrderDao.updateByPrimaryKey(deviceMAOrderEntity); + deviceMAOrderDao.updateByPrimaryKey(deviceMAOrderEntity); return ResultVOUtils.success("更新成功"); } @@ -89,7 +105,13 @@ public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { if (null == id) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - deviceMaOrderDao.deleteByPrimaryKey(id); + DeviceMAOrderEntity deviceMAOrderEntity = deviceMAOrderDao.selectByPrimaryKey(id); + if (null == deviceMAOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此记录已被删除!"); + } + deviceMAOrderDao.deleteByPrimaryKey(id); + //删除此养护记录的详情数据 + deviceCollectOrderDetailDao.deleteByOrderId(deviceMAOrderEntity.getOrderId()); return ResultVOUtils.success("删除成功!"); } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml deleted file mode 100644 index a28f8f17..00000000 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMaOrderDao.xml +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - id, - orderId, - code, - productId, - batchNo, - produceDate, - expireDate, - serialNo, - createTime, - updateTime, - deviceStatus, - maintenanceStatus, - `createUser`, - remark, - `status` - - - - - - delete - from device_ma_order - where id = #{id,jdbcType=INTEGER} - - - - insert into device_ma_order (orderId, code, productId, - batchNo, produceDate, expireDate, - serialNo, createTime, updateTime, - deviceStatus, maintenanceStatus, `createUser`, - remark, `status`) - values (#{orderId,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, - #{batchNo,jdbcType=VARCHAR}, #{produceDate,jdbcType=VARCHAR}, #{expireDate,jdbcType=VARCHAR}, - #{serialNo,jdbcType=VARCHAR}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, - #{deviceStatus,jdbcType=BOOLEAN}, #{maintenanceStatus,jdbcType=BOOLEAN}, #{createUser,jdbcType=VARCHAR}, - #{remark,jdbcType=VARCHAR}, #{status,jdbcType=BOOLEAN}) - - - - insert into device_ma_order - - - orderId, - - - code, - - - productId, - - - batchNo, - - - produceDate, - - - expireDate, - - - serialNo, - - - createTime, - - - updateTime, - - - deviceStatus, - - - maintenanceStatus, - - - `createUser`, - - - remark, - - - `status`, - - - - - #{orderId,jdbcType=VARCHAR}, - - - #{code,jdbcType=VARCHAR}, - - - #{productId,jdbcType=VARCHAR}, - - - #{batchNo,jdbcType=VARCHAR}, - - - #{produceDate,jdbcType=VARCHAR}, - - - #{expireDate,jdbcType=VARCHAR}, - - - #{serialNo,jdbcType=VARCHAR}, - - - #{createTime,jdbcType=VARCHAR}, - - - #{updateTime,jdbcType=VARCHAR}, - - - #{deviceStatus,jdbcType=BOOLEAN}, - - - #{maintenanceStatus,jdbcType=BOOLEAN}, - - - #{createUser,jdbcType=VARCHAR}, - - - #{remark,jdbcType=VARCHAR}, - - - #{status,jdbcType=BOOLEAN}, - - - - - - update device_ma_order - - - orderId = #{orderId,jdbcType=VARCHAR}, - - - code = #{code,jdbcType=VARCHAR}, - - - productId = #{productId,jdbcType=VARCHAR}, - - - batchNo = #{batchNo,jdbcType=VARCHAR}, - - - produceDate = #{produceDate,jdbcType=VARCHAR}, - - - expireDate = #{expireDate,jdbcType=VARCHAR}, - - - serialNo = #{serialNo,jdbcType=VARCHAR}, - - - createTime = #{createTime,jdbcType=VARCHAR}, - - - updateTime = #{updateTime,jdbcType=VARCHAR}, - - - deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, - - - maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, - - - `createUser` = #{createUser,jdbcType=VARCHAR}, - - - remark = #{remark,jdbcType=VARCHAR}, - - - `status` = #{status,jdbcType=BOOLEAN}, - - - where id = #{id,jdbcType=INTEGER} - - - - update device_ma_order - set orderId = #{orderId,jdbcType=VARCHAR}, - code = #{code,jdbcType=VARCHAR}, - productId = #{productId,jdbcType=VARCHAR}, - batchNo = #{batchNo,jdbcType=VARCHAR}, - produceDate = #{produceDate,jdbcType=VARCHAR}, - expireDate = #{expireDate,jdbcType=VARCHAR}, - serialNo = #{serialNo,jdbcType=VARCHAR}, - createTime = #{createTime,jdbcType=VARCHAR}, - updateTime = #{updateTime,jdbcType=VARCHAR}, - deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, - maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, - `createUser` = #{createUser,jdbcType=VARCHAR}, - remark = #{remark,jdbcType=VARCHAR}, - `status` = #{status,jdbcType=BOOLEAN} - where id = #{id,jdbcType=INTEGER} - - - - \ No newline at end of file diff --git a/scripts/设备领用养护功能表.sql b/scripts/设备领用养护功能表.sql index 7becde2d..90523446 100644 --- a/scripts/设备领用养护功能表.sql +++ b/scripts/设备领用养护功能表.sql @@ -41,18 +41,34 @@ DROP TABLE IF EXISTS `device_ma_order`; CREATE TABLE `device_ma_order` ( `id` int NOT NULL AUTO_INCREMENT, `orderId` 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', - `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 '失效日期', - `serialNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '序列号', + `collOrderId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备领用单据号', `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 '更新时间', - `deviceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '设备状态 0:异常 1:正常', - `maintenanceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '养护状态 0:未养护 1:已养护', `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 '养护说明', `status` tinyint(1) NULL DEFAULT NULL COMMENT '状态', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备养护记录表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备养护记录表' ROW_FORMAT = Dynamic; + +# 设备养护记录详情表 +DROP TABLE IF EXISTS `device_ma_order_detail`; +CREATE TABLE `device_ma_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 '条码', + `nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品DI', + `productId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '产品ID', + `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 '失效日期', + `serialNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '序列号', + `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 '更新时间', + `deviceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '设备状态 0:异常 1:正常', + `maintenanceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '养护状态 0:未养护 1:已养护', + `createUser` 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 '养护说明', + `status` tinyint(1) NULL DEFAULT NULL COMMENT '状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备养护记录详情表' ROW_FORMAT = Dynamic; From 1794802bd797d4aa3c3fe580862e6d178d7f7cec Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 7 Dec 2022 16:25:50 +0800 Subject: [PATCH 35/41] =?UTF-8?q?1.=E6=8F=90=E4=BA=A4=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=85=BB=E6=8A=A4=E5=AE=9E=E4=BD=93=E7=B1=BB=E5=92=8C=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8E=A5=E5=8F=A3=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/inventory/DeviceMaOrderDetailDao.java | 26 ++ .../inventory/DeviceMAOrderDetailEntity.java | 89 ++++++ .../entity/inventory/DeviceMAOrderEntity.java | 51 ++++ .../mapper/inventory/DeviceMAOrderDao.xml | 161 +++++++++++ .../inventory/DeviceMAOrderDetailDao.xml | 264 ++++++++++++++++++ 5 files changed, 591 insertions(+) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDetailDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderDetailEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java create mode 100644 api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDao.xml create mode 100644 api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDetailDao.xml diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDetailDao.java new file mode 100644 index 00000000..332fbd63 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDetailDao.java @@ -0,0 +1,26 @@ +package com.glxp.api.admin.dao.inventory; + +import com.glxp.api.admin.entity.inventory.DeviceMAOrderDetailEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceMAOrderDetailRequest; +import com.glxp.api.admin.res.inventory.DeviceMAOrderDetailResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface DeviceMaOrderDetailDao { + int deleteByPrimaryKey(Integer id); + + int insert(DeviceMAOrderDetailEntity record); + + int insertSelective(DeviceMAOrderDetailEntity record); + + DeviceMAOrderDetailEntity selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(DeviceMAOrderDetailEntity record); + + int updateByPrimaryKey(DeviceMAOrderDetailEntity record); + + List filterList(FilterDeviceMAOrderDetailRequest detailRequest); + + void deleteByOrderId(@Param("orderIdFk") String orderIdFk); +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderDetailEntity.java new file mode 100644 index 00000000..2b7ef8bb --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderDetailEntity.java @@ -0,0 +1,89 @@ +package com.glxp.api.admin.entity.inventory; + +import lombok.Data; + +/** + * 设备养护记录详情表 + */ +@Data +public class DeviceMAOrderDetailEntity { + /** + * id + */ + private Integer id; + + /** + * 设备养护记录号 + */ + private String orderIdFk; + + /** + * 条码 + */ + private String code; + + /** + * 产品DI + */ + private String nameCode; + + /** + * 产品ID + */ + private String productId; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String produceDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 创建时间 + */ + private String createTime; + + /** + * 更新时间 + */ + private String updateTime; + + /** + * 设备状态 0:异常 1:正常 + */ + private Integer deviceStatus; + + /** + * 养护状态 0:未养护 1:已养护 + */ + private Integer maintenanceStatus; + + /** + * 养护人 + */ + private String createUser; + + /** + * 养护说明 + */ + private String remark; + + /** + * 状态 + */ + private Boolean status; +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java new file mode 100644 index 00000000..3394978d --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceMAOrderEntity.java @@ -0,0 +1,51 @@ +package com.glxp.api.admin.entity.inventory; + +import lombok.Data; + +/** + * 设备养护记录表 + */ +@Data +public class DeviceMAOrderEntity { + private Integer id; + + /** + * 设备养护记录号 + */ + private String orderId; + + /** + * 设备领用单据号 + */ + private String collOrderId; + + /** + * 养护时间 + */ + private String createTime; + + /** + * 更新时间 + */ + private String updateTime; + + /** + * 养护人 + */ + private String createUser; + + /** + * 审核人 + */ + private String auditUser; + + /** + * 养护说明 + */ + private String remark; + + /** + * 状态 0:草稿 1:已完成 + */ + private Integer status; +} \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDao.xml new file mode 100644 index 00000000..ca176377 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDao.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + id, + orderId, + collOrderId, + createTime, + updateTime, + `createUser`, + auditUser, + remark, + `status` + + + + + + delete + from device_ma_order + where id = #{id,jdbcType=INTEGER} + + + + insert into device_ma_order (orderId, collOrderId, createTime, + updateTime, `createUser`, auditUser, + remark, `status`) + values (#{orderId,jdbcType=VARCHAR}, #{collOrderId,jdbcType=VARCHAR}, #{createTime,jdbcType=VARCHAR}, + #{updateTime,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR}, #{auditUser,jdbcType=VARCHAR}, + #{remark,jdbcType=VARCHAR}, #{status,jdbcType=BOOLEAN}) + + + + insert into device_ma_order + + + orderId, + + + collOrderId, + + + createTime, + + + updateTime, + + + `createUser`, + + + auditUser, + + + remark, + + + `status`, + + + + + #{orderId,jdbcType=VARCHAR}, + + + #{collOrderId,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=VARCHAR}, + + + #{createUser,jdbcType=VARCHAR}, + + + #{auditUser,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + #{status,jdbcType=BOOLEAN}, + + + + + + update device_ma_order + + + orderId = #{orderId,jdbcType=VARCHAR}, + + + collOrderId = #{collOrderId,jdbcType=VARCHAR}, + + + createTime = #{createTime,jdbcType=VARCHAR}, + + + updateTime = #{updateTime,jdbcType=VARCHAR}, + + + `createUser` = #{createUser,jdbcType=VARCHAR}, + + + auditUser = #{auditUser,jdbcType=VARCHAR}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + `status` = #{status,jdbcType=BOOLEAN}, + + + where id = #{id,jdbcType=INTEGER} + + + + update device_ma_order + set orderId = #{orderId,jdbcType=VARCHAR}, + collOrderId = #{collOrderId,jdbcType=VARCHAR}, + createTime = #{createTime,jdbcType=VARCHAR}, + updateTime = #{updateTime,jdbcType=VARCHAR}, + `createUser` = #{createUser,jdbcType=VARCHAR}, + auditUser = #{auditUser,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR}, + `status` = #{status,jdbcType=BOOLEAN} + where id = #{id,jdbcType=INTEGER} + + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDetailDao.xml new file mode 100644 index 00000000..a937b00b --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDetailDao.xml @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + id, + orderIdFk, + code, + productId, + batchNo, + produceDate, + expireDate, + serialNo, + createTime, + updateTime, + deviceStatus, + maintenanceStatus, + `createUser`, + remark, + `status` + + + + + + delete + from device_ma_order_detail + where id = #{id,jdbcType=INTEGER} + + + + insert into device_ma_order_detail (orderIdFk, code, productId, + batchNo, produceDate, expireDate, + serialNo, createTime, updateTime, + deviceStatus, maintenanceStatus, `createUser`, + remark, `status`) + values (#{orderIdFk,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, + #{batchNo,jdbcType=VARCHAR}, #{produceDate,jdbcType=VARCHAR}, #{expireDate,jdbcType=VARCHAR}, + #{serialNo,jdbcType=VARCHAR}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, + #{deviceStatus,jdbcType=BOOLEAN}, #{maintenanceStatus,jdbcType=BOOLEAN}, #{createUser,jdbcType=VARCHAR}, + #{remark,jdbcType=VARCHAR}, #{status,jdbcType=BOOLEAN}) + + + + insert into device_ma_order_detail + + + orderIdFk, + + + code, + + + productId, + + + batchNo, + + + produceDate, + + + expireDate, + + + serialNo, + + + createTime, + + + updateTime, + + + deviceStatus, + + + maintenanceStatus, + + + `createUser`, + + + remark, + + + `status`, + + + + + #{orderIdFk,jdbcType=VARCHAR}, + + + #{code,jdbcType=VARCHAR}, + + + #{productId,jdbcType=VARCHAR}, + + + #{batchNo,jdbcType=VARCHAR}, + + + #{produceDate,jdbcType=VARCHAR}, + + + #{expireDate,jdbcType=VARCHAR}, + + + #{serialNo,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=VARCHAR}, + + + #{deviceStatus,jdbcType=BOOLEAN}, + + + #{maintenanceStatus,jdbcType=BOOLEAN}, + + + #{createUser,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + #{status,jdbcType=BOOLEAN}, + + + + + + update device_ma_order_detail + + + orderIdFk = #{orderIdFk,jdbcType=VARCHAR}, + + + code = #{code,jdbcType=VARCHAR}, + + + productId = #{productId,jdbcType=VARCHAR}, + + + batchNo = #{batchNo,jdbcType=VARCHAR}, + + + produceDate = #{produceDate,jdbcType=VARCHAR}, + + + expireDate = #{expireDate,jdbcType=VARCHAR}, + + + serialNo = #{serialNo,jdbcType=VARCHAR}, + + + createTime = #{createTime,jdbcType=VARCHAR}, + + + updateTime = #{updateTime,jdbcType=VARCHAR}, + + + deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + + + maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, + + + `createUser` = #{createUser,jdbcType=VARCHAR}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + `status` = #{status,jdbcType=BOOLEAN}, + + + where id = #{id,jdbcType=INTEGER} + + + + update device_ma_order_detail + set orderIdFk = #{orderIdFk,jdbcType=VARCHAR}, + code = #{code,jdbcType=VARCHAR}, + productId = #{productId,jdbcType=VARCHAR}, + batchNo = #{batchNo,jdbcType=VARCHAR}, + produceDate = #{produceDate,jdbcType=VARCHAR}, + expireDate = #{expireDate,jdbcType=VARCHAR}, + serialNo = #{serialNo,jdbcType=VARCHAR}, + createTime = #{createTime,jdbcType=VARCHAR}, + updateTime = #{updateTime,jdbcType=VARCHAR}, + deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, + `createUser` = #{createUser,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR}, + `status` = #{status,jdbcType=BOOLEAN} + where id = #{id,jdbcType=INTEGER} + + + + + + delete from device_ma_order_detail where orderIdFk = #{orderIdFk} + + \ No newline at end of file From 2e814bfc63c585c8f4bcba97c6920891edba0847 Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 7 Dec 2022 21:35:26 +0800 Subject: [PATCH 36/41] =?UTF-8?q?1.=E5=AE=8C=E6=88=90=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=85=BB=E6=8A=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/dao/inventory/DeviceMaOrderDetailDao.java | 8 ++++++++ .../req/inventory/FilterDeviceMAOrderRequest.java | 10 ++++++++++ .../inventory/impl/DeviceMAOrderServiceImpl.java | 9 +++++++++ .../mybatis/mapper/inventory/DeviceCollectOrderDao.xml | 2 +- .../mybatis/mapper/inventory/DeviceMAOrderDao.xml | 9 ++++++++- .../mapper/inventory/DeviceMAOrderDetailDao.xml | 5 +++++ 6 files changed, 41 insertions(+), 2 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDetailDao.java index 332fbd63..236ed0cd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceMaOrderDetailDao.java @@ -23,4 +23,12 @@ public interface DeviceMaOrderDetailDao { List filterList(FilterDeviceMAOrderDetailRequest detailRequest); void deleteByOrderId(@Param("orderIdFk") String orderIdFk); + + /** + * 查询此设备养护及 + * + * @param orderId + * @return + */ + List selectByOrderId(@Param("orderId") String orderId); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java index 4fa4b63c..6374bc40 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java @@ -16,4 +16,14 @@ public class FilterDeviceMAOrderRequest extends ListPageRequest { */ private String orderId; + /** + * 设备领用记录号 + */ + private String collOrderId; + + /** + * 状态 0:草稿 1:已完成 + */ + private Integer status; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java index 42d44a3f..ee543267 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceMAOrderServiceImpl.java @@ -96,6 +96,15 @@ public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { if (null == deviceMAOrderEntity.getId() || StrUtil.isBlank(deviceMAOrderEntity.getOrderId())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } + if (deviceMAOrderEntity.getStatus() == 1) { + //完成养护记录更新,查询此条养护记录详情中是否存在未养护完成设备 + List detailList = deviceMaOrderDetailDao.selectByOrderId(deviceMAOrderEntity.getOrderId()); + for (DeviceMAOrderDetailEntity deviceMAOrderDetailEntity : detailList) { + if (deviceMAOrderDetailEntity.getMaintenanceStatus() == 0) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "存在未养护设备,请完成该设备养护!"); + } + } + } deviceMAOrderDao.updateByPrimaryKey(deviceMAOrderEntity); return ResultVOUtils.success("更新成功"); } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml index 6351b0ff..e0556375 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml @@ -170,6 +170,6 @@ - update device_collect_order set status = #{status} and id = #{id} + update device_collect_order set status = #{status} where id = #{id} \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDao.xml index ca176377..4d402246 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDao.xml @@ -150,12 +150,19 @@ \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDetailDao.xml index a937b00b..46da97d1 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceMAOrderDetailDao.xml @@ -261,4 +261,9 @@ delete from device_ma_order_detail where orderIdFk = #{orderIdFk} + + \ No newline at end of file From f26bce6ece65a9ba91d7356f82768a78c3c5bfa0 Mon Sep 17 00:00:00 2001 From: x_z Date: Thu, 8 Dec 2022 18:21:29 +0800 Subject: [PATCH 37/41] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=E6=89=93=E5=8D=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/InvCountOrderController.java | 65 +++++++++++++++++++ .../inventory/InvCountOrderPrintRequest.java | 21 ++++++ 2 files changed, 86 insertions(+) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/InvCountOrderPrintRequest.java diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvCountOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvCountOrderController.java index f4eea918..2a85a0e9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvCountOrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvCountOrderController.java @@ -3,13 +3,21 @@ package com.glxp.api.admin.controller.inventory; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.entity.info.SystemPDFModuleEntity; +import com.glxp.api.admin.entity.info.SystemPDFTemplateEntity; import com.glxp.api.admin.entity.inventory.InvCountOrder; +import com.glxp.api.admin.req.info.SystemPDFModuleRequest; import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest; import com.glxp.api.admin.req.inventory.FilterInvCountOrderSaveRequest; +import com.glxp.api.admin.req.inventory.InvCountOrderPrintRequest; +import com.glxp.api.admin.req.itextpdf.InspectionPDFTemplateRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.inventory.InvCountOrderResponse; +import com.glxp.api.admin.service.info.SystemPDFModuleService; +import com.glxp.api.admin.service.info.SystemPDFTemplateService; import com.glxp.api.admin.service.inventory.InvCountOrderService; +import com.glxp.api.admin.util.JasperUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -20,8 +28,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 盘点单接口 @@ -31,6 +43,10 @@ public class InvCountOrderController { @Resource private InvCountOrderService invCountOrderService; + @Resource + private SystemPDFTemplateService systemPDFTemplateService; + @Resource + private SystemPDFModuleService systemPDFModuleService; /** * 查询盘点单列表 @@ -38,6 +54,7 @@ public class InvCountOrderController { * @param filterInvCountOrderRequest * @return */ + @AuthRuleAnnotation("") @GetMapping("/invCount/order/filter") public BaseResponse filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) { List list = invCountOrderService.filterList(filterInvCountOrderRequest); @@ -54,6 +71,7 @@ public class InvCountOrderController { * @param deleteRequest * @return */ + @AuthRuleAnnotation("") @PostMapping("/invCount/order/delete") public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) { invCountOrderService.deleteOrder(deleteRequest.getId()); @@ -65,6 +83,7 @@ public class InvCountOrderController { * * @return */ + @AuthRuleAnnotation("") @PostMapping("/invCount/order/saveCountOrder") public BaseResponse saveCountOrder(@RequestBody InvCountOrder invCountOrder, BindingResult bindingResult) { if (bindingResult.hasErrors()) { @@ -83,6 +102,7 @@ public class InvCountOrderController { * @param id * @return */ + @AuthRuleAnnotation("") @GetMapping("/invCount/order/submitAudit") public BaseResponse submitAudit(String id) { if (StrUtil.isBlank(id)) { @@ -97,6 +117,7 @@ public class InvCountOrderController { * @param filterInvCountOrderRequest * @return */ + @AuthRuleAnnotation("") @PostMapping("/invCount/order/updateCountOrderStatus") public BaseResponse updateCountOrderStatus(@RequestBody FilterInvCountOrderRequest filterInvCountOrderRequest) { if (null == filterInvCountOrderRequest || StrUtil.isBlank(filterInvCountOrderRequest.getId()) || null == filterInvCountOrderRequest.getStatus()) { @@ -105,6 +126,50 @@ public class InvCountOrderController { return invCountOrderService.updateCountOrderStatus(filterInvCountOrderRequest.getId(), filterInvCountOrderRequest.getStatus()); } + /** + * 校验模板文件 + * + * @param inspectionPDFTemplateRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/invCount/order/verifyTemplateFile") + public BaseResponse verifyTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) { + if (null == inspectionPDFTemplateRequest) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + //查询模板文件是否存在 + SystemPDFModuleRequest systemPDFModuleRequest = new SystemPDFModuleRequest(); + systemPDFModuleRequest.setId(inspectionPDFTemplateRequest.getModuleId()); + SystemPDFModuleEntity systemPDFModule = systemPDFModuleService.findSystemPDFModule(systemPDFModuleRequest); + if (null == systemPDFModule) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } + + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(systemPDFModule.getTemplateId())); + if (null == systemPDFTemplateEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } + return ResultVOUtils.success(systemPDFModule.getTemplateId()); + } + + /** + * 打印模板单号标签 + * + * @param invCountOrderPrintRequest + * @param request + * @param response + * @throws Exception + */ + @AuthRuleAnnotation("") + @PostMapping("/invCount/order/printOrder") + public void printOrder(@RequestBody InvCountOrderPrintRequest invCountOrderPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(invCountOrderPrintRequest.getTemplateId()); + //打印单号标签 + Map data = new HashMap<>(1); + data.put("orderId", invCountOrderPrintRequest.getOrderId()); + JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf"); + } //------------------------------------------------------手持终端接口--------------------------------------------------------------- diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/InvCountOrderPrintRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/InvCountOrderPrintRequest.java new file mode 100644 index 00000000..aea0222f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/InvCountOrderPrintRequest.java @@ -0,0 +1,21 @@ +package com.glxp.api.admin.req.inventory; + +import lombok.Data; + +/** + * 盘点单据打印参数 + */ +@Data +public class InvCountOrderPrintRequest { + + /** + * 盘点单号 + */ + private String orderId; + + /** + * 模板ID + */ + private String templateId; + +} From 78a040565f2501c642d5f461dc1595f1ce05d849 Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 9 Dec 2022 11:43:42 +0800 Subject: [PATCH 38/41] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E6=92=A4=E5=9B=9E?= =?UTF-8?q?=E6=9C=AA=E9=AA=8C=E6=94=B6=E5=8D=95=E6=8D=AE=E5=90=8E=E6=9C=AA?= =?UTF-8?q?=E7=BD=AE=E7=A9=BA=E6=89=AB=E7=A0=81=E5=8D=95=E6=8D=AE=E5=85=B3?= =?UTF-8?q?=E8=81=94=E4=B8=9A=E5=8A=A1=E5=8D=95=E6=8D=AE=E5=8F=B7=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/api/admin/dao/inout/OrderDetailDao.java | 8 ++++++++ .../business/impl/StockOrderServiceImpl.java | 15 +++++++-------- .../mybatis/mapper/inout/OrderDetailDao.xml | 5 +++++ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDetailDao.java index 16009c4e..eb730e63 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDetailDao.java @@ -60,4 +60,12 @@ public interface OrderDetailDao { * @return */ int countByOrderId(@Param("orderId") String orderId); + + /** + * 更新扫码单据详情关联的业务单据号 + * + * @param orderIdFk 扫码单据ID + * @param erpOrderId 关联业务单据号 + */ + void updateErpOrderId(@Param("orderIdFk") String orderIdFk, @Param("erpOrderId") String erpOrderId); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java index aa6a09f6..1bbad141 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java @@ -16,6 +16,7 @@ import com.glxp.api.admin.dao.business.StockOrderDao; import com.glxp.api.admin.dao.business.StockOrderDetailDao; import com.glxp.api.admin.dao.inout.CodesDao; import com.glxp.api.admin.dao.inout.OrderDao; +import com.glxp.api.admin.dao.inout.OrderDetailDao; import com.glxp.api.admin.dao.inventory.InvPreInProductDao; import com.glxp.api.admin.dao.inventory.InvPreInProductDetailDao; import com.glxp.api.admin.dao.inventory.InvProductDao; @@ -92,6 +93,8 @@ public class StockOrderServiceImpl implements StockOrderService { @Resource BussinessTypeService bussinessTypeService; + @Resource + private OrderDetailDao orderDetailDao; @Override @@ -319,19 +322,16 @@ public class StockOrderServiceImpl implements StockOrderService { orderEntity.setErpFk(""); stockOrderDao.updateById(stockOrderEntity); orderDao.updateOrder(orderEntity); + //置空扫码单据详情关联的业务单据号 + orderDetailDao.updateErpOrderId(orderEntity.getId(), null); } else { orderEntity.setErpFk(""); stockOrderDao.deleteById(stockOrderEntity.getId()); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); orderDao.updateOrder(orderEntity); - List warehouseEntityList = codesDao.findByReceiptId(orderEntity.getId()); - if (CollUtil.isNotEmpty(warehouseEntityList)) { - codesTempService.insertCodesTemp(warehouseEntityList); - codesDao.deleteByOrderId(orderEntity.getId()); - } + //置空扫码单据详情关联的业务单据号 + orderDetailDao.updateErpOrderId(orderEntity.getId(), null); } - - } else { //回退已完成单据 @@ -460,7 +460,6 @@ public class StockOrderServiceImpl implements StockOrderService { } } } - } //更新业务单据数据 diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml index 624b9597..4bb19cd6 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml @@ -272,4 +272,9 @@ where orderIdFk = #{orderId} + + update io_order_detail + set erpOrderId = #{erpOrderId} + where orderIdFk = #{orderIdFk} + \ No newline at end of file From 83599ef8b75eb40be737adf1cc8a473bd100d95f Mon Sep 17 00:00:00 2001 From: anthonyywj2 <353682448@qq.com> Date: Mon, 12 Dec 2022 10:16:28 +0800 Subject: [PATCH 39/41] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=9B=9E=E9=80=80?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E8=A1=A5=E5=8D=95=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=AE=A1=E6=A0=B8=E6=97=B6=E9=97=B4=E5=BE=80?= =?UTF-8?q?=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/admin/entity/basic/UdiInfoEntity.java | 2 +- .../business/impl/StockOrderServiceImpl.java | 86 +++++++------- .../service/inout/impl/OrderServiceImpl.java | 108 +++++++++--------- .../admin/thread/InvProductsTrService.java | 23 +++- .../main/resources/application-dev.properties | 4 +- .../main/resources/schemas/schema_v2.1.sql | 3 +- 6 files changed, 124 insertions(+), 102 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiInfoEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiInfoEntity.java index 7c5382e3..97dcaf19 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiInfoEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiInfoEntity.java @@ -29,7 +29,7 @@ public class UdiInfoEntity { private String sydycpbs; private String uuid; private int versionNumber; - private int diType; + private Integer diType; private String thirdId; private String thirdName; private String ybbm; diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java index aa6a09f6..a4b375f0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java @@ -342,48 +342,52 @@ public class StockOrderServiceImpl implements StockOrderService { 不是预验收单据,则正常扣减库存,回滚业务单据状态 */ if (isPreInOrder(orderEntity)) { - //查询预验收库库存详情 - FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); - filterInvProductDetailRequest.setOrderIdFk(orderEntity.getId()); - List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); - List invPreInProductList = new ArrayList<>(); - for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { - FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); - filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); - filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); - filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); - filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); - if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { - filterInvProductRequest.setBatchNo("empty"); - } else { - filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); - } - List invProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); - if (CollUtil.isNotEmpty(invProductEntities) && invProductEntities.size() > 0) { - InvProductEntity invProductEntity = invProductEntities.get(0); - calculateInvCount(invProductEntity, invProductDetailEntity); - invPreInProductList.add(invProductEntity); - } else { - return false; - } - } - //删除库存详情 + invPreInProductDetailDao.deleteByOrderId(orderEntity.getId()); - //更新库存 - for (InvProductEntity invProductEntity : invPreInProductList) { - //查询库存码详情,如果库存码详情为空,则删除此库存 - FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); - detailParams.setBatchNo(invProductEntity.getBatchNo()); - detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); - detailParams.setProductIdFk(invProductEntity.getRelIdFk()); - int count = invPreInProductDetailDao.statCount(detailParams); - if (count == 0) { - //如果库存码详情为空,则删除此库存 - invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); - } else { - invPreInProductDao.updateInvProduct(invProductEntity); - } - } + invPreInProductDao.deleteByOrderIdFk(orderEntity.getId()); + +// //查询预验收库库存详情 +// FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setOrderIdFk(orderEntity.getId()); +// List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); +// List invPreInProductList = new ArrayList<>(); +// for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { +// FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); +// filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); +// filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); +// filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); +// filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); +// if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { +// filterInvProductRequest.setBatchNo("empty"); +// } else { +// filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); +// } +// List invProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); +// if (CollUtil.isNotEmpty(invProductEntities) && invProductEntities.size() > 0) { +// InvProductEntity invProductEntity = invProductEntities.get(0); +// calculateInvCount(invProductEntity, invProductDetailEntity); +// invPreInProductList.add(invProductEntity); +// } else { +// return false; +// } +// } +// //删除库存详情 +// invPreInProductDetailDao.deleteByOrderId(orderEntity.getId()); +// //更新库存 +// for (InvProductEntity invProductEntity : invPreInProductList) { +// //查询库存码详情,如果库存码详情为空,则删除此库存 +// FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); +// detailParams.setBatchNo(invProductEntity.getBatchNo()); +// detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); +// detailParams.setProductIdFk(invProductEntity.getRelIdFk()); +// int count = invPreInProductDetailDao.statCount(detailParams); +// if (count == 0) { +// //如果库存码详情为空,则删除此库存 +// invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); +// } else { +// invPreInProductDao.updateInvProduct(invProductEntity); +// } +// } } else { //非预验收单据库存,正常扣减库存 FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java index b172f5da..33f962a2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java @@ -554,59 +554,63 @@ public class OrderServiceImpl implements OrderService { try { //判断单据是否是预验收单据,如果是预验收单据,则删除预验收库库存 if (isPreInOrder(orderEntity)) { - //查询预验收库详情 - FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); - filterInvProductDetailRequest.setOrderIdFk(id); - List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); - Map> invPreInProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk)); - - List invPreInProductList = new ArrayList<>(invPreInProductDetailMap.keySet().size()); - - for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { - FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); - filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); - filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); - filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); - filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); - if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { - filterInvProductRequest.setBatchNo("empty"); - } else { - filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); - } - List invPerInProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); - InvProductEntity invProductEntity = invPerInProductEntities.get(0); - if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - //入库,在原有库存基础上减库存 - int count = invProductEntity.getInCount() - invProductDetailEntity.getCount(); - invProductEntity.setInCount(count); - } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - //出库,在原有库存上增加库存 - int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount(); - invProductEntity.setOutCount(count); - } - - invPreInProductList.add(invProductEntity); - } - //删除库存详情 - invPreInProductDetailDao.deleteByOrderId(id); - //删除码详情 - codesDao.deleteByOrderId(id); - //更新库存 - for (InvProductEntity invProductEntity : invPreInProductList) { - //查询库存码详情,如果库存码详情为空,则删除此库存 - FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); - detailParams.setBatchNo(invProductEntity.getBatchNo()); - detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); - detailParams.setProductIdFk(invProductEntity.getRelIdFk()); - int count = invPreInProductDetailDao.statCount(detailParams); - if (count == 0) { - //如果库存码详情为空,则删除此库存 - invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); - } else { - invPreInProductDao.updateInvProduct(invProductEntity); - } - } + invPreInProductDetailDao.deleteByOrderId(orderEntity.getId()); + invPreInProductDao.deleteByOrderIdFk(orderEntity.getId()); + +// //查询预验收库详情 +// FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setOrderIdFk(id); +// List invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); +// Map> invPreInProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk)); +// +// List invPreInProductList = new ArrayList<>(invPreInProductDetailMap.keySet().size()); +// +// for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { +// FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); +// filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); +// filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); +// filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); +// filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode()); +// if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { +// filterInvProductRequest.setBatchNo("empty"); +// } else { +// filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); +// } +// List invPerInProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest); +// InvProductEntity invProductEntity = invPerInProductEntities.get(0); +// if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { +// //入库,在原有库存基础上减库存 +// int count = invProductEntity.getInCount() - invProductDetailEntity.getCount(); +// invProductEntity.setInCount(count); +// } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { +// //出库,在原有库存上增加库存 +// int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount(); +// invProductEntity.setOutCount(count); +// } +// +// invPreInProductList.add(invProductEntity); +// } +// +// //删除库存详情 +// invPreInProductDetailDao.deleteByOrderId(id); +// //删除码详情 +// codesDao.deleteByOrderId(id); +// //更新库存 +// for (InvProductEntity invProductEntity : invPreInProductList) { +// //查询库存码详情,如果库存码详情为空,则删除此库存 +// FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); +// detailParams.setBatchNo(invProductEntity.getBatchNo()); +// detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); +// detailParams.setProductIdFk(invProductEntity.getRelIdFk()); +// int count = invPreInProductDetailDao.statCount(detailParams); +// if (count == 0) { +// //如果库存码详情为空,则删除此库存 +// invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); +// } else { +// invPreInProductDao.updateInvProduct(invProductEntity); +// } +// } } else { //查询库存详情 FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java index b1d5d4b2..868a2608 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java @@ -479,7 +479,7 @@ public class InvProductsTrService { //寄售出库生成单据 OrderEntity outOrder = new OrderEntity(); BeanUtils.copyProperties(orderEntity, outOrder); - outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setActDate(DateUtil.getBeforeDay(fromDate(orderEntity), bussinessChangeTypeEntity.getBeforeTime())); outOrder.setCreateTime(outOrder.getActDate()); outOrder.setAction(bussinessChangeTypeEntity.getScAction()); outOrder.setMainAction(ConstantType.TYPE_OUT); @@ -550,7 +550,7 @@ public class InvProductsTrService { temps = filterSupMaps.get(corpName); OrderEntity outOrder = new OrderEntity(); BeanUtils.copyProperties(orderEntity, outOrder); - outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setActDate(DateUtil.getBeforeDay(fromDate(orderEntity), bussinessChangeTypeEntity.getBeforeTime())); outOrder.setCreateTime(outOrder.getActDate()); outOrder.setAction(bussinessChangeTypeEntity.getScAction()); outOrder.setMainAction(ConstantType.TYPE_PUT); @@ -598,7 +598,7 @@ public class InvProductsTrService { for (WarehouseEntity warehouseEntity : unkonwCorpList) { OrderEntity outOrder = new OrderEntity(); BeanUtils.copyProperties(orderEntity, outOrder); - outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setActDate(DateUtil.getBeforeDay(fromDate(orderEntity), bussinessChangeTypeEntity.getBeforeTime())); outOrder.setCreateTime(outOrder.getActDate()); outOrder.setAction(bussinessChangeTypeEntity.getScAction()); outOrder.setMainAction(ConstantType.TYPE_PUT); @@ -674,7 +674,7 @@ public class InvProductsTrService { OrderEntity outOrder = new OrderEntity(); BeanUtils.copyProperties(orderEntity, outOrder); outOrder.setSupplementNo(null);//补单需置空 - outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setActDate(DateUtil.getBeforeDay(fromDate(orderEntity), bussinessChangeTypeEntity.getBeforeTime())); outOrder.setCreateTime(outOrder.getActDate()); outOrder.setAction(bussinessTypeEntity.getAction()); outOrder.setMainAction(bussinessTypeEntity.getMainAction()); @@ -756,7 +756,7 @@ public class InvProductsTrService { temps = filterSupMaps.get(corpName); OrderEntity outOrder = new OrderEntity(); BeanUtils.copyProperties(orderEntity, outOrder); - outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setActDate(DateUtil.getBeforeDay(fromDate(orderEntity), bussinessChangeTypeEntity.getBeforeTime())); outOrder.setCreateTime(outOrder.getActDate()); outOrder.setAction(bussinessChangeTypeEntity.getScAction()); outOrder.setMainAction(ConstantType.TYPE_PUT); @@ -1116,4 +1116,17 @@ public class InvProductsTrService { } else return false; } + + String fromDate(OrderEntity orderEntity) { + String time = ""; + if (orderEntity.getAuditTime() != null) { + time = DateUtil.formatDateTime(orderEntity.getAuditTime()); + } else { + time = orderEntity.getActDate(); + } + + + return time; + } + } \ No newline at end of file diff --git a/api-admin/src/main/resources/application-dev.properties b/api-admin/src/main/resources/application-dev.properties index 2c87aee0..9ff15a1c 100644 --- a/api-admin/src/main/resources/application-dev.properties +++ b/api-admin/src/main/resources/application-dev.properties @@ -1,8 +1,8 @@ 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_ph1?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://192.168.0.66:3364/udiwms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root -spring.datasource.password=123456 +spring.datasource.password=Glxp@6066 spring.datasource.hikari.connection-timeout=60000 spring.datasource.hikari.maximum-pool-size=60 spring.datasource.hikari.minimum-idle=10 diff --git a/api-admin/src/main/resources/schemas/schema_v2.1.sql b/api-admin/src/main/resources/schemas/schema_v2.1.sql index 587b80fd..db702ace 100644 --- a/api-admin/src/main/resources/schemas/schema_v2.1.sql +++ b/api-admin/src/main/resources/schemas/schema_v2.1.sql @@ -6,4 +6,5 @@ CALL Pro_Temp_ColumnWork ('io_order','wzUploadResult','varchar(255) ', 1); --- 创建表时必须 create table if not exists 表名 \ No newline at end of file +-- 创建表时必须 create table if not exists 表名 + From 9856b83d4d21de4855f12d99e74b5de2feca598d Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 14 Dec 2022 10:33:12 +0800 Subject: [PATCH 40/41] =?UTF-8?q?1.=E5=90=8C=E6=AD=A5busUser=E5=88=86?= =?UTF-8?q?=E6=94=AF=E7=9A=84bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inventory/InvSubWarehouseController.java | 4 ++++ .../com/glxp/api/admin/req/inventory/InnerOrderRequest.java | 5 ++++- .../com/glxp/api/admin/res/basic/BussinessTypResponse.java | 4 ++++ .../main/resources/mybatis/mapper/basic/BussinessTypeDao.xml | 2 ++ .../resources/mybatis/mapper/inventory/InnerOrderDao.xml | 5 ++++- .../mybatis/mapper/inventory/InvPreInProductDao.xml | 2 +- 6 files changed, 19 insertions(+), 3 deletions(-) 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 fe2abc51..32a71d9d 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 @@ -141,6 +141,10 @@ public class InvSubWarehouseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + boolean checkResult = invSubWarehouseService.checkDuplicateName(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getName()); + if (checkResult) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "分库名称重复!"); + } FilterInvSubWarehouseRequest filterInvWarehouseRequest = new FilterInvSubWarehouseRequest(); filterInvWarehouseRequest.setParentId(invSubWarehouseEntity.getParentId()); diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/InnerOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/InnerOrderRequest.java index 920e1da2..b192c1e8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/InnerOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/InnerOrderRequest.java @@ -6,6 +6,9 @@ import lombok.Data; @Data public class InnerOrderRequest extends ListPageRequest { - private String recordKey; + + private String startDate; + + private String endDate; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java index e284ef2b..4a756742 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java @@ -76,4 +76,8 @@ public class BussinessTypResponse { private boolean secCheckCopy; private boolean checkSelect; //判断多选框是否勾选 + + private boolean checkSp; + + private boolean secCheckSp; //自助平台同步 } diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml index 58ba333c..fc13cf7b 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml @@ -327,12 +327,14 @@ checkPc=#{checkPc}, checkWebNew=#{checkWebNew}, checkChange=#{checkChange}, + checkSp=#{checkSp}, secCheckUdims=#{secCheckUdims}, secCheckPdaEd=#{secCheckPdaEd}, secCheckPdaUn=#{secCheckPdaUn}, secCheckPc=#{secCheckPc}, secCheckWebNew=#{secCheckWebNew}, secCheckChange=#{secCheckChange}, + secCheckSp=#{secCheckSp}, checkBalacne=#{checkBalacne}, secCheckBalacne=#{secCheckBalacne}, index=#{index}, diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InnerOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InnerOrderDao.xml index d1bcffdc..bcf1da8b 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InnerOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InnerOrderDao.xml @@ -12,8 +12,11 @@ AND recordKey = #{recordKey} + + AND date_format(inv_inner_order.createTime, '%Y-%m-%d') between date_format(#{startDate}, + '%Y-%m-%d') and date_format(#{endDate}, '%Y-%m-%d') + - GROUP BY #{groupType} - group by inv_prein_product.id + group by inv_prein_product.orderIdFk order by inv_prein_product.updateTime desc Date: Wed, 14 Dec 2022 17:45:10 +0800 Subject: [PATCH 41/41] =?UTF-8?q?1.=E8=AE=BE=E5=A4=87=E9=A2=86=E7=94=A8?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=B7=BB=E5=8A=A0=E9=A2=86=E7=94=A8=E4=BA=BA?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/DeviceCollectOrderEntity.java | 7 +++- .../inventory/DeviceCollectOrderDao.xml | 39 ++++++++++++------- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java index eaf9c77a..f1fe0152 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/DeviceCollectOrderEntity.java @@ -23,7 +23,7 @@ public class DeviceCollectOrderEntity { private String deptCode; /** - * 领用人 + * 创建人 */ private String createUser; @@ -46,4 +46,9 @@ public class DeviceCollectOrderEntity { * 状态 0:草稿 1:未审核 2:已审核 */ private Integer status; + + /** + * 领用人 + */ + private String collectUser; } \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml index e0556375..1e34dfdc 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml @@ -10,6 +10,7 @@ + @@ -20,7 +21,8 @@ auditUser, createTime, updateTime, - `status` + `status`, + collectUser select dco.id, - dco.orderId, - dco.deptCode, - dco.createUser, - dco.auditUser, - dco.createTime, - dco.updateTime, - dco.status, - auth_dept.name deptName + dco.orderId, + dco.deptCode, + dco.createUser, + dco.auditUser, + dco.createTime, + dco.updateTime, + dco.status, + dco.collectUser, + auth_dept.name deptName from device_collect_order dco - left join auth_dept on dco.deptCode = auth_dept.code + left join auth_dept on dco.deptCode = auth_dept.code AND dco.status = #{status}