From 2c86a8bd60deed0dd0e044bad6fb83f75d19a332 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 15:05:50 +0800
Subject: [PATCH] Merge branch 'feature-task'
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/OaSyncTask.java | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 171 insertions(+), 0 deletions(-)
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/OaSyncTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/OaSyncTask.java
new file mode 100644
index 0000000..775f837
--- /dev/null
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/OaSyncTask.java
@@ -0,0 +1,171 @@
+package com.ruoyi.quartz.task;
+
+import com.ruoyi.system.domain.DepartmentSyncDTO;
+import com.ruoyi.system.domain.OrderClassDTO;
+import com.ruoyi.system.domain.UserSyncDTO;
+import com.ruoyi.system.service.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import com.ruoyi.common.core.domain.AjaxResult;
+
+import java.util.List;
+
+/**
+ * OA鏁版嵁鍚屾瀹氭椂浠诲姟锛堢粍鍚堜换鍔★級
+ * 鍏堝悓姝ラ儴闂紝鍐嶅悓姝ョ敤鎴�
+ *
+ * @author ruoyi
+ * @date 2025-10-18
+ */
+@Component("oaSyncTask")
+public class OaSyncTask
+{
+ private static final Logger log = LoggerFactory.getLogger(OaSyncTask.class);
+
+ @Autowired
+ private IDepartmentSyncService departmentSyncService;
+
+ @Autowired
+ private IUserSyncService userSyncService;
+
+ @Autowired
+ private IDepartmentSyncDataService departmentSyncDataService;
+
+ @Autowired
+ private IUserSyncDataService userSyncDataService;
+
+ private List<DepartmentSyncDTO> getDept(){
+ return departmentSyncDataService.getBranchDepartments();
+ }
+
+
+ private List<UserSyncDTO> getUserData(){
+ return userSyncDataService.getOaUsers();
+ }
+
+ @Autowired
+ private IOrderClassDataService orderClassDataService;
+ private List<OrderClassDTO> getServiceOrdCode() {
+ return orderClassDataService.getServiceOrderClass();
+ }
+ private List<OrderClassDTO> getDispatchOrdCode() {
+ return orderClassDataService.getDispatchOrderClass();
+ }
+ /**
+ * 鍚屾OA鏁版嵁锛堥儴闂�+鐢ㄦ埛锛�
+ * 鎸夐『搴忔墽琛岋細1. 閮ㄩ棬鍚屾 2. 鐢ㄦ埛鍚屾
+ *
+ * 浣跨敤绀轰緥锛�
+ * - 浠诲姟鍚嶇О锛歄A鏁版嵁鍚屾
+ * - 璋冪敤鐩爣锛歰aSyncTask.syncOaData
+ * - cron琛ㄨ揪寮忥細0 0 2 * * ?锛堟瘡澶╁噷鏅�2鐐规墽琛岋級
+ */
+ public void syncOaData()
+ {
+ try
+ {
+ log.info("##########寮�濮嬫墽琛孫A鏁版嵁鍚屾瀹氭椂浠诲姟##########");
+
+ // 绗竴姝ワ細鍚屾閮ㄩ棬
+ log.info("銆愭楠�1/2銆戝紑濮嬪悓姝ラ儴闂ㄦ暟鎹�...");
+ AjaxResult deptResult = departmentSyncService.syncBranchDepartments(this.getDept(),this.getServiceOrdCode(),this.getDispatchOrdCode());
+
+ if (deptResult.get("code").equals(200))
+ {
+ log.info("銆愭楠�1/2銆戦儴闂ㄥ悓姝ユ垚鍔�: {}", deptResult.get("msg"));
+
+ // 绗簩姝ワ細鍚屾鐢ㄦ埛锛堝彧鏈夐儴闂ㄥ悓姝ユ垚鍔熸墠鎵ц锛�
+ log.info("銆愭楠�2/2銆戝紑濮嬪悓姝ョ敤鎴锋暟鎹�...");
+ AjaxResult userResult = userSyncService.syncOaUsers(this.getUserData());
+
+ if (userResult.get("code").equals(200))
+ {
+ log.info("銆愭楠�2/2銆戠敤鎴峰悓姝ユ垚鍔�: {}", userResult.get("msg"));
+ log.info("##########OA鏁版嵁鍚屾瀹氭椂浠诲姟鎵ц瀹屾垚##########");
+ log.info("鎬荤粨锛氶儴闂ㄥ悓姝ユ垚鍔燂紝鐢ㄦ埛鍚屾鎴愬姛");
+ }
+ else
+ {
+ log.error("銆愭楠�2/2銆戠敤鎴峰悓姝ュけ璐�: {}", userResult.get("msg"));
+ log.warn("##########OA鏁版嵁鍚屾瀹氭椂浠诲姟閮ㄥ垎瀹屾垚##########");
+ log.warn("鎬荤粨锛氶儴闂ㄥ悓姝ユ垚鍔燂紝鐢ㄦ埛鍚屾澶辫触");
+ }
+ }
+ else
+ {
+ log.error("銆愭楠�1/2銆戦儴闂ㄥ悓姝ュけ璐�: {}", deptResult.get("msg"));
+ log.error("鐢变簬閮ㄩ棬鍚屾澶辫触锛岃烦杩囩敤鎴峰悓姝�");
+ log.error("##########OA鏁版嵁鍚屾瀹氭椂浠诲姟鎵ц澶辫触##########");
+ }
+ }
+ catch (Exception e)
+ {
+ log.error("OA鏁版嵁鍚屾瀹氭椂浠诲姟鎵ц寮傚父", e);
+ }
+ }
+
+ /**
+ * 鍚屾OA鏁版嵁锛堝甫鍙傛暟锛�
+ *
+ * @param params 鍙傛暟锛堥鐣欙紝鏆傛湭浣跨敤锛�
+ */
+ public void syncOaData(String params)
+ {
+ log.info("OA鏁版嵁鍚屾浠诲姟鍙傛暟: {}", params);
+ syncOaData();
+ }
+
+ /**
+ * 浠呭悓姝ラ儴闂紙鐙珛浠诲姟锛�
+ */
+ public void syncDepartmentsOnly()
+ {
+ try
+ {
+ log.info("==========寮�濮嬫墽琛岄儴闂ㄥ悓姝ヤ换鍔�==========");
+ AjaxResult result = departmentSyncService.syncBranchDepartments(this.getDept(),this.getServiceOrdCode(),this.getDispatchOrdCode());
+
+ if (result.get("code").equals(200))
+ {
+ log.info("閮ㄩ棬鍚屾鎴愬姛: {}", result.get("msg"));
+ }
+ else
+ {
+ log.error("閮ㄩ棬鍚屾澶辫触: {}", result.get("msg"));
+ }
+ log.info("==========閮ㄩ棬鍚屾浠诲姟鎵ц瀹屾垚==========");
+ }
+ catch (Exception e)
+ {
+ log.error("閮ㄩ棬鍚屾浠诲姟鎵ц寮傚父", e);
+ }
+ }
+
+ /**
+ * 浠呭悓姝ョ敤鎴凤紙鐙珛浠诲姟锛�
+ */
+ public void syncUsersOnly()
+ {
+ try
+ {
+ log.info("==========寮�濮嬫墽琛岀敤鎴峰悓姝ヤ换鍔�==========");
+ AjaxResult result = userSyncService.syncOaUsers(this.getUserData());
+
+ if (result.get("code").equals(200))
+ {
+ log.info("鐢ㄦ埛鍚屾鎴愬姛: {}", result.get("msg"));
+ }
+ else
+ {
+ log.error("鐢ㄦ埛鍚屾澶辫触: {}", result.get("msg"));
+ }
+ log.info("==========鐢ㄦ埛鍚屾浠诲姟鎵ц瀹屾垚==========");
+ }
+ catch (Exception e)
+ {
+ log.error("鐢ㄦ埛鍚屾浠诲姟鎵ц寮傚父", e);
+ }
+ }
+}
--
Gitblit v1.9.1