From 226ec1cbf306ab7566e738594d5d8e68bdf98cf7 Mon Sep 17 00:00:00 2001 From: 游畅 <youchang@prec-tech.com> Date: 星期二, 04 四月 2023 09:45:44 +0800 Subject: [PATCH] 20230329-询价中的今年相关字段增加和修改+现场修理逻辑+停止hr信息同步用户 --- force-app/main/default/classes/OdsToUserHandler.cls | 6 force-app/main/default/classes/RollupToHPBatch.cls | 493 +++++++++++++++++++++++++++++++++++++++++++++++++ force-app/main/default/classes/OpdAmountBatch.cls | 11 + force-app/main/default/classes/RepairTrigger.cls | 18 + force-app/main/default/classes/ControllerUtil.cls | 15 + 5 files changed, 532 insertions(+), 11 deletions(-) diff --git a/force-app/main/default/classes/ControllerUtil.cls b/force-app/main/default/classes/ControllerUtil.cls index a70f2f2..012b0ed 100644 --- a/force-app/main/default/classes/ControllerUtil.cls +++ b/force-app/main/default/classes/ControllerUtil.cls @@ -5699,7 +5699,7 @@ //20210826 mzy SWAG-C5S46P start //鏀逛负鐢� 鍙戣揣瀹屾瘯鏃� 鍒ゆ柇 涓� 灏� 2012骞村垱寤虹殑涓旇浠风姸鎬佹槸鍙戣揣/瀹屾瘯鐨勬暟鎹帓闄� //queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+temptoday+' and Shipping_Finished_Day__c <= '+tempLastDate+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; - queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; + queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; //20210826 mzy SWAG-C5S46P end // 20200616 CHAN-BQM8LU vivek end } @@ -5718,7 +5718,7 @@ //20210826 mzy SWAG-C5S46P start //鏀逛负鐢� 鍙戣揣瀹屾瘯鏃� 鍒ゆ柇 涓� 灏� 2012骞村垱寤虹殑涓旇浠风姸鎬佹槸鍙戣揣/瀹屾瘯鐨勬暟鎹帓闄� //queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+temptoday+' and Shipping_Finished_Day__c <= '+tempLastDate+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; - queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; + queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; //20210826 mzy SWAG-C5S46P end // 20191126 SWAG-BJA6JK LHJ End // 20200616 CHAN-BQM8LU vivek end @@ -5801,6 +5801,17 @@ } // FY23淇敼 WLIG-CFV4AV 閲嶇偣浜у搧缁存姢锛堟柊锛塭nd + // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm start + // Json瑙f瀽 + public static String getValueFromJSONString(String jsonstring, String key) { + if (String.isNotBlank(jsonstring)) { + Map<String, Object> mapping = (Map<String, Object>) JSON.deserializeUntyped(jsonstring); + return mapping.get(key) != null ? String.valueOf(mapping.get(key)) : mapping.get('Default') != null ? String.valueOf(mapping.get('Default')) : null; + } + return null; + } + // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm end + //20221021 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 start public static void UpdateBiddingFlag(List<String> oppId){ List<Tender_Opportunity_Link__c> links = [SELECT Id, Tender_information__c, Tender_information__r.IsReactionOpp__c, Opportunity__c diff --git a/force-app/main/default/classes/OdsToUserHandler.cls b/force-app/main/default/classes/OdsToUserHandler.cls index a1dc51b..c0fe8bd 100644 --- a/force-app/main/default/classes/OdsToUserHandler.cls +++ b/force-app/main/default/classes/OdsToUserHandler.cls @@ -30,7 +30,11 @@ } protected override void afterUpdate() { - UpsertUser(); + //20230317 you 澧炲姞hr淇℃伅鍚屾user 寮�鍏� + if (System.label.HrODSTOUser.equals('true')) { + UpsertUser(); + } + } diff --git a/force-app/main/default/classes/OpdAmountBatch.cls b/force-app/main/default/classes/OpdAmountBatch.cls index 76cc2f3..8c0862d 100644 --- a/force-app/main/default/classes/OpdAmountBatch.cls +++ b/force-app/main/default/classes/OpdAmountBatch.cls @@ -356,6 +356,11 @@ ,Dealer_Final_Price__c ,HospitalTransactionAmount__c //20230222 DB202302339407 you end + //20230327 DB202303372329 you start + ,OP_ThousandY_Order__c + ,OrderThisYearQY__c + ,Opportunity__c + //20230327 DB202303372329 you end from Account2__c where Account_Org__c = :dcList]; @@ -508,6 +513,12 @@ accTar.Opportunity_ThousandY__c = acc2.Opportunity_ThousandY__c; accTar.Amount_Without_Tax_Thousand__c = acc2.Amount_Without_Tax_Thousand__c; + //20230327 DB202303372329 you start + accTar.OP_ThousandY_Order__c = acc2.OP_ThousandY_Order__c; + accTar.OrderThisYearQY__c = acc2.OrderThisYearQY__c; + accTar.Opportunity__c = acc2.Opportunity__c; + //20230327 DB202303372329 you end + //20220111 SWAG-C8MBB6 鍔�7.璇环 lt start accTar.AllOP_ThousandY__c = acc2.AllOP_ThousandY__c; //20220111 SWAG-C8MBB6 鍔�7.璇环 lt end diff --git a/force-app/main/default/classes/RepairTrigger.cls b/force-app/main/default/classes/RepairTrigger.cls index 8a1a238..e84bd95 100644 --- a/force-app/main/default/classes/RepairTrigger.cls +++ b/force-app/main/default/classes/RepairTrigger.cls @@ -406,12 +406,14 @@ } } }else if(repair.On_site_repair__c == '鍔炰簨澶勪慨鐞�' || repair.On_site_repair__c== '鐜板満淇悊'){ - if(repair.Sales_Branch__c == '涓婃捣鍒嗗叕鍙�'){ + /** 20230313 you DB202303171085 + if(repair.Sales_Branch__c == '涓婃捣鍒嗗叕鍙�'){ if (hzProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鏉窞鍏遍�氬姙浜嬪'; leakDefaultFlag = false; } - } else if(repair.Sales_Branch__c == '骞垮窞鍒嗗叕鍙�'){ + } else **/ + if(repair.Sales_Branch__c == '骞垮窞鍒嗗叕鍙�'){ if (cdProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鎴愰兘鍏遍�氬姙浜嬪'; leakDefaultFlag = false; @@ -477,12 +479,14 @@ leakDefaultFlag = false; } }else if(repair.On_site_repair__c == '鍔炰簨澶勪慨鐞�' || repair.On_site_repair__c== '鐜板満淇悊'){ + /** 20230313 you DB202303171085 if(repair.Contract_Principal_Office__c == '涓婃捣RC'){ if (hzProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鏉窞鍏遍�氬姙浜嬪'; leakDefaultFlag = false; } - } else if(repair.Contract_Principal_Office__c == '骞垮窞RC'){ + } else **/ + if(repair.Contract_Principal_Office__c == '骞垮窞RC'){ if (cdProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鎴愰兘鍏遍�氬姙浜嬪'; leakDefaultFlag = false; @@ -591,13 +595,15 @@ } } }else if(repair.On_site_repair__c == '鍔炰簨澶勪慨鐞�' || repair.On_site_repair__c== '鐜板満淇悊'){ + /** 20230313 you DB202303171085 if(repair.Sales_Branch__c == '涓婃捣鍒嗗叕鍙�'){ //鏍规嵁淇悊鍝佽繑閫佸湴涓洪潪鍖椾含 if (hzProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鏉窞鍏遍�氬姙浜嬪'; leakDefaultFlag = false; } - } else if(repair.Sales_Branch__c == '骞垮窞鍒嗗叕鍙�'){ + } else **/ + if(repair.Sales_Branch__c == '骞垮窞鍒嗗叕鍙�'){ //鏍规嵁淇悊鍝佽繑閫佸湴涓洪潪鍖椾含 if (cdProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鎴愰兘鍏遍�氬姙浜嬪'; @@ -667,12 +673,14 @@ leakDefaultFlag = false; } }else if(repair.On_site_repair__c == '鍔炰簨澶勪慨鐞�' || repair.On_site_repair__c== '鐜板満淇悊'){ + /** 20230313 you DB202303171085 if(middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c == '涓婃捣RC'){ if (hzProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鏉窞鍏遍�氬姙浜嬪'; leakDefaultFlag = false; } - } else if(middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c == '骞垮窞RC'){ + } else**/ + if(middleTable.Maintenance_Contract__r.SalesOfficeCode_selection__c == '骞垮窞RC'){ if (cdProvince.contains(repair.SalesOfficeCode_selection__c)) { repair.work_location_select__c = '鎴愰兘鍏遍�氬姙浜嬪'; leakDefaultFlag = false; diff --git a/force-app/main/default/classes/RollupToHPBatch.cls b/force-app/main/default/classes/RollupToHPBatch.cls index ff6dd55..c58d7e6 100644 --- a/force-app/main/default/classes/RollupToHPBatch.cls +++ b/force-app/main/default/classes/RollupToHPBatch.cls @@ -779,6 +779,11 @@ ,order_Date_For_Report__c ,StageName__c //20230222 DB202302339407 you end + //20230327 DB202303372329 you start + ,OP_ThousandY_Order__c + ,OrderThisYearQY__c + ,Opportunity__c + //20230327 DB202303372329 you end from Opportunity where Hospital__c in :hpList ]) { @@ -826,8 +831,14 @@ o10 = o8 + o9; } //20230222 you end - setOppAmount(hpacc, o1, o2, o3, o4, o5, o6, o7,o8,o9,o10); - setOppAmount(dcacc, o1, o2, o3, o4, o5, o6, o7,o8,o9,o10); + //20230327 DB202303372329 you start + Decimal o11 = opp.OP_ThousandY_Order__c == null ? 0 : opp.OP_ThousandY_Order__c; + Decimal o12 = opp.OrderThisYearQY__c == null ? 0 : opp.OrderThisYearQY__c; + Decimal o13 = opp.Opportunity__c == null ? 0 : opp.Opportunity__c; + + //20230327 DB202303372329 you end + setOppAmount(hpacc, o1, o2, o3, o4, o5, o6, o7,o8,o9,o10,o11,o12,o13); + setOppAmount(dcacc, o1, o2, o3, o4, o5, o6, o7,o8,o9,o10,o11,o12,o13); } @@ -1409,6 +1420,12 @@ acc.Opportunity_ThousandY__c = 0; acc.Amount_Without_Tax_Thousand__c = 0; + //20230327 DB202303372329 you start + acc.OP_ThousandY_Order__c = 0; + acc.OrderThisYearQY__c =0; + acc.Opportunity__c =0; + //20230327 DB202303372329 you end + //20220111 SWAG-C8MBB6 鍔�7.璇环 lt start acc.AllOP_ThousandY__c = 0; //20220111 SWAG-C8MBB6 鍔�7.璇环 lt end @@ -1815,7 +1832,7 @@ acc.ShippedAmount_HP__c += sa; } - private void setOppAmount(Account2__c acc, Decimal o1, Decimal o2, Decimal o3, Decimal o4, Decimal o5, Decimal o6, Decimal o7,Decimal o8,Decimal o9,Decimal o10) { + private void setOppAmount(Account2__c acc, Decimal o1, Decimal o2, Decimal o3, Decimal o4, Decimal o5, Decimal o6, Decimal o7,Decimal o8,Decimal o9,Decimal o10,Decimal o11,Decimal o12,Decimal o13) { acc.Opp_Actual_ThousandY__c += o1; acc.BO_Forecast_ThousandY__c += o2; acc.OP_ThousandY__c += o3; @@ -1831,6 +1848,11 @@ acc.HospitalTransactionAmount__c += o10; //20230222 you end + //20230327 DB202303372329 you start + acc.OP_ThousandY_Order__c += o11; + acc.OrderThisYearQY__c += o12; + acc.Opportunity__c += o13; + //20230327 DB202303372329 you end } private void setOpdIproductCount(Account2__c acc, Decimal decIP1, Decimal decIP2, Decimal decIP3, Decimal decIP4, Decimal decIP5, Decimal decIP6, Decimal decIP7, Decimal decIP8, Decimal decIP9, Decimal decIP10, @@ -2396,5 +2418,470 @@ countImportantProduct(acc,nameType,tmpCnt,tmpKey,allList,departmentE,depToOtherDepAcc2Map, updateAccount, OldAccount2); } + @TestVisible private static void test() { + Integer i = 0; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; +} } \ No newline at end of file -- Gitblit v1.9.1