From 00788a0597c01d79a08778cdeb021b4dac4b0963 Mon Sep 17 00:00:00 2001 From: yewj Date: Wed, 4 Sep 2024 16:34:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inout/IoSplitController.java | 9 +-- .../api/entity/collect/IoCollectOrderBiz.java | 7 +++ .../collect/IoCollectOrderService.java | 13 +++++ .../api/service/inout/IoSplitCodeService.java | 58 +++++++++++++++++++ .../service/inout/IoSplitFifoCodeService.java | 13 +++++ src/main/resources/schemas/schema_v2.4.sql | 42 ++++++++------ 6 files changed, 121 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoSplitController.java b/src/main/java/com/glxp/api/controller/inout/IoSplitController.java index ac56d1af7..e0f7455a2 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoSplitController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoSplitController.java @@ -136,10 +136,11 @@ public class IoSplitController extends BaseController { SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByWorkplaceCode(collectOrder.getWorkPlaceCode(), collectOrder.getBusType()); if (IntUtil.value(sysWorkplaceDocumentEntity.getAutoTag()) == 1) { - //未拆零 - if (IntUtil.value(collectOrder.getSplitStatus()) != 2) { - splitCodeService.orderAutoTagCode(collectOrder); - } + splitCodeService.preAutoTagCode(collectOrder); +// //未拆零 +// if (IntUtil.value(collectOrder.getSplitStatus()) != 2) { +// splitCodeService.orderAutoTagCode(collectOrder); +// } return ResultVOUtils.success("后台已开始赋码,请稍后刷新查看"); } else { return ResultVOUtils.success("无需自动赋码"); diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java index da7191c32..de00914aa 100644 --- a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java @@ -198,6 +198,13 @@ public class IoCollectOrderBiz implements Serializable { @ApiModelProperty(value = "上传替换码") private String replaceCode; + /** + * 自动赋码状态:1:无法自动赋码;2:可以自动赋码;3:可以自动赋码,但是数量不足 + */ + @TableField(value = "autoTagStatus") + @ApiModelProperty(value = "autoTagStatus") + private Integer autoTagStatus; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index 09a76f4db..00522d696 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -544,6 +544,19 @@ public class IoCollectOrderService extends ServiceImpl { //插入到码表 collectCodeService.insertCodesByBill(collectOrderRequest.getBillNo()); diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java index 02883aa41..33beba52e 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java @@ -8,6 +8,7 @@ import com.github.pagehelper.PageHelper; import com.glxp.api.dao.inout.IoSplitCodeMapper; import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity; import com.glxp.api.entity.basic.BasicSkPrescribeEntity; +import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.collect.IoCollectOrderCodeAuto; @@ -17,6 +18,7 @@ import com.glxp.api.entity.inout.IoSplitFifoInv; import com.glxp.api.req.inout.IoSplitCodeRequest; import com.glxp.api.service.basic.BasicSkPrescribeDiService; import com.glxp.api.service.basic.BasicSkPrescribeService; +import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.collect.IoCollectOrderBizService; import com.glxp.api.service.collect.IoCollectOrderCodeAutoService; import com.glxp.api.service.collect.IoCollectOrderService; @@ -29,6 +31,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service public class IoSplitCodeService extends ServiceImpl { @@ -262,6 +265,61 @@ public class IoSplitCodeService extends ServiceImpl collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); + List needAutotagBizs = new ArrayList<>(); + for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { + int unTagCount = collectOrderBiz.getCount() - IntUtil.value(collectOrderBiz.getScanActCount()); + if (unTagCount > 0) { + collectOrderBiz.setUnTagCount(unTagCount); + } else { + collectOrderBiz.setTagStatus(3); + continue; + } + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(collectOrderBiz.getRelId()); + int quotient = collectOrderBiz.getUnTagCount() / IntUtil.value(udiRelevanceEntity.getUseLeverCount()); + int remainder = collectOrderBiz.getUnTagCount() % IntUtil.value(udiRelevanceEntity.getUseLeverCount()); + if (quotient > 0) { + + for(int i = 0;i collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); + for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { + List splitFifoCodeEntities = + splitFifoCodeService.findByRelId(collectOrder.getWorkPlaceCode(), collectOrder.getBusType(), + collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo()); + + int total = splitFifoCodeEntities.stream() + .mapToInt(IoSplitFifoCodeEntity::getTotalCount) + .sum(); + //todo 拆零表里取数据 + if (total > IntUtil.value(collectOrderBiz.getCount())) { + collectOrderBiz.setAutoTagStatus(2); + } else if (total > 0) { + collectOrderBiz.setAutoTagStatus(3); + } else + collectOrderBiz.setAutoTagStatus(1); + } + } + /** * 拆零单据撤回,则将拆零表剩余数量加回预出库队列 diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java b/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java index 4463140bb..f0e00e09b 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java @@ -50,6 +50,19 @@ public class IoSplitFifoCodeService extends ServiceImpl findByRelId(Long workPlaceCode, String busType, Long relId, String batchNo) { + List splitFifoCodeEntities = + list(new LambdaQueryWrapper() + .eq(IoSplitFifoCodeEntity::getWorkPlaceCode, workPlaceCode) + .eq(StrUtil.isNotEmpty(busType), IoSplitFifoCodeEntity::getBusType, busType) + .eq(IoSplitFifoCodeEntity::getRelId, relId) + .eq(StrUtil.isNotEmpty(batchNo), IoSplitFifoCodeEntity::getBatchNo, batchNo) + .orderByAsc(IoSplitFifoCodeEntity::getInBactchNo) + ); + + return splitFifoCodeEntities; + } + public List filterGroupList(IoSplitFifoCodeRequest splitFifoCodeRequest) { if (splitFifoCodeRequest == null) { return Collections.emptyList(); diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index ca256efdf..0095048b8 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -3876,22 +3876,25 @@ CALL Pro_Temp_ColumnWork('inv_remind_set', 'isDateBy', 1); -CREATE TABLE IF NOT EXISTS `sys_msg_todo` ( - `id` int NOT NULL AUTO_INCREMENT, - `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '消息编码', - `msgType` tinyint DEFAULT NULL COMMENT '消息类型(1:入院物资申请;2:单据审核;3:单据发票确认;5.资质审核;6:领用单审核;7:申购单审核;8:采购订单审核;)', - `msgContent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '消息内容', - `dealStatus` tinyint DEFAULT NULL COMMENT '处理状态', - `pushStatus` tinyint DEFAULT NULL COMMENT '推送小程序状态(1:未推送;2:推送成功;3:推送失败', - `toUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '跳转地址', - `createTime` datetime DEFAULT NULL COMMENT '创建时间', - `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', - `updateTime` datetime DEFAULT NULL COMMENT '更新时间', - `deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '所属仓库', - `invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '所属仓库', - `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +CREATE TABLE IF NOT EXISTS `sys_msg_todo` +( + `id` int NOT NULL AUTO_INCREMENT, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '消息编码', + `msgType` tinyint DEFAULT NULL COMMENT '消息类型(1:入院物资申请;2:单据审核;3:单据发票确认;5.资质审核;6:领用单审核;7:申购单审核;8:采购订单审核;)', + `msgContent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '消息内容', + `dealStatus` tinyint DEFAULT NULL COMMENT '处理状态', + `pushStatus` tinyint DEFAULT NULL COMMENT '推送小程序状态(1:未推送;2:推送成功;3:推送失败', + `toUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '跳转地址', + `createTime` datetime DEFAULT NULL COMMENT '创建时间', + `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', + `updateTime` datetime DEFAULT NULL COMMENT '更新时间', + `deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '所属仓库', + `invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '所属仓库', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci; CREATE TABLE IF NOT EXISTS `sys_workplace` ( @@ -4211,7 +4214,7 @@ CALL Pro_Temp_ColumnWork('basic_collect_bustype', 'updateTime', ' datetime NULL DEFAULT NULL COMMENT ''更新时间''', 1); CALL Pro_Temp_ColumnWork('basic_collect_bustype', 'sortNumber', - 'int NULL DEFAULT NULL COMMENT ''排序数字''', + 'int NULL DEFAULT NULL COMMENT ''排序数字''', 1); CALL Pro_Temp_ColumnWork('sys_workplace', 'invRemindNumber', 'int NULL DEFAULT b''0'' COMMENT ''存量提醒数''', @@ -4319,3 +4322,8 @@ CALL Pro_Temp_ColumnWork('io_collect_order', 'uploadStatus', CALL Pro_Temp_ColumnWork('io_collect_order', 'uploadError', ' varchar(1024) NULL COMMENT ''上传错误信息''', 1); + + +CALL Pro_Temp_ColumnWork('io_collect_order_biz', 'autoTagStatus', + 'tinyint NULL DEFAULT 1 COMMENT ''自动赋码状态:1:无法自动赋码;2:可以自动赋码;3:可以自动赋码,但是数量不足''', + 1); \ No newline at end of file