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 private String loginId; //20230203 lt 计划的作业优化 一小时两次 start // private BatchEmailUtil.ScBean scB1; //20230203 lt 计划的作业优化 一小时两次 end /** * コンスタント */ global LogAutoSendBatch() { } global LogAutoSendBatch(String loginId) { this.loginId = loginId; } // 2023-1-19 zyh DB202301301244 add start global LogAutoSendBatch(String type,String message) { this.typeNFM = type; this.messageGroupNumber = message; System.debug('type++++++'+type + 'message+++++' + message); } // 2023-1-19 zyh DB202301301244 add end // 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) { //20230203 lt 计划的作业优化 一小时两次 start /*scB1 = BatchEmailUtil.setSc1('LogAutoSendSchedule', 0, 23, 0, '0 30 *', null); if (System.Test.isRunningTest() == false) { for(CronTrigger ct : [SELECT Id FROM CronTrigger WHERE CronJobDetail.Name =: scB1.scName]) { System.abortJob(ct.Id); } system.schedule(scB1.scName, scB1.scTime, new LogAutoSendSchedule()); }*/ //20230203 lt 计划的作业优化 一小时两次 end 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 ] ); } // gzw 603 重发判断 暂时用 // ljh只执行自己这条日志,而且这个日志retry_cnt__c不是0 else if (String.isNotBlank(loginId)) { 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 != 0 AND id = : loginId ] ); } // gzw 603 重发判断 暂时用 // 2023-01-19 zyh add start else 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 MessageGroupNumber__c = : messageGroupNumber ] ); } // 2023-01-19 zyh add end 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 != 'NFM007' // 2023-01-18 ZYH ADD 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 Unexecuted__c > 0 // 2023-4-10 ZYH ADD AND Type__c != 'NFM007' // 2023-01-18 ZYH ADD 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) OR Unexecuted__c > 0 // 2023-4-10 ZYH ADD )] ); }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 Unexecuted__c > 0 // 2023-4-10 ZYH ADD AND Type__c != 'NFM007' // 2023-01-18 ZYH ADD 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) OR Unexecuted__c > 0 // 2023-4-10 ZYH ADD ) AND ownerId = : UserInfo.getUserId() ORDER BY CreatedDate // 2023-02-04 ZYH ADD ] ); } } 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 // XLIU-CEW9PD 零件预计齐备日期 -SFDC增加 LY 20220610 start if (strType_c == 'NFM117') { NFM117Rest.main(rowData.Id); } // XLIU-CEW9PD 零件预计齐备日期 -SFDC增加 LY 20220610 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); } // 贸易合规 you 20230321 start if (strType_c == 'NFM209') { NFM209Rest.main(rowData.Id); } // 贸易合规 you 20230321 end 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); } // 2023-3-6 zyh add 报修子单发送接口测试用 /*if (strType_c == 'NFM612S') { NFM612Controller.ManualExecute(rowData.Id); }*/ // 2023-3-6 zyh add 报修子单发送接口测试用 if (strType_c == 'NFM620') { NFM620Rest.main(rowData.Id); } if (strType_c == 'NFM623') { NFM623Rest.main(rowData.Id); } if (strType_c == 'NFM621') { NFM621Controller.execute(rowData, null); } //zhj 新方案改造 2023-01-06 start // if (strType_c == 'NFM624') {//智慧医疗pk // NFM624Rest.main(rowData.Id); // } if (strType_c == 'NFM624Rest2') {//智慧医疗pk NFMUtil.againSendToAWS624(rowData.Id); } //zhj 新方案改造 2023-01-06 end 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.main(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) { // BatchEmailUtil.removeOtherSc('LogAutoSendSchedule', scB1.scName); //20230203 lt 计划的作业优化 // 今回はやることないです // 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 } }