高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/LogAutoSendBatch.cls
@@ -3,12 +3,28 @@
    private String typeNFM;
    private String messageGroupNumber;
    private Datetime times;
    private Boolean isForecast;// 20220318 ljh SWAG-CC54R2 add
    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;
@@ -28,6 +44,16 @@
    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)){
@@ -40,7 +66,35 @@
                 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) {
        }
        // 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) {
@@ -50,7 +104,8 @@
                 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
                                         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
@@ -61,25 +116,29 @@
                 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)
                                         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))]
                );
        } else {
        }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)
                                         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))
                                       AND ownerId = : UserInfo.getUserId()]
                                       AND ownerId = : UserInfo.getUserId()
                                       ORDER BY CreatedDate // 2023-02-04   ZYH   ADD
                                       ]
                );
        }
    }
@@ -172,6 +231,16 @@
                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);
@@ -257,38 +326,44 @@
            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.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 == 'NFM702') {
                NFM702Controller.execute(rowData, null);
            }
            if (strType_c == 'NFM703') {
                NFM703Controller.execute(rowData, null);
            }
            // if (strType_c == 'NFM704') {
            //     NFM704Rest.executefuture(rowData.Id);
            // }
            if (strType_c == 'NFM704') {
                NFM704Rest.main(rowData.Id);
            }
            if (strType_c == 'NFM705') {
                NFM705Rest.executefuture(rowData.Id);
                NFM705Rest.main(rowData.Id);
            }
            if (strType_c == 'NFM706') {
                NFM706Rest.executefuture(rowData.Id);
                NFM706Rest.main(rowData.Id);
            }
            if (strType_c == 'NFM707') {
                NFM707Rest.executefuture(rowData.Id);
                NFM707Rest.main(rowData.Id);
            }
        }
        if (System.Test.isRunningTest()) {
            Integer i = 0;
@@ -459,6 +534,8 @@
    }
    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){