高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/NFM603Controller.cls
@@ -45,6 +45,11 @@
        public String RepairType; //修理区分-------------------
        public String QuotationGread; //报价等级(new)
        public String detectionResult; //检测结果
        //LLIU-CG53S9 LY 20220711 start
        public String isContractUser;    //是否合同用户
        public String oldRepairNo;       //原修理单号
        public String closeRepairDate;   //修理单关闭日
        //LLIU-CG53S9 LY 20220711 end
        public String cus_dn; //DN号
        //修理增加OTS运单号字段 thh 20220308 start
        public String OTSRepairOrder;
@@ -244,14 +249,23 @@
                Repair_Final_Inspection_DateTime__c,
                Repair_Shipped_DateTime__c,
                Repair_Discount_approval_DateTime_form__c,
                // 2022-05-20   zyh   update  start
                Repair_Estimated_Date__c,
                Repair_Estimated_date_formula__c,
                // 2022-05-20   zyh   update  end
                Agreed_DateTime__c,
                //修理增加OTS运单号字段 thh 20220308 start
                OTSRepairOrder__c
                //修理增加OTS运单号字段 thh 20220308 end
                //LLIU-CG53S9 LY 20220711 start
                ,IF_ContractUser__c
                ,Old_Name__c
                ,SAP_not_accept_repair_result__c
                //LLIU-CG53S9 LY 20220711 end
                from Repair__c where id in: repairOrderIdList
            ];
        }
        String logstr = iflog.Log__c + ' ' + 'NumberOfRecord=' + repairList.size() + '\n';
        String logstr = iflog.Log__c + ' ' + 'NumberOfRecord=' + repairList.size() + '\n' + repairList[0].Name + '\n';
        try {
            List < Id > repairIdList = new List < Id > ();
            for (Repair__c repair: repairList) {
@@ -262,10 +276,10 @@
            // 备品出借记录 查找备品出借一览明细的 产品型号
            Map < id, List < SparePartsLendingRecord >> rentalMap = getrentalMap(repairIdList);
            String downSDt = '';
            String downEDt = '';
            String upSDt = '';
            String upEDt = '';
            // String downSDt = ''; 2022-5-10   zyh  update
            // String downEDt = ''; 2022-5-10   zyh  update
            // String upSDt = ''; 2022-5-10   zyh  update
            // String upEDt = ''; 2022-5-10   zyh  update
            for (Repair__c repair: repairList) {
@@ -301,6 +315,11 @@
                info.RepairType = repair.Repair_Severity_Rank__c; //修理区分----------
                info.QuotationGread = repair.Repair_Rank__c; //报价等级
                info.detectionResult = repair.InspectionResultFlag__c; //检测结果
                //LLIU-CG53S9 LY 20220711 start
                info.isContractUser = repair.IF_ContractUser__c ? 'true' : 'false'; //是否合同用户
                info.oldRepairNo = repair.Old_Name__c; //原修理受付番号
                info.closeRepairDate = NFMUtil.formatDate2StrDateTime(repair.SAP_not_accept_repair_result__c); //修理单关闭日
                //LLIU-CG53S9 LY 20220711 end
                info.FaultDesc = reasonMap.get(repair.id); //故障描述List
                ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                info.deliveryLogisticsMode = repair.DeliveryLogisticsMode__c; //送修物流方式======自己写字段
@@ -330,10 +349,12 @@
                info.RCacceptanceDate = NFMUtil.formatDateTime2Str(repair.Repair_Ordered_DateTime__c); //4.修理品RC受理日(小程序)
                //info.inspectionDate = NFMUtil.formatDate2StrDateTime(repair.Repair_Inspection_Date__c); //修理检测日
                info.inspectionDate = NFMUtil.formatDateTime2Str(repair.Repair_Inspection_DateTime__c); //5.修理检测日(小程序)
                info.FirstQuotationDate = NFMUtil.formatDate2StrDateNewTime(repair.Repair_Firstestimated_Date_formula__c); //初次报价日
                // info.FirstQuotationDate = NFMUtil.formatDate2StrDateNewTime(repair.Repair_Firstestimated_Date_formula__c); //初次报价日      2022-05-20    zyh   注释
                info.FirstQuotationDate = NFMUtil.formatDate2StrDateNewTime(repair.Repair_Estimated_Date__c); //初次报价日       2022-05-20    zyh   add
                //info.priceApprovalDate = NFMUtil.formatDate2StrDateTime(repair.Repair_Discount_approval_Date_formula__c); //减价申请批准日
                info.priceApprovalDate = NFMUtil.formatDateTime2Str(repair.Repair_Discount_approval_DateTime_form__c); //减价申请批准日(小程序)
                info.quotationDate = NFMUtil.formatDate2StrDateNewTime(repair.Repair_Quotation_date__c); //报价日
                // info.quotationDate = NFMUtil.formatDate2StrDateNewTime(repair.Repair_Quotation_date__c); //报价日     2022-05-20  zyh   注释
                info.quotationDate = NFMUtil.formatDate2StrDateNewTime(repair.Repair_Estimated_date_formula__c); //报价日      2022-05-20    zyh    add
                //info.cancelRepairDate = NFMUtil.formatDate2StrDateTime(repair.repair_cancel_date__c); //修理取消日
                info.cancelRepairDate = NFMUtil.formatDateTime2Str(repair.repair_cancel_dateTime__c); //修理取消日(小程序)
                //info.userAgreeDAte = NFMUtil.formatDate2StrDateTime(repair.Agreed_Date__c); //用户同意日
@@ -395,10 +416,10 @@
                //修理增加OTS运单号字段 thh 20220308 end
                //报价日、初次报价日、RC修理品RC受理日(小程序)时间判断   zyh  20220315   start
                downSDt = DownStartDt();
                downEDt = DownEndDt();
                upSDt = UpStartDt();
                upEDt = UpEndDt();
                // downSDt = DownStartDt(); // 2022-5-10   zyh  update  定义上下班时间同步修改
                // downEDt = DownEndDt(); // 2022-5-10   zyh  update  定义上下班时间同步修改
                // upSDt = UpStartDt(); // 2022-5-10   zyh  update  定义上下班时间同步修改
                // upEDt = UpEndDt(); // 2022-5-10   zyh  update  定义上下班时间同步修改
                // 2022-05-07  zyh     update  start
                if (String.isNotBlank(info.FirstQuotationDate)) {
                    info.FirstQuotationDate = info.FirstQuotationDate.deleteWhitespace();
@@ -408,54 +429,54 @@
                }
                // 2022-05-07  zyh     update  end
                //定义下班时间
                if (String.valueOf(info.FirstQuotationDate) >= String.valueOf(downSDt) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(downEDt)) {
                    info.FirstQuotationDate = DownDt();//初次报价日
                if (String.valueOf(info.FirstQuotationDate) >= String.valueOf(DownStartDt(info.FirstQuotationDate)) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(DownEndDt(info.FirstQuotationDate))) {
                    info.FirstQuotationDate = DownDt(info.FirstQuotationDate);//初次报价日
                }
                if (String.valueOf(info.RCacceptanceDate) >= String.valueOf(downSDt) && String.valueOf(info.RCacceptanceDate) <= String.valueOf(downEDt)) {
                    info.RCacceptanceDate = DownDt();//4.修理品RC受理日
                if (String.valueOf(info.RCacceptanceDate) >= String.valueOf(DownStartDt(info.RCacceptanceDate)) && String.valueOf(info.RCacceptanceDate) <= String.valueOf(DownEndDt(info.RCacceptanceDate))) {
                    info.RCacceptanceDate = DownDt(info.RCacceptanceDate);//4.修理品RC受理日
                }
                if (String.valueOf(info.quotationDate) >= String.valueOf(downSDt) && String.valueOf(info.quotationDate) <= String.valueOf(downEDt)) {
                    info.quotationDate = DownDt();//报价日
                if (String.valueOf(info.quotationDate) >= String.valueOf(DownStartDt(info.quotationDate)) && String.valueOf(info.quotationDate) <= String.valueOf(DownEndDt(info.quotationDate))) {
                    info.quotationDate = DownDt(info.quotationDate);//报价日
                }
                if (String.valueOf(info.FSErepairApplyDate) >= String.valueOf(downSDt) && String.valueOf(info.FSErepairApplyDate) <= String.valueOf(downEDt)) {
                    info.FSErepairApplyDate = DownDt();//FSE修理申请时间  2022-05-06--zyh--add
                if (String.valueOf(info.FSErepairApplyDate) >= String.valueOf(DownStartDt(info.FSErepairApplyDate)) && String.valueOf(info.FSErepairApplyDate) <= String.valueOf(DownEndDt(info.FSErepairApplyDate))) {
                    info.FSErepairApplyDate = DownDt(info.FSErepairApplyDate);//FSE修理申请时间  2022-05-06--zyh--add
                }
                if (String.valueOf(info.RCreturnDate) >= String.valueOf(downSDt) && String.valueOf(info.RCreturnDate) <= String.valueOf(downEDt)) {
                    info.RCreturnDate = DownDt();//RC修理品返送日  2022-05-06--zyh--add
                if (String.valueOf(info.RCreturnDate) >= String.valueOf(DownStartDt(info.RCreturnDate)) && String.valueOf(info.RCreturnDate) <= String.valueOf(DownEndDt(info.RCreturnDate))) {
                    info.RCreturnDate = DownDt(info.RCreturnDate);//RC修理品返送日  2022-05-06--zyh--add
                }
                if (String.valueOf(info.finalTestDate) >= String.valueOf(downSDt) && String.valueOf(info.finalTestDate) <= String.valueOf(downEDt)) {
                    info.finalTestDate = DownDt();//10.最终检测日(小程序)  2022-05-06--zyh--add
                if (String.valueOf(info.finalTestDate) >= String.valueOf(DownStartDt(info.finalTestDate)) && String.valueOf(info.finalTestDate) <= String.valueOf(DownEndDt(info.finalTestDate))) {
                    info.finalTestDate = DownDt(info.finalTestDate);//10.最终检测日(小程序)  2022-05-06--zyh--add
                }
                if (String.valueOf(info.userAgreeDAte) >= String.valueOf(downSDt) && String.valueOf(info.userAgreeDAte) <= String.valueOf(downEDt)) {
                    info.userAgreeDAte = DownDt();//7.用户同意日(小程序)  2022-05-06--zyh--add
                if (String.valueOf(info.userAgreeDAte) >= String.valueOf(DownStartDt(info.userAgreeDAte)) && String.valueOf(info.userAgreeDAte) <= String.valueOf(DownEndDt(info.userAgreeDAte))) {
                    info.userAgreeDAte = DownDt(info.userAgreeDAte);//7.用户同意日(小程序)  2022-05-06--zyh--add
                }
                if (String.valueOf(info.engineerSendDate) >= String.valueOf(downSDt) && String.valueOf(info.engineerSendDate) <= String.valueOf(downEDt)) {
                    info.engineerSendDate = DownDt();//工程师修理品寄送日  2022-05-06--zyh--add
                if (String.valueOf(info.engineerSendDate) >= String.valueOf(DownStartDt(info.engineerSendDate)) && String.valueOf(info.engineerSendDate) <= String.valueOf(DownEndDt(info.engineerSendDate))) {
                    info.engineerSendDate = DownDt(info.engineerSendDate);//工程师修理品寄送日  2022-05-06--zyh--add
                }
                //定义上班时间
                if (String.valueOf(info.FirstQuotationDate) >= String.valueOf(upSDt) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(upEDt)) {
                    info.FirstQuotationDate = UpDt();//初次报价日
                if (String.valueOf(info.FirstQuotationDate) >= String.valueOf(UpStartDt(info.FirstQuotationDate)) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(UpEndDt(info.FirstQuotationDate))) {
                    info.FirstQuotationDate = UpDt(info.FirstQuotationDate);//初次报价日
                }
                if (String.valueOf(info.RCacceptanceDate) >= String.valueOf(upSDt) && String.valueOf(info.RCacceptanceDate) <= String.valueOf(upEDt)) {
                    info.RCacceptanceDate = UpDt();//4.修理品RC受理日
                if (String.valueOf(info.RCacceptanceDate) >= String.valueOf(UpStartDt(info.RCacceptanceDate)) && String.valueOf(info.RCacceptanceDate) <= String.valueOf(UpEndDt(info.RCacceptanceDate))) {
                    info.RCacceptanceDate = UpDt(info.RCacceptanceDate);//4.修理品RC受理日
                }
                if (String.valueOf(info.quotationDate) >= String.valueOf(upSDt) && String.valueOf(info.quotationDate) <= String.valueOf(upEDt)) {
                    info.quotationDate = UpDt();//报价日
                if (String.valueOf(info.quotationDate) >= String.valueOf(UpStartDt(info.quotationDate)) && String.valueOf(info.quotationDate) <= String.valueOf(UpEndDt(info.quotationDate))) {
                    info.quotationDate = UpDt(info.quotationDate);//报价日
                }
                if (String.valueOf(info.FSErepairApplyDate) >= String.valueOf(upSDt) && String.valueOf(info.FSErepairApplyDate) <= String.valueOf(upEDt)) {
                    info.FSErepairApplyDate = UpDt();//FSE修理申请时间  2022-05-06--zyh--add
                if (String.valueOf(info.FSErepairApplyDate) >= String.valueOf(UpStartDt(info.FSErepairApplyDate)) && String.valueOf(info.FSErepairApplyDate) <= String.valueOf(UpEndDt(info.FSErepairApplyDate))) {
                    info.FSErepairApplyDate = UpDt(info.FSErepairApplyDate);//FSE修理申请时间  2022-05-06--zyh--add
                }
                if (String.valueOf(info.RCreturnDate) >= String.valueOf(upSDt) && String.valueOf(info.RCreturnDate) <= String.valueOf(upEDt)) {
                    info.RCreturnDate = UpDt();//RC修理品返送日  2022-05-06--zyh--add
                if (String.valueOf(info.RCreturnDate) >= String.valueOf(UpStartDt(info.RCreturnDate)) && String.valueOf(info.RCreturnDate) <= String.valueOf(UpEndDt(info.RCreturnDate))) {
                    info.RCreturnDate = UpDt(info.RCreturnDate);//RC修理品返送日  2022-05-06--zyh--add
                }
                if (String.valueOf(info.finalTestDate) >= String.valueOf(upSDt) && String.valueOf(info.finalTestDate) <= String.valueOf(upEDt)) {
                    info.finalTestDate = UpDt();//10.最终检测日(小程序)  2022-05-06--zyh--add
                if (String.valueOf(info.finalTestDate) >= String.valueOf(UpStartDt(info.finalTestDate)) && String.valueOf(info.finalTestDate) <= String.valueOf(UpEndDt(info.finalTestDate))) {
                    info.finalTestDate = UpDt(info.finalTestDate);//10.最终检测日(小程序)  2022-05-06--zyh--add
                }
                if (String.valueOf(info.userAgreeDAte) >= String.valueOf(upSDt) && String.valueOf(info.userAgreeDAte) <= String.valueOf(upEDt)) {
                    info.userAgreeDAte = UpDt();//7.用户同意日(小程序)  2022-05-06--zyh--add
                if (String.valueOf(info.userAgreeDAte) >= String.valueOf(UpStartDt(info.userAgreeDAte)) && String.valueOf(info.userAgreeDAte) <= String.valueOf(UpEndDt(info.userAgreeDAte))) {
                    info.userAgreeDAte = UpDt(info.userAgreeDAte);//7.用户同意日(小程序)  2022-05-06--zyh--add
                }
                if (String.valueOf(info.engineerSendDate) >= String.valueOf(upSDt) && String.valueOf(info.engineerSendDate) <= String.valueOf(upEDt)) {
                    info.engineerSendDate = UpDt();//工程师修理品寄送日  2022-05-06--zyh--add
                if (String.valueOf(info.engineerSendDate) >= String.valueOf(UpStartDt(info.engineerSendDate)) && String.valueOf(info.engineerSendDate) <= String.valueOf(UpEndDt(info.engineerSendDate))) {
                    info.engineerSendDate = UpDt(info.engineerSendDate);//工程师修理品寄送日  2022-05-06--zyh--add
                }
                //报价日、初次报价日、RC修理品RC受理日(小程序)时间判断   zyh  20220315   end
                repairs.add(info);
@@ -464,7 +485,7 @@
            logstr += '\nend';
            if (repairs.size() > 0) {
                // 2022-05-05      zyh     update      start
                for (RepairOrderInfo roi : repairs ) {
                /*for (RepairOrderInfo roi : repairs ) {
                    repairs1.add(roi);
                    rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs1);
                    // 2022-05-07  zyh     update  start
@@ -476,10 +497,39 @@
                    // rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs);
                    // execute(rowData, iflog);
                    repairs1 = new List < RepairOrderInfo > ();
                }
                }// 2022-08-19   zyh  小程序异步处理,恢复批量发送
                */  // 2023-02-02   zyh   五个一批推送小程序   注释上方for循环
                // 2023-02-02   zyh   五个一批推送小程序   start
                for (Integer i=1;  i <= repairs.size();i++ ) {
                    if(Math.mod(i, 5) > 0 ){
                        repairs1.add(repairs[i-1]);
                        if(i == repairs.size()){
                            rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs1);
                            if (String.isBlank(rowData.MessageGroupNumber__c)) {
                                rowData.MessageGroupNumber__c = nowStr;
                            }
                            execute1(rowData, iflog);
                        }
                    }else{
                        repairs1.add(repairs[i-1]);
                        rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs1);
                        if (String.isBlank(rowData.MessageGroupNumber__c)) {
                            rowData.MessageGroupNumber__c = nowStr;
                        }
                        execute1(rowData, iflog);
                        repairs1 = new List < RepairOrderInfo > ();
                    }
                }
                // 2023-02-02   zyh   五个一批推送小程序   end
                upsert logList;
                upsert rowList;
                delete logMap.values();
                // 2022-05-11  zyh     update start
                if (logMap.size() > 0) {
                    delete logMap.values();
                }
                // 2022-05-11  zyh     update end
                // delete logMap.values();
                // 2022-05-05      zyh     update      end
                // upsert rowData;
            }
@@ -524,7 +574,7 @@
    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';
        String logstr = rowDataSFDC.Name + ' start\n';
        if (iflog == null) {
            iflog = new BatchIF_Log__c();
            iflog.Type__c = LOG_TYPE;
@@ -547,7 +597,22 @@
                logstr += status + '\n';
                rowDataSFDC.retry_cnt__c = 0;
            } else {
                rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, null, status);
                // rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, null, status);    //2022-06-24   zyh   注释:重发逻辑修改
                //2022-06-24   zyh   update   start
                if (rowDataSFDC.retry_cnt__c == null) rowDataSFDC.retry_cnt__c = 0;
                if (rowDataSFDC.retry_cnt__c < batch_retry_max_cnt) {
                    rowDataSFDC.retry_cnt__c++;
                    // 20230201 ljh start
                    // LogAutoSendSchedule.logId = rowDataSFDC.Id;
                    LogAutoSendSchedule.assignOneMinute();
                    // LogAutoSendSchedule.assignOneMinute(rowDataSFDC.MessageGroupNumber__c,rowDataSFDC.Type__c);
                    // 20230201 ljh  end
                }
                if (rowDataSFDC.retry_cnt__c >= batch_retry_max_cnt) {
                    rowDataSFDC.ErrorLog__c = 'status:' + status +
                                          '\n错误次数已经超过自动送信设定的最大次数,请手动送信';
                }
                //2022-06-24   zyh   update   end
            }
        } catch (Exception ex) {
@@ -557,7 +622,21 @@
            iflog.ErrorLog__c += ex.getMessage() + '\n';
            iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
            if(!Test.isRunningTest()){
                rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null);
                // rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null);    //2022-06-24   zyh   注释:重发逻辑修改
                //2022-06-24   zyh   update   start
                if (rowDataSFDC.retry_cnt__c == null) rowDataSFDC.retry_cnt__c = 0;
                if (rowDataSFDC.retry_cnt__c < batch_retry_max_cnt){
                    rowDataSFDC.retry_cnt__c++;
                    // 20230201 ljh start
                    // LogAutoSendSchedule.logId = rowDataSFDC.Id;
                    LogAutoSendSchedule.assignOneMinute();
                    // LogAutoSendSchedule.assignOneMinute(rowDataSFDC.MessageGroupNumber__c,rowDataSFDC.Type__c);
                    // 20230201 ljh  end
                }
                if (rowDataSFDC.retry_cnt__c >= batch_retry_max_cnt){
                    rowDataSFDC.ErrorLog__c = ex.getMessage() + '\n' + ex.getStackTraceString() + '\n' + rowDataSFDC.ErrorLog__c+'错误次数已经超过自动送信设定的最大次数,请手动送信';
                }
                //2022-06-24   zyh   update   end
            }
        }
        iflog.Log__c = logstr;
@@ -583,7 +662,12 @@
            // iflog.Type__c = LOG_TYPE;
            // iflog.MessageGroupNumber__c = rowDataSFDC.MessageGroupNumber__c;
            // logstr = iflog.Log__c;
            logMap.put(iflog.Id, iflog);
            // 2022-05-11  zyh     update start
            if (String.isNotBlank(iflog.Id)) {
                logMap.put(iflog.Id, iflog);
            }
            // 2022-05-11  zyh     update end
            // logMap.put(iflog.Id, iflog);
            iflog = new BatchIF_Log__c();
            iflog.Type__c = LOG_TYPE;
            iflog.MessageGroupNumber__c = rowDataSFDC.MessageGroupNumber__c;
@@ -600,7 +684,22 @@
                logstr += status + '\n';
                rowDataSFDC.retry_cnt__c = 0;
            } else {
                rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, null, status);
                // rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, null, status);    //2022-06-24   zyh   注释:重发逻辑修改
                //2022-06-24   zyh   update   start
                if (rowDataSFDC.retry_cnt__c == null) rowDataSFDC.retry_cnt__c = 0;
                if (rowDataSFDC.retry_cnt__c < batch_retry_max_cnt) {
                    rowDataSFDC.retry_cnt__c++;
                    // 20230201 ljh start
                    // LogAutoSendSchedule.logId = rowDataSFDC.Id;
                    LogAutoSendSchedule.assignOneMinute();
                    // LogAutoSendSchedule.assignOneMinute(rowDataSFDC.MessageGroupNumber__c,rowDataSFDC.Type__c);
                    // 20230201 ljh  end
                }
                if (rowDataSFDC.retry_cnt__c >= batch_retry_max_cnt) {
                    rowDataSFDC.ErrorLog__c = 'status:' + status +
                                          '\n错误次数已经超过自动送信设定的最大次数,请手动送信';
                }
                //2022-06-24   zyh   update   end
            }
        } catch (Exception ex) {
@@ -610,7 +709,21 @@
            iflog.ErrorLog__c += ex.getMessage() + '\n';
            iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
            if(!Test.isRunningTest()){
                rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null);
                // rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null);    //2022-06-24   zyh   注释:重发逻辑修改
                //2022-06-24   zyh   update   start
                if (rowDataSFDC.retry_cnt__c == null) rowDataSFDC.retry_cnt__c = 0;
                if (rowDataSFDC.retry_cnt__c < batch_retry_max_cnt){
                    rowDataSFDC.retry_cnt__c++;
                    // 20230201 ljh start
                    // LogAutoSendSchedule.logId = rowDataSFDC.Id;
                    LogAutoSendSchedule.assignOneMinute();
                    // LogAutoSendSchedule.assignOneMinute(rowDataSFDC.MessageGroupNumber__c,rowDataSFDC.Type__c);
                    // 20230201 ljh  end
                }
                if (rowDataSFDC.retry_cnt__c >= batch_retry_max_cnt){
                    rowDataSFDC.ErrorLog__c = ex.getMessage() + '\n' + ex.getStackTraceString() + '\n' + rowDataSFDC.ErrorLog__c+'错误次数已经超过自动送信设定的最大次数,请手动送信';
                }
                //2022-06-24   zyh   update   end
            }
        }
        iflog.Log__c = logstr;
@@ -703,7 +816,7 @@
                    Repair__c oldrpr = oldMap.get(rpr.Id);
                    // 修理有报修子单号,并且 待发送AWS为false 发送给AWS
                    if (String.isNotBlank(rpr.RepairSubOrder__c) && !rpr.AwaitToSendAWS__c) {
                        if (((rpr.status__c == '0.申请完毕' || rpr.status__c == '1.受理完毕') && (oldrpr.SAP_Transfer_time__c == null && rpr.SAP_Transfer_time__c != null)) ||
                        if (((rpr.status__c == '0.申请完毕' || rpr.status__c == '1.受理完毕' || rpr.Status1__c == '0.删除') && (oldrpr.SAP_Transfer_time__c == null && rpr.SAP_Transfer_time__c != null)) ||
                            (rpr.Address_type__c == 'X' && (rpr.Address_Type_Index__c != oldrpr.Address_Type_Index__c)) || 
                            //  2022/4/6    zhangyuheng update start
                            (rpr.OTSRepairOrder__c != oldrpr.OTSRepairOrder__c) || // OTS订单号有值,发送AWS
@@ -716,18 +829,22 @@
                            //  2022/4/18    zhangyuheng update start
                            (rpr.FSE_ApplyForRepair_time__c != oldrpr.FSE_ApplyForRepair_time__c) ||                   // FSE申请修理日发生改变,发送AWS
                            (rpr.Repair_Ordered_DateTime__c != oldrpr.Repair_Ordered_DateTime__c) ||                   // 4.修理品RC受理日(小程序)发生改变,发送AWS
                            (rpr.Repair_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) ||             // 初次报价日(不用)发生改变,发送AWS
                            // (rpr.Repair_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) ||             // 初次报价日(不用)发生改变,发送AWS   2022-05-20  zyh 注释
                            (rpr.Repair_Estimated_Date__c != oldrpr.Repair_Estimated_Date__c) ||             // 报价日(不用)--初次报价日用发生改变,发送AWS    2022-05-20    zyh    add
                            (rpr.Repair_Shipped_DateTime__c != oldrpr.Repair_Shipped_DateTime__c) ||                   // 11.RC修理品返送日(小程序)发生改变,发送AWS
                            (rpr.Repair_Final_Inspection_DateTime__c != oldrpr.Repair_Final_Inspection_DateTime__c) || // 10.最终检测日(小程序)发生改变,发送AWS
                            (rpr.Agreed_DateTime__c != oldrpr.Agreed_DateTime__c) ||                                   //7.用户同意日(小程序)发生改变,发送AWS
                            (rpr.Agreed_Date__c != oldrpr.Agreed_Date__c) ||                                           // 7.用户同意日发生改变,发送AWS
                            (rpr.engineerSendDate__c != oldrpr.engineerSendDate__c)                                    //修理品寄送日发生改变,发送AWS
                            //  2022/4/18    zhangyuheng update start
                            //LLIU-CG53S9(状态是已删除的修理单要同步到服务系统) LY 20220713 start
                            || (rpr.SAP_not_accept_repair_result__c != oldrpr.SAP_not_accept_repair_result__c)         //修理单关闭日
                            //LLIU-CG53S9(状态是已删除的修理单要同步到服务系统) LY 20220713 end
                            ) {
                            if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
                                NFM603Controller.NFM603_Ids.add(rpr.Id);
                                rprIdMap.put(rpr.Id, rpr.Id);
                                System.debug('111111111111111111112222222222');
                            }
                        }
                        //  2022/4/19    zhangyuheng update start
@@ -868,13 +985,14 @@
    //报价日、初次报价日、RC修理品RC受理日(小程序)时间方法   zyh  20220315   start
    //下班开始时间
    public static String DownStartDt(){
        String timenow = Datetime.now().format('yyyyMMddHHmmss');
        String dt = NFMUtil.formatDate2Str(Date.today());
    public static String DownStartDt(String dt){
        // String timenow = Datetime.now().format('yyyyMMddHHmmss'); 2022-5-10   zyh  update
        // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10   zyh  update
        String rtn = null;
        if (dt == null) {
            return rtn;
        }
        dt = dt.substring(0,8); // 2022-5-10   zyh  update
        rtn = String.valueOf(dt);
        rtn = rtn.replaceAll('-', '');
        if (rtn >= '40001231') {
@@ -885,12 +1003,13 @@
        return rtn + '173001';
    }
    //下班结束时间
    public static String DownEndDt(){
        String dt = NFMUtil.formatDate2Str(Date.today());
    public static String DownEndDt(String dt){
        // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10   zyh  update
        String rtn = null;
        if (dt == null) {
            return rtn;
        }
        dt = dt.substring(0,8); // 2022-5-10   zyh  update
        rtn = String.valueOf(dt);
        rtn = rtn.replaceAll('-', '');
        if (rtn >= '40001231') {
@@ -901,12 +1020,13 @@
        return rtn + '235959';
    }
    //上班开始时间
    public static String UpStartDt(){
        String dt = NFMUtil.formatDate2Str(Date.today());
    public static String UpStartDt(String dt){
        // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10   zyh  update
        String rtn = null;
        if (dt == null) {
            return rtn;
        }
        dt = dt.substring(0,8); // 2022-5-10   zyh  update
        rtn = String.valueOf(dt);
        rtn = rtn.replaceAll('-', '');
        if (rtn >= '40001231') {
@@ -917,12 +1037,13 @@
        return rtn + '000000';
    }
    //上班结束时间
    public static String UpEndDt(){
        String dt = NFMUtil.formatDate2Str(Date.today());
    public static String UpEndDt(String dt){
        // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10   zyh  update
        String rtn = null;
        if (dt == null) {
            return rtn;
        }
        dt = dt.substring(0,8); // 2022-5-10   zyh  update
        rtn = String.valueOf(dt);
        rtn = rtn.replaceAll('-', '');
        if (rtn >= '40001231') {
@@ -933,12 +1054,13 @@
        return rtn + '084459';
    }
    //上班定义时间
    public static String UpDt(){
        String dt = NFMUtil.formatDate2Str(Date.today());
    public static String UpDt(String dt){
        // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10   zyh  update
        String rtn = null;
        if (dt == null) {
            return rtn;
        }
        dt = dt.substring(0,8); // 2022-5-10   zyh  update
        rtn = String.valueOf(dt);
        rtn = rtn.replaceAll('-', '');
        if (rtn >= '40001231') {
@@ -949,12 +1071,13 @@
        return rtn + '090000';
    }
    //下班定义时间
    public static String DownDt(){
        String dt = NFMUtil.formatDate2Str(Date.today());
    public static String DownDt(String dt){
        // String dt = NFMUtil.formatDate2Str(Date.today()); 2022-5-10   zyh  update
        String rtn = null;
        if (dt == null) {
            return rtn;
        }
        dt = dt.substring(0,8); // 2022-5-10   zyh  update
        rtn = String.valueOf(dt);
        rtn = rtn.replaceAll('-', '');
        if (rtn >= '40001231') {