huangjiayang
2025-05-15 918eb3afde4886ab9d87e9f2fafbde1bf9e83587
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
package com.aps.job.task;
 
import com.aps.common.core.constant.SecurityConstants;
import com.aps.common.core.utils.StringUtils;
import com.aps.job.param.ApsWorkOrderJobParam;
import com.aps.job.service.*;
import com.aps.system.api.RemoteCoreService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
 
/**
 * 定时任务调度测试
 * 
 * @author ruoyi
 */
@Component("ryTask")
public class RyTask
{
 
    @Autowired
    private IApsWorkOrderProcessService iApsWorkOrderProcessService;
 
    @Autowired
    private IApsWorkOrderJobService iApsWorkOrderJobService;
 
    @Autowired
    private IApsBomHeaderJobService iApsBomHeaderJobService;
 
    @Autowired
    private RemoteCoreService remoteCoreService;
 
    @Autowired
    private IApsMaterialStorageManagementJobService apsMaterialStorageManagementJobService;
 
    @Autowired
    private IApsStandardProcessRouteHeaderJobService apsStandardProcessRouteHeaderJobService;
 
    @Autowired
    private IApsMaterialManagementJobService apsMaterialManagementJobService;
 
    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
    {
        System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
    }
 
    public void ryParams(String params)
    {
        System.out.println("执行有参方法:" + params);
    }
 
    public void ryNoParams()
    {
        System.out.println("执行无参方法");
    }
 
    /**
     * 同步工单工序数据
     */
    public void syncWorkOrderProcessData(String status, Integer pageSize)
    {
        iApsWorkOrderProcessService.syncWorkOrderProcessData(status, pageSize);
    }
 
    /**
     * 每日同步零件工单数据
     * */
    public void  syncPartOrderData ()
    {
 
        iApsWorkOrderJobService.syncPartOrderData();
    }
 
    /**
     * 每日同步钣金工单数据
     * */
    public void  syncPlateOrderData ()
    {
 
        iApsWorkOrderJobService.syncPlateOrderData();
    }
    /**
     * 每日同步气柜管路数据
     * */
    public void  syncGasPipingData ()
    {
        iApsWorkOrderJobService.syncGasPipingData();
    }
    /**
     * 每日同步所有工单数据
     * */
    public void syncWorkOrderData()
    {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime today = LocalDateTime.now();
        LocalDate yesterday = LocalDate.now().minusDays(1);
        LocalDateTime yesterdayMidnight = yesterday.atStartOfDay();
        boolean continueFlag = true;
        Integer currentPage = 1;
        ApsWorkOrderJobParam param=new ApsWorkOrderJobParam();
        param.setPageIndex(currentPage);
        param.setDocState(Arrays.asList(0,1,2,4));
        param.setBeginDate(yesterdayMidnight.format(formatter));
        param.setEndDate(today.format(formatter));
        param.setPageSize(500);
        while (continueFlag){
            param.setPageIndex(currentPage);
            continueFlag= iApsWorkOrderJobService.batchSaveByPager(param);
            currentPage++;
        }
    }
    /**
     * 每日同步所有工单数据
     * */
    public void syncAllWorkOrder()
    {
 
        boolean continueFlag = true;
        Integer currentPage = 1;
        ApsWorkOrderJobParam param=new ApsWorkOrderJobParam();
        param.setPageIndex(currentPage);
        param.setDocState(Arrays.asList(0,1,2,4));
        param.setPageSize(500);
        while (continueFlag){
            param.setPageIndex(currentPage);
            continueFlag= iApsWorkOrderJobService.batchSaveByPager(param);
            currentPage++;
        }
    }
    /**
     * 将工单工序数据同步到业务表中
     */
    public void insertIntoApsProcessRoute()
    {
        iApsWorkOrderProcessService.syncProcessRouteData();
    }
 
    /**
     * 同步零件、钣金、气柜管路的工单数据到业务表中、同步工序数据到工艺路线表中
     */
    public void syncAllTypeOrder()
    {
        iApsWorkOrderJobService.syncPartOrderData();
        iApsWorkOrderJobService.syncPlateOrderData();
        iApsWorkOrderJobService.syncGasPipingData();
        iApsWorkOrderProcessService.syncProcessRouteData();
    }
 
    /**
     * 同步全量BOM数据定时任务
     */
    public void syncBomDataJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList)
    {
        boolean res =  iApsBomHeaderJobService.syncBomDataJob(pageIndex, pageSize, orgCode, itemCodeList);
        if(res){
            remoteCoreService.setBomDataToRedis(SecurityConstants.INNER);
        }
    }
 
    /**
     * 同步全量库存数据定时任务
     */
    public void syncApsMaterialStorageDataJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList)
    {
        boolean res = apsMaterialStorageManagementJobService.syncApsMaterialStorageDataJob(pageIndex, pageSize, orgCode, itemCodeList);
        if(res){
            remoteCoreService.setStorageDataToRedis(SecurityConstants.INNER);
        }
    }
 
    /**
     * 同步全量工艺路线数据定时任务
     */
    public void syncProcessRouteJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList)
    {
        boolean res =  apsStandardProcessRouteHeaderJobService.syncProcessRouteDataJob(pageIndex, pageSize, orgCode, itemCodeList);
        if(res){
            remoteCoreService.setProcessRouteDataToRedis(SecurityConstants.INNER);
        }
    }
 
    /**
     * 同步全量物料数据定时任务
     */
    public void syncApsMaterialDataJob(Integer pageIndex, Integer pageSize, String orgCode, String itemCodeList)
    {
        apsMaterialManagementJobService.syncApsMaterialDataJob(pageIndex, pageSize, orgCode, itemCodeList);
    }
 
    /**
     * 刷新钣金子单数据到Redis
     */
    public void setPlateSubPlansToRedis(){
        remoteCoreService.setPlateSubPlansToRedis(SecurityConstants.INNER);
    }
 
}