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 reportIdList){ // executeNotFuture(iflog_Id,reportIdList,null); // } // //调用 // public static void executeNotFuture(String iflog_Id,List reportIdList,List 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 reports = new List(); // 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 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; // } }