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