高章伟
2022-02-18 8b5f4c6c281cfa548f92de52c8021e37aa81901e
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
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
/**
 * Created by T on 2020/5/21.
 */
 
@IsTest
private class MonthEndAutoJudgeScheduleTest {
 
    //CHAN-BUZC7V update by rentx 2020-11-05 start
     @IsTest(SeeAllData=true)
     static void test(){
        String CRON_EXP = '00 0 0 3 9 ? 2022';
        System.Test.startTest();
        // Schedule the test job
        String jobId = system.schedule('MonthEndAutoJudgeScheduleTest', CRON_EXP, new MonthEndAutoJudgeSchedule());
        System.Test.stopTest();
     }
 
     //CHAN-BUZC7V update by rentx 2020-11-05 end
 
/**
    static testMethod void testExecute() {
 
        // 本月最后五个工作日最小的那个
        // Date OlympusCalendarDate1 = Date.newInstance(2020,5,25);
        Date OlympusCalendarDate1 = Date.newInstance(2020,6,30);
        OlympusCalendar__c oc1 = new OlympusCalendar__c(Date__c = OlympusCalendarDate1);
//        本月第一个工作日
        Date OlympusCalendarDate2 = Date.newInstance(2020,6,1);
        //Date OlympusCalendarDate2 = Date.newInstance(Date.today().year(),Date.today().month(),1);
        OlympusCalendar__c oc2 = new OlympusCalendar__c(Date__c = OlympusCalendarDate2);
        insert new OlympusCalendar__c[] {oc1,oc2};
 
 
//       This test runs a scheduled job at midnight Sept. 3rd. 2022
        String CRON_EXP = '00 0 0 3 9 ? 2022';
 
        System.Test.startTest();
        // Schedule the test job
        String jobId = system.schedule('MonthEndAutoJudgeScheduleTest', CRON_EXP, new MonthEndAutoJudgeSchedule());
        // Get the information from the CronTrigger API object
        CronTrigger ct = [SELECT Id, CronExpression, TimesTriggered, NextFireTime FROM CronTrigger WHERE id = :jobId];
        // Verify the expressions are the same
        System.assertEquals(CRON_EXP, ct.CronExpression);
        // Verify the job has not run
        System.assertEquals(0, ct.TimesTriggered);
        // Verify the next time the job will run
        System.assertEquals('2022-09-03 00:00:00', String.valueOf(ct.NextFireTime));
        System.debug('ct.NextFireTime:' + String.valueOf(ct.NextFireTime));
    }
*/
//    @IsTest(SeeAllData=true)
//    static void test() {
//
//        String queryStr = 'SELECT Id,Name,Consumable_order_minor__c,Consumable_Arrived_order__c,' +
//                ' Intra_Trade_List_RMB__c,Agencyinfo_fromSAP__c,Frist_Storage_Agency__c,' +
//                ' Dealer_Info_text__c,Asset_Model_No__c,SerialLotNo__c,Bar_Code__c,TracingCode__c,' +
//                ' Deliver_date__c,Arrive_date__c,Direct_Arrive_Product__c,Dealer_Arrive__c,Dealer_Shipment__c,' +
//                ' Dealer_Saled__c,Dealer_Returned__c,Lose_Flag__c,SummonsForDirction_det__c' +
//                ' FROM Consumable_order_details2__c' +
//                ' WHERE (not Dealer_Info_text__c like \'%TEST%\')' +
//                ' AND TracingCode__c != \'\'' +
//                ' AND Dealer_Arrive__c = true' +
//                ' AND Frist_Storage_Agency__c = \'\'' +
//                ' AND Consumable_order_minor__c != \'\'';
//
//        // 获取所有需要修改的数据
//        List<Consumable_order_details2__c> codcs = Database.query(queryStr);
//        // key:管理编号 value:同一管理编号的数据
//        Map<String, List<Consumable_order_details2__c>> maps = new Map<String, List<Consumable_order_details2__c>>();
//
//        for (Consumable_order_details2__c cod : codcs) {
//            // 拿到同一编号的集合
//            List<Consumable_order_details2__c> cos = [
//                    SELECT Id,Name,Consumable_order_minor__c
//                    FROM Consumable_order_details2__c
//                    WHERE TracingCode__c = :cod.TracingCode__c
//            ];
//            // 将编号和对应的数据集合添加的map集合中
//            maps.put(cod.TracingCode__c, cos);
//        }
//
//        // 迭代数据进行修改
//        for (String str : maps.keySet()) {
//            // 获取每个管理编号对应的数据
//            List<Consumable_order_details2__c> cos = maps.get(str);
//            System.debug('str' + str);
//            System.debug('cos' + cos);
//            System.debug('===============');
//
//            // 迭代每组需要修改的数据
//            for (Consumable_order_details2__c cod : cos) {
//
//            }
//
//        }
//
//    }
//
//    static void test222() {
//
//        // 需要修改的数据
////        List<String> coms = new List<String>();
////        coms.add('XB-151P-05-S38788');
//
//        // 获取所有消耗品订单不为空的字段
//        List<Consumable_order_details2__c> lists = [
//                SELECT Id, Name,Consumable_order_minor__r.Name
//                FROM Consumable_order_details2__c
//                WHERE
//                (not Dealer_Info_text__c like '%TEST%' ) AND TracingCode__c != '' AND Dealer_Arrive__c = true AND Frist_Storage_Agency__c = '' and Consumable_order_minor__c != ''
//        ];
//        // 将消耗品订单的值存到set集合中,批量执行
//        Set<String> coms = new Set<String>();
//        for (Consumable_order_details2__c consumable_order_details2 : lists) {
//            coms.add(consumable_order_details2.Consumable_order_minor__r.Name);
//        }
//
//        // 查出所有直接入库为true的数据
//        List<Consumable_order_details2__c> cods = [
//                SELECT Id, Name,Consumable_order_minor__c,Consumable_Arrived_order__c,Intra_Trade_List_RMB__c,Agencyinfo_fromSAP__c,Frist_Storage_Agency__c,Dealer_Info_text__c,Asset_Model_No__c,SerialLotNo__c,Bar_Code__c,TracingCode__c,Deliver_date__c,Arrive_date__c,Direct_Arrive_Product__c,Dealer_Arrive__c,Dealer_Shipment__c,Dealer_Saled__c,Dealer_Returned__c,Lose_Flag__c,SummonsForDirction_det__c
//                FROM Consumable_order_details2__c
//                WHERE
//                (not Dealer_Info_text__c like '%TEST%' ) AND TracingCode__c != '' AND Dealer_Arrive__c = true AND Frist_Storage_Agency__c = '' AND Consumable_order_minor__r.Name IN :coms
//                AND Direct_Arrive_Product__c = true
//        ];
//
//        // 保存所有数据的管理编号
//        List<String> tracingCodes = new List<String>();
//        for (Consumable_order_details2__c cod : cods) {
//            tracingCodes.add(cod.TracingCode__c);
//
////            修改
////            首次入库经销商 = SAP发货经销商
//            cod.Frist_Storage_Agency__c = cod.Agencyinfo_fromSAP__c;
////            取消直接入库勾选
//            cod.Direct_Arrive_Product__c = false;
////            勾选IF情报元
//            cod.IF_Information_From__c = true;
//        }
//
//        // 根据管理编号查询出所有需要删除的数据
//        List<Consumable_order_details2__c> delCods = [
//                SELECT Id, Name,TracingCode__c,Bar_Code__c
//                FROM Consumable_order_details2__c
//                WHERE Consumable_order_minor__r.Name IN :coms
//                AND TracingCode__c IN :tracingCodes
//                AND Dealer_Arrive__c = false
//        ];
//        System.debug('delCods' + delCods);
//
//        // 删除多余的数据
//        delete delCods;
//        System.debug('cods' + cods.size());
//        // 存储需要更改的数据
//        List<Consumable_order_details2__c> updates2 = new List<Consumable_order_details2__c>();
//        tracingCodes = new List<String>();
//        for (Consumable_order_details2__c cod : cods) {
//            tracingCodes.add(cod.TracingCode__c);
//        }
//
//        // 查询删除一部分数据后仍需更改的另一部分数据 管理编号相同
//        List<Consumable_order_details2__c> cods2 = [
//                SELECT Id, Name,TracingCode__c,Bar_Code__c,Frist_Storage_Agency__c,Agencyinfo_fromSAP__c
//                FROM Consumable_order_details2__c
//                WHERE TracingCode__c IN :tracingCodes
//        ];
//
//        for (Consumable_order_details2__c details2 : cods2) {
//            // 如果首次入货经销商没有值并且不是初始中需要更改的数据 添加到updates2中
//            if (String.isBlank(details2.Frist_Storage_Agency__c)) {
//                boolean flag = true;
//                for (Consumable_order_details2__c consumable_order_details2 : cods) {
//                    if (consumable_order_details2.Id == details2.Id) {
//                        flag = false;
//                        break;
//                    }
//                }
//                if (flag) {
//                    details2.Frist_Storage_Agency__c = details2.Agencyinfo_fromSAP__c;
//                    updates2.add(details2);
//                }
//            }
//        }
//
//        // 将updates2中的数据添加到cods中 一起更新
//        cods.addAll(updates2);
//        System.debug('update.size()' + cods.size());
//        update cods;
//    }
//
//
//    static void testaaq() {
//
//        // 获取所有消耗品订单不为空的字段
//        List<Consumable_order_details2__c> lists = [
//                SELECT Id, Name,Consumable_order_minor__r.Name
//                FROM Consumable_order_details2__c
//                WHERE
//                (not Dealer_Info_text__c like '%TEST%' ) AND TracingCode__c != '' AND Dealer_Arrive__c = true AND Frist_Storage_Agency__c = '' and Consumable_order_minor__c != ''
//        ];
//        // 将消耗品订单的值存到set集合中,批量执行
//        Set<String> coms = new Set<String>();
//        for (Consumable_order_details2__c consumable_order_details2 : lists) {
//            coms.add(consumable_order_details2.Consumable_order_minor__r.Name);
//        }
//
////        for (Consumable_order_details2__c consumable_order_details2 : lists) {
////            coms.add(consumable_order_details2.Consumable_order_minor__r.Name);
////        }
////        coms.add('DB-151P-04-S32242');
//
//        List<Consumable_order_details2__c> cods = [
//                SELECT Id, Name,Consumable_order_minor__c,Consumable_Arrived_order__c,Intra_Trade_List_RMB__c,Agencyinfo_fromSAP__c,Frist_Storage_Agency__c,Dealer_Info_text__c,Asset_Model_No__c,SerialLotNo__c,Bar_Code__c,TracingCode__c,Deliver_date__c,Arrive_date__c,Direct_Arrive_Product__c,Dealer_Arrive__c,Dealer_Shipment__c,Dealer_Saled__c,Dealer_Returned__c,Lose_Flag__c,SummonsForDirction_det__c
//                FROM Consumable_order_details2__c
//                WHERE
//                (not Dealer_Info_text__c like '%TEST%' ) AND TracingCode__c != '' AND Dealer_Arrive__c = true AND Frist_Storage_Agency__c = '' AND Consumable_order_minor__r.Name IN :coms
//                AND Dealer_Arrive__c= true
//        ];
//
//        Set<String> tracingCodes = new Set<String>();
//        for (Consumable_order_details2__c consumable_order_details2 : cods) {
//            consumable_order_details2.Frist_Storage_Agency__c = consumable_order_details2.Agencyinfo_fromSAP__c;
//            tracingCodes.add(consumable_order_details2.TracingCode__c);
//        }
//
//        List<Consumable_order_details2__c> dels = [
//                SELECT Id, Name,Consumable_order_minor__c,Consumable_Arrived_order__c,Intra_Trade_List_RMB__c,Agencyinfo_fromSAP__c,Frist_Storage_Agency__c,Dealer_Info_text__c,Asset_Model_No__c,SerialLotNo__c,Bar_Code__c,TracingCode__c,Deliver_date__c,Arrive_date__c,Direct_Arrive_Product__c,Dealer_Arrive__c,Dealer_Shipment__c,Dealer_Saled__c,Dealer_Returned__c,Lose_Flag__c,SummonsForDirction_det__c
//                FROM Consumable_order_details2__c
//                WHERE Consumable_order_minor__r.Name IN :coms
//                AND TracingCode__c = :tracingCodes
//                AND Dealer_Arrive__c = false
//        ];
//
//        update cods;
//        delete dels;
//
//
//
//    }
 
}