From d4a4ce824f3b2f3a335a3ad8e8c9efb3b37d630f Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期四, 04 五月 2023 08:59:14 +0800
Subject: [PATCH] backup

---
 force-app/main/default/classes/DNUpsertBatch.cls | 1080 ++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 587 insertions(+), 493 deletions(-)

diff --git a/force-app/main/default/classes/DNUpsertBatch.cls b/force-app/main/default/classes/DNUpsertBatch.cls
index b23a318..da38630 100644
--- a/force-app/main/default/classes/DNUpsertBatch.cls
+++ b/force-app/main/default/classes/DNUpsertBatch.cls
@@ -1,5 +1,5 @@
 global class DNUpsertBatch implements Database.Batchable<sObject>, Database.Stateful {
-    public string  rowData_Id;
+    public string rowData_Id;
     public transient static List<Id> orderReturnIdList;
     private class DNdetail {
         private string DeliveryNote;
@@ -8,29 +8,69 @@
 
     global DNUpsertBatch() {
     }
-    global DNUpsertBatch( string rowData_Id ) {
+    global DNUpsertBatch(string rowData_Id) {
         this.rowData_Id = rowData_Id;
     }
     global Database.QueryLocator start(Database.BatchableContext bc) {
-        if( string.isBlank( rowData_Id )){
+        if (string.isBlank(rowData_Id)) {
             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,
-                 retry_cnt__c,DN_retry_cnt__c, CreatedDate 
-                 from BatchIF_Log__c
-                 where RowDataFlg__c = true
-                 and IsUpsertDN__c = true
-                 and (DN_retry_cnt__c = null
-                     or (DN_retry_cnt__c != 0 and DN_retry_cnt__c < 3))]);
-        }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,
-                                             retry_cnt__c ,DN_retry_cnt__c,CreatedDate 
-                                             from BatchIF_Log__c
-                                             where RowDataFlg__c = true
-                                             and Id = :rowData_Id ]);
+                [
+                    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,
+                        retry_cnt__c,
+                        DN_retry_cnt__c,
+                        CreatedDate
+                    FROM BatchIF_Log__c
+                    WHERE
+                        RowDataFlg__c = TRUE
+                        AND IsUpsertDN__c = TRUE
+                        AND (DN_retry_cnt__c = NULL
+                        OR (DN_retry_cnt__c != 0
+                        AND DN_retry_cnt__c < 3))
+                ]
+            );
+        } 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,
+                        retry_cnt__c,
+                        DN_retry_cnt__c,
+                        CreatedDate
+                    FROM BatchIF_Log__c
+                    WHERE RowDataFlg__c = TRUE AND Id = :rowData_Id
+                ]
+            );
         }
     }
     global void execute(Database.BatchableContext BC, List<BatchIF_Log__c> rowDataList) {
@@ -41,19 +81,19 @@
         // String day = String.valueOf(strdate.day()) ;
         // String datestr = String.valueOf(year+month+day);
         //add by rentx 20210727 end
-        
+
         BatchIF_Log__c rowData = rowDataList[0];
         rowData.IsUpsertDN__c = false;
         update rowData;
-        //update by rentx  20210823 
+        //update by rentx  20210823
         //鏈淇敼鍙拡瀵逛簬淇濇湁璁惧 涔嬪墠浣跨敤骞存湀鏃ュ幓鎻掑叆鏃� 浼氬嚭鐜� 鍚屼竴澶╁鎵规棩蹇楅噷鏈夊悓涓�涓澶� 瀵艰嚧鏇存柊澶辫触  鐜拌В鍐虫柟妗堜负绮剧‘鍒板垎
         Datetime nowTime = rowData.CreatedDate;
-        String oyear = String.valueOf(nowTime.year()) ;
-        String omonth = String.valueOf(nowTime.month()) ;
-        String oday = String.valueOf(nowTime.day()) ;
-        String ohour = String.valueOf(nowTime.hour()) ;
-        String ominute = String.valueOf(nowTime.minute()) ;
-        String datestr = String.valueOf(oyear+omonth+oday+ohour+ominute);
+        String oyear = String.valueOf(nowTime.year());
+        String omonth = String.valueOf(nowTime.month());
+        String oday = String.valueOf(nowTime.day());
+        String ohour = String.valueOf(nowTime.hour());
+        String ominute = String.valueOf(nowTime.minute());
+        String datestr = String.valueOf(oyear + omonth + oday + ohour + ominute);
         //update by rentx  20210823
         //涔嬪墠浣跨敤骞存湀鏃ュ幓鎻掑叆鏃� 浼氬嚭鐜� 鍚屼竴澶╁鎵规棩蹇楅噷鏈夊悓涓�涓澶� 瀵艰嚧鏇存柊澶辫触  鐜拌В鍐虫柟妗堜负绮剧‘鍒板垎
 
@@ -69,30 +109,30 @@
         iflog.ErrorLog__c = '';
         insert iflog;
         String rowDataStr = NFMUtil.getRowDataStr(rowData);
-        List<NFM110Rest.GeneralData> generalDataList =
-            (List<NFM110Rest.GeneralData>) JSON.deserialize(rowDataStr, List<NFM110Rest.GeneralData>.class);
+        List<NFM110Rest.GeneralData> generalDataList = (List<NFM110Rest.GeneralData>) JSON.deserialize(
+            rowDataStr,
+            List<NFM110Rest.GeneralData>.class
+        );
         if (generalDataList == null || generalDataList.size() == 0) {
             return;
         }
         // 鐢靛瓙绛炬敹鍗� start 浼樺寲鍘熸湁select
-        list<account> olympusAcclist =
-            [select Id , ParentId ,AgentCode_Ext__c
-             from Account
-             where AgentCode_Ext__c = '9999900' or
-             AgentCode_Ext__c = '9999999' or
-             AgentCode_Ext__c = '9999901'
+        list<account> olympusAcclist = [
+            SELECT Id, ParentId, AgentCode_Ext__c
+            FROM Account
+            WHERE AgentCode_Ext__c = '9999900' OR AgentCode_Ext__c = '9999999' OR AgentCode_Ext__c = '9999901'
         ];
-        Account ocm ,olympus,olympus_return;
-        for(Account tempAcc : olympusAcclist){
-            if(tempAcc.AgentCode_Ext__c.equals('9999900')){
+        Account ocm, olympus, olympus_return;
+        for (Account tempAcc : olympusAcclist) {
+            if (tempAcc.AgentCode_Ext__c.equals('9999900')) {
                 ocm = tempAcc;
-            }else if(tempAcc.AgentCode_Ext__c.equals('9999999')){
+            } else if (tempAcc.AgentCode_Ext__c.equals('9999999')) {
                 olympus = tempAcc;
-            }else if(tempAcc.AgentCode_Ext__c.equals('9999901')){
+            } else if (tempAcc.AgentCode_Ext__c.equals('9999901')) {
                 olympus_return = tempAcc;
             }
         }
-    // 鐢靛瓙绛炬敹鍗� end
+        // 鐢靛瓙绛炬敹鍗� end
         NFM110Rest.isRunning = true;
         //orderoutIdList = new List<Id>();
         orderReturnIdList = new List<Id>();
@@ -121,7 +161,7 @@
                 // 鐥呴櫌銇ㄨê鐧傜銇鐞嗐偝銉笺儔銆乀ODO 璨╁2搴�
                 infoH.EndUserNo = NFMUtil.trimLeft(infoH.EndUserNo, '0');
                 infoH.DepartmentNo = NFMUtil.trimLeft(infoH.DepartmentNo, '0');
-                if (infoH.EndUserNo == null || infoH.EndUserNo  == '') {
+                if (infoH.EndUserNo == null || infoH.EndUserNo == '') {
                     // 鐥呴櫌銇ㄨê鐧傜銇鐞嗐偝銉笺儔銇屻仾銇勫牬鍚堛�佸嚘鐞嗐仺椋涖伆銇�
                     continue;
                 }
@@ -145,106 +185,121 @@
                         //鏍规嵁鏁版嵁浼犵殑鏍峰紡鍐冲畾
                     }
                 }
-                if (!(infoH.ReturnMark == null || infoH.ReturnMark  == ''
-                      || infoH.ReturnMark == '1' || infoH.ReturnMark == '3'
-                     )) {
-                         // ReturnMark = 涓婅浠ュ銇牬鍚� Error銉°儍銈汇兗銈稿嚭鍔�
-                         continue;
-                     }
+                if (!(infoH.ReturnMark == null || infoH.ReturnMark == '' || infoH.ReturnMark == '1' || infoH.ReturnMark == '3')) {
+                    // ReturnMark = 涓婅浠ュ銇牬鍚� Error銉°儍銈汇兗銈稿嚭鍔�
+                    continue;
+                }
                 for (nfm110rest.DnInformation dnInfo : infoH.DnInformation) {
                     dnInfo.SerialNoorLotNo = checkSerialNoorLotNo(dnInfo.SerialNoorLotNo);
                     productCodeList.add(dnInfo.OTCode);
                     // CHAN-BBLAAP start
                     string Product_Serial_No = '';
                     if (dnInfo.SorLMark == 'S') {
-                        Product_Serial_No =
-                            dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo;
+                        Product_Serial_No = dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo;
                     } else {
-                        Product_Serial_No  =
-                            dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo
-                            + '(' + dnInfo.TracingCode + ')';
+                        Product_Serial_No = dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo + '(' + dnInfo.TracingCode + ')';
                     }
                     // CHAN-BBLAAP end
-                    if (dnInfo.OTCode == null || dnInfo.OTCode == ''
-                        || dnInfo.SerialNoorLotNo == null || dnInfo.SerialNoorLotNo == ''
-                       ) {
-                           // 鍟嗗搧銈炽兗銉夈亴銇亜鍫村悎銆佸嚘鐞嗐仺椋涖伆銇�
-                           continue;
-                       }
+                    if (dnInfo.OTCode == null || dnInfo.OTCode == '' || dnInfo.SerialNoorLotNo == null || dnInfo.SerialNoorLotNo == '') {
+                        // 鍟嗗搧銈炽兗銉夈亴銇亜鍫村悎銆佸嚘鐞嗐仺椋涖伆銇�
+                        continue;
+                    }
                     // HHOA-AGN2EH start
-                    //add by rentx 20210726 start 
-                    dnInfo.SerialNoorLotNo = dnInfo.SerialNoorLotNo == '.'? datestr +dnInfo.OTCode : dnInfo.SerialNoorLotNo;
+                    //add by rentx 20210726 start
+                    dnInfo.SerialNoorLotNo = dnInfo.SerialNoorLotNo == '.' ? datestr + dnInfo.OTCode : dnInfo.SerialNoorLotNo;
                     //update by rentx 20210726 end
                     productSerialNoList.add(dnInfo.SerialNoorLotNo);
                     productSerialNoList.add(dnInfo.SerialNoorLotNo + '(' + dnInfo.TracingCode + ')');
                 }
-
             }
             // 鐢靛瓙绛炬敹鍗� start 棰濆妫�绱nd user
-             List<Account> accList = [select Id, Name, Management_Code__c, Department_Class__c, Hospital__c, ParentId,
-                                     RecordType.DeveloperName, Department_Name__c, OCM_man_province_txt__c
-                                     from Account
-                                     where Management_Code__c in :managementCodeList];
+            List<Account> accList = [
+                SELECT
+                    Id,
+                    Name,
+                    Management_Code__c,
+                    Department_Class__c,
+                    Hospital__c,
+                    ParentId,
+                    RecordType.DeveloperName,
+                    Department_Name__c,
+                    OCM_man_province_txt__c
+                FROM Account
+                WHERE Management_Code__c IN :managementCodeList
+            ];
             // HHOA-BLC8S6 update by vivek 2020-02-13 end
             Map<String, Account> accsMap = new Map<String, Account>();
             for (Account acc : accList) {
                 accsMap.put(acc.Management_Code__c, acc);
             }
             Map<String, Opportunity> oppMap = new Map<String, Opportunity>();
-            List<Opportunity> oppList = [Select Id, Purchase_Type__c, Opportunity_No__c,Strategic_department_Class_Name__c,
-                                         Sales_Root__c, SAP_Province__c, Trade__c, Agency1__c,Agency1__r.Name,
-                                         Agency1__r.OCM_man_province_txt__c, Opportunity_Category__c, 
-                                         OCM_man_province_cus__c, Sales_assistant_name_text__c
-                                        // 鐢靛瓙绛炬敹鍗� start
-                                        // 涓存椂浣跨敤 鐢ㄤ綔璇曠偣缁忛攢鍟�
-                                        ,Agency1__r.EsignTestAccount__c,Agency1__r.EsignTestAccountType__c 
-                                        // 鐢靛瓙绛炬敹鍗� end
-                                        //闆嗕腑閲囪喘璇环 绮剧悽鎶�鏈� wql  start
-                                        ,Group_purchase_PCL__c
-                                        //闆嗕腑閲囪喘璇环 绮剧悽鎶�鏈� wql  end
-                                        ,Is_Corrosion__c
-
-                                         From Opportunity Where Opportunity_No__c IN :inquiryNoList];
+            List<Opportunity> oppList = [
+                SELECT
+                    Id,
+                    Purchase_Type__c,
+                    Opportunity_No__c,
+                    Strategic_department_Class_Name__c,
+                    Sales_Root__c,
+                    SAP_Province__c,
+                    Trade__c,
+                    Agency1__c,
+                    Agency1__r.Name,
+                    Agency1__r.OCM_man_province_txt__c,
+                    Opportunity_Category__c,
+                    OCM_man_province_cus__c,
+                    Sales_assistant_name_text__c,
+                    // 鐢靛瓙绛炬敹鍗� start
+                    // 涓存椂浣跨敤 鐢ㄤ綔璇曠偣缁忛攢鍟�
+                    Agency1__r.EsignTestAccount__c,
+                    Agency1__r.EsignTestAccountType__c,
+                    // 鐢靛瓙绛炬敹鍗� end
+                    //闆嗕腑閲囪喘璇环 绮剧悽鎶�鏈� wql  start
+                    Group_purchase_PCL__c,
+                    //闆嗕腑閲囪喘璇环 绮剧悽鎶�鏈� wql  end
+                    Is_Corrosion__c
+                FROM Opportunity
+                WHERE Opportunity_No__c IN :inquiryNoList
+            ];
 
             for (Opportunity opp : oppList) {
                 oppMap.put(opp.Opportunity_No__c, opp);
             }
 
             // 妫�绱㈠嚭DN 骞剁敓鎴怐N Map
-            Boolean flg=true;
-            map <string, Statu_Achievements_DN__c> DNMap = new  map <string, Statu_Achievements_DN__c>();
+            Boolean flg = true;
+            map<string, Statu_Achievements_DN__c> DNMap = new Map<string, Statu_Achievements_DN__c>();
             List<Statu_Achievements_DN__c> DNList = GetDNList(DNNoSet);
-                // [select id, Name,
-                //  DeliveryDate_Raw__c,
-                //  DeliveryNote_Raw__c,
-                //  DepartmentNo_Raw__c,
-                //  EndUserNo_Raw__c,
-                //  InquiryNo_Raw__c,
-                //  ReturnMark_Raw__c,
-                //  SoNo_Raw__c,
-                //  Opportunity__c,
-                //  Statu_Achievements__c,
-                //  endUser__c
-                //  //鐢靛瓙绛炬敹鍗曡瘯鐐圭敤鎴疯祴鍊�
-                //  ,endUser__r.RecordType.Name
-                //  // 鐢靛瓙绛炬敹鍗� start 
-                //  , Sales_assistant_name_text__c,
-                //  RC_Manager__c,ReturnMark__c
-                //  // 璇曠偣鐢ㄦ埛锛屽眾鏃堕渶瑕佸垹鎺�
-                //  , EsignTestAccount__c
-                //  // 鐢靛瓙绛炬敹鍗�  end
-                //  //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� start
-                // , ETRecalledProducts__c
-                //  //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� end
-                //  //acc鏍囪瘑 start
-                //  ,ACC_Text__c,
-                //  Is_Corrosion__c,
-                //  //鏃犲伩鍑哄簱鏍囪瘑 thh 2021-11-01 start
-                //  Statu_Achievements__r.orderType__c 
-                //  //鏃犲伩鍑哄簱鏍囪瘑 thh 2021-11-01 end
-                //  //acc鏍囪瘑 end
-                //  from Statu_Achievements_DN__c where
-                //  Name in: DNNoSet];
+            // [select id, Name,
+            //  DeliveryDate_Raw__c,
+            //  DeliveryNote_Raw__c,
+            //  DepartmentNo_Raw__c,
+            //  EndUserNo_Raw__c,
+            //  InquiryNo_Raw__c,
+            //  ReturnMark_Raw__c,
+            //  SoNo_Raw__c,
+            //  Opportunity__c,
+            //  Statu_Achievements__c,
+            //  endUser__c
+            //  //鐢靛瓙绛炬敹鍗曡瘯鐐圭敤鎴疯祴鍊�
+            //  ,endUser__r.RecordType.Name
+            //  // 鐢靛瓙绛炬敹鍗� start
+            //  , Sales_assistant_name_text__c,
+            //  RC_Manager__c,ReturnMark__c
+            //  // 璇曠偣鐢ㄦ埛锛屽眾鏃堕渶瑕佸垹鎺�
+            //  , EsignTestAccount__c
+            //  // 鐢靛瓙绛炬敹鍗�  end
+            //  //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� start
+            // , ETRecalledProducts__c
+            //  //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� end
+            //  //acc鏍囪瘑 start
+            //  ,ACC_Text__c,
+            //  Is_Corrosion__c,
+            //  //鏃犲伩鍑哄簱鏍囪瘑 thh 2021-11-01 start
+            //  Statu_Achievements__r.orderType__c
+            //  //鏃犲伩鍑哄簱鏍囪瘑 thh 2021-11-01 end
+            //  //acc鏍囪瘑 end
+            //  from Statu_Achievements_DN__c where
+            //  Name in: DNNoSet];
             for (Statu_Achievements_DN__c dn : DNList) {
                 DNMap.put(dn.Name, dn);
             }
@@ -254,49 +309,73 @@
             List<DNdetail> insertDNdetailList = new List<DNdetail>();
 
             // CHAN-BBLAAP  end
-            List<Statu_Achievements__c> boList = [select Id, Name
-                                                  from Statu_Achievements__c
-                                                  where Name in :soNoList and OverviewStatus__c <> '鏃犳晥鍚堝悓'];
+            List<Statu_Achievements__c> boList = [
+                SELECT Id, Name
+                FROM Statu_Achievements__c
+                WHERE Name IN :soNoList AND OverviewStatus__c != '鏃犳晥鍚堝悓'
+            ];
             Map<String, String> boMap = new Map<String, String>();
             for (Statu_Achievements__c bo : boList) {
                 boMap.put(bo.Name, bo.Id);
             }
-            
-            List<Product2> prdList = [select Id, Name, ProductCode, ProductCode_Ext__c, MDM_Model_No__c
-                                      from Product2
-                                      where ProductCode_Ext__c in :productCodeList];
+
+            List<Product2> prdList = [
+                SELECT Id, Name, ProductCode, ProductCode_Ext__c, MDM_Model_No__c
+                FROM Product2
+                WHERE ProductCode_Ext__c IN :productCodeList
+            ];
             Map<String, Product2> prdsMap = new Map<String, Product2>();
             for (Product2 prd : prdList) {
                 prdsMap.put(prd.ProductCode_Ext__c, prd);
             }
-            List<Asset> astList = [select Id, Name, Product2.ProductCode, Product2.Dealer_special_Object__c , Product2.Dealer_Object__c,
-                                   SerialNumber, Product_Serial_No__c, Repair_Count__c, TracingCode__c,
-                                   Product2Id, AccountId, Account.Management_Code__c, Department_Class__c, Hospital__c,
-                                   Posting_Date__c, InstallDate, SLMark__c, MDM_Model_No__c, OT_CODE__c,
-                                   Guarantee_period_for_products__c, Installation_Site__c, Delete_Flag__c, Return_Flag__c,
-                                   Extend_Gurantee_DateTo__c, guarantee_period__c, Proviston_period__c
-                                   from Asset
-                                   where SerialNumber in :productSerialNoList
-                                   and IsCompetitorProduct = false
-                                   and Information_From__c <> '澶卞崟'];
+            List<Asset> astList = [
+                SELECT
+                    Id,
+                    Name,
+                    Product2.ProductCode,
+                    Product2.Dealer_special_Object__c,
+                    Product2.Dealer_Object__c,
+                    SerialNumber,
+                    Product_Serial_No__c,
+                    Repair_Count__c,
+                    TracingCode__c,
+                    Product2Id,
+                    AccountId,
+                    Account.Management_Code__c,
+                    Department_Class__c,
+                    Hospital__c,
+                    Posting_Date__c,
+                    InstallDate,
+                    SLMark__c,
+                    MDM_Model_No__c,
+                    OT_CODE__c,
+                    Guarantee_period_for_products__c,
+                    Installation_Site__c,
+                    Delete_Flag__c,
+                    Return_Flag__c,
+                    Extend_Gurantee_DateTo__c,
+                    guarantee_period__c,
+                    Proviston_period__c
+                FROM Asset
+                WHERE SerialNumber IN :productSerialNoList AND IsCompetitorProduct = FALSE AND Information_From__c != '澶卞崟'
+            ];
             Map<String, Asset> astsMap = new Map<String, Asset>();
             for (Asset ast : astList) {
                 astsMap.put(ast.MDM_Model_No__c + ast.SerialNumber, ast);
             }
-            
+
             // 鐢靛瓙绛炬敹鍗� start
             // key 鏄渷浠藉悕瀛楋紝 value 鏄搴旂殑钀ヤ笟绠$悊閮ㄦ媴褰� 1 ,2 ,3
-            Map < String, String > provinceOwnerMap = new Map< String, String > ();
+            Map<String, String> provinceOwnerMap = new Map<String, String>();
             //闆嗕腑閲囪喘璇环 鏋勫缓鍔╃悊map key鏄渷浠藉悕绉� value鏄姪鐞�
-            Map < String, String > provinceGIMap = new Map< String, String > ();
+            Map<String, String> provinceGIMap = new Map<String, String>();
             //妫�绱CSM绠$悊鐪佸璞�
-            //闆嗕腑閲囪喘璇环 澧炲姞妫�绱㈠姪鐞� 
-            List < OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c,Window1__c   from OCM_Management_Province__c ];
+            //闆嗕腑閲囪喘璇环 澧炲姞妫�绱㈠姪鐞�
+            List<OCM_Management_Province__c> ompList = [SELECT id, Name, SalesManage__c, GI_assistant__c FROM OCM_Management_Province__c];
             //瀛樻斁map<鐪侊紝鎷呭綋>
-            for (OCM_Management_Province__c omp: ompList) {
+            for (OCM_Management_Province__c omp : ompList) {
                 provinceOwnerMap.put(omp.Name, omp.SalesManage__c);
-                //provinceGIMap.put(omp.Name,omp.GI_assistant__c); //Commented by Li Jun 20230420
-                provinceGIMap.put(omp.Name, omp.Window1__c);// Add By Li Jun 鏇存柊 绛炬敹鍗曠殑銆愯惀涓氬姪鐞嗐�戝�硷紝浠嶰CSM绠$悊鐪佸搴旂殑銆愯惀涓氱獥鍙c�戝瓧娈佃幏鍙�
+                provinceGIMap.put(omp.Name, omp.GI_assistant__c);
             }
             // 鐢靛瓙绛炬敹鍗� end
 
@@ -320,48 +399,72 @@
                     continue;
                 }
                 if (infoH.DnInformation == null || infoH.DnInformation.size() == 0) {
-                    iflog.ErrorLog__c += 'Error! SoNo[' + infoH.SoNo + '] DeliveryNote[' + infoH.DeliveryNote + '] DnInformation is required. This DN is skipped.\n';
+                    iflog.ErrorLog__c +=
+                        'Error! SoNo[' +
+                        infoH.SoNo +
+                        '] DeliveryNote[' +
+                        infoH.DeliveryNote +
+                        '] DnInformation is required. This DN is skipped.\n';
                     continue;
                 }
-                if (infoH.EndUserNo == null || infoH.EndUserNo  == '') {
-                    iflog.ErrorLog__c += 'Error! SoNo[' + infoH.SoNo + '] DeliveryNote[' + infoH.DeliveryNote + '] EndUserNo is required. This DN is skipped.\n';
+                if (infoH.EndUserNo == null || infoH.EndUserNo == '') {
+                    iflog.ErrorLog__c +=
+                        'Error! SoNo[' +
+                        infoH.SoNo +
+                        '] DeliveryNote[' +
+                        infoH.DeliveryNote +
+                        '] EndUserNo is required. This DN is skipped.\n';
                     continue;
                 }
                 if (accsMap.get(infoH.EndUserNo) == null) {
-                    iflog.ErrorLog__c += 'Error! SoNo[' + infoH.SoNo + '] DeliveryNote[' + infoH.DeliveryNote + '] EndUserNo[' + infoH.EndUserNo + ']NotExist. This DN is skipped.\n';
+                    iflog.ErrorLog__c +=
+                        'Error! SoNo[' +
+                        infoH.SoNo +
+                        '] DeliveryNote[' +
+                        infoH.DeliveryNote +
+                        '] EndUserNo[' +
+                        infoH.EndUserNo +
+                        ']NotExist. This DN is skipped.\n';
                     continue;
-                } else if (accsMap.get(infoH.EndUserNo).RecordType.DeveloperName != 'HP'
-                           && accsMap.get(infoH.EndUserNo).RecordType.DeveloperName != 'Agency'
-                           && accsMap.get(infoH.EndUserNo).RecordType.DeveloperName != 'AgencyContract') {
-                    iflog.ErrorLog__c += 'Error! SoNo[' + infoH.SoNo + '] DeliveryNote[' + infoH.DeliveryNote + '] EndUserNo[' + infoH.EndUserNo + ']Is Not HP or Agency(Contract). This DN is skipped.\n';
+                } else if (
+                    accsMap.get(infoH.EndUserNo).RecordType.DeveloperName != 'HP' &&
+                    accsMap.get(infoH.EndUserNo).RecordType.DeveloperName != 'Agency' &&
+                    accsMap.get(infoH.EndUserNo).RecordType.DeveloperName != 'AgencyContract'
+                ) {
+                    iflog.ErrorLog__c +=
+                        'Error! SoNo[' +
+                        infoH.SoNo +
+                        '] DeliveryNote[' +
+                        infoH.DeliveryNote +
+                        '] EndUserNo[' +
+                        infoH.EndUserNo +
+                        ']Is Not HP or Agency(Contract). This DN is skipped.\n';
                     continue;
                 }
-                Statu_Achievements_DN__c tempSADN =
-                    DNMap.get(infoH.DeliveryNote);
+                Statu_Achievements_DN__c tempSADN = DNMap.get(infoH.DeliveryNote);
                 if (infoH.DeliveryNote != null) {
                     if (tempSADN == null) {
                         tempSADN = new Statu_Achievements_DN__c();
                         tempSADN.Statu_Achievements__c = null;
-                        tempSADN = SetSADN(tempSADN, infoH, boMap, oppMap, accsMap , provinceOwnerMap,provinceGIMap);
-                        checkSA( tempSADN, UpsertDNList, iflog, infoH );
-
+                        tempSADN = SetSADN(tempSADN, infoH, boMap, oppMap, accsMap, provinceOwnerMap, provinceGIMap);
+                        checkSA(tempSADN, UpsertDNList, iflog, infoH);
                     } else {
-                        if (infoH.SoNo != tempSADN.SoNo_Raw__c ||
+                        if (
+                            infoH.SoNo != tempSADN.SoNo_Raw__c ||
                             infoH.InquiryNo != tempSADN.InquiryNo_Raw__c ||
                             infoH.ReturnMark != tempSADN.ReturnMark_Raw__c ||
                             infoH.DeliveryDate != tempSADN.DeliveryDate_Raw__c ||
                             infoH.EndUserNo != tempSADN.EndUserNo_Raw__c ||
                             infoH.DepartmentNo != tempSADN.DepartmentNo_Raw__c ||
                             infoH.DeliveryNote != tempSADN.DeliveryNote_Raw__c
-                           ) {
-                               string SADNID = tempSADN.id;
-                               // 鐢靛瓙绛炬敹鍗�  棰濆澧炲姞钀ヤ笟绠$悊閮ㄦ媴褰撹祴鍊� start
-                               tempSADN = SetSADN(tempSADN, infoH, boMap, 
-                               oppMap,accsMap, provinceOwnerMap,provinceGIMap);
-                               // 鐢靛瓙绛炬敹鍗�  棰濆澧炲姞钀ヤ笟绠$悊閮ㄦ媴褰撹祴鍊� end
-                               tempSADN.id = SADNID;
-                               checkSA( tempSADN, UpsertDNList, iflog, infoH );
-                           }
+                        ) {
+                            string SADNID = tempSADN.id;
+                            // 鐢靛瓙绛炬敹鍗�  棰濆澧炲姞钀ヤ笟绠$悊閮ㄦ媴褰撹祴鍊� start
+                            tempSADN = SetSADN(tempSADN, infoH, boMap, oppMap, accsMap, provinceOwnerMap, provinceGIMap);
+                            // 鐢靛瓙绛炬敹鍗�  棰濆澧炲姞钀ヤ笟绠$悊閮ㄦ媴褰撹祴鍊� end
+                            tempSADN.id = SADNID;
+                            checkSA(tempSADN, UpsertDNList, iflog, infoH);
+                        }
                     }
                 }
                 integer tempDNdetailNumber = 0;
@@ -377,10 +480,13 @@
                     }
                     //  CHAN-BBLAAP 鎻掑叆淇濇湁璁惧鏄庣粏鏃舵彃鍏ュ搴擠N start
                     boolean tempReturnFlg = infoH.ReturnMark == '1' ? true : false;
-                    DNdetail tempDNdetail
-                        = SetSADNDetails(infoH.DeliveryNote, tempReturnFlg, dnInfo, ast,
-                                         dnInfo.SerialNoorLotNo != null && dnInfo.SerialNoorLotNo.equals('.') ?
-                                         tempDNdetailNumber++ : tempDNdetailNumber);
+                    DNdetail tempDNdetail = SetSADNDetails(
+                        infoH.DeliveryNote,
+                        tempReturnFlg,
+                        dnInfo,
+                        ast,
+                        dnInfo.SerialNoorLotNo != null && dnInfo.SerialNoorLotNo.equals('.') ? tempDNdetailNumber++ : tempDNdetailNumber
+                    );
                     insertDNdetailList.add(tempDNdetail);
                 }
             }
@@ -391,43 +497,42 @@
                 DNMap.put(tempSADN.Name, tempSADN);
             }
             DNList = GetDNList(DNMap.keySet());
-                // [select id, Name,
-                //  DeliveryDate_Raw__c,
-                //  DeliveryNote_Raw__c,
-                //  DepartmentNo_Raw__c,
-                //  EndUserNo_Raw__c,
-                //  InquiryNo_Raw__c,
-                //  ReturnMark_Raw__c,
-                //  SoNo_Raw__c,
-                //  Opportunity__c,
-                //  Statu_Achievements__c,
-                //  endUser__c
-                //  //鐢靛瓙绛炬敹鍗曡瘯鐐圭敤鎴疯祴鍊�
-                //  ,endUser__r.RecordType.Name
-                //  // 鐢靛瓙绛炬敹鍗� start 
-                //  , Sales_assistant_name_text__c,
-                //  RC_Manager__c,ReturnMark__c
-                //  // 璇曠偣鐢ㄦ埛锛屽眾鏃堕渶瑕佸垹鎺�
-                //  , EsignTestAccount__c
-                //  // 鐢靛瓙绛炬敹鍗�  end
-                //  //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� start
-                // , ETRecalledProducts__c
-                //  //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� end
-                //  //acc鏍囪瘑 start
-                //  ,ACC_Text__c,
-                //  Is_Corrosion__c,
-                //  Statu_Achievements__r.orderType__c 
-                //  //acc鏍囪瘑 end
-                //  from Statu_Achievements_DN__c where
-                //  Name in: DNMap.keySet()];
+            // [select id, Name,
+            //  DeliveryDate_Raw__c,
+            //  DeliveryNote_Raw__c,
+            //  DepartmentNo_Raw__c,
+            //  EndUserNo_Raw__c,
+            //  InquiryNo_Raw__c,
+            //  ReturnMark_Raw__c,
+            //  SoNo_Raw__c,
+            //  Opportunity__c,
+            //  Statu_Achievements__c,
+            //  endUser__c
+            //  //鐢靛瓙绛炬敹鍗曡瘯鐐圭敤鎴疯祴鍊�
+            //  ,endUser__r.RecordType.Name
+            //  // 鐢靛瓙绛炬敹鍗� start
+            //  , Sales_assistant_name_text__c,
+            //  RC_Manager__c,ReturnMark__c
+            //  // 璇曠偣鐢ㄦ埛锛屽眾鏃堕渶瑕佸垹鎺�
+            //  , EsignTestAccount__c
+            //  // 鐢靛瓙绛炬敹鍗�  end
+            //  //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� start
+            // , ETRecalledProducts__c
+            //  //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� end
+            //  //acc鏍囪瘑 start
+            //  ,ACC_Text__c,
+            //  Is_Corrosion__c,
+            //  Statu_Achievements__r.orderType__c
+            //  //acc鏍囪瘑 end
+            //  from Statu_Achievements_DN__c where
+            //  Name in: DNMap.keySet()];
             for (Statu_Achievements_DN__c dn : DNList) {
                 DNMap.put(dn.Name, dn);
             }
 
-            list<Statu_Achievements_DN_details__c> insertSADNdetailList
-                = new  list<Statu_Achievements_DN_details__c>();
+            list<Statu_Achievements_DN_details__c> insertSADNdetailList = new List<Statu_Achievements_DN_details__c>();
             //鐢靛瓙绛炬敹鍗� 铏氳繘铏氬嚭 tracingcode涓虹┖涓嶇敓鎴愮鏀跺崟 绮剧悽鎶�鏈� 2020/12/08 start
-             map <string, Statu_Achievements_DN__c> DNRestructureMap = new  map <string, Statu_Achievements_DN__c>();   
+            map<string, Statu_Achievements_DN__c> DNRestructureMap = new Map<string, Statu_Achievements_DN__c>();
             //鐢靛瓙绛炬敹鍗� 铏氳繘铏氬嚭 tracingcode涓虹┖涓嶇敓鎴愮鏀跺崟 绮剧悽鎶�鏈� 2020/12/08 end
             for (DNdetail tempDNd : insertDNdetailList) {
                 if (DNMap.containskey(tempDNd.DeliveryNote)) {
@@ -438,25 +543,22 @@
                     insertSADNdetailList.add(tempDNd.DNd);
 
                     //鐢靛瓙绛炬敹鍗� 铏氳繘铏氬嚭 tracingcode涓虹┖涓嶇敓鎴愮鏀跺崟 绮剧悽鎶�鏈� 2020/12/08 start
-                    
-                    if(tempSADN.ACC_Text__c != 'Y'){
-                        if(String.isBlank(tempDNd.DNd.TracingCode_Raw__c)){
-                            tempSADN.ACC_Text__c = 'Y';
 
+                    if (tempSADN.ACC_Text__c != 'Y') {
+                        if (String.isBlank(tempDNd.DNd.TracingCode_Raw__c)) {
+                            tempSADN.ACC_Text__c = 'Y';
                         }
                     }
                     DNRestructureMap.put(tempSADN.Name, tempSADN);
 
                     //鐢靛瓙绛炬敹鍗� 铏氳繘铏氬嚭 tracingcode涓虹┖涓嶇敓鎴愮鏀跺崟 绮剧悽鎶�鏈� 2020/12/08 end
-
-
                 }
             }
-            List<Statu_Achievements_DN_details__c> DNdetailList =
-                [SELECT Id
-                 FROM Statu_Achievements_DN_details__c
-                 where Statu_Achievements_DN__r.Name in: DNMap.keySet()];
-
+            List<Statu_Achievements_DN_details__c> DNdetailList = [
+                SELECT Id
+                FROM Statu_Achievements_DN_details__c
+                WHERE Statu_Achievements_DN__r.Name IN :DNMap.keySet()
+            ];
 
             if (DNdetailList.size() > 0 && !System.Test.isRunningTest()) {
                 delete DNdetailList;
@@ -466,68 +568,69 @@
             }
             // 鐢靛瓙绛炬敹鍗�  2020/07/17 start
             // 妫�绱㈠嚭绛炬敹鍗曪紝骞剁敓鎴愮鏀跺崟map key 涓篋N鍙�
-            map <string, eSignForm__c> eSFMap = new  map <string, eSignForm__c>();
-            List<eSignForm__c> eSFList =
-                [select id, DNName__c,
-                Hazardous_Chemicals__c,
-                 Statu_Achievements__c,Statu_Achievements_DN__c
-                 from eSignForm__c where
-                 DNName__c in: DNNoSet];
+            map<string, eSignForm__c> eSFMap = new Map<string, eSignForm__c>();
+            List<eSignForm__c> eSFList = [
+                SELECT id, DNName__c, Hazardous_Chemicals__c, Statu_Achievements__c, Statu_Achievements_DN__c
+                FROM eSignForm__c
+                WHERE DNName__c IN :DNNoSet
+            ];
             for (eSignForm__c eSF : eSFList) {
                 eSFMap.put(eSF.DNName__c, eSF);
             }
             //鐢靛瓙绛炬敹鍗� 铏氳繘铏氬嚭 鏄庣粏涓簉acing code 涓虹┖鐨� 涓嶇敓鎴愮鏀跺崟 20201207 绮剧悽鎶�鏈� start
-            list<eSignForm__c> UpsertESFList = SetupeSignForm( eSFMap , DNRestructureMap.values() );
-            
+            list<eSignForm__c> UpsertESFList = SetupeSignForm(eSFMap, DNRestructureMap.values());
+
             //鐢靛瓙绛炬敹鍗� 铏氳繘铏氬嚭 鏄庣粏涓簉acing code 涓虹┖鐨� 涓嶇敓鎴愮鏀跺崟 20201207 绮剧悽鎶�鏈� end
-            if(UpsertESFList.size()> 0) {
+            if (UpsertESFList.size() > 0) {
                 upsert UpsertESFList;
             }
             // key 涓� 瀵瑰簲DN鐨処D
-            map <string, eSignForm__c> eSFAllMap = new map <string, eSignForm__c> ();
-            for( eSignForm__c tempeSignForm : UpsertESFList){
-                eSFAllMap.put(tempeSignForm.DNName__c,tempeSignForm);
+            map<string, eSignForm__c> eSFAllMap = new Map<string, eSignForm__c>();
+            for (eSignForm__c tempeSignForm : UpsertESFList) {
+                eSFAllMap.put(tempeSignForm.DNName__c, tempeSignForm);
             }
 
-
             // 妫�绱㈢幇鏈夌鏀跺崟鏄庣粏锛屽苟鐢熸垚绛炬敹鍗曟槑缁唌ap key 涓篋N鍙� + 浜у搧OTCode
-            map <string, eSignFormLineItem__c> eSFLMap = new  map <string, eSignFormLineItem__c>();
-            List<eSignFormLineItem__c> eSFLList =
-                [select id,DNProductNo__c,
-                 Count__c,Product2__c,eSignForm__c 
-                 , CaseNumber__c 
-                 from eSignFormLineItem__c
-                 where eSignForm__r.DNName__c in: DNNoSet
-                ];
+            map<string, eSignFormLineItem__c> eSFLMap = new Map<string, eSignFormLineItem__c>();
+            List<eSignFormLineItem__c> eSFLList = [
+                SELECT id, DNProductNo__c, Count__c, Product2__c, eSignForm__c, CaseNumber__c
+                FROM eSignFormLineItem__c
+                WHERE eSignForm__r.DNName__c IN :DNNoSet
+            ];
             for (eSignFormLineItem__c eSFL : eSFLList) {
                 eSFL.Count__c = 0;
                 eSFLMap.put(eSFL.DNProductNo__c, eSFL);
             }
             // 鏋勯�犵鏀跺崟鏄庣粏
-            list<eSignFormLineItem__c> UpsertESFLList =
-                SetupeSignFormLineItems( insertSADNdetailList, eSFLMap , eSFAllMap, prdsMap);
-            if(UpsertESFLList.size() > 0){
+            list<eSignFormLineItem__c> UpsertESFLList = SetupeSignFormLineItems(insertSADNdetailList, eSFLMap, eSFAllMap, prdsMap);
+            if (UpsertESFLList.size() > 0) {
                 upsert UpsertESFLList;
             }
             rowData.IsUpsertDN__c = false;
             rowData.DN_retry_cnt__c = 0;
-            if(System.Test.isRunningTest()){
+            if (System.Test.isRunningTest()) {
                 throw new ControllerUtil.myException('娴嬭瘯閿欒锛�');
             }
             // 鐢靛瓙绛炬敹鍗�  2020/07/17 end
-            
         } catch (Exception ex) {
             Database.rollback(sp);
             logstr += '\n' + ex.getMessage();
-             rowData.IsUpsertDN__c = true;
+            rowData.IsUpsertDN__c = true;
             iflog.ErrorLog__c = ex.getMessage() + '\n' + ex.getStackTraceString() + '\n' + iflog.ErrorLog__c;
-            if (rowData.DN_retry_cnt__c == null) rowData.DN_retry_cnt__c = 0;
+            if (rowData.DN_retry_cnt__c == null)
+                rowData.DN_retry_cnt__c = 0;
             if (rowData.DN_retry_cnt__c < batch_retry_max_cnt) {
                 rowData.DN_retry_cnt__c++;
                 DNUpsertSchedule.assignOneMinute();
             }
             if (rowData.DN_retry_cnt__c >= batch_retry_max_cnt) {
-                rowData.ErrorLog__c = ex.getMessage() + '\n' + ex.getStackTraceString() + '\n' + rowData.ErrorLog__c + '閿欒娆℃暟宸茬粡瓒呰繃鑷姩鏀朵俊璁惧畾鐨勬渶澶ф鏁帮紝璇锋墜鍔ㄦ敹淇�';
+                rowData.ErrorLog__c =
+                    ex.getMessage() +
+                    '\n' +
+                    ex.getStackTraceString() +
+                    '\n' +
+                    rowData.ErrorLog__c +
+                    '閿欒娆℃暟宸茬粡瓒呰繃鑷姩鏀朵俊璁惧畾鐨勬渶澶ф鏁帮紝璇锋墜鍔ㄦ敹淇�';
             }
         }
 
@@ -540,107 +643,92 @@
             iflog.ErrorLog__c = iflog.ErrorLog__c.subString(0, 32760) + ' ...';
         }
         update iflog;
-
     }
     //浼樺寲涓ゆsql鏌ヨ thh 2021-11-02 start
-    private static list<Statu_Achievements_DN__c> GetDNList(Set<String> DNNoSet){
-        List<Statu_Achievements_DN__c> DNList =
-                [select id, Name,
-                 DeliveryDate_Raw__c,
-                 DeliveryNote_Raw__c,
-                 DepartmentNo_Raw__c,
-                 EndUserNo_Raw__c,
-                 InquiryNo_Raw__c,
-                 ReturnMark_Raw__c,
-                 SoNo_Raw__c,
-                 Opportunity__c,
-                 Statu_Achievements__c,
-                 endUser__c
-                 //鐢靛瓙绛炬敹鍗曡瘯鐐圭敤鎴疯祴鍊�
-                 ,endUser__r.RecordType.Name
-                 // 鐢靛瓙绛炬敹鍗� start 
-                 , Sales_assistant_name_text__c,
-                 RC_Manager__c,ReturnMark__c
-                 // 璇曠偣鐢ㄦ埛锛屽眾鏃堕渶瑕佸垹鎺�
-                 , EsignTestAccount__c
-                 // 鐢靛瓙绛炬敹鍗�  end
-                 //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� start
-                , ETRecalledProducts__c
-                 //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� end
-                 //acc鏍囪瘑 start
-                 ,ACC_Text__c,
-                 Is_Corrosion__c,
-                 //鏃犲伩鍑哄簱鏍囪瘑 thh 2021-11-01 start
-                 Statu_Achievements__r.orderType__c 
-                 //鏃犲伩鍑哄簱鏍囪瘑 thh 2021-11-01 end
-                 //acc鏍囪瘑 end
-                 //Add by Li Jun 20230420 start 
-                 ,Opportunity__r.OCM_man_province_cus__c
-                 //Add By Li Jun 20230420 end
-                 from Statu_Achievements_DN__c where
-                 Name in: DNNoSet];
+    private static list<Statu_Achievements_DN__c> GetDNList(Set<String> DNNoSet) {
+        List<Statu_Achievements_DN__c> DNList = [
+            SELECT
+                id,
+                Name,
+                DeliveryDate_Raw__c,
+                DeliveryNote_Raw__c,
+                DepartmentNo_Raw__c,
+                EndUserNo_Raw__c,
+                InquiryNo_Raw__c,
+                ReturnMark_Raw__c,
+                SoNo_Raw__c,
+                Opportunity__c,
+                Statu_Achievements__c,
+                endUser__c,
+                //鐢靛瓙绛炬敹鍗曡瘯鐐圭敤鎴疯祴鍊�
+                endUser__r.RecordType.Name,
+                // 鐢靛瓙绛炬敹鍗� start
+                Sales_assistant_name_text__c,
+                RC_Manager__c,
+                ReturnMark__c,
+                // 璇曠偣鐢ㄦ埛锛屽眾鏃堕渶瑕佸垹鎺�
+                EsignTestAccount__c,
+                // 鐢靛瓙绛炬敹鍗�  end
+                //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� start
+                ETRecalledProducts__c,
+                //ET鍙洖鍝佷笉鐢熸垚绛炬敹鍗� end
+                //acc鏍囪瘑 start
+                ACC_Text__c,
+                Is_Corrosion__c,
+                //鏃犲伩鍑哄簱鏍囪瘑 thh 2021-11-01 start
+                Statu_Achievements__r.orderType__c
+            //鏃犲伩鍑哄簱鏍囪瘑 thh 2021-11-01 end
+            //acc鏍囪瘑 end
+            FROM Statu_Achievements_DN__c
+            WHERE Name IN :DNNoSet
+        ];
         return DNList;
     }
     global void finish(Database.BatchableContext BC) {
     }
-
-    //Add By Li Jun 0420 Start query management province
-    private static Map<String,OCM_Management_Province__c> provinceManagementMap{set;get;}
-    public static Map<String,OCM_Management_Province__c> getManagementProvince(){ 
-        if(provinceManagementMap !=null && provinceManagementMap.keySet().size()>0 ){
-            return provinceManagementMap;
-        }
-        provinceManagementMap = new Map<String,OCM_Management_Province__c>();
-        List <OCM_Management_Province__c > ompList = [select id, Name, SalesManage__c,GI_assistant__c,Window1__c   from OCM_Management_Province__c];
-        for (OCM_Management_Province__c omp: ompList) {
-            provinceManagementMap.put(omp.Name,omp);
-        }
-        return provinceManagementMap;
-    }
-      //Add By Li Jun 0420 End
     /* 鏋勫缓绛炬敹鍗曪細
      * eSFMap 鏄郴缁熼噷闈㈢幇鏈夌殑绛炬敹鍗�
      * key 涓� DN鍙凤紱
      * 閫�璐N涓嶇敓鎴愮鏀跺崟
      */
     @TestVisible
-    private static list<eSignForm__c> SetupeSignForm(map <string, eSignForm__c> eSFMap , list<Statu_Achievements_DN__c> DNList){
-        list<eSignForm__c> UpsertESFList = new list<eSignForm__c> ();
-        for(Statu_Achievements_DN__c tempDN:DNList ){
+    private static list<eSignForm__c> SetupeSignForm(map<string, eSignForm__c> eSFMap, list<Statu_Achievements_DN__c> DNList) {
+        list<eSignForm__c> UpsertESFList = new List<eSignForm__c>();
+        for (Statu_Achievements_DN__c tempDN : DNList) {
             // 鑾峰彇鐜版湁绛炬敹鍗�
             eSignForm__c tempeSF = eSFMap.get(tempDN.Name);
-            if( tempeSF == null ){
+            if (tempeSF == null) {
                 tempeSF = new eSignForm__c();
             }
 
             // 绛炬敹鍗曞悕瀛� 涓猴細 DN鍙�-鍙戣揣鏃ュ勾鏈堟棩
-            string datestr = tempDN.DeliveryDate_Raw__c == null?
-            Date.today().format().ReplaceAll('/', ''):
-            tempDN.DeliveryDate_Raw__c ;
-            tempeSF.Name = string.valueof(integer.valueOf(tempDN.Name)) + '-' +datestr;
-            
+            string datestr = tempDN.DeliveryDate_Raw__c == null ? Date.today().format().ReplaceAll('/', '') : tempDN.DeliveryDate_Raw__c;
+            tempeSF.Name = string.valueof(integer.valueOf(tempDN.Name)) + '-' + datestr;
+
             tempeSF.DNName__c = tempDN.Name;
             tempeSF.Statu_Achievements__c = tempDN.Statu_Achievements__c;
             tempeSF.Statu_Achievements_DN__c = tempDN.ID;
-            //Updated By Li Jun 20230420 start 
-            //tempeSF.Sales_assistant_name_text__c = tempDN.Sales_assistant_name_text__c;
-            tempeSF.Sales_assistant_name_text__c = tempDN.Opportunity__c != null && tempDN.Opportunity__r.OCM_man_province_cus__c != '' && getManagementProvince().containsKey(tempDN.Opportunity__r.OCM_man_province_cus__c)? 
-                                                    getManagementProvince().get(tempDN.Opportunity__r.OCM_man_province_cus__c).Window1__c: null;
-            
+            tempeSF.Sales_assistant_name_text__c = tempDN.Sales_assistant_name_text__c;
             tempeSF.RC_Manager__c = tempDN.RC_Manager__c;
-            //Updated By Li Jun 20230420 end
             //鐢熸垚绛炬敹鍗曟椂锛岀粰鏄惁鏃犲伩鍑哄簱璧嬪��  绮剧悽鎶�鏈� thh 2021-10-15 start
-            if(tempDN.Statu_Achievements__r.orderType__c == 'ZM16'){
+            if (tempDN.Statu_Achievements__r.orderType__c == 'ZM16') {
                 tempeSF.isFreeDelivery__c = true;
             }
             //鐢熸垚绛炬敹鍗曟椂锛岀粰鏄惁鏃犲伩鍑哄簱璧嬪��  绮剧悽鎶�鏈� thh 2021-10-15 end
 
             // 缁忛攢鍟嗚瘯鐐圭敤鎴�
             //鐢靛瓙绛炬敹鍗� 铏氳繘铏氬嚭 鏄庣粏涓簉acing code 涓虹┖鐨� 涓嶇敓鎴愮鏀跺崟 20201207 绮剧悽鎶�鏈� start
-            if(tempDN.EsignTestAccount__c && !tempDN.ETRecalledProducts__c&&!tempDN.ReturnMark__c&&(tempDN.ACC_Text__c!='Y'||(tempDN.ACC_Text__c=='Y'&&tempDN.Is_Corrosion__c))){//&&tempDN.Is_Corrosion__c
+            if (
+                tempDN.EsignTestAccount__c &&
+                !tempDN.ETRecalledProducts__c &&
+                !tempDN.ReturnMark__c &&
+                (tempDN.ACC_Text__c != 'Y' || (tempDN.ACC_Text__c == 'Y' && tempDN.Is_Corrosion__c))
+            ) {
+                //&&tempDN.Is_Corrosion__c
                 //娣诲姞鍗卞寲鍝佹爣璇�
-                if(tempDN.ACC_Text__c=='Y'&&tempDN.Is_Corrosion__c){//&&tempDN.Is_Corrosion__c
-                    tempeSF.Hazardous_Chemicals__c=true;
+                if (tempDN.ACC_Text__c == 'Y' && tempDN.Is_Corrosion__c) {
+                    //&&tempDN.Is_Corrosion__c
+                    tempeSF.Hazardous_Chemicals__c = true;
                 }
                 UpsertESFList.add(tempeSF);
             }
@@ -663,202 +751,208 @@
     @TestVisible
     private static list<eSignFormLineItem__c> SetupeSignFormLineItems(
         list<Statu_Achievements_DN_details__c> insertSADNdetailList,
-        map <string, eSignFormLineItem__c> eSFLMap ,map <string, eSignForm__c> eSFAllMap,
-        Map<String, Product2> prdsMap){
-            // key 鏄� DN鍙� + 绠卞彿 + 浜у搧OTCode
-            for(Statu_Achievements_DN_details__c tempDNDetail : insertSADNdetailList){
-                string key = tempDNDetail.DNName__c + '-' + 
-                tempDNDetail.CaseNumber__c + '-' + tempDNDetail.OTCode_Raw__c;
-                //鑾峰彇鐜版湁绛炬敹鍗曟槑缁�
-                eSignFormLineItem__c tempeSignFormLineItem = eSFLMap.get(key);
-                if( tempeSignFormLineItem == null){
-                    tempeSignFormLineItem = new eSignFormLineItem__c();
-                    tempeSignFormLineItem.Count__c = 0;
-                }
-                tempeSignFormLineItem.Count__c++;
-                // Double CaseNumber;
-                if(string.isBlank(tempDNDetail.CaseNumber__c)){
-                    tempeSignFormLineItem.CaseNumber__c = null;
-                }else{
-                    tempeSignFormLineItem.CaseNumber__c = Double.valueOf(tempDNDetail.CaseNumber__c);
-                }
-                // Double CaseNumber = tempDNDetail.CaseNumber__c == null ? tempDNDetail.CaseNumber__c : Double.valueOf(tempDNDetail.CaseNumber__c);
-                tempeSignFormLineItem.DNProductNo__c = key ;
-                tempeSignFormLineItem.Name  = tempDNDetail.CaseNumber__c == null ? String.valueOf(integer.valueOf(tempDNDetail.DNName__c)) + '-' +  tempDNDetail.OTCode_Raw__c:String.valueOf(integer.valueOf(tempDNDetail.DNName__c)) + '-' + 
-                tempDNDetail.CaseNumber__c + '-' + tempDNDetail.OTCode_Raw__c;
-                tempeSignFormLineItem.Product2__c = prdsMap.get(tempDNDetail.OTCode_Raw__c).ID;
-                if(eSFAllMap.containskey(tempDNDetail.DNName__c)){
-                    tempeSignFormLineItem.eSignForm__c = eSFAllMap.get(tempDNDetail.DNName__c).ID;
-                    eSFLMap.put(key,tempeSignFormLineItem);
-                }
+        map<string, eSignFormLineItem__c> eSFLMap,
+        map<string, eSignForm__c> eSFAllMap,
+        Map<String, Product2> prdsMap
+    ) {
+        // key 鏄� DN鍙� + 绠卞彿 + 浜у搧OTCode
+        for (Statu_Achievements_DN_details__c tempDNDetail : insertSADNdetailList) {
+            string key = tempDNDetail.DNName__c + '-' + tempDNDetail.CaseNumber__c + '-' + tempDNDetail.OTCode_Raw__c;
+            //鑾峰彇鐜版湁绛炬敹鍗曟槑缁�
+            eSignFormLineItem__c tempeSignFormLineItem = eSFLMap.get(key);
+            if (tempeSignFormLineItem == null) {
+                tempeSignFormLineItem = new eSignFormLineItem__c();
+                tempeSignFormLineItem.Count__c = 0;
             }
-            return eSFLMap.values();
+            tempeSignFormLineItem.Count__c++;
+            // Double CaseNumber;
+            if (string.isBlank(tempDNDetail.CaseNumber__c)) {
+                tempeSignFormLineItem.CaseNumber__c = null;
+            } else {
+                tempeSignFormLineItem.CaseNumber__c = Double.valueOf(tempDNDetail.CaseNumber__c);
+            }
+            // Double CaseNumber = tempDNDetail.CaseNumber__c == null ? tempDNDetail.CaseNumber__c : Double.valueOf(tempDNDetail.CaseNumber__c);
+            tempeSignFormLineItem.DNProductNo__c = key;
+            tempeSignFormLineItem.Name = tempDNDetail.CaseNumber__c == null
+                ? String.valueOf(integer.valueOf(tempDNDetail.DNName__c)) + '-' + tempDNDetail.OTCode_Raw__c
+                : String.valueOf(integer.valueOf(tempDNDetail.DNName__c)) +
+                  '-' +
+                  tempDNDetail.CaseNumber__c +
+                  '-' +
+                  tempDNDetail.OTCode_Raw__c;
+            tempeSignFormLineItem.Product2__c = prdsMap.get(tempDNDetail.OTCode_Raw__c).ID;
+            if (eSFAllMap.containskey(tempDNDetail.DNName__c)) {
+                tempeSignFormLineItem.eSignForm__c = eSFAllMap.get(tempDNDetail.DNName__c).ID;
+                eSFLMap.put(key, tempeSignFormLineItem);
+            }
         }
+        return eSFLMap.values();
+    }
     // 璁剧疆鍙戣揣DN
     private static Statu_Achievements_DN__c SetSADN(
         Statu_Achievements_DN__c tempSADN,
         NFM110Rest.GeneralData infoH,
         Map<String, String> boMap,
         Map<String, Opportunity> oppMap,
-      Map<String, Account> accsMap, 
-        Map < String, String > provinceOwnerMap,
-        Map < String, String > provinceGIMap) {
-            tempSADN.SoNo_Raw__c = infoH.SoNo;
-            tempSADN.InquiryNo_Raw__c = infoH.InquiryNo ;
-            tempSADN.ReturnMark_Raw__c = infoH.ReturnMark ;
-            tempSADN.DeliveryDate_Raw__c = infoH.DeliveryDate ;
-            tempSADN.EndUserNo_Raw__c = infoH.EndUserNo ;
-            tempSADN.DepartmentNo_Raw__c = infoH.DepartmentNo ;
-            tempSADN.DeliveryNote_Raw__c = infoH.DeliveryNote ;
-            // 鐢靛瓙绛炬敹鍗� 2020/07/17 start
-            tempSADN.supplier__c = infoH.supplier ;
-            tempSADN.supplierNo__c = infoH.supplierNo ;
-            tempSADN.shippingUnit__c = infoH.shippingUnit ;
-            tempSADN.shippingAddress__c = infoH.shippingAddress ;
-            tempSADN.contactName__c = infoH.contactName ;
-            tempSADN.contactNumber__c = infoH.contactNumber ;
-            tempSADN.totalNumber__c = infoH.totalNumber ;
-            tempSADN.transportMode__c = infoH.transportMode ;
-            tempSADN.totalWeight__c = infoH.totalWeight ;
-            //tempSADN.GoodDetails__c = infoH.GoodDetails ;
-            //tempSADN.weight__c = infoH.weight ;
-            tempSADN.endUser__c = accsMap.get(infoH.EndUserNo) == null ?null : accsMap.get(infoH.EndUserNo).id  ;
+        Map<String, Account> accsMap,
+        Map<String, String> provinceOwnerMap,
+        Map<String, String> provinceGIMap
+    ) {
+        tempSADN.SoNo_Raw__c = infoH.SoNo;
+        tempSADN.InquiryNo_Raw__c = infoH.InquiryNo;
+        tempSADN.ReturnMark_Raw__c = infoH.ReturnMark;
+        tempSADN.DeliveryDate_Raw__c = infoH.DeliveryDate;
+        tempSADN.EndUserNo_Raw__c = infoH.EndUserNo;
+        tempSADN.DepartmentNo_Raw__c = infoH.DepartmentNo;
+        tempSADN.DeliveryNote_Raw__c = infoH.DeliveryNote;
+        // 鐢靛瓙绛炬敹鍗� 2020/07/17 start
+        tempSADN.supplier__c = infoH.supplier;
+        tempSADN.supplierNo__c = infoH.supplierNo;
+        tempSADN.shippingUnit__c = infoH.shippingUnit;
+        tempSADN.shippingAddress__c = infoH.shippingAddress;
+        tempSADN.contactName__c = infoH.contactName;
+        tempSADN.contactNumber__c = infoH.contactNumber;
+        tempSADN.totalNumber__c = infoH.totalNumber;
+        tempSADN.transportMode__c = infoH.transportMode;
+        tempSADN.totalWeight__c = infoH.totalWeight;
+        //tempSADN.GoodDetails__c = infoH.GoodDetails ;
+        //tempSADN.weight__c = infoH.weight ;
+        tempSADN.endUser__c = accsMap.get(infoH.EndUserNo) == null ? null : accsMap.get(infoH.EndUserNo).id;
 
-            // 鐢靛瓙绛炬敹鍗� 2020/07/17 end
-            //澧炲姞鍙戣揣DNacc鏍囪瘑 2020/11/23 start
-            if(infoH.ACCMark !=null){
-                if(infoH.ACCMark.trim() == 'Y'){
-                    tempSADN.ACC_Mark__c = 'Y';
-                }else{
-                    tempSADN.ACC_Mark__c = 'N';
-                }
+        // 鐢靛瓙绛炬敹鍗� 2020/07/17 end
+        //澧炲姞鍙戣揣DNacc鏍囪瘑 2020/11/23 start
+        if (infoH.ACCMark != null) {
+            if (infoH.ACCMark.trim() == 'Y') {
+                tempSADN.ACC_Mark__c = 'Y';
+            } else {
+                tempSADN.ACC_Mark__c = 'N';
             }
-            tempSADN.name = infoH.DeliveryNote;
-            tempSADN.ReturnMark__c = infoH.ReturnMark == '1' ? true : false;
-            if (tempSADN.Statu_Achievements__c == null) {
-                tempSADN.Statu_Achievements__c = boMap.get(infoH.SoNo);
-            }
-            tempSADN.DeliveryDate__c = NFMUtil.parseStr2Date(infoH.DeliveryDate);
-            //鍙戣揣鏃ュ湪2020/12/01浠ュ悗鐨勶紝鎵嶇敓鎴愮鏀跺崟 start
-            Date afterDate = NFMUtil.parseStr2Date('20201201');
-            String todate = NFMUtil.formatDate2Str(afterDate);
-            String DeliveryDate = NFMUtil.formatDate2Str(tempSADN.DeliveryDate__c);
-            //鍙戣揣鏃ュ湪2020/12/01浠ュ悗鐨勶紝鎵嶇敓鎴愮鏀跺崟 end
-           
-            String[] Inquiry;
-            if (infoH.InquiryNo != null && infoH.InquiryNo.contains(',')) {
-                Inquiry = infoH.InquiryNo.split(',');
-                if (oppMap.get(Inquiry[0]) != null) {
-                    opportunity opp =  oppMap.get(Inquiry[0]);
-                    tempSADN.Opportunity__c = opp.id;
-                    tempSADN.Is_Corrosion__c=opp.Is_Corrosion__c;
-                    // 鐢靛瓙绛炬敹鍗�  璧嬪�艰惀涓氬姪鐞嗗拰钀ヤ笟绠$悊閮ㄦ媴褰� start
-                    //闆嗕腑閲囪喘鐨勮浠� 绮剧悽鎶�鏈� wql 2020/01/11 start 
-                    //Add By Li Jun 20230420 Start 
-                    tempSADN.Sales_assistant_name_text__c =opp.OCM_man_province_cus__c!='' && provinceGIMap.containskey(opp.OCM_man_province_cus__c)?provinceGIMap.get(opp.OCM_man_province_cus__c):null;
-                    //Add By Li Jun 20230420 End
-                    if(opp.Group_purchase_PCL__c){
-                        //tempSADN.Sales_assistant_name_text__c = provinceGIMap.get('闆嗛噰璇�'); //Commented By Li Jun 20230420
-                        tempSADN.RC_Manager__c =  provinceOwnerMap.get('闆嗛噰璇�');
-                    }else{
-                        //tempSADN.Sales_assistant_name_text__c = opp.Sales_assistant_name_text__c; //Commented By Li Jun 20230420
-                        tempSADN.RC_Manager__c =  provinceOwnerMap.get(opp.OCM_man_province_cus__c);
-                    }
-                    //闆嗕腑閲囪喘鐨勮浠� 绮剧悽鎶�鏈� wql 2020/01/11 end
-                    
-                    
-                    //濡傛灉 鍙戣揣鏃ユ湡 澶т簬 2020/12/01 鎵嶇敓鎴愮鏀跺崟
-                    if(DeliveryDate >= todate){
-                    
-                        tempSADN.EsignTestAccount__c =true;
-                    }else{
-                        tempSADN.EsignTestAccount__c =false;
-                    }
-
-                    //SAP閲屽彫鍥炲搧鎹㈠嚭璁㈠崟鐨勯�佽揪鏂瑰湴鍧�濡傛灉涓哄ゥ鏋楀反鏂姙浜嬪鐨勫湴鍧�锛孌N涓嶇敓鎴愬緟绛炬敹淇℃伅銆�
-                    String ContactName = tempSADN.ContactName__c.toUpperCase();
-                    if(ContactName.indexOf('OCSM')>=0){
-                        tempSADN.ETRecalledProducts__c =true;
-                    }else{
-                        tempSADN.ETRecalledProducts__c =false;
-                    }
-                    
-                }
-                if (Inquiry.size() > 1) {
-                    tempSADN.Order_No__c = Inquiry[1];
-                }
-            }
-            return tempSADN;
         }
-    private static void checkSA(Statu_Achievements_DN__c tempSADN,
-                                List<Statu_Achievements_DN__c> UpsertDNList,
-                                BatchIF_Log__c iflog,
-                                NFM110rest.GeneralData infoH ) {
-                                    if (tempSADN.Statu_Achievements__c != null)
-                                        UpsertDNList.add(tempSADN);
-                                    else {
-                                        iflog.ErrorLog__c += 'warning! SoNo[' + infoH.SoNo +
-                                            '] Statu_Achievements__c  NotExist. The insert of this DN is skipped.\n';
-                                    }                                    
-                                }
-    private static DNdetail SetSADNDetails(string DNnumber, boolean returnFlg,
-                                           NFM110Rest.DnInformation dnInfo, asset ast, integer tempDNdetailNumber) {
-                                               DNdetail tempDNdetail = new DNdetail();
-                                               Statu_Achievements_DN_details__c DNd = new Statu_Achievements_DN_details__c();
-                                               DNd.Qty_Raw__c = dnInfo.QTY;
-                                               DNd.QTY__c = String.isBlank(dnInfo.QTY) || Decimal.valueOf(dnInfo.QTY.trim()) == 0 ?
-                                                   1 : Decimal.valueOf(dnInfo.QTY.trim());
-                                               DNd.ShippedAmount_without_tax__c = String.isBlank(dnInfo.NetWorth) ?
-                                                   0 : returnFlg == false ?
-                                                       Decimal.valueOf(dnInfo.NetWorth.trim()) : - Decimal.valueOf(dnInfo.NetWorth.trim());
+        tempSADN.name = infoH.DeliveryNote;
+        tempSADN.ReturnMark__c = infoH.ReturnMark == '1' ? true : false;
+        if (tempSADN.Statu_Achievements__c == null) {
+            tempSADN.Statu_Achievements__c = boMap.get(infoH.SoNo);
+        }
+        tempSADN.DeliveryDate__c = NFMUtil.parseStr2Date(infoH.DeliveryDate);
+        //鍙戣揣鏃ュ湪2020/12/01浠ュ悗鐨勶紝鎵嶇敓鎴愮鏀跺崟 start
+        Date afterDate = NFMUtil.parseStr2Date('20201201');
+        String todate = NFMUtil.formatDate2Str(afterDate);
+        String DeliveryDate = NFMUtil.formatDate2Str(tempSADN.DeliveryDate__c);
+        //鍙戣揣鏃ュ湪2020/12/01浠ュ悗鐨勶紝鎵嶇敓鎴愮鏀跺崟 end
 
-                                               DNd.ShippedAmount__c = String.isBlank(dnInfo.VALUE) ?
-                                                   0 : returnFlg == false ?
-                                                       Decimal.valueOf(dnInfo.VALUE.trim()) : - Decimal.valueOf(dnInfo.VALUE.trim());
+        String[] Inquiry;
+        if (infoH.InquiryNo != null && infoH.InquiryNo.contains(',')) {
+            Inquiry = infoH.InquiryNo.split(',');
+            if (oppMap.get(Inquiry[0]) != null) {
+                opportunity opp = oppMap.get(Inquiry[0]);
+                tempSADN.Opportunity__c = opp.id;
+                tempSADN.Is_Corrosion__c = opp.Is_Corrosion__c;
+                // 鐢靛瓙绛炬敹鍗�  璧嬪�艰惀涓氬姪鐞嗗拰钀ヤ笟绠$悊閮ㄦ媴褰� start
+                //闆嗕腑閲囪喘鐨勮浠� 绮剧悽鎶�鏈� wql 2020/01/11 start
+                if (opp.Group_purchase_PCL__c) {
+                    tempSADN.Sales_assistant_name_text__c = provinceGIMap.get('闆嗛噰璇�');
+                    tempSADN.RC_Manager__c = provinceOwnerMap.get('闆嗛噰璇�');
+                } else {
+                    tempSADN.Sales_assistant_name_text__c = opp.Sales_assistant_name_text__c;
+                    tempSADN.RC_Manager__c = provinceOwnerMap.get(opp.OCM_man_province_cus__c);
+                }
+                //闆嗕腑閲囪喘鐨勮浠� 绮剧悽鎶�鏈� wql 2020/01/11 end
 
-                                               DNd.NetWorthNoProviston__c = String.isBlank(dnInfo.NetWorthNoProviston) ?
-                                                   0 : returnFlg == false ?
-                                                       Decimal.valueOf(dnInfo.NetWorthNoProviston.trim()) : - Decimal.valueOf(dnInfo.NetWorthNoProviston.trim());
-                                               if (dnInfo.SorLMark == 'S') {
-                                                   DNd.SerialNumber__c = dnInfo.SerialNoorLotNo;
-                                               } else {
-                                                   DNd.SerialNumber__c  = dnInfo.SerialNoorLotNo + '(' + dnInfo.TracingCode + ')';
-                                               }
-                                               DNd.Product_Serial_No__c = dnInfo.OTCode + ':' + DNd.SerialNumber__c;
-                                               DNd.DNProduct_Serial_No__c = DNnumber + ':' + DNd.Product_Serial_No__c;
-                                               if (dnInfo.SerialNoorLotNo != null && dnInfo.SerialNoorLotNo.equals('.')) {
-                                                   DNd.DNProduct_Serial_No__c += tempDNdetailNumber;
-                                               }
-                                               // 鐢靛瓙绛炬敹鍗� start
-                                               DNd.CaseNumber__c = NFMUtil.trimLeft(dnInfo.CaseNumber, '0');
-                                               // 鐢靛瓙绛炬敹鍗� end
+                //濡傛灉 鍙戣揣鏃ユ湡 澶т簬 2020/12/01 鎵嶇敓鎴愮鏀跺崟
+                if (DeliveryDate >= todate) {
+                    tempSADN.EsignTestAccount__c = true;
+                } else {
+                    tempSADN.EsignTestAccount__c = false;
+                }
 
-                                               DNd.Barcode_Raw__c = dnInfo.Barcode;
-                                               DNd.OTCode_Raw__c = dnInfo.OTCode;
-                                               DNd.SerialNoorLotNo_Raw__c = dnInfo.SerialNoorLotNo;
-                                               DNd.SorLMark_Raw__c = dnInfo.SorLMark;
-                                               DNd.GuaranteePeriod_Raw__c = dnInfo.GuaranteePeriod;
-                                               DNd.TracingCode_Raw__c = dnInfo.TracingCode;
-                                               DNd.ValidTo_Raw__c = dnInfo.ValidTo;
-                                               DNd.NetWorth_Raw__c = dnInfo.NetWorth;
-                                               DNd.GuaranteePrice_Raw__c    = dnInfo.GuaranteePrice;
-                                               DNd.GuaranteeType_Raw__c     = dnInfo.GuaranteeType;
-                                               DNd.MaintenancePrice_Raw__c = dnInfo.MaintenancePrice;
-                                               DNd.NetWorthNoProviston_Raw__c = dnInfo.NetWorthNoProviston;
-                                               DNd.ProduceDate_Raw__c = dnInfo.ProduceDate;
-                                               DNd.ProvistonPeriod_Raw__c = dnInfo.ProvistonPeriod;
-                                               DNd.ServicePrice_Raw__c = dnInfo.ServicePrice;
-                                               DNd.VALUE_Raw__c = dnInfo.VALUE;
-                                               DNd.NetWorth_Raw__c = dnInfo.NetWorth;
-                                               DNd.NMPA_Approbation_No__c = dnInfo.NMPA_NO;
-                                               DNd.ProduceCompany__c = dninfo.Provider;
-                                               tempDNdetail.DeliveryNote = DNnumber;
-                                               tempDNdetail.DNd = DNd;
-                                               if (ast != null && ast.id != null) {
-                                                   tempDNdetail.DNd.asset__c = ast.id;
-                                               }
-                                               return tempDNdetail;
-                                           }
+                //SAP閲屽彫鍥炲搧鎹㈠嚭璁㈠崟鐨勯�佽揪鏂瑰湴鍧�濡傛灉涓哄ゥ鏋楀反鏂姙浜嬪鐨勫湴鍧�锛孌N涓嶇敓鎴愬緟绛炬敹淇℃伅銆�
+                String ContactName = tempSADN.ContactName__c.toUpperCase();
+                if (ContactName.indexOf('OCSM') >= 0) {
+                    tempSADN.ETRecalledProducts__c = true;
+                } else {
+                    tempSADN.ETRecalledProducts__c = false;
+                }
+            }
+            if (Inquiry.size() > 1) {
+                tempSADN.Order_No__c = Inquiry[1];
+            }
+        }
+        return tempSADN;
+    }
+    private static void checkSA(
+        Statu_Achievements_DN__c tempSADN,
+        List<Statu_Achievements_DN__c> UpsertDNList,
+        BatchIF_Log__c iflog,
+        NFM110rest.GeneralData infoH
+    ) {
+        if (tempSADN.Statu_Achievements__c != null)
+            UpsertDNList.add(tempSADN);
+        else {
+            iflog.ErrorLog__c += 'warning! SoNo[' + infoH.SoNo + '] Statu_Achievements__c  NotExist. The insert of this DN is skipped.\n';
+        }
+    }
+    private static DNdetail SetSADNDetails(
+        string DNnumber,
+        boolean returnFlg,
+        NFM110Rest.DnInformation dnInfo,
+        asset ast,
+        integer tempDNdetailNumber
+    ) {
+        DNdetail tempDNdetail = new DNdetail();
+        Statu_Achievements_DN_details__c DNd = new Statu_Achievements_DN_details__c();
+        DNd.Qty_Raw__c = dnInfo.QTY;
+        DNd.QTY__c = String.isBlank(dnInfo.QTY) || Decimal.valueOf(dnInfo.QTY.trim()) == 0 ? 1 : Decimal.valueOf(dnInfo.QTY.trim());
+        DNd.ShippedAmount_without_tax__c = String.isBlank(dnInfo.NetWorth)
+            ? 0
+            : returnFlg == false ? Decimal.valueOf(dnInfo.NetWorth.trim()) : -Decimal.valueOf(dnInfo.NetWorth.trim());
+
+        DNd.ShippedAmount__c = String.isBlank(dnInfo.VALUE)
+            ? 0
+            : returnFlg == false ? Decimal.valueOf(dnInfo.VALUE.trim()) : -Decimal.valueOf(dnInfo.VALUE.trim());
+
+        DNd.NetWorthNoProviston__c = String.isBlank(dnInfo.NetWorthNoProviston)
+            ? 0
+            : returnFlg == false ? Decimal.valueOf(dnInfo.NetWorthNoProviston.trim()) : -Decimal.valueOf(dnInfo.NetWorthNoProviston.trim());
+        if (dnInfo.SorLMark == 'S') {
+            DNd.SerialNumber__c = dnInfo.SerialNoorLotNo;
+        } else {
+            DNd.SerialNumber__c = dnInfo.SerialNoorLotNo + '(' + dnInfo.TracingCode + ')';
+        }
+        DNd.Product_Serial_No__c = dnInfo.OTCode + ':' + DNd.SerialNumber__c;
+        DNd.DNProduct_Serial_No__c = DNnumber + ':' + DNd.Product_Serial_No__c;
+        if (dnInfo.SerialNoorLotNo != null && dnInfo.SerialNoorLotNo.equals('.')) {
+            DNd.DNProduct_Serial_No__c += tempDNdetailNumber;
+        }
+        // 鐢靛瓙绛炬敹鍗� start
+        DNd.CaseNumber__c = NFMUtil.trimLeft(dnInfo.CaseNumber, '0');
+        // 鐢靛瓙绛炬敹鍗� end
+
+        DNd.Barcode_Raw__c = dnInfo.Barcode;
+        DNd.OTCode_Raw__c = dnInfo.OTCode;
+        DNd.SerialNoorLotNo_Raw__c = dnInfo.SerialNoorLotNo;
+        DNd.SorLMark_Raw__c = dnInfo.SorLMark;
+        DNd.GuaranteePeriod_Raw__c = dnInfo.GuaranteePeriod;
+        DNd.TracingCode_Raw__c = dnInfo.TracingCode;
+        DNd.ValidTo_Raw__c = dnInfo.ValidTo;
+        DNd.NetWorth_Raw__c = dnInfo.NetWorth;
+        DNd.GuaranteePrice_Raw__c = dnInfo.GuaranteePrice;
+        DNd.GuaranteeType_Raw__c = dnInfo.GuaranteeType;
+        DNd.MaintenancePrice_Raw__c = dnInfo.MaintenancePrice;
+        DNd.NetWorthNoProviston_Raw__c = dnInfo.NetWorthNoProviston;
+        DNd.ProduceDate_Raw__c = dnInfo.ProduceDate;
+        DNd.ProvistonPeriod_Raw__c = dnInfo.ProvistonPeriod;
+        DNd.ServicePrice_Raw__c = dnInfo.ServicePrice;
+        DNd.VALUE_Raw__c = dnInfo.VALUE;
+        DNd.NetWorth_Raw__c = dnInfo.NetWorth;
+        DNd.NMPA_Approbation_No__c = dnInfo.NMPA_NO;
+        DNd.ProduceCompany__c = dninfo.Provider;
+        tempDNdetail.DeliveryNote = DNnumber;
+        tempDNdetail.DNd = DNd;
+        if (ast != null && ast.id != null) {
+            tempDNdetail.DNd.asset__c = ast.id;
+        }
+        return tempDNdetail;
+    }
     @TestVisible
     private static String checkSerialNoorLotNo(String sn) {
         if (sn == null || sn == '' || sn.length() < 8) {
@@ -900,4 +994,4 @@
         }
         return sn;
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.1