sfd
2025-05-09 2cdc79aca46c13ead18a27b0270350a3d8665d53
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
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.IApsBomHeaderJobService;
import com.aps.job.service.IApsMaterialStorageManagementJobService;
import com.aps.job.service.IApsWorkOrderJobService;
import com.aps.job.service.IApsWorkOrderProcessService;
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;
 
    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)
    {
        apsMaterialStorageManagementJobService.syncApsMaterialStorageDataJob(pageIndex, pageSize, orgCode, itemCodeList);
    }
}