高章伟
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
public with sharing class NFM604Controller {
    // public NFM604Controller() {
        
    // }
    // private static final String LOG_TYPE = 'NFM_604_';
    // //报修单推送接口
    // public class Repair{
    //     public String repairOrderNo;//报修单号
    // }
    // //正常调用
    // @future(callout = true)
    // public static void callout(String iflog_Id,List<Id> reportIdList){
    //     executeNotFuture(iflog_Id,reportIdList,null);
    // }
    // //调用
    // public static void executeNotFuture(String iflog_Id,List<Id> reportIdList,List<Repair__c> repairList){
 
    //     BatchIF_Log__c iflog = [Select Id, Name, Log__c, ErrorLog__c from BatchIF_Log__c where Id = :iflog_Id];
    //     if (iflog != null) {
    //         iflog.ErrorLog__c = '';
    //     } else {
    //         iflog = new BatchIF_Log__c();
    //         iflog.Type__c = LOG_TYPE;
    //         iflog.ErrorLog__c = '';
    //         iflog.Log__c = 'callout start\n';
    //     }
    //     List<Report> reports = new List<Report>();
 
    //     BatchIF_Log__c rowData = null;
 
    //     if (reportIdList == null && repairList == null) {
    //         return;
    //     }else if (reportIdList != null && reportIdList.size()>0) {
    //         repairList = [select id from Repair__c where id in : reportIdList];
    //     }
    //     String logstr = iflog.Log__c + ' ' + 'NumberOfRecord=' +  repairList.size() + '\n';
    //     try{
    //         for (Repair__c repair : repairList) {
    //             Report reprt = new Report();
    //             reports.add(reprt);
    //         }
    //         if (reports.size()>0) {
    //             //生成Batchlog日志,记录发送情况
    //             rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, reports);
    //             //execute(rowData,iflog);
    //         }
    //         logstr += '\nend';
    //     }catch (Exception ex) {
    //         //发生错误时
    //         System.debug(LoggingLevel.ERROR,LOG_TYPE + iflog.Name + ':' + ex.getMessage());
    //         System.debug(LoggingLevel.ERROR,LOG_TYPE + iflog.Name + ':' + ex.getStackTraceString());
    //         iflog.ErrorLog__c += ex.getMessage() + '\n';
    //         iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
    //     }
    //     if (rowData != null) {
    //         upsert rowData;
    //     }
    //     upsert iflog;
    // }
    // /**
    //  * 接口发送失败 根据BatchLogId进行手动发送
    //  * @param    rowDataId  [BatchLogId]
    //  */
    // public static void ManualExecute(String rowDataId){
    //     List<BatchIF_Log__c> row = [select id, name, MessageGroupNumber__c, retry_cnt__c,
    //                                        RowDataFlg__c, ErrorLog__c, Type__c,
    //                                        Log__c, Log2__c, Log3__c, Log4__c, Log5__c, Log6__c,
    //                                        Log7__c, Log8__c, Log9__c, Log10__c, Log11__c, Log12__c
    //                                   from BatchIF_Log__c
    //                                  where id = :rowDataId];
    //     if (row.size() > 0) execute(row[0], null);
    // }
    // /**
    //  * 逻辑正常执行发送
    //  * @param    rowDataSFDC [BatchLogId]
    //  * @param    iflog       [执行情况记录]
    //  */
    // public static void execute(BatchIF_Log__c rowDataSFDC,BatchIF_Log__c iflog){
    //     Integer batch_retry_max_cnt = Integer.valueOf(System.Label.batch_retry_max_cnt);
 
    //     String logstr = rowDataSFDC.MessageGroupNumber__c + 'start\n';
    //     if (iflog == null) {
    //         iflog = new BatchIF_Log__c();
    //         iflog.Type__c = LOG_TYPE;
    //         iflog.MessageGroupNumber__c = rowDataSFDC.MessageGroupNumber__c;
    //         iflog.Log__c = logstr;
    //         iflog.ErrorLog__c = '';
    //     }else{
    //         iflog.Type__c = LOG_TYPE;
    //         iflog.MessageGroupNumber__c = rowDataSFDC.MessageGroupNumber__c;
    //         logstr = iflog.Log__c;
    //     }
 
    //     try {
    //         String data = NFMUtil.getRowDataStr(rowDataSFDC);
    //         NFMUtil.sendToAFS(data,'');
    //     }
    //     catch (Exception e) {
    //         System.debug(LoggingLevel.ERROR, LOG_TYPE + iflog.Name + ':' + e.getMessage());
    //         System.debug(LoggingLevel.ERROR, LOG_TYPE + iflog.Name + ':' + e.getStackTraceString());
 
    //         iflog.ErrorLog__c += e.getMessage() + '\n';
    //         iflog.ErrorLog__c += e.getStackTraceString() + '\n';
 
    //         if (rowDataSFDC.retry_cnt__c == null) {
                // rowDataSFDC.retry_cnt__c = 0;                
    //         }
    //         if (rowDataSFDC.retry_cnt__c < batch_retry_max_cnt) {
    //             rowDataSFDC.retry_cnt__c++;
    //             LogAutoSendSchedule.assignOneMinute();
    //         }
    //         if (rowDataSFDC.retry_cnt__c >= batch_retry_max_cnt) {
    //             rowDataSFDC.ErrorLog__c = e.getMessage() + 'n' + e.getStackTraceString() + '\n' + rowDataSFDC.ErrorLog__c + '错误次数已经超过自动送信设定的最大次数,请手动送信';
    //         }
    //     }
    //     upsert iflog;
    //     upsert rowDataSFDC;
        
    // }
}