From d639d9bd203ab14e48056f242a9fc779a7d4e0cc Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Mon, 2 Dec 2024 17:02:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8A=A0=E5=AE=9A=E6=97=B6=E9=87=8D?= =?UTF-8?q?=E8=BD=BD=E5=BC=82=E5=B8=B8=E5=8D=95=E6=8D=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AsyncIoCollectOrderReprocessTask.java | 90 +++++++++++++++++++ src/main/resources/schemas/schema_v2.4.sql | 6 ++ 2 files changed, 96 insertions(+) create mode 100644 src/main/java/com/glxp/api/task/AsyncIoCollectOrderReprocessTask.java diff --git a/src/main/java/com/glxp/api/task/AsyncIoCollectOrderReprocessTask.java b/src/main/java/com/glxp/api/task/AsyncIoCollectOrderReprocessTask.java new file mode 100644 index 000000000..1a6dae334 --- /dev/null +++ b/src/main/java/com/glxp/api/task/AsyncIoCollectOrderReprocessTask.java @@ -0,0 +1,90 @@ +package com.glxp.api.task; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.thread.ThreadUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.glxp.api.dao.basic.SysWorkplaceDocumentDao; +import com.glxp.api.dao.schedule.ScheduledDao; +import com.glxp.api.entity.collect.IoCollectOrder; +import com.glxp.api.entity.collect.IoCollectOrderOrigin; +import com.glxp.api.entity.collect.IoCollectSet; +import com.glxp.api.entity.system.ScheduledEntity; +import com.glxp.api.req.basic.WorkBindBusTypeRequest; +import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.req.system.ScheduledRequest; +import com.glxp.api.res.basic.SysWorkplaceDocumentResponse; +import com.glxp.api.service.basic.SysWorkplaceBusService; +import com.glxp.api.service.basic.SysWorkplaceDocumentService; +import com.glxp.api.service.collect.IoCollectOrderOriginService; +import com.glxp.api.service.collect.IoCollectOrderService; +import com.glxp.api.service.collect.IoCollectOriginService; +import com.glxp.api.service.collect.IoCollectSetService; +import com.glxp.api.util.MsDateUtil; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; +import org.springframework.scheduling.support.CronTrigger; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@Slf4j +@Component +@EnableScheduling +public class AsyncIoCollectOrderReprocessTask implements SchedulingConfigurer { + + final Logger logger = LoggerFactory.getLogger(AsyncIoCollectOrderReprocessTask.class); + + @Resource + private ScheduledDao scheduledDao; + @Resource + IoCollectOrderOriginService iollectOrderOriginService; + @Resource + IoCollectOriginService collectOriginService; + + @Override + public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { + scheduledTaskRegistrar.addTriggerTask(() -> process(), + triggerContext -> { + ScheduledRequest scheduledRequest = new ScheduledRequest(); + scheduledRequest.setCronName("ioCollectOrderReprocessTask"); + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + String cron = scheduledEntity != null ? scheduledEntity.getCron() : "0 */10 * * * ?"; + if (cron.isEmpty()) { + logger.error("cron is null"); + } + return new CronTrigger(cron).nextExecutionTime(triggerContext); + }); + } + + private void process() { + ThreadUtil.execAsync(() -> { + //获取异常单据 + List list = iollectOrderOriginService.list(new LambdaQueryWrapper().eq(IoCollectOrderOrigin::getTagStatus, 4)); + + + if (CollUtil.isNotEmpty(list)){ + for (int i = 0; i < list.size(); i++) { + IoCollectOrderOrigin ioCollectOrderOrigin = list.get(i); + try { + CollectOrderRequest collectOrderRequest = new CollectOrderRequest(); + collectOrderRequest.setBillNo(ioCollectOrderOrigin.getBillNo()); + collectOrderRequest.setTagStatus(ioCollectOrderOrigin.getTagStatus()); + collectOrderRequest.setBusType(ioCollectOrderOrigin.getBusType()); + //获取当前时间 + collectOriginService.errorHandle(collectOrderRequest); + }catch (Exception e){ + logger.error(e.getMessage()); + } + } + } + }); + } + +} diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 978eae944..ee853f9b6 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -4857,3 +4857,9 @@ VALUES (158, 'ioCollectOrderFinishTask', '0 */30 * * * ?', NULL, '自动完成 CALL Pro_Temp_ColumnWork('sys_workplace', 'autoCollect', ' tinyint NULL DEFAULT NULL COMMENT ''是否自动采集 0:否 1:是''', 1); + + + +INSERT ignore INTO `sys_scheduled` (`id`, `cronName`, `cron`, `customerId`, `remark`) +VALUES (160, 'ioCollectOrderReprocessTask', '0 */30 * * * ?', NULL, '自动重载异常第三方处方单'); +