| New file |
| | |
| | | package com.ruoyi.quartz.task; |
| | | |
| | | import com.ruoyi.system.domain.DepartmentSyncDTO; |
| | | import com.ruoyi.system.domain.OrderClassDTO; |
| | | import com.ruoyi.system.service.IDepartmentSyncDataService; |
| | | import com.ruoyi.system.service.IOrderClassDataService; |
| | | 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 com.ruoyi.system.service.IDepartmentSyncService; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 部门同步定时任务 |
| | | * |
| | | * @author ruoyi |
| | | * @date 2025-10-18 |
| | | */ |
| | | @Component("departmentSyncTask") |
| | | public class DepartmentSyncTask |
| | | { |
| | | private static final Logger log = LoggerFactory.getLogger(DepartmentSyncTask.class); |
| | | |
| | | @Autowired |
| | | private IDepartmentSyncDataService departmentSyncDataService; |
| | | |
| | | @Autowired |
| | | private IDepartmentSyncService departmentSyncService; |
| | | |
| | | private List<DepartmentSyncDTO> getDepartment(){ |
| | | return departmentSyncDataService.getBranchDepartments(); |
| | | } |
| | | |
| | | private List<DepartmentSyncDTO> getTransportDept(){ |
| | | return departmentSyncDataService.getTransportDepartments(); |
| | | } |
| | | @Autowired |
| | | private IOrderClassDataService orderClassDataService; |
| | | private List<OrderClassDTO> getServiceOrdCode() { |
| | | return orderClassDataService.getServiceOrderClass(); |
| | | } |
| | | private List<OrderClassDTO> getDispatchOrdCode() { |
| | | return orderClassDataService.getDispatchOrderClass(); |
| | | } |
| | | |
| | | /** |
| | | * 同步分公司和部门数据 |
| | | * |
| | | * 使用示例: |
| | | * - 任务名称:分公司同步 |
| | | * - 调用目标:departmentSyncTask.syncDepartments |
| | | * - cron表达式:0 0 2 * * ?(每天凌晨2点执行) |
| | | */ |
| | | public void syncDepartments() |
| | | { |
| | | try |
| | | { |
| | | log.info("==========开始执行部门同步定时任务=========="); |
| | | |
| | | AjaxResult result = departmentSyncService.syncBranchDepartments(this.getDepartment(), this.getServiceOrdCode(),this.getDispatchOrdCode()); |
| | | |
| | | departmentSyncService.syncTransportDepartments(this.getTransportDept()); |
| | | |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 同步分公司和部门数据(带参数) |
| | | * |
| | | * @param params 参数(预留,暂未使用) |
| | | */ |
| | | public void syncDepartments(String params) |
| | | { |
| | | log.info("部门同步任务参数: {}", params); |
| | | syncDepartments(); |
| | | } |
| | | } |