global class LogAutoSendBatch implements Database.Batchable, Database.AllowsCallouts, Database.Stateful { private String typeNFM; private String messageGroupNumber; private Datetime times; private Boolean isForecast;// 20220318 ljh SWAG-CC54R2 add /** * コンスタント */ global LogAutoSendBatch() { } // 20220318 ljh SWAG-CC54R2 add start global LogAutoSendBatch(String type,Boolean isForecast) { this.typeNFM = type; this.isForecast = isForecast; } // 20220318 ljh SWAG-CC54R2 add end //20191224 HWAG-BK65E8 add start global LogAutoSendBatch(String type, String message, Datetime times) { this.typeNFM = type; this.messageGroupNumber = message; this.times = times; } //20191224 HWAG-BK65E8 add end /** * startには、queryを実行、备品申请借出历史を検索 */ public Integer max_cnt = Integer.valueOf(System.Label.batch_retry_max_cnt); global Database.QueryLocator start(Database.BatchableContext BC) { String profileId = UserInfo.getProfileId(); // 20220318 ljh SWAG-CC54R2 add start if(String.isNotBlank(typeNFM) && typeNFM == 'NFM010' && String.isBlank(messageGroupNumber)){ return Database.getQueryLocator( [SELECT Id, Name, Log__c, ErrorLog__c, Log2__c, Log3__c, Log4__c, Log5__c, Log6__c, Log7__c, Log8__c, Log9__c, Log10__c, Log11__c, Log12__c, MessageGroupNumber__c, Type__c, retry_cnt__c, NFM501Future_Count__c, NFM501_Web_Annex_Count__c FROM BatchIF_Log__c WHERE RowDataFlg__c = true AND (retry_cnt__c = null OR (retry_cnt__c != null AND retry_cnt__c > 0 AND retry_cnt__c < : max_cnt)) AND Type__c = : typeNFM ] ); } else if (String.isNotBlank(typeNFM) && String.isNotBlank(messageGroupNumber) && times != null) { // 20220318 ljh SWAG-CC54R2 add end //20191224 HWAG-BK65E8 add start // if (String.isNotBlank(typeNFM) && String.isNotBlank(messageGroupNumber) && times != null) { return Database.getQueryLocator( [SELECT Id, Name, Log__c, ErrorLog__c, Log2__c, Log3__c, Log4__c, Log5__c, Log6__c, Log7__c, Log8__c, Log9__c, Log10__c, Log11__c, Log12__c, MessageGroupNumber__c, Type__c, retry_cnt__c, NFM501Future_Count__c, NFM501_Web_Annex_Count__c FROM BatchIF_Log__c WHERE RowDataFlg__c = true AND Type__c = : typeNFM AND CreatedDate >= : times AND MessageGroupNumber__c >= : messageGroupNumber order by MessageGroupNumber__c asc ] ); //20191224 HWAG-BK65E8 add end } else if (profileId.left(15).equals('00e10000000dzzG') || profileId.left(15).equals('00e10000000Y3o5')) { return Database.getQueryLocator( [SELECT Id, Name, Log__c, ErrorLog__c, Log2__c, Log3__c, Log4__c, Log5__c, Log6__c, Log7__c, Log8__c, Log9__c, Log10__c, Log11__c, Log12__c, MessageGroupNumber__c, Type__c, retry_cnt__c, NFM501Future_Count__c, NFM501_Web_Annex_Count__c FROM BatchIF_Log__c WHERE RowDataFlg__c = true AND ((retry_cnt__c != null AND retry_cnt__c > 0 AND retry_cnt__c < : max_cnt) OR (NFM501Future_Count__c != null AND NFM501Future_Count__c > 0 AND NFM501Future_Count__c < : max_cnt) OR(NFM501_Web_Annex_Count__c != null AND NFM501_Web_Annex_Count__c > 0 AND NFM501_Web_Annex_Count__c < : max_cnt))] ); } else { return Database.getQueryLocator( [SELECT Id, Name, Log__c, ErrorLog__c, Log2__c, Log3__c, Log4__c, Log5__c, Log6__c, Log7__c, Log8__c, Log9__c, Log10__c, Log11__c, Log12__c, MessageGroupNumber__c, Type__c, retry_cnt__c, NFM501Future_Count__c, NFM501_Web_Annex_Count__c FROM BatchIF_Log__c WHERE RowDataFlg__c = true AND ((retry_cnt__c != null AND retry_cnt__c > 0 AND retry_cnt__c < : max_cnt) OR (NFM501Future_Count__c != null AND NFM501Future_Count__c > 0 AND NFM501Future_Count__c < : max_cnt) OR(NFM501_Web_Annex_Count__c != null AND NFM501_Web_Annex_Count__c > 0 AND NFM501_Web_Annex_Count__c < : max_cnt)) AND ownerId = : UserInfo.getUserId()] ); } } global void execute(Database.BatchableContext BC, List rowDataList) { String strType_c = null; Integer NFM501Future_Count = null; Integer NFM501_Web_Annex_Count = null; Integer NFM501_Other_Annex_Count = null; for (BatchIF_Log__c rowData : rowDataList) { strType_c = String.valueOf(rowData.get('Type__c')); NFM501Future_Count = Integer.valueOf(rowData.get('NFM501Future_Count__c')); NFM501_Web_Annex_Count = Integer.valueOf(rowData.get('NFM501_Web_Annex_Count__c')); if (strType_c == 'MDMITM') { // CHAN-BH72Y9 start // 原代码 //MDMITMWebService.execute(rowData.Id); MDMITMRest.execute(rowData.Id); // CHAN-BH72Y9 end } if (strType_c == 'NFM001') { NFM001Controller.execute(rowData, null); } if (strType_c == 'NFM002') { NFM002WebService.execute(rowData.Id); } if (strType_c == 'NFM006') { NFM006WebService.execute(rowData.Id); } if (strType_c == 'NFM007') { NFM007Controller.execute(rowData, null); } if (strType_c == 'NFM008') { // CHAN-BB9CX4 20190419 LHJ Start //NFM008WebService.execute(rowData.Id); NFM008Rest.main(rowData.Id); // CHAN-BB9CX4 20190419 LHJ End } if (strType_c == 'NFM010') { // CHAN-BBC75D 20190424 LHJ Start //NFM010WebService.execute(rowData.Id); NFM010Rest.main(rowData.Id); // CHAN-BBC75D 20190424 LHJ Start } if (strType_c == 'NFM012') { // CHAN-BH72Y9 start // 原代码 //NFM012WebService.execute(rowData.Id); NFM012Rest.main(rowData.Id); // CHAN-BH72Y9 end } if (strType_c == 'NFM103') { NFM103Controller.execute(rowData, null); } if (strType_c == 'NFM104') { // CHAN-BAF2VC 20190327 LHJ Start //NFM104WebService.execute(rowData.Id); NFM104Rest.main(rowData.Id); // CHAN-BAF2VC 20190327 LHJ Start } if (strType_c == 'NFM105') { // CHAN-BAW99B 20190408 LHJ Start //NFM105WebService.execute(rowData.Id); NFM105Rest.main(rowData.Id); // CHAN-BAW99B 20190408 LHJ End } if (strType_c == 'NFM106') { NFM106Controller.execute(rowData, null); } if (strType_c == 'NFM107') { NFM107Rest.main(rowData.Id); } if (strType_c == 'NFM108') { NFM108Rest.main(rowData.Id); } // 20200923 Gzw start if (strType_c == 'NFM109') { NFM109Rest.main(rowData.Id); } // 20200923 Gzw end if (strType_c == 'NFM110') { NFM110Rest.main(rowData.Id); } // 2021/12/1 fxk add Star if (strType_c == 'NFM115') { NFM115Controller.execute(rowData,null); } if (strType_c == 'NFM114') { NFM114Rest.main(rowData.Id); } // 2021/12/1 fxk add End // // 电子签收单发送SAP接口 thh 20220427 start if (strType_c == 'NFM116') { NFM116Controller.execute(rowData,null); } // // 电子签收单发送SAP接口 thh 20220427 end // 三方接口 if (strType_c == 'NFM201') { NFM201Controller.execute(rowData, null); } if (strType_c == 'NFM202') { NFM202Controller.execute(rowData, null); } if (strType_c == 'NFM203') { NFM203Rest.main(rowData.Id); } if (strType_c == 'NFM204') { NFM204Rest.main(rowData.Id); } if (strType_c == 'NFM205') { NFM205Rest.main(rowData.Id); } if (strType_c == 'NFM206') { NFM206Rest.main(rowData.Id); } if (strType_c == 'NFM207') { NFM207Controller.execute(rowData, null); } if (strType_c == 'NFM009') { NFM009Controller.execute(rowData, null); } if (strType_c == 'CPL003') { CPL003Rest.main(rowData.Id); } if (strType_c == 'NFM301') { NFM301Rest.main(rowData.Id); } if (strType_c == 'NFM401') { NFM401Controller.executeAuto(rowData); } // add tcm 20211207 start if (strType_c == 'NFM403') { NFM403Rest.main(rowData.Id); } // add tcm 20211207 end if (strType_c == 'NFM501' && NFM501Future_Count > 0 && NFM501Future_Count < max_cnt) { System.enqueueJob(new NFM501FutureController(rowData.id)); } if (strType_c == 'NFM501' && NFM501_Web_Annex_Count > 0 && NFM501_Web_Annex_Count < max_cnt) { System.enqueueJob(new NFM502Controller(rowData.id)); } if (strType_c == 'NFM601') { NFM601Controller.ManualExecute(rowData.Id); } if (strType_c == 'NFM602') { NFM602Controller.ManualExecute(rowData.Id); } if (strType_c == 'NFM606') { NFM606Controller.ManualExecute(rowData.Id); } if (strType_c == 'NFM603') { NFM603Controller.ManualExecute(rowData.Id); } if (strType_c == 'NFM605') { NFM605Controller.ManualExecute(rowData.Id); } if (strType_c == 'NFM607') { NFM607Rest.main(rowData.Id); } if (strType_c == 'NFM608') { NFM608Rest.main(rowData.Id); } if (strType_c == 'NFM609') { NFM609Rest.main(rowData.Id); } if (strType_c == 'NFM611') { NFM611Rest.main(rowData.Id); } if (strType_c == 'NFM612') { NFM612Rest.main(rowData.Id); } if (strType_c == 'NFM620') { NFM620Rest.main(rowData.Id); } if (strType_c == 'NFM623') { NFM623Rest.main(rowData.Id); } if (strType_c == 'NFM621') { NFM621Controller.execute(rowData, null); } if (strType_c == 'NFM624') {//智慧医疗pk NFM624Rest.main(rowData.Id); } if (strType_c == 'NFM622') { NFM622Controller.execute(rowData, null); } if (strType_c == 'NFM112') {//先款后修pk NFM112Controller.ManualExecute(rowData.id); } if (strType_c == 'NFM113') {//先款后修pk NFM113Rest.main(rowData.id); } if (strType_c == 'NFM701') { NFM701Controller.execute(rowData, null); } // if (strType_c == 'NFM702') { // NFM702Controller.execute(rowData, null); // } if (strType_c == 'NFM703') { NFM703Controller.execute(rowData, null); } if (strType_c == 'NFM704') { NFM704Rest.executefuture(rowData.Id); } if (strType_c == 'NFM705') { NFM705Rest.main(rowData.Id); } if (strType_c == 'NFM706') { NFM706Rest.main(rowData.Id); } if (strType_c == 'NFM707') { NFM707Rest.main(rowData.Id); } } if (System.Test.isRunningTest()) { Integer i = 0; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; i++; } } global void finish(Database.BatchableContext BC) { // 今回はやることないです // 20220318 ljh SWAG-CC54R2 add start if(String.isNotBlank(typeNFM) && typeNFM == 'NFM010' && isForecast){ Id execBTId = Database.executeBatch(new BeforeSSOpportunityBatch(), 100); } // 20220318 ljh SWAG-CC54R2 add end } }