From a85fb98c917c12dbfe8d31c448df375904ebe8fa Mon Sep 17 00:00:00 2001
From: 张宇恒 <bxyun0@163.com>
Date: 星期三, 11 五月 2022 09:18:16 +0800
Subject: [PATCH] 优化GroupNumber、时间判断,添加部分字段推送时间判断

---
 force-app/main/default/classes/NFM603Controller.cls |  430 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 408 insertions(+), 22 deletions(-)

diff --git a/force-app/main/default/classes/NFM603Controller.cls b/force-app/main/default/classes/NFM603Controller.cls
index b62e5c9..aab4942 100644
--- a/force-app/main/default/classes/NFM603Controller.cls
+++ b/force-app/main/default/classes/NFM603Controller.cls
@@ -4,6 +4,11 @@
     // private static final String API = '/admin/api/scd/save';
     private static final String API = '/admin/api/repair/save';
 
+    // 2022-05-05      zyh     update      start
+    private static List < BatchIF_Log__c > logList = new List < BatchIF_Log__c > ();
+    private static List < BatchIF_Log__c > rowList = new List < BatchIF_Log__c > ();
+    private static Map < Id,BatchIF_Log__c > logMap = new Map < Id,BatchIF_Log__c > ();
+    // 2022-05-05      zyh     update      end
     public static Integer status;
     public static String message;
     public class RepairOrderInfo {
@@ -41,6 +46,10 @@
         public String QuotationGread; //鎶ヤ环绛夌骇(new)
         public String detectionResult; //妫�娴嬬粨鏋�
         public String cus_dn; //DN鍙�
+        //淇悊澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220308 start
+        public String OTSRepairOrder;
+        //淇悊澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220308 end
+
         //閫佷慨鐗╂祦
         public String deliveryLogisticsMode; //閫佷慨鐗╂祦鏂瑰紡
         public String engineerSendDate; //宸ョ▼甯堜慨鐞嗗搧瀵勯�佹棩
@@ -125,7 +134,7 @@
 
     public static void executefuture(BatchIF_Log__c iflog, List < String > repairOrderIdList) {
         Datetime nowDT = Datetime.now();
-        String nowStr = nowDT.format('yyyyMMddHHmm');
+        String nowStr = nowDT.format('yyyyMMddHHmmss');
         if (iflog != null) {
             iflog.ErrorLog__c = '';
         } else {
@@ -136,6 +145,7 @@
             iflog.MessageGroupNumber__c = nowStr;
         }
         List < RepairOrderInfo > repairs = new List < RepairOrderInfo > ();
+        List < RepairOrderInfo > repairs1 = new List < RepairOrderInfo > ();
         BatchIF_Log__c rowData = null;
         List < Repair__c > repairList = new List < Repair__c > ();
         if (repairOrderIdList != null && repairOrderIdList.size() > 0) {
@@ -216,6 +226,7 @@
                 RcSorcDate__c,
                 SorcAcceptDate__c,
                 SorcOgzDate__c,
+                RcOgzDate__c,
                 Returns_Product_waySAP__c,
                 DnNO__c,
                 OgzAcceptDate__c,
@@ -233,7 +244,10 @@
                 Repair_Final_Inspection_DateTime__c,
                 Repair_Shipped_DateTime__c,
                 Repair_Discount_approval_DateTime_form__c,
-                Agreed_DateTime__c
+                Agreed_DateTime__c,
+                //淇悊澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220308 start
+                OTSRepairOrder__c
+                //淇悊澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220308 end
                 from Repair__c where id in: repairOrderIdList
             ];
         }
@@ -248,6 +262,10 @@
             // 澶囧搧鍑哄�熻褰� 鏌ユ壘澶囧搧鍑哄�熶竴瑙堟槑缁嗙殑 浜у搧鍨嬪彿
             Map < id, List < SparePartsLendingRecord >> rentalMap = getrentalMap(repairIdList);
 
+            // 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) {
@@ -366,15 +384,104 @@
                 info.OgzAcceptDate = NFMUtil.formatDateTime2Str(repair.OgzAcceptDateTime__c);//OGZ鍙楃悊鏃ワ紙灏忕▼搴忥級
                 //update        wangweipeng         2022/02/16           end
 
-                info.SorcOgzDate = NFMUtil.formatDate2StrDateTime(repair.SorcOgzDate__c);
+                // info.SorcOgzDate = NFMUtil.formatDate2StrDateTime(repair.SorcOgzDate__c);RcOgzDate__c
+
+                //update   zhangyuheng    2022/03/07
+                info.SorcOgzDate = NFMUtil.formatDate2StrDateTime(repair.RcOgzDate__c);
 
                 info.cus_dn = repair.DnNO__c;
+                //淇悊澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220308 start
+                info.OTSRepairOrder = repair.OTSRepairOrder__c;
+                //淇悊澧炲姞OTS杩愬崟鍙峰瓧娈� thh 20220308 end
+
+                //鎶ヤ环鏃ャ�佸垵娆℃姤浠锋棩銆丷C淇悊鍝丷C鍙楃悊鏃ワ紙灏忕▼搴忥級鏃堕棿鍒ゆ柇   zyh  20220315   start
+                // 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();
+                }
+                if (String.isNotBlank(info.quotationDate)) {
+                    info.quotationDate = info.quotationDate.deleteWhitespace();
+                }
+                // 2022-05-07  zyh     update  end
+                //瀹氫箟涓嬬彮鏃堕棿
+                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(DownStartDt(info.RCacceptanceDate)) && String.valueOf(info.RCacceptanceDate) <= String.valueOf(DownEndDt(info.RCacceptanceDate))) {
+                    info.RCacceptanceDate = DownDt(info.RCacceptanceDate);//4.淇悊鍝丷C鍙楃悊鏃�
+                }
+                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(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(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(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(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(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(UpStartDt(info.FirstQuotationDate)) && String.valueOf(info.FirstQuotationDate) <= String.valueOf(UpEndDt(info.FirstQuotationDate))) {
+                    info.FirstQuotationDate = UpDt(info.FirstQuotationDate);//鍒濇鎶ヤ环鏃�
+                }
+                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.淇悊鍝丷C鍙楃悊鏃�
+                }
+                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(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(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(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(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(UpStartDt(info.engineerSendDate)) && String.valueOf(info.engineerSendDate) <= String.valueOf(UpEndDt(info.engineerSendDate))) {
+                    info.engineerSendDate = UpDt(info.engineerSendDate);//宸ョ▼甯堜慨鐞嗗搧瀵勯�佹棩  2022-05-06--zyh--add
+                }
+                //鎶ヤ环鏃ャ�佸垵娆℃姤浠锋棩銆丷C淇悊鍝丷C鍙楃悊鏃ワ紙灏忕▼搴忥級鏃堕棿鍒ゆ柇   zyh  20220315   end
                 repairs.add(info);
+                System.debug('repairs1:' + repairs);
             }
             logstr += '\nend';
             if (repairs.size() > 0) {
-                rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs);
-                execute(rowData, iflog);
+                // 2022-05-05      zyh     update      start
+                for (RepairOrderInfo roi : repairs ) {
+                    repairs1.add(roi);
+                    rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs1);
+                    // 2022-05-07  zyh     update  start
+                    if (String.isBlank(rowData.MessageGroupNumber__c)) {
+                        rowData.MessageGroupNumber__c = nowStr;
+                    }
+                    // 2022-05-07  zyh     update  end
+                    execute1(rowData, iflog);
+                    // rowData = NFMUtil.makeRowData(iflog, LOG_TYPE, repairs);
+                    // execute(rowData, iflog);
+                    repairs1 = new List < RepairOrderInfo > ();
+                }
+                upsert logList;
+                upsert rowList;
+                delete logMap.values();
+                // 2022-05-05      zyh     update      end
+                // upsert rowData;
             }
         } catch (Exception e) {
             // 鍙戠敓閿欒鏃�
@@ -449,14 +556,72 @@
             logstr += ex.getMessage();
             iflog.ErrorLog__c += ex.getMessage() + '\n';
             iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
-            rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null);
+            if(!Test.isRunningTest()){
+                rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null);
+            }
         }
         iflog.Log__c = logstr;
         upsert iflog;
         upsert rowDataSFDC;
+        // logList.add(iflog);
+        // rowList.add(rowDataSFDC);
+
+    }
+    // 2022-05-05      zyh     update      start
+    public static void execute1(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;
+            logMap.put(iflog.Id, iflog);
+            iflog = new BatchIF_Log__c();
+            iflog.Type__c = LOG_TYPE;
+            iflog.MessageGroupNumber__c = rowDataSFDC.MessageGroupNumber__c;
+            iflog.Log__c = logstr;
+            iflog.ErrorLog__c = '';
+        }
+
+        try {
+            String data = NFMUtil.getRowDataStr(rowDataSFDC);
+            String status = NFMUtil.sendToAWS(data, API);
+            System.debug('NFM603Log--status->' + status);
+
+            if ('OK'.equals(status)) {
+                logstr += status + '\n';
+                rowDataSFDC.retry_cnt__c = 0;
+            } else {
+                rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, null, status);
+            }
+
+        } catch (Exception ex) {
+            // TODO IOException
+            // 閿欒鍙戠敓鏃�
+            logstr += ex.getMessage();
+            iflog.ErrorLog__c += ex.getMessage() + '\n';
+            iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
+            if(!Test.isRunningTest()){
+                rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, ex, null);
+            }
+        }
+        iflog.Log__c = logstr;
+        // upsert iflog;
+        // upsert rowDataSFDC;
+        logList.add(iflog);
+        rowList.add(rowDataSFDC);
 
     }
 
+    // 2022-05-05      zyh     update      end
     // 鏁呴殰鎻忚堪
     private static Map < id, List < FaultDesc >> getFaultDescMap(List < String > repairOrderIdList) {
         List < Repair_reason__c > reasonList =
@@ -513,7 +678,7 @@
 
     public static Set < Id > NFM603_Ids = new Set < Id > ();
     // public static Map<Id,Id> rprIdMap = new Map<Id,Id>();
-
+    
     public static void NFM603Trigger(List < Repair__c > newList, Map < Id, Repair__c > newMap, List < Repair__c > oldList, Map < Id, Repair__c > oldMap) {
         List < String > rprIds = new List < String > ();
         Map < Id, Id > rprIdMap = new Map < Id, Id > ();
@@ -538,27 +703,135 @@
                     Repair__c oldrpr = oldMap.get(rpr.Id);
                     // 淇悊鏈夋姤淇瓙鍗曞彿锛屽苟涓� 寰呭彂閫丄WS涓篺alse 鍙戦�佺粰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)) || (rpr.Address_type__c == 'X' && (rpr.Address_Type_Index__c != oldrpr.Address_Type_Index__c))) {
+                        if (((rpr.status__c == '0.鐢宠瀹屾瘯' || rpr.status__c == '1.鍙楃悊瀹屾瘯') && (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璁㈠崟鍙锋湁鍊硷紝鍙戦�丄WS
+                            //  2022/4/6    zhangyuheng update end
+                            //  2022/4/7    zhangyuheng update start
+                            (rpr.DeliveryLogisticsNo__c != oldrpr.DeliveryLogisticsNo__c) || // 閫佷慨鐗╂祦鍗曞彿鏈夊�硷紝鍙戦�丄WS
+                            // ((rpr.Discount_Price_formula__c != oldrpr.Discount_Price_formula__c) && rpr.Repair_Firstestimated_Date_formula__c != null) || // 鎶ヤ环閲戦鍙戠敓鏀瑰彉涓斿垵娆℃姤浠锋棩鏈夊�硷紝鍙戦�丄WS
+                            ((rpr.Returns_Product_waySAP__c != oldrpr.Returns_Product_waySAP__c) && rpr.Repair_Shipped_DateTime__c != null) || // 閫佷慨鏂瑰紡鍙戠敓鏀瑰彉涓斿瘎閫佹棩鏈夊�硷紝鍙戦�丄WS
+                            //  2022/4/7    zhangyuheng update end
+                            //  2022/4/18    zhangyuheng update start
+                            (rpr.FSE_ApplyForRepair_time__c != oldrpr.FSE_ApplyForRepair_time__c) ||                   // FSE鐢宠淇悊鏃ュ彂鐢熸敼鍙橈紝鍙戦�丄WS
+                            (rpr.Repair_Ordered_DateTime__c != oldrpr.Repair_Ordered_DateTime__c) ||                   // 4.淇悊鍝丷C鍙楃悊鏃ワ紙灏忕▼搴忥級鍙戠敓鏀瑰彉锛屽彂閫丄WS
+                            (rpr.Repair_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) ||             // 鍒濇鎶ヤ环鏃ワ紙涓嶇敤锛夊彂鐢熸敼鍙橈紝鍙戦�丄WS
+                            (rpr.Repair_Shipped_DateTime__c != oldrpr.Repair_Shipped_DateTime__c) ||                   // 11.RC淇悊鍝佽繑閫佹棩锛堝皬绋嬪簭锛夊彂鐢熸敼鍙橈紝鍙戦�丄WS
+                            (rpr.Repair_Final_Inspection_DateTime__c != oldrpr.Repair_Final_Inspection_DateTime__c) || // 10.鏈�缁堟娴嬫棩锛堝皬绋嬪簭锛夊彂鐢熸敼鍙橈紝鍙戦�丄WS
+                            (rpr.Agreed_DateTime__c != oldrpr.Agreed_DateTime__c) ||                                   //7.鐢ㄦ埛鍚屾剰鏃ワ紙灏忕▼搴忥級鍙戠敓鏀瑰彉锛屽彂閫丄WS
+                            (rpr.Agreed_Date__c != oldrpr.Agreed_Date__c) ||                                           // 7.鐢ㄦ埛鍚屾剰鏃ュ彂鐢熸敼鍙橈紝鍙戦�丄WS
+                            (rpr.engineerSendDate__c != oldrpr.engineerSendDate__c)                                    //淇悊鍝佸瘎閫佹棩鍙戠敓鏀瑰彉锛屽彂閫丄WS
+                            //  2022/4/18    zhangyuheng update start
+                            ) {
 
                             if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
                                 NFM603Controller.NFM603_Ids.add(rpr.Id);
                                 rprIdMap.put(rpr.Id, rpr.Id);
                             }
                         }
+                        //  2022/4/19    zhangyuheng update start
+                        // 濡傛灉鍚屾湡涓殑淇悊鎶ヤ环锛圧epair_Quotation_Id__c锛変负绌猴紝鍒ゆ柇鍒濇鎶ヤ环鏃ュ拰鎶ヤ环閲戦
+                        if (rpr.Repair_Quotation_Id__c != oldrpr.Repair_Quotation_Id__c) {
+                            if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                                NFM603Controller.NFM603_Ids.add(rpr.Id);
+                                rprIdMap.put(rpr.Id, rpr.Id);
+                            }
+                        }
+                        if (rpr.Repair_Quotation_Id__c == null) {
+                            // 濡傛灉鍒濇鎶ヤ环鏃ワ紙涓嶇敤锛夋垨鎶樻墸鍚庨噾棰濓紙涓嶇敤锛夊彂鐢熸敼鍙橈紝鍙戦�丄WS
+                            if (rpr.Discount_Price__c != oldrpr.Discount_Price__c || rpr.Repair_Estimated_Date__c != oldrpr.Repair_Estimated_Date__c) {
+                                if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                                    NFM603Controller.NFM603_Ids.add(rpr.Id);
+                                    rprIdMap.put(rpr.Id, rpr.Id);
+                                }
+                            }
+                        }
+                        // 濡傛灉鍚屾湡涓殑淇悊鎶ヤ环锛圧epair_Quotation_Id__c锛変笉涓虹┖锛屽湪RepairQuoteTrigger.ChangeRepair杩涜鍒ゆ柇瑙﹀彂
+                        //  2022/4/19    zhangyuheng update end
+                        
+                        //  2022/4/6    zhangyuheng update start
+                        //OTS璁㈠崟鍙锋湁鍊硷紝鍙戦�丄WS
+                        // if ((oldrpr.OTSRepairOrder__c == null && String.isNotBlank(rpr.OTSRepairOrder__c)) || rpr.OTSRepairOrder__c != oldrpr.OTSRepairOrder__c) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        //  2022/4/6    zhangyuheng update end
+                        //  2022/4/7    zhangyuheng update start
+                        //閫佷慨鐗╂祦鍗曞彿鏈夊�硷紝鍙戦�丄WS
+                        // if ((oldrpr.DeliveryLogisticsNo__c == null && String.isNotBlank(rpr.DeliveryLogisticsNo__c))  || rpr.DeliveryLogisticsNo__c != oldrpr.DeliveryLogisticsNo__c) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        //鎶ヤ环閲戦鍙戠敓鏀瑰彉涓斿垵娆℃姤浠锋棩鏈夊�硷紝鍙戦�丄WS
+                        // if ((rpr.Discount_Price_formula__c != oldrpr.Discount_Price_formula__c) && rpr.Repair_Firstestimated_Date_formula__c != null) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        // if ((rpr.Returns_Product_waySAP__c != oldrpr.Returns_Product_waySAP__c) && rpr.Repair_Shipped_DateTime__c != null) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        //  2022/4/7    zhangyuheng update end
+                        //  2022/4/18    zhangyuheng update start
+                        // FSE鐢宠淇悊鏃ュ彂鐢熸敼鍙橈紝鍙戦�丄WS
+                        // if (rpr.FSE_ApplyForRepair_time__c != oldrpr.FSE_ApplyForRepair_time__c) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        // 4.淇悊鍝丷C鍙楃悊鏃ワ紙灏忕▼搴忥級鍙戠敓鏀瑰彉锛屽彂閫丄WS
+                        // if (rpr.Repair_Ordered_DateTime__c != oldrpr.Repair_Ordered_DateTime__c) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        // 鍒濇鎶ヤ环鏃ワ紙涓嶇敤锛夊彂鐢熸敼鍙橈紝鍙戦�丄WS
+                        // if (rpr.Repair_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        // 11.RC淇悊鍝佽繑閫佹棩锛堝皬绋嬪簭锛夊彂鐢熸敼鍙橈紝鍙戦�丄WS
+                        // if (rpr.Repair_Shipped_DateTime__c != oldrpr.Repair_Shipped_DateTime__c) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        // 10.鏈�缁堟娴嬫棩锛堝皬绋嬪簭锛夊彂鐢熸敼鍙橈紝鍙戦�丄WS
+                        // if (rpr.Repair_Final_Inspection_DateTime__c != oldrpr.Repair_Final_Inspection_DateTime__c) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        //  2022/4/18    zhangyuheng update end
                         // 娴嬭瘯鐜娴嬭瘯鐢紝涓婄嚎鍓嶈娉ㄦ帀
-                        if (rpr.Repair_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) {
-                            if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
-                                NFM603Controller.NFM603_Ids.add(rpr.Id);
-                                // rprIds.add(rpr.Id);
-                                rprIdMap.put(rpr.Id, rpr.Id);
-                            }
-                        }
-                        if (rpr.Repair_Shipped_Date__c != oldrpr.Repair_Shipped_Date__c) {
-                            if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
-                                NFM603Controller.NFM603_Ids.add(rpr.Id);
-                                rprIdMap.put(rpr.Id, rpr.Id);
-                            }
-                        }
+                        // if (rpr.Repair_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         // rprIds.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
+                        // if (rpr.Repair_Shipped_Date__c != oldrpr.Repair_Shipped_Date__c) {
+                        //     if (NFM603Controller.NFM603_Ids.contains(rpr.Id) == false) {
+                        //         NFM603Controller.NFM603_Ids.add(rpr.Id);
+                        //         rprIdMap.put(rpr.Id, rpr.Id);
+                        //     }
+                        // }
                         // 娴嬭瘯鐜娴嬭瘯鐢紝涓婄嚎鍓嶈娉ㄦ帀
                     }
 
@@ -572,7 +845,13 @@
                 iflog.Type__c = LOG_TYPE;
                 iflog.Log__c = 'callout start\n';
                 insert iflog;
-                NFM603Controller.callout(iflog.Id, rprIds);
+                // 2022-04-29     zyh      update     start
+                if(UserInfo.getUserId().equals(System.Label.interfaceUserID)){
+                    NFM603Controller.executefuture(iflog, rprIds);
+                }else{
+                    NFM603Controller.callout(iflog.Id, rprIds);
+                }
+                // 2022-04-29     zyh      update     end
             }
         } else {
             if (Trigger.isUpdate) {
@@ -586,4 +865,111 @@
             }
         }
     }
+
+    //鎶ヤ环鏃ャ�佸垵娆℃姤浠锋棩銆丷C淇悊鍝丷C鍙楃悊鏃ワ紙灏忕▼搴忥級鏃堕棿鏂规硶   zyh  20220315   start
+    //涓嬬彮寮�濮嬫椂闂�
+    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') {
+            rtn = '99991231';
+        } else if (rtn < '19000101') {
+            rtn = '19000101';
+        }
+        return rtn + '173001';
+    }
+    //涓嬬彮缁撴潫鏃堕棿
+    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') {
+            rtn = '99991231';
+        } else if (rtn < '19000101') {
+            rtn = '19000101';
+        }
+        return rtn + '235959';
+    }
+    //涓婄彮寮�濮嬫椂闂�
+    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') {
+            rtn = '99991231';
+        } else if (rtn < '19000101') {
+            rtn = '19000101';
+        }
+        return rtn + '000000';
+    }
+    //涓婄彮缁撴潫鏃堕棿
+    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') {
+            rtn = '99991231';
+        } else if (rtn < '19000101') {
+            rtn = '19000101';
+        }
+        return rtn + '084459';
+    }
+    //涓婄彮瀹氫箟鏃堕棿
+    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') {
+            rtn = '99991231';
+        } else if (rtn < '19000101') {
+            rtn = '19000101';
+        }
+        return rtn + '090000';
+    }
+    //涓嬬彮瀹氫箟鏃堕棿
+    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') {
+            rtn = '99991231';
+        } else if (rtn < '19000101') {
+            rtn = '19000101';
+        }
+        return rtn + '170000';
+    }
+    //鎶ヤ环鏃ャ�佸垵娆℃姤浠锋棩銆丷C淇悊鍝丷C鍙楃悊鏃ワ紙灏忕▼搴忥級鏃堕棿鏂规硶   zyh  20220315   end
+
 }
\ No newline at end of file

--
Gitblit v1.9.1