高章伟
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
// public with sharing class QISToPDFBatch implements Database.Batchable<SObject>, Database.Stateful {
public with sharing class QISToPDFBatch implements Database.Batchable<SObject>, Database.AllowsCallouts {
    public String iflog_Id;
    public BatchIF_Log__c rowDataSFDC;
    public List<String> repairIds;
    public String statu;
 
    public QISToPDFBatch(String iflog_Id,BatchIF_Log__c rowDataSFDC, List<String> repairIds,String statu) {
        ids = repairIds;
        this.iflog_Id = iflog_Id;
        this.rowDataSFDC = rowDataSFDC;
        this.repairIds = repairIds;
        this.statu = statu;
    }
    public List<String> ids;
    
    public QISToPDFBatch(List<String> argsIds) {
        ids = new List<String>();
        ids = argsIds;
    }
 
    public Database.QueryLocator start(Database.BatchableContext BC) {
        String staSql = 'select id,name,GeneratedPDFField__c,problem_detail_photo__c,Photo_1__c,Photo_2__c,Photo_3__c,Photo_4__c,';
        staSql += 'Photo_OSH_1__c,Photo_OSH_2__c,Photo_OSH_3__c,Photo_OSH_4__c';
        staSql += ' from QIS_Report__c where GeneratedPDFField__c = null';
 
        System.debug('ids.size()'+ids.size());
 
        if (ids.size() > 0) {
            staSql += ' and id in :ids';
        }
        System.debug('staSQL'+staSql);
        return Database.getQueryLocator(staSql);
    }
 
    public void execute(Database.BatchableContext BC, List<QIS_Report__c> qis) {
        System.debug('QISToPDFBatch的excute 执行了.............');
        RepairAndQISToPDFController.generateAttachment(qis);
    }
 
 
    public void finish(Database.BatchableContext BC) {
       System.debug('finish');
       NFM401Controller.callout(null, null, repairIds, statu);
       // NFM401Controller.sendToETQ(iflog_Id,rowDataSFDC,repairIds,statu);
       // System.debug('0000000---------------------nfm401controller1.sendToETQ执行了');
    }
}