From 06900de4b4982cbca020339bb833bc3879035d07 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期三, 12 十一月 2025 18:14:19 +0800
Subject: [PATCH] 更新钉钉配置
---
/dev/null | 96 ------------------------
src/main/java/com/gs/xky/task/ScheduledTasks.java | 109 ---------------------------
2 files changed, 0 insertions(+), 205 deletions(-)
diff --git a/src/main/java/com/gs/xky/task/PurchaseOrderSyncTask.java b/src/main/java/com/gs/xky/task/PurchaseOrderSyncTask.java
deleted file mode 100644
index dd9f7e5..0000000
--- a/src/main/java/com/gs/xky/task/PurchaseOrderSyncTask.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.gs.xky.task;
-
-import com.gs.xky.service.PurchaseService;
-import lombok.RequiredArgsConstructor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.io.IOException;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.Executor;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * 閲囪喘璁㈠崟鍚屾瀹氭椂浠诲姟
- */
-@Component
-@RequiredArgsConstructor
-public class PurchaseOrderSyncTask {
- private static final Logger log = LoggerFactory.getLogger(PurchaseOrderSyncTask.class);
-
- private final PurchaseService purchaseService;
- private final Executor purchaseTaskExecutor; // 娉ㄥ叆涓撶敤绾跨▼姹�
-
- // 鐢ㄤ簬鏍囪浠诲姟鏄惁姝e湪鎵ц
- private final AtomicBoolean isRunning = new AtomicBoolean(false);
-
- /**
- * 瀹氭椂鎵ц閲囪喘璁㈠崟鍚屾浠诲姟
- * 姣忓ぉ12鐐规暣鎵ц涓�娆�
- * 璁剧疆涓�12鐐�05鍒嗘墽琛岋紝閬垮厤涓庡叾浠栧畾鏃朵换鍔″啿绐�
- * 浣跨敤寮傛鎵ц锛岄槻姝㈤樆濉炲叾浠栧畾鏃朵换鍔�
- */
- @Scheduled(cron = "0 5 12 * * ?")
- public void syncPurchaseOrders() {
- // 濡傛灉浠诲姟宸茬粡鍦ㄨ繍琛岋紝鍒欒烦杩囨湰娆℃墽琛�
- if (!isRunning.compareAndSet(false, true)) {
- log.info("銆恠yncPurchaseOrders銆戜笂涓�娆′换鍔¤繕鍦ㄦ墽琛屼腑锛岃烦杩囨湰娆℃墽琛�");
- return;
- }
-
- log.info("銆恠yncPurchaseOrders銆戝紑濮嬫墽琛岄噰璐鍗曞悓姝ヤ换鍔�");
-
- // 浣跨敤涓撶敤绾跨▼姹犳墽琛屽紓姝ヤ换鍔�
- CompletableFuture.runAsync(() -> {
- try {
- log.info("銆恠yncPurchaseOrders銆戝紓姝ョ嚎绋嬪紑濮嬫墽琛岄噰璐鍗曞悓姝�");
- purchaseService.syncPurchaseOrderDetails();
- log.info("銆恠yncPurchaseOrders銆戦噰璐鍗曞悓姝ヤ换鍔℃墽琛屾垚鍔�");
- } catch (IOException e) {
- log.error("銆恠yncPurchaseOrders銆戦噰璐鍗曞悓姝ヤ换鍔℃墽琛屽紓甯�: {}", e.getMessage(), e);
- } finally {
- // 鏃犺鎴愬姛杩樻槸澶辫触锛岄兘灏嗚繍琛岀姸鎬侀噸缃�
- isRunning.set(false);
- log.info("銆恠yncPurchaseOrders銆戜换鍔$姸鎬佸凡閲嶇疆锛屽彲浠ユ帴鍙楁柊鐨勪换鍔�");
- }
- }, purchaseTaskExecutor);
-
- // 涓嶇瓑寰呬换鍔″畬鎴愶紝绔嬪嵆杩斿洖锛岄伩鍏嶉樆濉炶皟搴︾嚎绋�
- log.info("銆恠yncPurchaseOrders銆戦噰璐鍗曞悓姝ヤ换鍔″凡鎻愪氦鍒板紓姝ョ嚎绋嬫墽琛�");
- }
-
- /**
- * 鎵嬪姩瑙﹀彂閲囪喘璁㈠崟鍚屾浠诲姟
- * 鐢ㄤ簬绯荤粺绠$悊鍛樻墜鍔ㄨЕ鍙戝悓姝�
- *
- * @return 浠诲姟鏄惁宸叉彁浜ゆ墽琛�
- */
- public boolean manualSyncPurchaseOrders() {
- // 濡傛灉浠诲姟宸茬粡鍦ㄨ繍琛岋紝鍒欐嫆缁濇湰娆℃墽琛�
- if (!isRunning.compareAndSet(false, true)) {
- log.info("銆恗anualSyncPurchaseOrders銆戜笂涓�娆′换鍔¤繕鍦ㄦ墽琛屼腑锛屾嫆缁濇湰娆℃墽琛�");
- return false;
- }
-
- log.info("銆恗anualSyncPurchaseOrders銆戞墜鍔ㄨЕ鍙戦噰璐鍗曞悓姝ヤ换鍔�");
-
- // 浣跨敤涓撶敤绾跨▼姹犳墽琛屽紓姝ヤ换鍔�
- CompletableFuture.runAsync(() -> {
- try {
- log.info("銆恗anualSyncPurchaseOrders銆戝紓姝ョ嚎绋嬪紑濮嬫墽琛岄噰璐鍗曞悓姝�");
- purchaseService.syncPurchaseOrderDetails();
- log.info("銆恗anualSyncPurchaseOrders銆戦噰璐鍗曞悓姝ヤ换鍔℃墽琛屾垚鍔�");
- } catch (IOException e) {
- log.error("銆恗anualSyncPurchaseOrders銆戦噰璐鍗曞悓姝ヤ换鍔℃墽琛屽紓甯�: {}", e.getMessage(), e);
- } finally {
- // 鏃犺鎴愬姛杩樻槸澶辫触锛岄兘灏嗚繍琛岀姸鎬侀噸缃�
- isRunning.set(false);
- log.info("銆恗anualSyncPurchaseOrders銆戜换鍔$姸鎬佸凡閲嶇疆锛屽彲浠ユ帴鍙楁柊鐨勪换鍔�");
- }
- }, purchaseTaskExecutor);
-
- return true;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/com/gs/xky/task/ScheduledTasks.java b/src/main/java/com/gs/xky/task/ScheduledTasks.java
index 3f6d295..2005101 100644
--- a/src/main/java/com/gs/xky/task/ScheduledTasks.java
+++ b/src/main/java/com/gs/xky/task/ScheduledTasks.java
@@ -1,41 +1,16 @@
package com.gs.xky.task;
-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.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import java.io.IOException;
-import java.util.List;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.Executor;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.Collectors;
-
@Component
@RequiredArgsConstructor
public class ScheduledTasks {
private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
-
- private final XkyService xkyService;
- private final ApiService apiService;
- private final MesStaffService staffService;
- private final DeliveryNoticeService deliveryNoticeService;
- private final MesInvItemArnService invItemArnService;
- private final Executor taskExecutor; // 娉ㄥ叆閫氱敤绾跨▼姹�
-
- // 鐢ㄤ簬鏍囪鍚勪换鍔℃槸鍚︽鍦ㄦ墽琛�
- private final AtomicBoolean isDeviceDataRunning = new AtomicBoolean(false);
- private final AtomicBoolean isCompensateRunning = new AtomicBoolean(false);
- private final AtomicBoolean isDingTalkRunning = new AtomicBoolean(false);
/**
* 姣忎簲鍒嗛挓鎵ц涓�娆�
@@ -43,91 +18,7 @@
*/
@Scheduled(cron = "0 0/5 * * * ?")
public void getDeviceRealTimeData() {
- // 濡傛灉浠诲姟宸茬粡鍦ㄨ繍琛岋紝鍒欒烦杩囨湰娆℃墽琛�
- if (!isDeviceDataRunning.compareAndSet(false, true)) {
- log.info("銆恎etDeviceRealTimeData銆戜笂涓�娆′换鍔¤繕鍦ㄦ墽琛屼腑锛岃烦杩囨湰娆℃墽琛�");
- return;
- }
- log.info("銆恎etDeviceRealTimeData銆戝紑濮嬭幏鍙栬澶囧疄鏃舵暟鎹�");
-
- // 浣跨敤寮傛鎵ц锛岄伩鍏嶉樆濉炶皟搴︾嚎绋�
- CompletableFuture.runAsync(() -> {
- try {
- xkyService.GetSaveDetail();
- log.info("銆恎etDeviceRealTimeData銆戣幏鍙栬澶囧疄鏃舵暟鎹垚鍔�");
- } catch (IOException e) {
- log.error("銆恎etDeviceRealTimeData銆戣幏鍙栬澶囧疄鏃舵暟鎹紓甯�: {}", e.getMessage(), e);
- } finally {
- isDeviceDataRunning.set(false);
- }
- }, taskExecutor);
}
- /**
- * 瀹氭椂鎵ц琛ュ伩閫昏緫
- */
- @Scheduled(cron = "10 3,8,13,18,23,28,33,38,43,48,53,58 * * * ?")
- public void compensateMethod() {
- // 濡傛灉浠诲姟宸茬粡鍦ㄨ繍琛岋紝鍒欒烦杩囨湰娆℃墽琛�
- if (!isCompensateRunning.compareAndSet(false, true)) {
- log.info("銆恈ompensateMethod銆戜笂涓�娆′换鍔¤繕鍦ㄦ墽琛屼腑锛岃烦杩囨湰娆℃墽琛�");
- return;
- }
-
- log.info("銆恈ompensateMethod銆戝紑濮嬫墽琛岃ˉ鍋块�昏緫");
-
- // 浣跨敤寮傛鎵ц锛岄伩鍏嶉樆濉炶皟搴︾嚎绋�
- CompletableFuture.runAsync(() -> {
- try {
- // 琛ュ伩閫昏緫
- List<MesInvItemArn> itemArnMinus = invItemArnService.getItemArnMinus();
- deliveryNoticeService.processMesInvItemArnStatusAsync(itemArnMinus);
- log.info("銆恈ompensateMethod銆戣ˉ鍋块�昏緫鎵ц鎴愬姛");
- } catch (Exception e) {
- log.error("銆恈ompensateMethod銆戣ˉ鍋块�昏緫鎵ц寮傚父: {}", e.getMessage(), e);
- } finally {
- isCompensateRunning.set(false);
- }
- }, taskExecutor);
- }
-
- /**
- * 瀹氭椂鑾峰彇閽夐拤鏁版嵁
- */
- @Scheduled(cron = "0 0/53 * * * ?")
- public void getDinTalkData() {
- // 濡傛灉浠诲姟宸茬粡鍦ㄨ繍琛岋紝鍒欒烦杩囨湰娆℃墽琛�
- if (!isDingTalkRunning.compareAndSet(false, true)) {
- log.info("銆恎etDinTalkData銆戜笂涓�娆′换鍔¤繕鍦ㄦ墽琛屼腑锛岃烦杩囨湰娆℃墽琛�");
- return;
- }
-
- log.info("銆恎etDinTalkData銆戝紑濮嬭幏鍙栭拤閽夋暟鎹�");
-
- // 浣跨敤寮傛鎵ц锛岄伩鍏嶉樆濉炶皟搴︾嚎绋�
- CompletableFuture.runAsync(() -> {
- try {
- 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());
-
- log.info("銆恎etDinTalkData銆戣幏鍙栧埌{}鏉″憳宸ユ暟鎹�", collect.size());
-
- List<List<EmployeeInfo>> partition = ListUtil.partition(collect, 100);
- partition.forEach(staffService::UpdateStaff);
-
- log.info("銆恎etDinTalkData銆戦拤閽夋暟鎹鐞嗗畬鎴�");
- } catch (IOException e) {
- log.error("銆恎etDinTalkData銆戣幏鍙栭拤閽夋暟鎹紓甯�: {}", e.getMessage(), e);
- } finally {
- isDingTalkRunning.set(false);
- }
- }, taskExecutor);
- }
}
--
Gitblit v1.9.3