From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001 From: 高章伟 <gaozhangwei@prec-tech.com> Date: 星期五, 03 三月 2023 14:50:59 +0800 Subject: [PATCH] gzw 测试环境代码更新 --- force-app/main/default/classes/Product2Handler.cls | 144 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 138 insertions(+), 6 deletions(-) diff --git a/force-app/main/default/classes/Product2Handler.cls b/force-app/main/default/classes/Product2Handler.cls index 44e5cc5..061c194 100644 --- a/force-app/main/default/classes/Product2Handler.cls +++ b/force-app/main/default/classes/Product2Handler.cls @@ -16,6 +16,9 @@ // SWAG-BHE9GK LHJ 绔炰簤瀵规墜浜у搧鑷姩缂栫爜 Start SetCompetitorCode(); // SWAG-BHE9GK LHJ 绔炰簤瀵规墜浜у搧鑷姩缂栫爜 End + // WLIG-CKKA4M xxf 銆愬鎵樸�戙�愪骇鍝佷富鏁版嵁銆戞敞鍐岃瘉鏇存柊鍚庨儴鍒嗗瓧娈典俊鎭湭鑷姩浠e叆 Start + AutomaticallyBringData(); + // WLIG-CKKA4M xxf 銆愬鎵樸�戙�愪骇鍝佷富鏁版嵁銆戞敞鍐岃瘉鏇存柊鍚庨儴鍒嗗瓧娈典俊鎭湭鑷姩浠e叆 End } protected override void beforeUpdate() { beforeSetValue(); @@ -36,31 +39,160 @@ private void SetCompetitorCode() { Boolean SelctFlg = False; list<AggregateResult> proList; + //甯﹂噺閲囪喘淇敼 start fy + list<AggregateResult> proListsc; + //甯﹂噺閲囪喘淇敼 end fy String strPC = ''; + //甯﹂噺閲囪喘淇敼 start fy + String strPCsc = ''; + //甯﹂噺閲囪喘淇敼 end fy Integer i = 1; + String ProductRecordTypes = System.Label.ProductRecordTypeID; + String[] RecordTypes = String.isNotBlank(ProductRecordTypes) ? ProductRecordTypes.split(',') : null; + for (Product2 nObj : newList) { - if (nObj.Competitor_product_dummy__c) { + //甯﹂噺閲囪喘淇敼 start fy + String RecordTypeString = ''; + if(nObj.RecordTypeId!=null){ + RecordTypeString=String.valueof(nObj.RecordTypeId).substring(0,15); + } + // nObj.Competitor_product_dummy__c=System.Label.ProductRecordTypeID.contains(RecordTypeString); + // if (nObj.Competitor_product_dummy__c) { + if (System.Label.ProductRecordTypeID.contains(RecordTypeString)) { SelctFlg = True; } + //甯﹂噺閲囪喘淇敼 end fy } if (SelctFlg) { - proList = [Select Max(ProductCode) PC From Product2 Where ProductCode Like 'SD%']; + proList = [Select Max(ProductCode) PC From Product2 Where ProductCode Like 'SD%' and ProductCode!='SD999999']; if (proList != null && proList.size() > 0) { strPC = String.valueof(proList[0].get('PC')); } + //甯﹂噺閲囪喘 start fy + proListsc = [Select Max(ProductCode) PC From Product2 Where ProductCode Like 'SC%']; + if (proListsc != null && proListsc.size() > 0) { + strPCsc = String.valueof(proListsc[0].get('PC')); + } + //甯﹂噺閲囪喘 end fy } for (Product2 nObj : newList) { - if (nObj.Competitor_product_dummy__c && strPC.length() == 8 - && proList != null && proList.size() > 0 ) { - Integer num = Integer.valueOf(strPC.SubString(2,strPC.length())) + i; - nObj.ProductCode = 'SD' + String.valueOf(num).leftpad(6,'0'); + //甯﹂噺閲囪喘 start fy + String RecordTypeString = ''; + if(nObj.RecordTypeId!=null){ + RecordTypeString=String.valueof(nObj.RecordTypeId).substring(0,15); + } + // if (nObj.Competitor_product_dummy__c && strPC.length() == 8 + // if (System.Label.ProductRecordTypeID.contains(RecordTypeString) && strPC.length() == 8 + if (System.Label.ProductRecordTypeID.contains(RecordTypeString)) { + //甯﹂噺閲囪喘 end fy + // && proList != null && proList.size() > 0 ) { + // Integer num = Integer.valueOf(strPC.SubString(2,strPC.length())) + i; + Integer num = String.isNotBlank(strPC) ? Integer.valueOf(strPC.SubString(2,strPC.length())) + i : i; + //甯﹂噺閲囪喘 start fy + Integer numsc = String.isNotBlank(strPCsc) ? Integer.valueOf(strPCsc.SubString(2,strPCsc.length())) + i : i; + // if(RecordTypeString=='0129D000001NacC'){ + if(RecordTypes != null && RecordTypes.size() > 1 && RecordTypeString == RecordTypes[1]){ + nObj.ProductCode = 'SC' + String.valueOf(numsc).leftpad(8,'0'); + }else{ + nObj.ProductCode = 'SD' + String.valueOf(num).leftpad(6,'0'); + } + //甯﹂噺閲囪喘 end fy + // nObj.ProductCode = 'SD' + String.valueOf(num).leftpad(6,'0'); i++; } } } // SWAG-BHE9GK LHJ 绔炰簤瀵规墜浜у搧鑷姩缂栫爜 End + + //WLIG-CKKA4M xxf 銆愬鎵樸�戙�愪骇鍝佷富鏁版嵁銆戞敞鍐岃瘉鏇存柊鍚庨儴鍒嗗瓧娈典俊鎭湭鑷姩浠e叆 Start + private void AutomaticallyBringData() { + List<String> noNewList = new List<String>(); + for(Product2 prd : newList){ + if (prd.Asset_Model_No__c != null) { + noNewList.add(prd.Asset_Model_No__c); + } + } + if (!noNewList.isEmpty()) { + + List<Product2> prdList = [select Id, Name,Asset_Model_No__c,MDM_Name__c, + Maintenance_Price_Year__c,Extend_new_product_gurantee_MD__c, + Extend_Gurantee_Start_MD__c,Extend_Gurantee_End_MD__c, + Entend_gurantee_period_MD__c,Extend_new_product_gurantee__c, + Extend_Gurantee_Start__c,Extend_Gurantee_End__c,Entend_gurantee_period__c, + CanNotCancelledGurantee__c,Service_Category1__c, + Service_Category2__c,Service_Category3__c, + Service_Category4__c,Service_Category5__c, + Service_Category6__c,Service_Category7__c, + Can_Repair__c,RepairListPriceLevelA__c, + RepairListPriceLevelB__c,RepairListPriceLevelC__c, + PartSupplyFinishDate__c,EndSaleDate__c,ProductClass__c,ProductCategory__c, + Period_Filter_Classify1__c,Period_Filter_Classify2__c,Period_Filter_Classify3__c, + Intra_Trade_Service_RMB_Date1__c,Intra_Trade_Service_RMB_Date2__c, + Intra_Trade_Service_RMB_EndDate1__c,Intra_Trade_Service_RMB_EndDate2__c, + Intra_Trade_Service_RMB_1__c,Intra_Trade_Service_RMB_2__c + from Product2 + where Asset_Model_No__c in :noNewList + order by CreatedDate desc]; + if (prdList.isEmpty()) { + return; + } + Map<String, Product2> prdMap = new Map<String, Product2>(); + for (Product2 pro2 : prdList) { + if (!prdMap.isEmpty() && prdMap.containskey(pro2.Asset_Model_No__c)) { + } else { + prdMap.put(pro2.Asset_Model_No__c, pro2); + } + } + + for(Product2 prd : newList){ + if (prdMap.containskey(prd.Asset_Model_No__c)){ + prd.Maintenance_Price_Year__c = prdMap.get(prd.Asset_Model_No__c).Maintenance_Price_Year__c;//缁翠慨鍚堝悓鎶ヤ环 + prd.CanNotCancelledGurantee__c = prdMap.get(prd.Asset_Model_No__c).CanNotCancelledGurantee__c;//涓嶅彲鍙栨秷澶氬勾淇濅慨 + prd.ProductClass__c = prdMap.get(prd.Asset_Model_No__c).ProductClass__c;//甯傚満浜у搧绫诲埆 + prd.ProductCategory__c = prdMap.get(prd.Asset_Model_No__c).ProductCategory__c;//甯傚満鍖哄垎 + prd.Extend_new_product_gurantee_MD__c = prdMap.get(prd.Asset_Model_No__c).Extend_new_product_gurantee_MD__c;//甯傚満淇濅慨瀵硅薄 + prd.Extend_new_product_gurantee__c = prdMap.get(prd.Asset_Model_No__c).Extend_new_product_gurantee__c;//鏈嶅姟淇濅慨瀵硅薄 + if (prdMap.get(prd.Asset_Model_No__c).Extend_new_product_gurantee_MD__c == true) {//甯傚満淇濅慨瀵硅薄 + prd.Entend_gurantee_period_MD__c = prdMap.get(prd.Asset_Model_No__c).Entend_gurantee_period_MD__c;//甯傚満淇濅慨鏈�(骞�) + } + if(prdMap.get(prd.Asset_Model_No__c).Extend_new_product_gurantee__c == true){//鏈嶅姟淇濅慨瀵硅薄 + prd.Entend_gurantee_period__c = prdMap.get(prd.Asset_Model_No__c).Entend_gurantee_period__c;//鏈嶅姟淇濅慨鏈�(骞�) + } + prd.Extend_Gurantee_Start_MD__c = prdMap.get(prd.Asset_Model_No__c).Extend_Gurantee_Start_MD__c;//甯傚満淇濅慨寮�濮嬫棩 + prd.Extend_Gurantee_End_MD__c = prdMap.get(prd.Asset_Model_No__c).Extend_Gurantee_End_MD__c;//甯傚満淇濅慨缁撴潫鏃� + prd.Extend_Gurantee_Start__c = prdMap.get(prd.Asset_Model_No__c).Extend_Gurantee_Start__c;//鏈嶅姟淇濅慨寮�濮嬫棩 + prd.Extend_Gurantee_End__c = prdMap.get(prd.Asset_Model_No__c).Extend_Gurantee_End__c;//鏈嶅姟淇濅慨缁撴潫鏃� + prd.Service_Category1__c = prdMap.get(prd.Asset_Model_No__c).Service_Category1__c;//绗�1鏈嶅姟鍒嗙被 + prd.Service_Category2__c = prdMap.get(prd.Asset_Model_No__c).Service_Category2__c; + prd.Service_Category3__c = prdMap.get(prd.Asset_Model_No__c).Service_Category3__c; + prd.Service_Category4__c = prdMap.get(prd.Asset_Model_No__c).Service_Category4__c; + prd.Service_Category5__c = prdMap.get(prd.Asset_Model_No__c).Service_Category5__c; + prd.Service_Category6__c = prdMap.get(prd.Asset_Model_No__c).Service_Category6__c; + prd.Service_Category7__c = prdMap.get(prd.Asset_Model_No__c).Service_Category7__c; + prd.Can_Repair__c = prdMap.get(prd.Asset_Model_No__c).Can_Repair__c;//鏄惁鍙淮淇� + prd.RepairListPriceLevelA__c = prdMap.get(prd.Asset_Model_No__c).RepairListPriceLevelA__c;//A锛圵锛夌骇缁翠慨鍙傝�冧环鏍� + prd.RepairListPriceLevelB__c = prdMap.get(prd.Asset_Model_No__c).RepairListPriceLevelB__c; + prd.RepairListPriceLevelC__c = prdMap.get(prd.Asset_Model_No__c).RepairListPriceLevelC__c; + prd.PartSupplyFinishDate__c = prdMap.get(prd.Asset_Model_No__c).PartSupplyFinishDate__c;//闆朵欢鍋滄渚涘簲鏃ユ湡 + prd.EndSaleDate__c = prdMap.get(prd.Asset_Model_No__c).EndSaleDate__c;//鍋滄閿�鍞棩鏈� + prd.Period_Filter_Classify1__c = prdMap.get(prd.Asset_Model_No__c).Period_Filter_Classify1__c;//钀ヤ笟缁熻鍒嗙被1 + prd.Period_Filter_Classify2__c = prdMap.get(prd.Asset_Model_No__c).Period_Filter_Classify2__c;//钀ヤ笟缁熻鍒嗙被2 + prd.Period_Filter_Classify3__c = prdMap.get(prd.Asset_Model_No__c).Period_Filter_Classify3__c;//钀ヤ笟缁熻鍒嗙被3 + prd.Intra_Trade_Service_RMB_Date1__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Service_RMB_Date1__c;//澶氬勾淇濅环鏍兼湁鏁堝紑濮嬫棩1 + prd.Intra_Trade_Service_RMB_Date2__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Service_RMB_Date2__c;//澶氬勾淇濅环鏍兼湁鏁堝紑濮嬫棩2 + prd.Intra_Trade_Service_RMB_EndDate1__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Service_RMB_EndDate1__c;//澶氬勾淇濅环鏍兼湁鏁堢粨鏉熸棩1 + prd.Intra_Trade_Service_RMB_EndDate2__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Service_RMB_EndDate2__c;//澶氬勾淇濅环鏍兼湁鏁堢粨鏉熸棩2 + prd.Intra_Trade_Service_RMB_1__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Service_RMB_1__c;//澶氬勾淇濅环鏍�1 + prd.Intra_Trade_Service_RMB_2__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Service_RMB_2__c;//澶氬勾淇濅环鏍�2 + } + } + } + + } + // WLIG-CKKA4M xxf 銆愬鎵樸�戙�愪骇鍝佷富鏁版嵁銆戞敞鍐岃瘉鏇存柊鍚庨儴鍒嗗瓧娈典俊鎭湭鑷姩浠e叆 end + private void beforeSetValue() { for (Product2 nObj : newList) { -- Gitblit v1.9.1