From e9f2a48f3e8df3af26a270341e9ed1e5b79eda68 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期日, 11 五月 2025 18:15:06 +0800 Subject: [PATCH] 添加检验生成失败的补偿机制 --- src/main/java/com/gs/xky/task/ScheduledTasks.java | 39 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 38 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/gs/xky/task/ScheduledTasks.java b/src/main/java/com/gs/xky/task/ScheduledTasks.java index 9135558..60e53f9 100644 --- a/src/main/java/com/gs/xky/task/ScheduledTasks.java +++ b/src/main/java/com/gs/xky/task/ScheduledTasks.java @@ -1,18 +1,33 @@ package com.gs.xky.task; -import com.gs.xky.service.XkyService; +import cn.hutool.core.collection.ListUtil; +import com.gs.xky.config.DingTalkParam; +import com.gs.xky.config.DingTalkResponse; +import com.gs.xky.dto.EmployeeInfo; +import com.gs.xky.entity.MesInvItemArn; +import com.gs.xky.service.*; import lombok.RequiredArgsConstructor; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.IOException; +import java.util.List; +import java.util.stream.Collectors; @Component @RequiredArgsConstructor public class ScheduledTasks { private final XkyService xkyService; + + private final ApiService apiService; + + private final MesStaffService staffService; + + private final DeliveryNoticeService deliveryNoticeService; + + private final MesInvItemArnService invItemArnService; /** * 姣忎簲鍒嗛挓鎵ц涓�娆� @@ -27,4 +42,26 @@ public void getDeviceRealTimeData() throws IOException { xkyService.GetSaveDetail(); } + + @Scheduled(cron = "10 3,8,13,18,23,28,33,38,43,48,53,58 * * * ?") + public void compensateMethod() throws IOException { + // 琛ュ伩閫昏緫 + List<MesInvItemArn> itemArnMinus = invItemArnService.getItemArnMinus(); + deliveryNoticeService.processMesInvItemArnStatusAsync(itemArnMinus); + } + + @Scheduled(cron = "0 0/53 * * * ?") + public void getDinTalkData() throws IOException { + DingTalkParam dingTalkParam = new DingTalkParam(1); + + DingTalkResponse<EmployeeInfo> employeeInfoDingTalkResponse = apiService.sendListRequest(dingTalkParam, EmployeeInfo.class, "http://192.168.1.64/eHR/eHRExternalService/Service.ashx"); + + + List<EmployeeInfo> collect = employeeInfoDingTalkResponse.getData().stream().filter(s -> "閫犳ⅵ鑰咃紙娴欐睙锛夌鎶�鏈夐檺鍏徃".equals(s.getCUnitName())).collect(Collectors.toList()); + System.out.println(collect.size()); + + List<List<EmployeeInfo>> partition = ListUtil.partition(collect, 100); + + partition.forEach(staffService::UpdateStaff); + } } -- Gitblit v1.9.3