GWY
2022-03-17 ae3dbaacd49b295337c5c53dbf5cf732898ed6f8
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
global class SSOpporToSSBDallRepBatch implements Database.Batchable<sObject> {
    /*执行Batch,建立SS_询价产品清单(SS_Opportunity_detail_product__c)和SSBD_All_Report(SSBD_All_Report__c)
    的对应关系:
        从SSBD_All_Report__c中拷贝出询价Id和SSBD_All_Report__c.id,通过SSBD_All_Report__c和SS_询价产品清单共有的
        询价id来建立两者之间的对应关系
    */
    String query;
    List<Id> OppoIDList;
    global SSOpporToSSBDallRepBatch(List<id> elementID) {
        
    }
    global SSOpporToSSBDallRepBatch(boolean Single) {
        
    }
    global SSOpporToSSBDallRepBatch() {
        
    }
    global Database.QueryLocator start(Database.BatchableContext BC) {
        query    =    'SELECT Id,OpportunityName__c, OpportunityID__c FROM SSBD_All_Report__c';
        return Database.getQueryLocator(query);
    }
 
    global void execute(Database.BatchableContext BC, List<sObject> scope) {
        List<SSBD_All_Report__c>    SARList    =    new    List<SSBD_All_Report__c>();
        SARList    =    scope;
        Map<id,id>    SAR_id_Map    =    new    Map<id,id>();
        List<id>    OppoIdBatchList    =    new    List<id>();
        for(SSBD_All_Report__c    ssr    :    SARList){
            OppoIdBatchList.add(ssr.OpportunityID__c);
            SAR_id_Map.put(ssr.OpportunityID__c, ssr.id);
        }
        system.debug('OppoIdBatchList::::'+OppoIdBatchList);
        List<SS_Opportunity_detail_product__c>    SSopdList    =    new    List<SS_Opportunity_detail_product__c>();
        List<SS_Opportunity_detail_product__c>    SSopdListUpdate    =    new    List<SS_Opportunity_detail_product__c>();
        
        SSopdList    =    [SELECT    
                                Id, 
                                OpportunityName__c, 
                                SSBD_All_Report_ID__c, 
                                OpportunityID__c
                        FROM
                                SS_Opportunity_detail_product__c
                        where    
                                OpportunityName__c    in:    OppoIdBatchList
                        ];
        system.debug('SSopdList::::'+SSopdList);
        for(    SS_Opportunity_detail_product__c    sodp    :    SSopdList    ){
            sodp.SSBD_All_Report_ID__c    =    SAR_id_Map.get(sodp.OpportunityID__c);
            SSopdListUpdate.add(sodp);
        }
        update    SSopdListUpdate;
 
    }
    
    global void finish(Database.BatchableContext BC) {
        
    }
    
}