From 647d2c553adabada8db877e22c23600f8c788ded Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Wed, 27 Nov 2024 11:50:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=AE=8C=E6=88=90tagStatus=E4=B8=BA1=E7=9A=84=E5=8D=95?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../collect/IoCollectOrderService.java | 14 +++- .../task/AsyncIoCollectOrderFinishTask.java | 84 +++++++++++++++++++ src/main/resources/schemas/schema_v2.4.sql | 2 + 3 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/glxp/api/task/AsyncIoCollectOrderFinishTask.java 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 5b555548d..9cf36fdbe 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -55,6 +55,7 @@ import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.IoStatOrderResponse; import com.glxp.api.res.sync.SpsSyncOrderResponse; import com.glxp.api.res.thrsys.ThrInvProductResponse; +import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.DeptService; import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.basic.*; @@ -599,6 +600,10 @@ public class IoCollectOrderService extends ServiceImpl process(), + triggerContext -> { + ScheduledRequest scheduledRequest = new ScheduledRequest(); + scheduledRequest.setCronName("ioCollectOrderFinishTask"); + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + String cron = scheduledEntity != null ? scheduledEntity.getCron() : "0 */30 * * * ?"; + if (cron.isEmpty()) { + logger.error("cron is null"); + } + return new CronTrigger(cron).nextExecutionTime(triggerContext); + }); + } + + private void process() { + List list = collectOrderService.list(new LambdaQueryWrapper().eq(IoCollectOrder::getTagStatus, 1)); + if (CollUtil.isNotEmpty(list)) { + for (IoCollectOrder collectOrder : list) { + SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(collectOrder.getBusType()); + if (IntUtil.value(sysWorkplaceDocumentEntity.getAutoTag()) == 1 && IntUtil.value(collectOrder.getTagStatus()) == 1) { + if ( sysWorkplaceDocumentEntity.getAutoHandle()){ + //单据是否自动完成 是 调用 完成 + AuthAdmin authAdmin = new AuthAdmin(); + authAdmin.setId(1l); + CollectOrderRequest collectOrderRequest = new CollectOrderRequest(); + collectOrderRequest.setUpdateUser(1l); + collectOrderService.finishOrder(collectOrderRequest, authAdmin); + } + } + } + } + } + +} diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index d92ee1ced..35e4330f8 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -4850,3 +4850,5 @@ ALTER TABLE io_collect_order_backup MODIFY errorMsg text; CALL Pro_Temp_ColumnWork('sys_workplace_document', 'autoHandle', ' tinyint NULL DEFAULT NULL COMMENT ''是否自动处理''', 1); +INSERT INTO `sys_scheduled` (`id`, `cronName`, `cron`, `customerId`, `remark`) +VALUES (158, 'ioCollectOrderFinishTask', '0 */30 * * * ?', NULL, '自动完成第三方处方单');