From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新

---
 force-app/main/default/classes/NFM603Controller.cls |  147 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 132 insertions(+), 15 deletions(-)

diff --git a/force-app/main/default/classes/NFM603Controller.cls b/force-app/main/default/classes/NFM603Controller.cls
index aab4942..c480862 100644
--- a/force-app/main/default/classes/NFM603Controller.cls
+++ b/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) {
@@ -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.淇悊鍝丷C鍙楃悊鏃ワ紙灏忕▼搴忥級
                 //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); //鐢ㄦ埛鍚屾剰鏃�
@@ -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);
                     // 淇悊鏈夋姤淇瓙鍗曞彿锛屽苟涓� 寰呭彂閫丄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)) || 
+                        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璁㈠崟鍙锋湁鍊硷紝鍙戦�丄WS
@@ -716,18 +829,22 @@
                             //  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_Firstestimated_Date__c != oldrpr.Repair_Firstestimated_Date__c) ||             // 鍒濇鎶ヤ环鏃ワ紙涓嶇敤锛夊彂鐢熸敼鍙橈紝鍙戦�丄WS   2022-05-20  zyh 娉ㄩ噴
+                            (rpr.Repair_Estimated_Date__c != oldrpr.Repair_Estimated_Date__c) ||             // 鎶ヤ环鏃ワ紙涓嶇敤锛�--鍒濇鎶ヤ环鏃ョ敤鍙戠敓鏀瑰彉锛屽彂閫丄WS    2022-05-20    zyh    add
                             (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
+                            //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

--
Gitblit v1.9.1