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, '自动完成第三方处方单');