From 823b027c0decb82043c6e39f2d6ef1bb020220b1 Mon Sep 17 00:00:00 2001 From: 高章伟 <gaozhangwei@prec-tech.com> Date: 星期四, 10 三月 2022 16:47:31 +0800 Subject: [PATCH] 最近一个月修改内容 --- force-app/main/default/classes/OrderPdfController.cls | 48 force-app/main/default/classes/OrderTriggerHandler.cls | 285 +++------- force-app/main/default/classes/CopyOpportunityController.cls | 234 ++++++++ force-app/main/default/classes/ProRegisterHandlerTest.cls | 208 +++++- force-app/main/default/triggers/OrderTrigger.trigger | 10 force-app/main/default/classes/OrderPdf2Controller.cls | 10 force-app/main/default/classes/Product2TriggerHandler.cls | 180 ++++- force-app/main/default/classes/Product2TriggerHandlerTest.cls | 228 +++++++ force-app/main/default/classes/NEWCreateSWOQuoteController.cls | 11 force-app/main/default/pages/OrderPdf2.page | 16 force-app/main/default/classes/CopyOpportunityController.cls-meta.xml | 5 force-app/main/default/classes/ProRegisterHandler.cls | 191 +++++- force-app/main/default/classes/SBG001TriggerHandler.cls | 8 force-app/main/default/pages/NEWCreateSWOQuote.page | 14 force-app/main/default/pages/OrderContract2.page | 2 force-app/main/default/classes/OrderTriggerTest.cls | 15 force-app/main/default/classes/OpportunityTriggerHandler.cls | 3 force-app/main/default/pages/OrderPDF.page | 2 force-app/main/default/pages/OrderPdf3.page | 20 force-app/main/default/pages/CopyOpportunity.page | 50 + force-app/main/default/pages/CopyOpportunity.page-meta.xml | 7 force-app/main/default/staticresources/SWOJS.js | 11 force-app/main/default/classes/RadiationUtil.cls | 5 force-app/main/default/classes/StaticParameter.cls | 5 24 files changed, 1,109 insertions(+), 459 deletions(-) diff --git a/force-app/main/default/classes/CopyOpportunityController.cls b/force-app/main/default/classes/CopyOpportunityController.cls new file mode 100644 index 0000000..448ba2b --- /dev/null +++ b/force-app/main/default/classes/CopyOpportunityController.cls @@ -0,0 +1,234 @@ +/** + * 璺ㄥ尯閿�鍞垏鎹㈠悎浣滀唬鐞嗗晢鍜屽師浠g悊鍟� + */ +public without sharing class CopyOpportunityController { + + // 閾炬帴鍦板潃 + public String baseUrl { get; set; } + public String rtUrl { get; set; } + + public String OppId {get; set;} // 璇环id + public String QuoteId {get; set;} // 鎶ヤ环id + + public Opportunity opportunity {get; set;} //鍘熻浠� + public Quote quote {get; set;} //鍘熸姤浠� + + /** + * 鏃犲弬鏋勯�犳柟娉� + * @author Dai Y + * @date 2022-02-28 + * @return null + */ + public CopyOpportunityController() { + baseUrl = URL.getSalesforceBaseUrl().toExternalForm(); + String path = URL.getCurrentRequestUrl().getPath(); + if (path.indexOf('/apex') > 0) { + baseUrl += path.substring(0,path.indexOf('/apex')); + } else if (path.indexOf('production/') > 0) { + baseUrl += '/production'; + } + // 杩斿洖鍦板潃url + rtUrl = System.currentPageReference().getParameters().get('retURL'); + if (rtUrl == null || rtUrl == 'null') { + rtUrl = ''; + } + OppId = System.currentPageReference().getParameters().get('OppId'); + QuoteId = System.currentPageReference().getParameters().get('QuotesId'); + } + + /** + * 鍒濆鍖栨柟娉� + * @author Dai Y + * @date 2022-02-28 + * @return null + */ + public void init(){ + opportunity = [select id,ProductSegment__c,Dealer__c,DealerSelectOwner__c,HeadOfCooperationArea__c,CrossCooperativeDealer__c from Opportunity where id =:OppId]; + Opportunity.Dealer__c = null; + Opportunity.DealerSelectOwner__c = null; + Opportunity.HeadOfCooperationArea__c = null; + Opportunity.CrossCooperativeDealer__c = null; + + } + + /** + * 淇濆瓨鏂规硶 + * @author Dai Y + * @date 2022-02-28 + */ + public PageReference Save(){ + + Opportunity opp = null; + List<OpportunityLineItem> oliList = null; + List<OpportunityContactRole> ocrList = null; + List<OpportunityTeamMember> otmList = null; + //Schema.DescribeSobjectResult d_opp = Opportunity.sObjectType.getDescribe(); + schema.describeSObjectresult d = schema.Opportunity.sObjectType.getDescribe(); + Map<String, Schema.SObjectField> d_opp_map = d.fields.getMap(); + String soql_opp = 'select '; + String fields_opp = ''; + for (String field : d_opp_map.keySet()) { + if (fields_opp.length() > 0) { + fields_opp += ', '; + } + fields_opp += field; + } + soql_opp += fields_opp; + soql_opp += ' from Opportunity where Id = \'' + OppId + '\''; + //List<Opportunity> oppList = [select Id, SyncedQuoteId from Opportunity where Id = :odr.OpportunityId]; + List<Opportunity> oppList = Database.query(soql_opp); + if (oppList.size() > 0) { + opp = oppList[0]; + oliList = [select Id, PricebookEntryId, Product_Search__c, Product_Search__r.Id, Product_Search__r.Product__c from OpportunityLineItem where OpportunityId = :OppId]; + ocrList = [select Id, OpportunityId, ContactId, Role, IsPrimary from OpportunityContactRole where OpportunityId = :OppId]; + otmList = [select id, userId,teamMemberRole,opportunityId,OpportunityAccessLevel from OpportunityTeamMember where OpportunityId = :OppId]; + } + Map<String, Product_Search__c> psMap = new Map<String, Product_Search__c>(); + if (oliList.size() > 0) { + for (OpportunityLineItem oli : oliList) { + psMap.put(oli.PricebookEntryId, oli.Product_Search__r); + } + } + + + + // 鍙栧緱鍘熸姤浠枫�佹姤浠蜂骇鍝� + Quote quo = null; + List<QuoteLineItem> qliList = null; + Map<String, QuoteLineItem> qliMap = new Map<String, QuoteLineItem>(); + Schema.DescribeSobjectResult d_quo = schema.Quote.sObjectType.getDescribe(); + Map<String, Schema.SObjectField> d_quo_map = d_quo.fields.getMap(); + String soql_quo = 'select '; + String fields_quo = ''; + for (String field : d_quo_map.keySet()) { + if (fields_quo.length() > 0) { + fields_quo += ', '; + } + fields_quo += field; + } + soql_quo += fields_quo; + soql_quo += ' from Quote where Id = \'' + QuoteId + '\''; + //List<Quote> quoList = [select Id from Quote where Id = :odr.QuoteId]; + List<Quote> quoList = Database.query(soql_quo); + if (quoList.size() > 0) { + quo = quoList[0]; + qliList = [select Id, Set__c, Description, Quantity, Discount, ListPrice, PricebookEntryId, QuoteId, UnitPrice, Custom_Price__c,SetName__c from QuoteLineItem where QuoteId = :QuoteId]; + for (QuoteLineItem qli : qliList) { + qliMap.put(qli.Id, qli); + } + } + + + System.debug(opp); + System.debug(oliList); + System.debug(ocrList); + System.debug(quo); + System.debug(qliList); + + + // 璺宠繃璇环鐘舵�佸啓鍏ラ檺鍒� + StaticParameter.StageProgressBarUpdate = true; + + Savepoint sp = Database.setSavepoint(); + try { + + Opportunity ins_opp = opp.clone(); + opp.Is_Decided__c = false; + update opp; + + System.debug('=====update opp'); + ins_opp.Id = null; + ins_opp.SyncedQuoteId = null; + ins_opp.Is_Decided__c = false; + ins_opp.DealerSelectOwner__c = opportunity.DealerSelectOwner__c; + ins_opp.HeadOfCooperationArea__c = opportunity.HeadOfCooperationArea__c; + ins_opp.Dealer__c = opportunity.Dealer__c; + ins_opp.CrossCooperativeDealer__c = opportunity.CrossCooperativeDealer__c; + ins_opp.the_Upload_of_quotation_number__c = null; + //ins_opp.org_opportunity__c = opp.Id; + insert ins_opp; + + // 澶嶅埗璇环鑱旂郴浜� + List<OpportunityContactRole> ins_ocrList = new List<OpportunityContactRole>(); + for (OpportunityContactRole ocr : ocrList) { + OpportunityContactRole ins_ocr = ocr.clone(); + ins_ocr.Id = null; + ins_ocr.OpportunityId = ins_opp.Id; + + ins_ocrList.add(ins_ocr); + } + if (ins_ocrList.size() > 0) insert ins_ocrList; + + List<OpportunityTeamMember> ins_otmList = new List<OpportunityTeamMember>(); + for (OpportunityTeamMember otm : otmList ) { + OpportunityTeamMember ins_otm = otm.clone(); + ins_otm.OpportunityId = ins_opp.Id; + ins_otm.Id = null; + } + + if (ins_otmList.size() >0 ) { + insert ins_otmList; + } + + // 澶嶅埗鎶ヤ环 + Quote ins_quo = null; + if (quo != null) { + ins_quo = quo.clone(); + ins_quo.Id = null; + ins_quo.OpportunityId = ins_opp.Id; + ins_quo.Is_Decided__c = false; + for (Integer i = 1; i < = 30; i++) { + Decimal qty = (Decimal) ins_quo.get('SetQty' + i + '__c'); + if (qty > 1) { + ins_quo.put('SetQty' + i + '__c', 1); + } + } + } + if (ins_quo != null) insert ins_quo; + + List<QuoteLineItem> ins_qliList = new List<QuoteLineItem>(); + if (ins_quo != null) { + for (QuoteLineItem qli : qliList) { + QuoteLineItem ins_qli = qli.clone(); + ins_qli.Id = null; + ins_qli.QuoteId = ins_quo.Id; + + ins_qliList.add(ins_qli); + } + } + + if (ins_qliList.size() > 0) insert ins_qliList; + + String url = baseUrl; + url += '\\' + ins_opp.Id; + return new Pagereference(url); + + }catch (Exception ex) { + Database.rollback(sp); + System.debug('=====Exception:' + ex.getMessage() + ' | Line:' + ex.getLineNumber()); + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, ex.getMessage() + ' | Line:' + ex.getLineNumber())); + return null; + } + return null; + + } + + + public PageReference BackBtn() { + return null; + } + /** + * 鏁版嵁妫�鏌ユ柟娉� + * @author Dai Y + * @date 2022-03-01 + * @return 鏁版嵁鍚堟牸杩斿洖 true + */ + private boolean DateCheck (){ + Boolean flag = true ; //鍚堟牸鏍囪锛屽垵濮嬩负true + + + + return flag; + } + +} \ No newline at end of file diff --git a/force-app/main/default/classes/CopyOpportunityController.cls-meta.xml b/force-app/main/default/classes/CopyOpportunityController.cls-meta.xml new file mode 100644 index 0000000..f3bac1f --- /dev/null +++ b/force-app/main/default/classes/CopyOpportunityController.cls-meta.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> + <apiVersion>41.0</apiVersion> + <status>Active</status> +</ApexClass> diff --git a/force-app/main/default/classes/NEWCreateSWOQuoteController.cls b/force-app/main/default/classes/NEWCreateSWOQuoteController.cls index 68b31b0..8375826 100644 --- a/force-app/main/default/classes/NEWCreateSWOQuoteController.cls +++ b/force-app/main/default/classes/NEWCreateSWOQuoteController.cls @@ -362,7 +362,7 @@ if ('缁翠慨鎶ヤ环鍗�'.equals(QuotesPage.QuotesType__c)) { QuotesPage.CUSTOMER_MESSAGE__c = ''; //鏃ユ湡2121骞�11鏈�15鍙蜂箣鍚庣殑,鐢ㄦ柊鐨勫厤璐g敵鏄庛�� - if (aftORbef == true) { + if (aftORbef == true || aftORbef1 == true) { QuotesPage.CUSTOMER_MESSAGE__c += '-缁翠慨璐ㄤ繚鍙兜鐩栦簬鏈缁翠慨鐨勯厤浠讹紝缁翠慨璐ㄤ繚鏈熶负浠櫒鍙戣揣鍚庝笁涓湀鍔犲叓澶┿�俓n'; Messages01 = '-缁翠慨璐ㄤ繚鍙兜鐩栦簬鏈缁翠慨鐨勯厤浠讹紝缁翠慨璐ㄤ繚鏈熶负浠櫒鍙戣揣鍚庝笁涓湀鍔犲叓澶┿��'; }else{ @@ -380,8 +380,13 @@ Messages05 = '鏃ユ湡锛�'; } else if ('闆朵欢鎶ヤ环鍗�'.equals(QuotesPage.QuotesType__c)) { QuotesPage.CUSTOMER_MESSAGE__c = ''; - QuotesPage.CUSTOMER_MESSAGE__c += '-濂ユ灄宸存柉鏈嶅姟閮ㄥ敭鍑虹殑缁翠慨閰嶄欢纭繚涓鸿川閲忕鍚堝ゥ鏋楀反鏂弬鏁版寚鏍囩殑鏂板搧锛屽ゥ鏋楀反鏂鍞嚭鐨勭淮淇厤浠朵笉鎻愪緵淇濅慨鏈嶅姟锛屽悓鏃朵篃涓嶆彁渚涢��銆佹崲璐ф湇鍔°�傛暚璇锋偍璋ㄦ厧璐拱銆俓n'; - Messages01 = '-濂ユ灄宸存柉鏈嶅姟閮ㄥ敭鍑虹殑缁翠慨閰嶄欢纭繚涓鸿川閲忕鍚堝ゥ鏋楀反鏂弬鏁版寚鏍囩殑鏂板搧锛屽ゥ鏋楀反鏂鍞嚭鐨勭淮淇厤浠朵笉鎻愪緵淇濅慨鏈嶅姟锛屽悓鏃朵篃涓嶆彁渚涢��銆佹崲璐ф湇鍔°�傛暚璇锋偍璋ㄦ厧璐拱銆�'; + if ('NDT'.equals(QuotesPage.PRODUCT_SEGMENT__c)) { + QuotesPage.CUSTOMER_MESSAGE__c += '-浠櫙閫氬厜瀛︾鎶�(涓婃捣)鏈夐檺鍏徃鍖椾含鍒嗗叕鍙稿敭鍑虹殑缁翠慨閰嶄欢涓哄ゥ鏋楀反鏂師鍘傞厤浠讹紝浠櫙閫氬叕鍙稿鍞嚭鐨勭淮淇厤浠朵笉鎻愪緵淇濅慨鏈嶅姟锛屼篃涓嶆彁渚涢��銆佹崲璐ф湇鍔★紝鏁鎮ㄨ皑鎱庤喘涔般�俓n'; + Messages01 = '-浠櫙閫氬厜瀛︾鎶�(涓婃捣)鏈夐檺鍏徃鍖椾含鍒嗗叕鍙稿敭鍑虹殑缁翠慨閰嶄欢涓哄ゥ鏋楀反鏂師鍘傞厤浠讹紝浠櫙閫氬叕鍙稿鍞嚭鐨勭淮淇厤浠朵笉鎻愪緵淇濅慨鏈嶅姟锛屼篃涓嶆彁渚涢��銆佹崲璐ф湇鍔★紝鏁鎮ㄨ皑鎱庤喘涔般��'; + }else { + QuotesPage.CUSTOMER_MESSAGE__c += '-濂ユ灄宸存柉鏈嶅姟閮ㄥ敭鍑虹殑缁翠慨閰嶄欢纭繚涓鸿川閲忕鍚堝ゥ鏋楀反鏂弬鏁版寚鏍囩殑鏂板搧锛屽ゥ鏋楀反鏂鍞嚭鐨勭淮淇厤浠朵笉鎻愪緵淇濅慨鏈嶅姟锛屽悓鏃朵篃涓嶆彁渚涢��銆佹崲璐ф湇鍔°�傛暚璇锋偍璋ㄦ厧璐拱銆俓n'; + Messages01 = '-濂ユ灄宸存柉鏈嶅姟閮ㄥ敭鍑虹殑缁翠慨閰嶄欢纭繚涓鸿川閲忕鍚堝ゥ鏋楀反鏂弬鏁版寚鏍囩殑鏂板搧锛屽ゥ鏋楀反鏂鍞嚭鐨勭淮淇厤浠朵笉鎻愪緵淇濅慨鏈嶅姟锛屽悓鏃朵篃涓嶆彁渚涢��銆佹崲璐ф湇鍔°�傛暚璇锋偍璋ㄦ厧璐拱銆�'; + } QuotesPage.CUSTOMER_MESSAGE__c += '-鐢ㄦ埛鍦ㄦ纭姝ゆ鎶ヤ环锛屽喅瀹氳喘涔帮細\n'; Messages02 = '-鐢ㄦ埛鍦ㄦ纭姝ゆ鎶ヤ环锛屽喅瀹氳喘涔帮細'; QuotesPage.CUSTOMER_MESSAGE__c += '瀹㈡埛绛惧瓧鎴栫洊绔狅細\n'; diff --git a/force-app/main/default/classes/OpportunityTriggerHandler.cls b/force-app/main/default/classes/OpportunityTriggerHandler.cls index e00eca2..be66aac 100644 --- a/force-app/main/default/classes/OpportunityTriggerHandler.cls +++ b/force-app/main/default/classes/OpportunityTriggerHandler.cls @@ -800,7 +800,7 @@ opportunityToOwner.put(opp.Id, opp.DealerSelectOwner__c); } - Map<Id, User> copyUserMap = new Map<Id, User>([SELECT Id, Name,BS_AsistGenManger__c,AsistGenManger__c, BusinessDepOwner_Tax__c,BusinessDepOwner_WithoutTax__c,SalesWindow__c,Department__c,SalesManager__c FROM User + Map<Id, User> copyUserMap = new Map<Id, User>([SELECT Id, Name,BS_AsistGenManger__c, BusinessDepOwner_Tax__c,BusinessDepOwner_WithoutTax__c,SalesWindow__c,Department__c,SalesManager__c FROM User WHERE Id IN :ownerIdList ]); for (Opportunity opp: newList) @@ -815,7 +815,6 @@ opp.IESalesManage__c = u.SalesManager__c != null ? u.SalesManager__c : u.Id; opp.IESalesManageWindow__c = u.SalesWindow__c != null ? u.SalesWindow__c : u.Id; opp.DepartmentPrincipal__c = u.Department__c != null ? u.Department__c : u.Id; - opp.AsistGenMangerIE__c = u.AsistGenManger__c != null ? u.AsistGenManger__c : u.Id; } //缁撴潫 //璺ㄥ尯閿�鍞坊鍔犲壇閮ㄩ暱 diff --git a/force-app/main/default/classes/OrderPdf2Controller.cls b/force-app/main/default/classes/OrderPdf2Controller.cls index c090912..6bea583 100644 --- a/force-app/main/default/classes/OrderPdf2Controller.cls +++ b/force-app/main/default/classes/OrderPdf2Controller.cls @@ -30,12 +30,12 @@ private Integer eachCnt = 48; private Integer lastMaxCnt = 35; - private Integer iRfirstCnt = 6; + private Integer iRfirstCnt = 9; private Integer iRfirstMaxCnt = 23; private Integer iReachCnt = 48; private Integer iRlastMaxCnt = 30; - private Integer nAfirstCnt = 6; + private Integer nAfirstCnt = 9; private Integer nAfirstMaxCnt = 23; private Integer nAeachCnt = 48; private Integer nAlastMaxCnt = 30; @@ -579,11 +579,11 @@ seller_province1 = '鍖椾含'; seller_phone1 = '010-58199000'; - seller_name2 = '濂ユ灄宸存柉锛堝寳浜級閿�鍞湇鍔℃湁闄愬叕鍙镐笂娴峰垎鍏徃'; - seller_address2 = '涓婃捣甯傚緪姹囧尯娣捣涓矾1010鍙�1001-1006銆�1101銆�1102銆�1104-1106銆�1601瀹�'; + seller_name2 = '浠櫙閫氬厜瀛︾鎶�锛堜笂娴凤級鏈夐檺鍏徃'; + seller_address2 = '涓浗锛堜笂娴凤級鑷敱璐告槗璇曢獙鍖烘棩妯卞寳璺�199-9鍙�102鍙�302閮ㄤ綅'; seller_city2 = '涓婃捣'; seller_province2 = '涓婃捣'; - seller_phone2 = '021-51582084'; + seller_phone2 = '021-58881300'; header = new HeaderInfo(); inputDetails = new List<DetailInfo>(); diff --git a/force-app/main/default/classes/OrderPdfController.cls b/force-app/main/default/classes/OrderPdfController.cls index 1609f66..e63df9c 100644 --- a/force-app/main/default/classes/OrderPdfController.cls +++ b/force-app/main/default/classes/OrderPdfController.cls @@ -192,31 +192,31 @@ od.PDF_Co_SContra_E__c = 'one'; } if ((Opp.ProductSegment__c == 'IE' || Opp.ProductSegment__c == 'RVI' || Opp.ProductSegment__c == 'BS') && Opp.TradeType__c == 'Tax Exemption') { - od.PDF_SELLER__c = '濂ユ灄宸存柉棣欐腐涓浗鏈夐檺鍏徃'; - od.PDF_THE_SELLER__c = 'Olympus Hong Kong and China Limited'; - od.PDF_S_Adds__c = '棣欐腐鏂扮晫钁垫秾钁垫槍璺�51铏熶節榫嶈部鏄撲腑蹇�1搴�26妯�'; - od.PDF_S_Address__c = 'L26, Tower 1, Kowloon Commerce Centre, 51 Kwai Cheong Road, Kwai Chung, New Territories, Hong Kong.'; - od.PDF_S_TEL__c = '锛�852锛�2170 5678'; - od.PDF_S_FAX__c = '锛�852锛�2170 5679'; - od.PDF_S_Bank_Name__c = 'MUFG Bank锛孡td'; - od.PDF_S_Branch__c = 'Kowloon Branch'; - od.PDF_S_Bank_Address__c = '15/F, Peninsula Office Tower 18 Middle Road, Kowloon, Hong Kong'; - od.PDF_S_Account_No__c = '047-821-85800023837锛圲SD Saving Account锛�'; - od.PDF_S_Swift_Code__c = 'BOTKHKHH'; - od.PDF_S_Account_Name__c = 'Evident Corporation'; + od.PDF_SELLER__c = '浠櫙閫氬厜瀛︾鎶�锛堜笂娴凤級鏈夐檺鍏徃'; + od.PDF_THE_SELLER__c = 'Evident (Shanghai) Co., Ltd'; + od.PDF_S_Adds__c = '涓浗锛堜笂娴凤級鑷敱璐告槗璇曢獙鍖烘棩妯卞寳璺�199-9鍙�102鍙�302閮ㄤ綅'; + od.PDF_S_Address__c = 'PART 302&102,NO.199-9,NORTH RIYING ROAD,CHINA (SHANGHAI) PILOT FREE TRADE ZONE'; + od.PDF_S_TEL__c = '021-58881300'; + od.PDF_S_FAX__c = ''; + od.PDF_S_Bank_Name__c = 'SUMITOMO MITSUI BANKING CORPORATION锛圕HINA锛塋IMITED'; + od.PDF_S_Branch__c = ''; + od.PDF_S_Bank_Address__c = '11F, SHANGHAI WORLD FINANCIAL CENTER, 100 CENTURY AVENUE, PUDONG NEW AREA ,SHANGHAI 200120, PEOPLE\'S REPUBLIC OF CHINA'; + od.PDF_S_Account_No__c = '40453301'; + od.PDF_S_Swift_Code__c = 'SMBCCNSH'; + od.PDF_S_Account_Name__c = 'Evident(Shanghai)CO.,LTD'; } else if (( Opp.ProductSegment__c == 'NDT' || Opp.ProductSegment__c == 'ANI') && Opp.TradeType__c == 'Tax Exemption') { - od.PDF_SELLER__c = '濂ユ灄宸存柉棣欐腐涓浗鏈夐檺鍏徃'; - od.PDF_THE_SELLER__c = 'Olympus Hong Kong and China Limited'; - od.PDF_S_Adds__c = '棣欐腐鏂扮晫钁垫秾钁垫槍璺�51铏熶節榫嶈部鏄撲腑蹇�1搴�26妯�'; - od.PDF_S_Address__c = 'L26, Tower 1, Kowloon Commerce Centre, 51 Kwai Cheong Road, Kwai Chung, New Territories, Hong Kong'; - od.PDF_S_TEL__c = '锛�852锛�2170 5678'; - od.PDF_S_FAX__c = '锛�852锛�2170 5679'; - od.PDF_S_Bank_Name__c = 'The Bank Of Tokyo-Mitsubishi UFJ锛孡td.'; - od.PDF_S_Branch__c = 'Kowloon Branch '; - od.PDF_S_Bank_Address__c = '15/F., Peninsula Office Tower, 18 Middle Road, Kowloon'; - od.PDF_S_Account_No__c = '047-821-85800023837锛圲SD Saving Account锛�'; - od.PDF_S_Swift_Code__c = 'BOTKHKHH'; - od.PDF_S_Account_Name__c = 'Olympus Hong Kong and China Limited'; + od.PDF_SELLER__c = '浠櫙閫氬厜瀛︾鎶�锛堜笂娴凤級鏈夐檺鍏徃'; + od.PDF_THE_SELLER__c = 'Evident (Shanghai) Co., Ltd'; + od.PDF_S_Adds__c = '涓浗锛堜笂娴凤級鑷敱璐告槗璇曢獙鍖烘棩妯卞寳璺�199-9鍙�102鍙�302閮ㄤ綅'; + od.PDF_S_Address__c = 'PART 302&102,NO.199-9,NORTH RIYING ROAD,CHINA (SHANGHAI) PILOT FREE TRADE ZONE'; + od.PDF_S_TEL__c = '021-58881300'; + od.PDF_S_FAX__c = ''; + od.PDF_S_Bank_Name__c = 'SUMITOMO MITSUI BANKING CORPORATION锛圕HINA锛塋IMITED'; + od.PDF_S_Branch__c = ''; + od.PDF_S_Bank_Address__c = '11F, SHANGHAI WORLD FINANCIAL CENTER, 100 CENTURY AVENUE, PUDONG NEW AREA ,SHANGHAI 200120, PEOPLE\'S REPUBLIC OF CHINA'; + od.PDF_S_Account_No__c = '40453301'; + od.PDF_S_Swift_Code__c = 'SMBCCNSH'; + od.PDF_S_Account_Name__c = 'Evident(Shanghai)CO.,LTD'; od.DeliveryTimeTextEn__c = 'Please refer to order confirmation'; od.DeliveryTimeText__c = '璇峰弬鑰冭鍗曠‘璁�'; od.PDF_Bi_AllBill__c = '涓嶉殢璐�'; diff --git a/force-app/main/default/classes/OrderTriggerHandler.cls b/force-app/main/default/classes/OrderTriggerHandler.cls index a6a92a0..dabed1b 100644 --- a/force-app/main/default/classes/OrderTriggerHandler.cls +++ b/force-app/main/default/classes/OrderTriggerHandler.cls @@ -107,7 +107,7 @@ system.debug('2222222'+getModelQuantityMap); String accountDealerErrorMessage = RadiationUtil.updateCertificationDetails(oliList[0].Opportunity.DealerId__c, null, getModelQuantityMap, false); - String olympusDealerErrorMessage = RadiationUtil.updateCertificationDetails(olympusAccountId, null, getModelQuantityMap, false) == '' ? '' : '浠櫙閫氬彲閿�鍞暟閲忎笉瓒�'; + String olympusDealerErrorMessage = RadiationUtil.updateCertificationDetails(olympusAccountId, null, getModelQuantityMap, false) == '' ? '' : '濂ユ灄宸存柉鍙攢鍞暟閲忎笉瓒�'; //result = accountDealerErrorMessage + (olympusDealerErrorMessage == '' ? '' : '濂ユ灄宸存柉鍙攢鍞暟閲忎笉瓒�') ; Boolean temp = accountDealerErrorMessage.startsWith('浣犱笉鑳�'); String strOly = LicenseCheckUtil.LicenseCheckOly(); @@ -170,8 +170,6 @@ }*/ } - - List<AggregateResult> orderCnt = [select Count(Id) ocnt, OpportunityId from Order where OpportunityId = :oppIdList and Status__c = 'Active' group by OpportunityId]; Map<String, Integer> orderCntMap = new Map<String, Integer>(); for (AggregateResult temp : orderCnt) { @@ -191,12 +189,14 @@ } //鐜嬮箯浼� 鏂板缓鍜屽悓鏃�,鍜岃浠峰姣斿鎴枫�佹渶缁堢敤鎴� //鎴村畤锛屾坊鍔犲悎鍚屽叧鑱旈�昏緫 - List<Opportunity> oppList = [select id,Association_Opportunity__c,CrossCooperativeProject__c,HeadOfCooperationArea__c,CrossCooperativeDealer__r.ManagementCode_F__c,CrossCooperativeDealer__r.Name,SyncedQuoteId, SyncedQuote.PaymentTerms__c, TradeType__c, Quote_PaymentTerms__c,AccountId,customerType__c,useing__c,compo_opp__c,RecordTypeId from Opportunity where id = :oppidList]; + List<Opportunity> oppList = [select id,Association_Opportunity__c,CrossCooperativeProject__c,HeadOfCooperationArea__c,CrossCooperativeDealer__r.ManagementCode_F__c,CrossCooperativeDealer__r.Name,SyncedQuoteId, SyncedQuote.PaymentTerms__c, TradeType__c, Quote_PaymentTerms__c,AccountId,customerType__c,useing__c,compo_opp__c from Opportunity where id = :oppidList]; Map<String, String> syncedQuoteIdMap = new Map<String, String>(); Map<String, String> paymentTermsMap = new Map<String, String>(); Map<String, String> tradeTypeMap = new Map<String, String>(); Map<String,String> oppAccountMap = new Map<String,String>(); Map<String,Opportunity> oppMap = new Map<String,Opportunity>(); + + for (Opportunity opp : oppList) { syncedQuoteIdMap.put(opp.id, opp.SyncedQuoteId); @@ -212,9 +212,6 @@ if(newOrd.ProductSegment__c == 'IE' && newOrd.IE_SP8_D__c != oppMap.get(newOrd.OpportunityId).compo_opp__c){ newOrd.addError('涓嶈兘淇敼鐗规畩鏉′欢COMPO'); } - - - /*if(newOrd.ProductSegment__c == 'BS'){ String temp = oppMap.get(newOrd.OpportunityId).useing__c; if(newOrd.SP_61D__c != (temp == ''?false:true)){ @@ -244,7 +241,7 @@ newOrd.CrossCooperativeDealerCode__c = oppMap.get(newOrd.OpportunityId) == null ? '' :oppMap.get(newOrd.OpportunityId).CrossCooperativeDealer__r.ManagementCode_F__c; newOrd.HeadOfCooperationArea__c = oppMap.get(newOrd.OpportunityId) == null ? null :oppMap.get(newOrd.OpportunityId).HeadOfCooperationArea__c; newOrd.CrossCooperativeDealerText__c = oppMap.get(newOrd.OpportunityId) == null ? null :oppMap.get(newOrd.OpportunityId).CrossCooperativeDealer__r.Name; - newOrd.is_Direct__c = oppMap.get(newOrd.OpportunityId) == null ? false : (oppMap.get(newOrd.OpportunityId).RecordTypeId == '0120T0000003Ser' ? true : false); + //鐜嬮箯浼熸柊鍔狅紝鍚堝悓涓甫鍏� 璇环 璐告槗绠$悊瀹㈡埛鍒嗙被 寮�濮� newOrd.TradeMagCategory__c = oppMap.get(newOrd.OpportunityId) == null ? '' :oppMap.get(newOrd.OpportunityId).customerType__c; @@ -269,7 +266,7 @@ newOrd.RecordTypeId == System.Label.RT_Contract_IndividualCase_NDT || newOrd.RecordTypeId == System.Label.RT_Contract_IndividualCase_RVI; - if (UserInfo.getUserType() == 'PowerPartner' || newOrd.RecordTypeId == System.Label.RT_ServiceContract || newOrd.RecordTypeId == '0120T0000003nka' + if (UserInfo.getUserType() == 'PowerPartner' || newOrd.RecordTypeId == System.Label.RT_ServiceContract || newOrd.RecordTypeId == System.Label.RT_ServiceContractIE || newOrd.RecordTypeId == System.Label.RT_ServiceContractRVI || individualCase) { // 澶栬锤閫佽揪鏂归粯璁や负澶栬锤鍏徃 if (tradeTypeMap.get(newOrd.OpportunityId) == System.Label.Trade_Type) { @@ -428,6 +425,7 @@ } public static void setPriceBook(List<Order> newList, Map<Id, Order> newMap, List<Order> oldList, Map<Id, Order> oldMap) { + List<String> oppidList = new List<String>(); for (Order o : newList) { oppidList.add(o.OpportunityId); @@ -444,18 +442,11 @@ public static void addItem(List<Order> newList, Map<Id, Order> newMap, List<Order> oldList, Map<Id, Order> oldMap) { List<String> oppidList = new List<String>(); +// Map<String, String> order2oppMap = new Map<String, String>(); Boolean hasBS = false; - List<OrderShare> salesOwnershareList = new List<OrderShare>(); for (Order o : newList) { oppidList.add(o.OpportunityId); - // 璺ㄧ渷浠藉悎浣滈」鐩� 涓虹湡 骞朵笖 鍚堝悓瀹℃壒浜轰笉鏄┖锛屽皢鍚堝悓鍏变韩缁欏鎵逛汉 Start - if (o.CrossCooperativeProject__c && String.isNotBlank(o.SalesOwner_BS__c)) { - salesOwnershareList.add(DataAssembly(o.Id,o.SalesOwner_BS__c)); - } - // 璺ㄧ渷浠藉悎浣滈」鐩� 涓虹湡 骞朵笖 鍚堝悓瀹℃壒浜轰笉鏄┖锛屽皢鍚堝悓鍏变韩缁欏鎵逛汉 End - } - if (salesOwnershareList.size() > 0) { - insert salesOwnershareList; +// order2oppMap.put(o.Id, o.OpportunityId); } // XHL20210830 List<OpportunityTeamMember> oppTM = new List<OpportunityTeamMember>(); @@ -696,12 +687,8 @@ //鏂扮殑鑾峰彇绠�妗D calendarUtil.getMemberProfileID 杩欓噷鐢ㄥ埌鐨勪汉鍛業D 鍜岃幏鍙栧埌鐨勭畝妗D閮芥槸15浣嶇殑 //String new_profileId = calendarUtil.getMemberProfileID(UserInfo.getUserId().subString(0,15)); String new_profileId = calendarUtil.getMemberProfileID(UserInfo.getUserId().subString(0,15)); - for (Order newOrd : newList) { Order oldOrd = oldMap.get(newOrd.Id); - if(newOrd.CrossCooperativeProject__c && CherkCrossComperativeChanged(newOrd,oldOrd)){ - newOrd.addError('鍒涘缓鍚堝悓鍚庝笉鑳戒慨鏀笰浠g悊鍟嗗拰B浠g悊鍟�'); - } /* if(newOrd.SubDealer__c == '鏃�'){ newOrd.SubDealer__c = ''; }*/ @@ -1484,12 +1471,12 @@ */ public static void setOrderShare (List<Order> newList, Map<Id, Order> newMap, List<Order> oldList, Map<Id, Order> oldMap) { List<OrderShare> insertOrderShareList = new List<OrderShare>(); - BatchIF_Log__c iflog = new BatchIF_Log__c(); + /*BatchIF_Log__c iflog = new BatchIF_Log__c(); iflog.Type__c = 'OrderShare'; String datetimeStr = String.valueOf(Datetime.now()).replace('-','').replace(' ','').replace(':',''); iflog.MessageGroupNumber__c = datetimeStr; iflog.Log__c = ''; - Boolean errrorFlag = false; + Boolean errrorFlag = false;*/ for (Order newOrd : newList) { Order oldOrd = oldMap == null ? new Order() : oldMap.get(newOrd.Id); @@ -1504,7 +1491,7 @@ if (newOrd.SharedFlag__c != oldOrd.SharedFlag__c && newOrd.SharedFlag__c && newOrd.OwnerId != oldOrd.OwnerId) { String userId = oldOrd.OwnerId; insertOrderShareList.add(DataAssembly(newOrd.Id,userId)); - } else { + } /*else { if (newOrd.SharedFlag__c != oldOrd.SharedFlag__c && newOrd.SharedFlag__c) { iflog.Log__c += 'Order Id --->'+ newOrd.Id + '\n'; @@ -1512,7 +1499,7 @@ iflog.Log__c += 'oldOrd.OwnerId--->'+oldOrd.OwnerId + '\n'; errrorFlag = true; } - } + }*/ } if (insertOrderShareList.size() > 0) { @@ -1520,9 +1507,9 @@ insert insertOrderShareList; } - if (errrorFlag) { + /*if (errrorFlag) { insert iflog; - } + }*/ } @@ -1537,18 +1524,8 @@ // } // XHL20210830 if (newOrd.SharedFlag__c != oldOrd.SharedFlag__c && newOrd.SharedFlag__c && newOrd.OwnerId != newOrd.OpportunityOwnerId__c && newOrd.OpportunityOwnerId__c <> null && newOrd.OpportunityOwnerId__c <> '') { - newOrd.OwnerId = newOrd.OpportunityOwnerId__c; + newOrd.OwnerId = newOrd.OpportunityOwnerId__c; } - - if (newOrd.SharedFlag__c != oldOrd.SharedFlag__c && newOrd.SharedFlag__c){ - // 璺ㄧ渷浠藉悎浣滈」鐩� 涓虹湡 骞朵笖 鍚堝悓瀹℃壒浜轰笉鏄┖锛屽皢瀹℃壒浜鸿祴鍊肩粰鎵�鏈変汉 Start - if (newOrd.CrossCooperativeProject__c && String.isNotBlank(newOrd.SalesOwner_BS__c)) { - newOrd.OwnerId = newOrd.SalesOwner_BS__c; - } - // 璺ㄧ渷浠藉悎浣滈」鐩� 涓虹湡 骞朵笖 鍚堝悓瀹℃壒浜轰笉鏄┖锛屽皢瀹℃壒浜鸿祴鍊肩粰鎵�鏈変汉 End - } - - // if (newOrd.ApproveStatus__c != oldOrd.ApproveStatus__c) { if (newOrd.ApproveStatus__c == 'Pass' && newOrd.IsCopy__c == false) { newOrd.IsSpPassed__c = true; @@ -1874,12 +1851,7 @@ if (oldOrder.ApproveStatus__c != newOrder.ApproveStatus__c && (newOrder.ApproveStatus__c == 'Completed' || newOrder.ApproveStatus__c == 'Completed2' || newOrder.ApproveStatus__c == 'CompletedC' || newOrder.ApproveStatus__c == 'CompletedS' )) { ownerIdList.add(newOrder.OpportunityOwnerId__c); - ownerIdList.add(newOrder.SalesOwner_BS__c); - if(newOrder.CrossCooperativeProject__c){ - orderToOwner.put(newOrder.Id, newOrder.SalesOwner_BS__c); - }else{ - orderToOwner.put(newOrder.Id, newOrder.OpportunityOwnerId__c); - } + orderToOwner.put(newOrder.Id, newOrder.OpportunityOwnerId__c); } if (newOrder.Description != null && newOrder.Description.length() > 0) { @@ -2019,12 +1991,14 @@ } //鏄惧井闀滈檷绾� - levelMap = levelCheck(ordIdList); + if(OrderDivisionController.OrderDivision == false){ + levelMap = levelCheck(ordIdList); + } //for() Map<Id, User> copyUserMap = new Map<Id, User>([ SELECT Id, Name, SalesAsistManager__c, BusinessDepOwner_Tax__c, BusinessDepOwner_WithoutTax__c, SalesManager__c, AsistGenManger__c, CRM_Owner__c, - BS_AsistGenManger__c,BS_AsistBGenManger__c,Department__c,BS_BDepartment__c,BS_GeneralManager__c,BS_INDepartment__c,BS_Department__c,BS_Manager__c + BS_AsistGenManger__c,BS_AsistBGenManger__c,BS_BDepartment__c,BS_GeneralManager__c,BS_INDepartment__c,BS_Department__c,BS_Manager__c FROM User WHERE Id IN :ownerIdList ]); @@ -2054,11 +2028,8 @@ User u = copyUserMap.get(orderToOwner.get(newOrder.Id)); - if (u != null && (u.SalesAsistManager__c != null || u.Department__c != null || u.BusinessDepOwner_Tax__c != null || u.BusinessDepOwner_WithoutTax__c != null || u.SalesManager__c != null || u.AsistGenManger__c != null)) { - if(newOrder.CrossCooperativeProject__c == false){ - newOrder.SalesOwner_BS__c = newOrder.OpportunityOwnerId__c; - } - + if (u != null && (u.SalesAsistManager__c != null || u.BusinessDepOwner_Tax__c != null || u.BusinessDepOwner_WithoutTax__c != null || u.SalesManager__c != null || u.AsistGenManger__c != null)) { + newOrder.SalesOwner_BS__c = newOrder.OpportunityOwnerId__c; newOrder.SalesAsistManager_BS__c = u.SalesAsistManager__c == null ? u.Id : u.SalesAsistManager__c; // 褰撻粍骞虫睙鐨処E瀹岀◣鍚堝悓锛屼互涓嬬渷浠戒笟鍔¢儴瀹℃壒浜轰负閮戣蕉鐩� 2018/11/30 if (newOrder.ProductSegment__c == 'IE' && u.Id == '00528000000YVFs' && (newOrder.Province__c == '娌冲崡' || newOrder.Province__c == '灞变笢' @@ -2112,12 +2083,13 @@ newOrder.OrderUpdateUser__c = UserInfo.getUserId(); } //if (newOrder.RecordTypeId == '01228000000NJt8') { - //gwy 2022-02-18 绛夌骇绫诲埆瀛楁娣诲姞鎺у埗,鏅�氬悎鍚屽拰鍙樻洿鐨勫悎鍚屻�� if ((newOrder.ProductSegment__c == 'BS' && newOrder.Is_TAX__c == true && newOrder.AccoutMatketD__c == 'Clinical') && (newOrder.confirm__c == false || (newOrder.confirm__c && String.isNotBlank(newOrder.original_order__c) && !'OrderPass'.equals(newOrder.ApproveStatus__c)))) { //鏄惧井闀滈檷绾� - newOrder.Level_Category__c = levelMap.get(newOrder.id); - } + if(OrderDivisionController.OrderDivision == false){ + newOrder.Level_Category__c = levelMap.get(newOrder.id); + } + } //} } } @@ -2395,7 +2367,7 @@ hasBS = true; } } - if (updateOrderAccount) { + if (updateOrderAccount && OrderDivisionController.OrderDivision == false) { // WLIG-C3M68P XHL 20210607 Start // 鏂板缓涓庡彉鏇村悎鍚屽鎴枫�佹渶缁堢敤鎴锋椂,鍜岃浠峰姣斿鎴枫�佹渶缁堢敤鎴凤紝鑻ヤ笉鐩稿悓鐩存帴鎶ラ敊鎻愰啋 CustomerConsistency(oppidList,oppAccountMap,newList); @@ -2538,15 +2510,10 @@ (odr.RecordTypeId == System.Label.RT_Contract_BS_Tax || odr.RecordTypeId == System.Label.RT_Contract_BS_Tax_Approval || odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax || - odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax_Approval || - odr.RecordTypeId == System.Label.RT_Contract_BS_Tax_kua || - odr.RecordTypeId == System.Label.RT_Contract_BS_Tax_Approval_kua || - odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax_kua || - odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax_Approval_kua )) { + odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax_Approval)) { odrIds.add(odr.Id); } } - system.debug('111111+' + odrIds.size()); if (odrIds.size() == 0) return; Map<String, boolean> hiddenFlagMap = new Map<String, boolean>(); @@ -2568,9 +2535,6 @@ system.debug('hiddenFlagMap'+hiddenFlagMap); for (Order odr : newList) { Order oldOrd = oldMap == null ? new Order() : oldMap.get(odr.Id); - system.debug(odr.RecordTypeId + '@@@' + oldOrd.RecordTypeId); - system.debug(odr.CrossCooperativeProject__c + '!!!!!' + hiddenFlagMap.get(odr.Id)); - //濡傛灉鍚堝悓鐨勮褰曠被鍨嬫槸LS鐩稿叧鐨勮褰曠被鍨嬶紝闇�瑕佹牴鎹殣钘忔爣璁扮‘璁ゆ槸鍚︿慨鏀逛负瀵瑰簲鐨勮褰曠被鍨� if (odr.RecordTypeId != oldOrd.RecordTypeId && (odr.RecordTypeId == System.Label.RT_Contract_BS_Tax || odr.RecordTypeId == System.Label.RT_Contract_BS_Tax_Approval || @@ -2578,77 +2542,23 @@ odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax_Approval)) { if (hiddenFlagMap.get(odr.Id) == true) { if (odr.RecordTypeId == System.Label.RT_Contract_BS_Tax) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_hidden_kua; - }else{ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_hidden; - } + odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_hidden; } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_Tax_Approval) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_Approval_hidden_kua; - }else{ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_Approval_hidden; - } - + odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_Approval_hidden; } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_hidden_kua; - }else{ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_hidden; - } - + odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_hidden; } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax_Approval) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_hidden_Approval_kua; - }else{ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_hidden_Approval; - } - + odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_hidden_Approval; } } else if (hiddenFlagMap.get(odr.Id) == false) { if (odr.RecordTypeId == System.Label.RT_Contract_BS_Tax_hidden) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_kua; - }else{ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax; - } - + odr.RecordTypeId = System.Label.RT_Contract_BS_Tax; } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_Tax_Approval_hidden) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_Approval_kua; - }else{ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_Approval; - } - + odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_Approval; } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax_hidden) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_kua; - }else{ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax; - } - + odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax; } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax_hidden_Approval) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_Approval_kua; - }else{ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_hidden; - } - } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_Tax) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_kua; - } - } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_Tax_Approval) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_Tax_Approval_kua; - } - } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_kua; - } - } else if (odr.RecordTypeId == System.Label.RT_Contract_BS_WithoutTax_Approval) { - if(odr.CrossCooperativeProject__c == true){ - odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_Approval_kua; - } + odr.RecordTypeId = System.Label.RT_Contract_BS_WithoutTax_hidden; } } } @@ -2718,6 +2628,13 @@ // 鍚堝悓-鍙樻洿鐢宠-鍘熷悎鍚屾棤鏁堟垨鑰呮墜鍔ㄤ慨鏀瑰鑷村悎鍚屾棤鏁� if (!approveStatus && status) { + if(newOrd.oldOrder__c){ + RadiationUtil.oldOrder = true; + if (updateFlag) { + newOrd.oldOrder__c = false; + } + + } RadiationUtil.updateRadiationTypeQuantity(newOrd.Id,orderFounder , newOrd.DealerId__c, true,'鏃犳晥鎴栧彉鏇存棤鏁�',newOrd.LastModifiedById ); } @@ -2734,6 +2651,12 @@ if (RadiationUtil.EscapeOrderTriggerHandler) { RadiationUtil.EscapeOrderTriggerHandler = false; + if(newOrd.oldOrder__c){ + RadiationUtil.oldOrder = true; + if (updateFlag) { + newOrd.oldOrder__c = false; + } + } RadiationUtil.updateRadiationTypeQuantity(newOrd.Id,orderFounder , newOrd.DealerId__c, true,'鍚堝悓鍙樻洿鑽夋涓�',newOrd.LastModifiedById ); } @@ -2747,20 +2670,43 @@ Boolean status = newOrd.Status__c != oldOrd.Status__c && newOrd.Status__c == 'Inactive'; // 鍚堝悓鎻愪氦鐘舵�佸彉鎴愭棤鏁� if ( status ) { + if(newOrd.oldOrder__c){ + RadiationUtil.oldOrder = true; + if (updateFlag) { + newOrd.oldOrder__c = false; + } + } RadiationUtil.updateRadiationTypeQuantity(newOrd.Id,orderFounder , newOrd.DealerId__c, true,'鍚堝悓鎻愪氦鍙樻棤鏁�',newOrd.LastModifiedById ); } } else if (newOrd.ApproveStatus__c == 'CancelPass' && newOrd.Status__c == 'Active') { // 鍚堝悓-鍚堝悓鎵瑰噯鈫掆啋鈫掑悎鍚屽彇娑� if ( approveStatus && newOrd.BeforeSubmitStatus__c == 'OrderPass') { - + if(newOrd.oldOrder__c){ + RadiationUtil.oldOrder = true; + if (updateFlag) { + newOrd.oldOrder__c = false; + } + } RadiationUtil.updateRadiationTypeQuantity(newOrd.Id,orderFounder , newOrd.DealerId__c, true,'鍚堝悓鍙栨秷',newOrd.LastModifiedById ); } } else if (oldOrd.ApproveStatus__c == 'OrderSubmit' && newOrd.ApproveStatus__c == 'OrderReject' && newOrd.Status__c == 'Active') { // 鍚堝悓鎻愪氦鈫掆啋鈫掑悎鍚岄┏鍥� + if(newOrd.oldOrder__c){ + RadiationUtil.oldOrder = true; + if (updateFlag) { + newOrd.oldOrder__c = false; + } + } RadiationUtil.updateRadiationTypeQuantity(newOrd.Id,orderFounder , newOrd.DealerId__c, true,'鍚堝悓椹冲洖',newOrd.LastModifiedById ); } else if (oldOrd.ApproveStatus__c == 'OrderSubmit' && newOrd.ApproveStatus__c == 'OrderDraft' && newOrd.Status__c == 'Active') { // 鍚堝悓鎻愪氦鈫掆啋鈫掑悎鍚岃皟鍥� + if(newOrd.oldOrder__c){ + RadiationUtil.oldOrder = true; + if (updateFlag) { + newOrd.oldOrder__c = false; + } + } RadiationUtil.updateRadiationTypeQuantity(newOrd.Id,orderFounder , newOrd.DealerId__c, true,'鍚堝悓璋冨洖',newOrd.LastModifiedById ); } @@ -2883,6 +2829,10 @@ String errMessage = '瀹㈡埛鍚嶆垨鏈�缁堢敤鎴蜂笌璇环涓嶄竴鑷达紒'; for(Order orOne:newList){ if (oppAccountMap.containsKey(orOne.OpportunityId)) { + System.debug(oppAccountMap.get(orOne.OpportunityId) != orOne.AccountId); + System.debug( !roleMap.containsKey(orOne.OpportunityId)); + System.debug(orOne.EndUserD__c + '++'+ roleMap.get(orOne.OpportunityId)); + if(oppAccountMap.get(orOne.OpportunityId) != orOne.AccountId || !roleMap.containsKey(orOne.OpportunityId) || orOne.EndUserD__c != roleMap.get(orOne.OpportunityId)){ // 鑾峰彇鐢ㄦ埛Id String userId = UserInfo.getUserId().subString(0,15); @@ -2892,23 +2842,22 @@ throw new ControllerUtil.myException('鍚堝悓Id:'+orOne.Id+'_'+errMessage); } else { //璁㈠崟ID娌℃湁鍙栧埌 - orOne.addError(errMessage); + orOne.addError(errMessage+'1'+orOne.Id); } } else { //鑷畾涔夋爣绛鹃噷闈㈡病鏈夊綋鍓嶇敤鎴风殑ID - orOne.addError(errMessage); + orOne.addError(errMessage + '2'); } } else { //鑷畾涔夋爣绛炬病鏈夊唴瀹� - orOne.addError(errMessage); + orOne.addError(errMessage + '3'); } } } } - } //妫�鏌ュ悎鍚屼笂鐨勭瓑绾х被鍒槸浜岀被锛屼竴绫伙紝闈炵洃绠�(绛夌骇鐢遍珮鍒板簳)锛屽崟鐙竴鏉¤褰曢噷闈㈢殑鎵�鏈変骇鍝侊紝鏀惧埌涓�涓猯ist閲岄潰銆� @@ -2937,7 +2886,7 @@ } } - //寮�濮嬮�昏緫鍒ゆ柇锛岃鍗曚骇鍝佸搴旂殑浜у搧鐨勭瓑绾х被鍒彧瑕佹湁涓�绫伙紝璁㈠崟涓婄殑绛夌骇绫诲埆璧嬪�间竴绫�(涓�绫�>浜岀被>闈炵洃绠★紝渚濇绫绘帹) + //寮�濮嬮�昏緫鍒ゆ柇锛岃鍗曚骇鍝佸搴旂殑浜у搧鐨勭瓑绾х被鍒彧瑕佹湁浜岀被锛岃鍗曚笂鐨勭瓑绾х被鍒祴鍊间簩绫�(浜岀被>涓�绫�>闈炵洃绠★紝渚濇绫绘帹) for (String oe : newList) { if (orditemMap.containsKey(oe)) { if (orditemMap.get(oe).contains('浜岀被')) { @@ -3002,80 +2951,12 @@ return returnMap; } */ - - - - /** - * 妫�鏌ュ悎鍚屽鎵逛汉鏄惁濉啓瀹屾暣 - * @author Dai Y - * @date 2022-01-12 - * @param ordList 寰呮鏌ュ悎鍚孡ist - * @return 濉啓瀹屾暣杩斿洖true锛屼笉瀹屾暣杩斿洖false - */ - private static Boolean CheckSalesOwner(List<Order> ordList){ - Boolean flag = true; - for (Order order : ordList) { - //鍒ゆ柇鍚堝悓瀹℃壒浜烘槸鍚︿负绌猴紝 - if(String.isBlank(order.SalesOwner_BS__c)){ - //order.SalesOwner_BS__c.addError('璇峰~鍐欏鎵逛汉'); - flag = false; - } - } - return flag; - } - /** - * 妫�鏌ヨ法鍖洪攢鍞浉鍏虫暟鎹槸鍚﹀~鍐欏畬鏁� - * @author Dai Y - * @date 2022-01-12 - * @param ordList 寰呮鏌ュ悎鍚孡ist - * @return 濉啓瀹屾暣杩斿洖true锛屼笉瀹屾暣杩斿洖false - */ - - private static Boolean CheckCrossComperativeData(List<Order> ordList){ - Boolean flag = true; - for (Order order : ordList) { - //鍒ゆ柇鍚堜綔鍖哄煙浠g悊鍟嗭紝涓讳唬鐞嗗晢鍜屽悎浣滃尯鍩熻礋璐d汉 - if(String.isBlank(order.CrossCooperativeDealerText__c) || String.isBlank(order.HeadOfCooperationArea__c) || false){ - flag = false; - } - } - return flag; - } - /** - * 鍒ゆ柇AB浠g悊鍟嗘槸鍚︿慨鏀� - * @author Dai Y - * @date 2022-01-20 - * @param newOrd 淇敼鍚庡悎鍚� - * @param oldOrd 淇敼鍓嶅悎鍚� - * @return 濡傛灉杩涜淇敼杩斿洖true锛屾病淇繃楗悗false - */ - public static Boolean CherkCrossComperativeChanged(Order newOrd ,Order oldOrd){ - Boolean flag = false; - if(newOrd.Dealer_A__c != oldOrd.Dealer_A__c || newOrd.Dealer_B__c != oldOrd.Dealer_B__c ){ - flag = true; - } - return flag; - } - - /** - * 蹇呭~閫夐」妫�鏌� - * @author Dai Y - * @date 2022-01-13 - * @param ordList 寰呮鏌ュ悎鍚孡ist - * @return 妫�鏌ラ�氳繃杩斿洖true锛屼笉閫氳繃杩斿洖false - */ - private static Boolean Check(List<Order> ordList){ - Boolean flag = true; - - - return flag; - } public static void asd() { Integer i = 1; i++; i++; - i++; + i++; i++; i++; i++; diff --git a/force-app/main/default/classes/OrderTriggerTest.cls b/force-app/main/default/classes/OrderTriggerTest.cls index 13c821d..7ea53f7 100644 --- a/force-app/main/default/classes/OrderTriggerTest.cls +++ b/force-app/main/default/classes/OrderTriggerTest.cls @@ -101,7 +101,8 @@ SpecialDeliveryAccount__c = accIE.Id, SpecialDeliveryAccount_D__c = accIE.Id, SpecialDeliveryContact2_D__c = con.Id, - EndUser__c = con.Id + EndUser__c = con.Id, + EndUserD__c = con.Id ); insert odr; @@ -226,7 +227,8 @@ IE_SP8__c = true, SpecialDeliveryAccount_D__c = accIE.Id, SpecialDeliveryContact2_D__c = con.Id, - EndUser__c = con.Id + EndUser__c = con.Id, + EndUserD__c = con.Id ); insert odr; List<Order> orderList = [select id, ApproveStatus__c,ProductSegment__c,Status__c,IE_SP5_D__c,IE_SP6_D__c,IE_SP7_D__c,IE_SP8_D__c from Order where Id = :odr.Id]; @@ -338,7 +340,8 @@ EffectiveDate = Date.today(), SpecialDeliveryAccount_D__c = accIE.Id, SpecialDeliveryContact2_D__c = con.Id, - EndUser__c = con.Id + EndUser__c = con.Id, + EndUserD__c = con.Id ); insert odr; @@ -612,7 +615,8 @@ SP_61D__c = true, SpecialDeliveryAccount_D__c = accBS.Id, SpecialDeliveryContact2_D__c = con.Id, - EndUser__c = con.Id + EndUser__c = con.Id, + EndUserD__c = con.Id ); insert odr; @@ -800,7 +804,8 @@ EffectiveDate = Date.today(), Status = 'Draft', Pricebook2Id = pricebook.Id, - EndUser__c = contact.Id + EndUser__c = contact.Id, + EndUserD__c = contact.Id ); insert order; } diff --git a/force-app/main/default/classes/ProRegisterHandler.cls b/force-app/main/default/classes/ProRegisterHandler.cls index 2875d82..9092f80 100644 --- a/force-app/main/default/classes/ProRegisterHandler.cls +++ b/force-app/main/default/classes/ProRegisterHandler.cls @@ -113,92 +113,185 @@ Map<Id,Product2> prt2Map = new Map<Id,Product2>(); //閫氳繃涔嬪墠瀛樺偍鐨処d鐢ㄤ簬鍏崇郴琛ㄧ殑鏌ヨ銆� List<Product_Register_Link__c> prlList = new List<Product_Register_Link__c>(); - prlList = [select Product2__r.id,Product2__r.demoteer_Sap__c,Product2__r.Diedatvanink__c,Product_Register__r.MedPrdClass__c,Product_Register__r.Stelsedag__c + prlList = [select Product2__r.id,Product2__r.demoteer_Sap__c,Product2__r.Diedatvanink__c,Product_Register__r.MedPrdClass__c,Product_Register__r.Stelsedag__c,Product_Register__r.ValidTo__c,Product_Register__r.ValidFrom__c from Product_Register_Link__c where Product_Register__r.Id in : prcList]; + //鏌ヨ鍑轰骇鍝両D + List<Id> pro2IdList = new List<Id>(); + for (Product_Register_Link__c prl1: prlList) { + pro2IdList.add(prl1.Product2__r.id); + } + + List<Product_Register_Link__c> prl1List = new List<Product_Register_Link__c>(); + prl1List = [select Product2__r.id,Product2__r.demoteer_Sap__c,Product2__r.Diedatvanink__c,Product_Register__r.Stelsedag__c,Product_Register__r.MedPrdClass__c,Product_Register__r.ValidTo__c,Product_Register__r.ValidFrom__c + from Product_Register_Link__c + where Product2__r.Id in : pro2IdList]; //鏍规嵁Id瀛樻斁浜у搧鎵�灞炵殑鎵�鏈夋敞鍐岃瘉涓嬬殑鍣ㄦ鍒嗙被銆� Map<Id,List<String>> pro2Map = new Map<Id,List<String>>(); //瀛樻斁娉ㄥ唽璇佷笂鏈�鍓嶇殑缁存姢鏃� Map<Id,Date> prSteMap = new Map<Id,Date>(); - if (prlList.size()>0) { - for (Product_Register_Link__c prl: prlList) { + if (prl1List.size()>0) { + for (Product_Register_Link__c prl: prl1List) { if (pro2Map.containsKey(prl.Product2__r.Id)) { pro2Map.get(prl.Product2__r.Id).add(prl.Product_Register__r.MedPrdClass__c); }else { pro2Map.put(prl.Product2__r.Id, new List<String>()); pro2Map.get(prl.Product2__r.Id).add(prl.Product_Register__r.MedPrdClass__c); } - if (prSteMap.containsKey(prl.Product2__r.Id)) { - if (prSteMap.get(prl.Product2__r.Id) > prl.Product_Register__r.Stelsedag__c) { - prSteMap.remove(prl.Product2__r.Id); + + if (prl.Product_Register__r.MedPrdClass__c == '1') { + if (prSteMap.containsKey(prl.Product2__r.Id)) { + if (prSteMap.get(prl.Product2__r.Id) > prl.Product_Register__r.Stelsedag__c) { + prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); + } + }else { prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); } - }else { - prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); } + } + + for (Product_Register_Link__c prl: prl1List) { + if (prSteMap.get(prl.Product2__r.Id) == null) { + if (prSteMap.containsKey(prl.Product2__r.Id) && (prl.Product_Register__r.MedPrdClass__c == '2' || prl.Product_Register__r.MedPrdClass__c == '3')) { + if (prSteMap.containsKey(prl.Product2__r.Id)) { + if (prSteMap.get(prl.Product2__r.Id) > prl.Product_Register__r.Stelsedag__c) { + prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); + } + }else { + prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); + } + } + } } } System.debug('pro2Map='+pro2Map); System.debug('prSteMap='+prSteMap); //浜у搧Id涓庣瓑绾х被鍒� Map<Id,String> prlMap = new Map<Id,String>(); - List<ID> pr2Idlsit = new List<ID>(); - if (pro2Map.size()>0 && prSteMap.size()>0) { - for (Product_Register_Link__c pr: prlList) { + Map<Id,String> prl1Map = new Map<Id,String>(); + Map<Id,String> prl2Map = new Map<Id,String>(); + List<ID> pidList = new List<ID>(); + if (pro2Map.size()>0) { + for (Product_Register_Link__c pr: prl1List) { if (pro2Map.containsKey(pr.Product2__r.Id) && prSteMap.containsKey(pr.Product2__r.Id)) { - pr2Idlsit.add(pr.Product2__r.Id); - //鐢熶骇鏃ュぇ浜庣淮鎶ゆ棩,鍏ュ簱鏃ュぇ浜庣淮鎶ゆ棩 - if (pr.Product2__r.demoteer_Sap__c <= prSteMap.get(pr.Product2__r.Id) && - pr.Product2__r.Diedatvanink__c <= prSteMap.get(pr.Product2__r.Id)) { - if (pro2Map.get(pr.Product2__r.Id).contains('1') || - pro2Map.get(pr.Product2__r.Id).contains('2') || - pro2Map.get(pr.Product2__r.Id).contains('3')) { - prlMap.put(pr.Product2__r.Id, '浜岀被'); - }else { - prlMap.put(pr.Product2__r.Id, '闈炵洃绠�'); - } - }else { - //鍏ュ簱鏃ュぇ浜庣淮鎶ゆ棩 - if (pr.Product2__r.Diedatvanink__c > prSteMap.get(pr.Product2__r.Id)) { - //鐢熶骇鏃ュぇ浜庣淮鎶ゆ棩 - if (pr.Product2__r.demoteer_Sap__c > prSteMap.get(pr.Product2__r.Id)) { - prlMap.put(pr.Product2__r.Id, '涓�绫�'); - }else { - //鐢熶骇鏃ュ皬浜庣淮鎶ゆ棩 - if (pro2Map.get(pr.Product2__r.Id).contains('1')) { - prlMap.put(pr.Product2__r.Id, '涓�绫�'); - }else if (!pro2Map.get(pr.Product2__r.Id).contains('1') && - (pro2Map.get(pr.Product2__r.Id).contains('2') || - pro2Map.get(pr.Product2__r.Id).contains('3'))) { - prlMap.put(pr.Product2__r.Id, '浜岀被'); - }else { - prlMap.put(pr.Product2__r.Id, '闈炵洃绠�'); - } - } - } + pidList.add(pr.Product2__r.Id); + if (pr.Product2__r.demoteer_Sap__c <> null && pr.Product2__r.Diedatvanink__c <> null) { + if (pr.Product_Register__r.Stelsedag__c <> null) { + if (pr.Product2__r.Diedatvanink__c <= pr.Product_Register__r.Stelsedag__c) { + if (pr.Product2__r.demoteer_Sap__c <= pr.Product_Register__r.ValidTo__c && pr.Product2__r.demoteer_Sap__c >= pr.Product_Register__r.ValidFrom__c + && pr.Product_Register__r.MedPrdClass__c == '2' || pr.Product_Register__r.MedPrdClass__c == '3') { + if (prlMap.get(pr.Product2__r.Id) == null) { + prlMap.put(pr.Product2__r.Id, '浜岀被'); + }else { + String Lins = prlMap.get(pr.Product2__r.Id); + Lins += '浜岀被'; + prlMap.put(pr.Product2__r.Id, Lins); + } + } + else if (pr.Product2__r.demoteer_Sap__c <= pr.Product_Register__r.ValidTo__c && pr.Product2__r.demoteer_Sap__c >= pr.Product_Register__r.ValidFrom__c + && (pr.Product_Register__r.MedPrdClass__c == '1')) { + if (prlMap.get(pr.Product2__r.Id) == null) { + prlMap.put(pr.Product2__r.Id, '涓�绫�'); + }else { + String Lins = prlMap.get(pr.Product2__r.Id); + Lins += '涓�绫�'; + prlMap.put(pr.Product2__r.Id, Lins); + } + }else { + if (prlMap.get(pr.Product2__r.Id) == null) { + prlMap.put(pr.Product2__r.Id, '闈炵洃绠�'); + }else { + String Lins = prlMap.get(pr.Product2__r.Id); + Lins += '闈炵洃绠�'; + prlMap.put(pr.Product2__r.Id, Lins); + } + } + }else if (pr.Product2__r.Diedatvanink__c > pr.Product_Register__r.Stelsedag__c) { + if (pr.Product2__r.demoteer_Sap__c <= pr.Product_Register__r.ValidTo__c && pr.Product2__r.demoteer_Sap__c >= pr.Product_Register__r.ValidFrom__c + && pr.Product_Register__r.MedPrdClass__c == '1') { + if (prl1Map.get(pr.Product2__r.Id) == null) { + prl1Map.put(pr.Product2__r.Id, '涓�绫�'); + }else { + String Lins = prl1Map.get(pr.Product2__r.Id); + Lins += '涓�绫�'; + prl1Map.put(pr.Product2__r.Id, Lins); + } + }else if (pr.Product2__r.demoteer_Sap__c <= pr.Product_Register__r.ValidTo__c && pr.Product2__r.demoteer_Sap__c >= pr.Product_Register__r.ValidFrom__c + && pr.Product_Register__r.MedPrdClass__c == '2' || pr.Product_Register__r.MedPrdClass__c == '3') { + if (prl1Map.get(pr.Product2__r.Id) == null) { + prl1Map.put(pr.Product2__r.Id, '浜岀被'); + }else { + String Lins = prl1Map.get(pr.Product2__r.Id); + Lins += '浜岀被'; + prl1Map.put(pr.Product2__r.Id, Lins); + } + }else { + if (prlMap.get(pr.Product2__r.Id) == null) { + prlMap.put(pr.Product2__r.Id, '闈炵洃绠�'); + }else { + String Lins = prlMap.get(pr.Product2__r.Id); + Lins += '闈炵洃绠�'; + prlMap.put(pr.Product2__r.Id, Lins); + } + } + } + }else { + prl2Map.put(pr.Product2__r.Id, '绌�'); + } } } } } System.debug('prlMap='+prlMap); + System.debug('prl1Map='+prl1Map); + System.debug('prl2Map='+prl2Map); List<Product2> por2Lsit = new List<Product2>(); //鏌ュ嚭浜у搧鐨刬d鍜岀瓑绾х被鍒殑瀛楁 - por2Lsit = [select Id,Level_Category__c from Product2 where Id in : pr2Idlsit]; + por2Lsit = [select Id,Level_Category__c,demoteer_Sap__c,Diedatvanink__c from Product2 where Id in : pidList]; if (por2Lsit.size() > 0) { for (Product2 pr2: por2Lsit) { if (prlMap.containsKey(pr2.Id)) { - pr2.Level_Category__c = prlMap.get(pr2.Id); - prt2Map.put(pr2.Id,pr2); - }else { - pr2.Level_Category__c = null; - prt2Map.put(pr2.Id,pr2); - } + if ((prlMap.get(pr2.Id).contains('浜岀被') && prlMap.get(pr2.Id).contains('涓�绫�')) || + (!prlMap.get(pr2.Id).contains('涓�绫�') && prlMap.get(pr2.Id).contains('浜岀被'))){ + pr2.Level_Category__c = '浜岀被'; + prt2Map.put(pr2.Id, pr2); + }else if (prlMap.get(pr2.Id).contains('涓�绫�') && !prlMap.get(pr2.Id).contains('浜岀被')) { + pr2.Level_Category__c = '涓�绫�'; + prt2Map.put(pr2.Id, pr2); + }else if (prlMap.get(pr2.Id).contains('闈炵洃绠�') && !prl2Map.containsKey(pr2.Id)) { + pr2.Level_Category__c = '闈炵洃绠�'; + prt2Map.put(pr2.Id, pr2); + }else { + pr2.Level_Category__c = null; + prt2Map.put(pr2.Id, pr2); + } + } + if (prl1Map.containsKey(pr2.Id)) { + if (prl1Map.get(pr2.Id).contains('涓�绫�')) { + pr2.Level_Category__c = '涓�绫�'; + prt2Map.put(pr2.Id, pr2); + }else if (prl1Map.get(pr2.Id).contains('浜岀被') && !prl1Map.get(pr2.Id).contains('涓�绫�')) { + pr2.Level_Category__c = '浜岀被'; + prt2Map.put(pr2.Id, pr2); + }else if (prl1Map.get(pr2.Id).contains('闈炵洃绠�') && !prl2Map.containsKey(pr2.Id)) { + pr2.Level_Category__c = '闈炵洃绠�'; + prt2Map.put(pr2.Id, pr2); + }else { + pr2.Level_Category__c = null; + prt2Map.put(pr2.Id, pr2); + } + } + if (pr2.demoteer_Sap__c == null || pr2.Diedatvanink__c == null) { + pr2.Level_Category__c = null; + prt2Map.put(pr2.Id, pr2); + } } } - if (prlMap.size() > 0) { + System.debug('prt2Map='+prt2Map); + if (prt2Map.size() > 0) { update prt2Map.values(); } } diff --git a/force-app/main/default/classes/ProRegisterHandlerTest.cls b/force-app/main/default/classes/ProRegisterHandlerTest.cls index 7e5af72..ca658cc 100644 --- a/force-app/main/default/classes/ProRegisterHandlerTest.cls +++ b/force-app/main/default/classes/ProRegisterHandlerTest.cls @@ -103,24 +103,37 @@ PRC.MedPrdClass__c = '1'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; - PRC.ValidTo__c = Date.today().addDays(22); - PRC.ValidFrom__c = Date.today().addDays(-22); + PRC.ValidTo__c = Date.today().addDays(22); + PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today(); insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '2'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + PRC1.Stelsedag__c = Date.today().addDays(1); + insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; - PRC.ValidTo__c = Date.today().addDays(21); - PRC.ValidFrom__c = Date.today().addDays(-21); - update PRC; + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; - prd.Name = 'hehe'; - update prd; + PRC1.name = 'v鍥芥娉ㄨ繘20183222249'; + update PRC1; } @isTest static void test_checkProduct2Level1() { @@ -136,27 +149,40 @@ Product_Register__c PRC = new Product_Register__c(); PRC.Name = '鍥芥娉ㄨ繘20183222249'; - PRC.MedPrdClass__c = ''; + PRC.MedPrdClass__c = '2'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '1'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + PRC1.Stelsedag__c = Date.today(); + insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; - PRC.ValidTo__c = Date.today().addDays(21); - PRC.ValidFrom__c = Date.today().addDays(-21); - update PRC; + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; - prd.Name = 'hehe1'; - update prd; + PRC1.name = 'v鍥芥娉ㄨ繘20183222249'; + update PRC1; } @isTest static void test_checkProduct2Level2() { @@ -166,33 +192,62 @@ prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; - prd.demoteer_Sap__c = Date.today().addDays(3); - prd.Diedatvanink__c = Date.today().addDays(4); + prd.demoteer_Sap__c = Date.today().addDays(-3); + prd.Diedatvanink__c = Date.today().addDays(-4); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '鍥芥娉ㄨ繘20183222249'; - PRC.MedPrdClass__c = '1'; + PRC.MedPrdClass__c = ''; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today(); insert PRC; + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = ''; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + insert PRC1; + + Product_Register__c PRC2 = new Product_Register__c(); + PRC2.Name = '鍥芥娉ㄨ繘20183222249'; + PRC2.MedPrdClass__c = ''; + PRC2.RegisterNoClass_New__c = ''; + PRC2.RegisterNoClass_Old__c = '6822'; + PRC2.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC2.ClinicalProductCode__c = 'YYYY'; + PRC2.ValidTo__c = Date.today().addDays(22); + PRC2.ValidFrom__c = Date.today().addDays(-22); + PRC2.Stelsedag__c = Date.today(); + insert PRC2; + Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; - PRC.ValidTo__c = Date.today().addDays(21); - PRC.ValidFrom__c = Date.today().addDays(-21); - update PRC; + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; - prd.Name = 'hehe2'; - update prd; + Product_Register_Link__c prl2 = new Product_Register_Link__c(); + prl2.Product2__c = prd.ID; + prl2.Product_Register__c = PRC2.ID; + insert prl2; + + PRC1.name = 'v鍥芥娉ㄨ繘20183222249'; + update PRC1; } @isTest static void test_checkProduct2Level3() { @@ -203,7 +258,7 @@ prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); - prd.Diedatvanink__c = Date.today().addDays(4); + prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); @@ -211,24 +266,37 @@ PRC.MedPrdClass__c = '1'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '2'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + PRC1.Stelsedag__c = Date.today(); + insert PRC1; + Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; - PRC.ValidTo__c = Date.today().addDays(21); - PRC.ValidFrom__c = Date.today().addDays(-21); - update PRC; + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; - prd.Name = 'hehe2'; - update prd; + PRC1.name = 'v鍥芥娉ㄨ繘20183222249'; + update PRC1; } @isTest static void test_checkProduct2Level4() { @@ -239,7 +307,7 @@ prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); - prd.Diedatvanink__c = Date.today().addDays(4); + prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); @@ -247,24 +315,37 @@ PRC.MedPrdClass__c = '2'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '1'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + PRC1.Stelsedag__c = Date.today(); + insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; - PRC.ValidTo__c = Date.today().addDays(21); - PRC.ValidFrom__c = Date.today().addDays(-21); - update PRC; + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; - prd.Name = 'hehe2'; - update prd; + PRC1.name = 'v鍥芥娉ㄨ繘20183222249'; + update PRC1; } @isTest static void test_checkProduct2Level5() { @@ -275,7 +356,7 @@ prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); - prd.Diedatvanink__c = Date.today().addDays(4); + prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); @@ -283,23 +364,52 @@ PRC.MedPrdClass__c = ''; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = ''; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + insert PRC1; + + Product_Register__c PRC2 = new Product_Register__c(); + PRC2.Name = '鍥芥娉ㄨ繘20183222249'; + PRC2.MedPrdClass__c = ''; + PRC2.RegisterNoClass_New__c = ''; + PRC2.RegisterNoClass_Old__c = '6822'; + PRC2.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC2.ClinicalProductCode__c = 'YYYY'; + PRC2.ValidTo__c = Date.today().addDays(22); + PRC2.ValidFrom__c = Date.today().addDays(-22); + PRC2.Stelsedag__c = Date.today(); + insert PRC2; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; - PRC.ValidTo__c = Date.today().addDays(21); - PRC.ValidFrom__c = Date.today().addDays(-21); - update PRC; + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; - prd.Name = 'hehe2'; - update prd; + Product_Register_Link__c prl2 = new Product_Register_Link__c(); + prl2.Product2__c = prd.ID; + prl2.Product_Register__c = PRC2.ID; + insert prl2; + + PRC1.name = 'v鍥芥娉ㄨ繘20183222249'; + update PRC1; } } \ No newline at end of file diff --git a/force-app/main/default/classes/Product2TriggerHandler.cls b/force-app/main/default/classes/Product2TriggerHandler.cls index b5978ee..09d6df6 100644 --- a/force-app/main/default/classes/Product2TriggerHandler.cls +++ b/force-app/main/default/classes/Product2TriggerHandler.cls @@ -46,26 +46,22 @@ } } - //PJ1鏂版樉寰暅闄嶇被 public static void checkProduct2Level(List<Product2> newList, Map<Id, Product2> newMap, List<Product2> oldList, Map<Id, Product2> oldMap) { - //鑾峰彇浜у搧 List<String> p2ids = new List<String>(); - for(Product2 p2 : newList){ - p2ids.add(p2.Id); + for(Product2 p2 : newList) + { + p2ids.add(p2.id); } - //鏌ユ敞鍐岃瘉鐨勫尰鐤楀櫒姊板垎绫�,浜у搧鍏ュ簱鏃ユ湡,鐢熶骇鏃ユ湡,绯荤粺缁存姢鏃ャ�� + //瀛樻斁鏌ユ壘鐨剆oql鏂� List<Product_Register_Link__c> pro2List = new List<Product_Register_Link__c>(); - if(p2ids.size()>0){ - pro2List = [select Id,Product2__r.demoteer_Sap__c,Product2__r.Diedatvanink__c,Product_Register__r.Stelsedag__c,Product_Register__r.MedPrdClass__c - from Product_Register_Link__c - where Product2__r.Id in : p2ids]; - } - - - //鏍规嵁Id瀛樻斁浜у搧鎵�灞炵殑鎵�鏈夋敞鍐岃瘉涓嬬殑鍣ㄦ鍒嗙被銆� + pro2List = [select Product2__r.id,Product2__r.demoteer_Sap__c,Product2__r.Diedatvanink__c,Product_Register__r.Stelsedag__c,Product_Register__r.MedPrdClass__c,Product_Register__r.ValidTo__c,Product_Register__r.ValidFrom__c + from Product_Register_Link__c + where Product2__r.Id in : p2ids]; + System.debug('pro2List='+pro2List); + //瀛樻斁浜у搧鐨刬d鍜岀瓑绾х被鍒瓧娈电殑鍊肩殑闆嗗悎 Map<Id,List<String>> pro2Map = new Map<Id,List<String>>(); - //瀛樻斁娉ㄥ唽璇佷笂鏈�鍓嶇殑缁存姢鏃� + //瀛樻斁娉ㄥ唽璇佷笂鏈�鍓嶇殑缁存姢鏃�,涓�绫昏瘉浼樺厛,鍚﹀垯浜岀被璇併�� Map<Id,Date> prSteMap = new Map<Id,Date>(); if (pro2List.size()>0) { for (Product_Register_Link__c prl: pro2List) { @@ -75,67 +71,145 @@ pro2Map.put(prl.Product2__r.Id, new List<String>()); pro2Map.get(prl.Product2__r.Id).add(prl.Product_Register__r.MedPrdClass__c); } - if (prSteMap.containsKey(prl.Product2__r.Id)) { - if (prSteMap.get(prl.Product2__r.Id) > prl.Product_Register__r.Stelsedag__c) { - prSteMap.remove(prl.Product2__r.Id); + + if (prl.Product_Register__r.MedPrdClass__c == '1') { + if (prSteMap.containsKey(prl.Product2__r.Id)) { + if (prSteMap.get(prl.Product2__r.Id) > prl.Product_Register__r.Stelsedag__c) { + prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); + } + }else { prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); } - }else { - prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); } } + + for (Product_Register_Link__c prl: pro2List) { + if (prSteMap.get(prl.Product2__r.Id) == null) { + if (prSteMap.containsKey(prl.Product2__r.Id) && (prl.Product_Register__r.MedPrdClass__c == '2' || prl.Product_Register__r.MedPrdClass__c == '3')) { + if (prSteMap.containsKey(prl.Product2__r.Id) && prl.Product_Register__r.Stelsedag__c != null) { + if (prSteMap.get(prl.Product2__r.Id) > prl.Product_Register__r.Stelsedag__c) { + prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); + } + }else { + prSteMap.put(prl.Product2__r.Id,prl.Product_Register__r.Stelsedag__c); + } + } + } + } } + + //瀛樻斁浜у搧id鍜屽瓧绗︿覆鍊� + Map<Id,String> prlMap = new Map<Id,String>(); + Map<Id,String> prl1Map = new Map<Id,String>(); + Map<Id,String> prl2Map = new Map<Id,String>(); System.debug('pro2Map='+pro2Map); System.debug('prSteMap='+prSteMap); - //浜у搧Id涓庣瓑绾х被鍒� - Map<Id,String> prlMap = new Map<Id,String>(); - - if (pro2Map.size()>0 && prSteMap.size()>0) { + //閫氳繃涓婇潰鐨勫惊鐜紝鎶婂叧绯昏〃杩囪幏鍙栫殑鏁版嵁璇诲嚭鏉ワ紝浼犵粰map + if (pro2Map.size()>0) { for (Product_Register_Link__c pr: pro2List) { - //澶у湪鍚庡皬鍦ㄥ墠 if (pro2Map.containsKey(pr.Product2__r.Id) && prSteMap.containsKey(pr.Product2__r.Id)) { - //鐢熶骇鏃ュ皬浜庣淮鎶ゆ棩,鍏ュ簱鏃ュ皬浜庣淮鎶ゆ棩 - if (pr.Product2__r.demoteer_Sap__c <= prSteMap.get(pr.Product2__r.Id) && - pr.Product2__r.Diedatvanink__c <= prSteMap.get(pr.Product2__r.Id)) { - if (pro2Map.get(pr.Product2__r.Id).contains('1') || - pro2Map.get(pr.Product2__r.Id).contains('2') || - pro2Map.get(pr.Product2__r.Id).contains('3')) { - prlMap.put(pr.Product2__r.Id, '浜岀被'); - }else { - prlMap.put(pr.Product2__r.Id, '闈炵洃绠�'); - } - }else { - //鍏ュ簱鏃ュぇ浜庣淮鎶ゆ棩 - if (pr.Product2__r.Diedatvanink__c > prSteMap.get(pr.Product2__r.Id)) { - //鐢熶骇鏃ュぇ浜庣淮鎶ゆ棩 - if (pr.Product2__r.demoteer_Sap__c > prSteMap.get(pr.Product2__r.Id)) { - prlMap.put(pr.Product2__r.Id, '涓�绫�'); - }else if (pr.Product2__r.demoteer_Sap__c < prSteMap.get(pr.Product2__r.Id)) { - //鐢熶骇鏃ュ皬浜庣淮鎶ゆ棩 - if (pro2Map.get(pr.Product2__r.Id).contains('1')) { - prlMap.put(pr.Product2__r.Id, '涓�绫�'); - }else if (!pro2Map.get(pr.Product2__r.Id).contains('1') && - (pro2Map.get(pr.Product2__r.Id).contains('2') || - pro2Map.get(pr.Product2__r.Id).contains('3'))) { - prlMap.put(pr.Product2__r.Id, '浜岀被'); + if (newMap.get(pr.Product2__r.Id).demoteer_Sap__c <> null && pr.Product2__r.Diedatvanink__c <> null) { + if (pr.Product_Register__r.Stelsedag__c <> null) { + if (pr.Product2__r.Diedatvanink__c <= pr.Product_Register__r.Stelsedag__c) { + if (newMap.get(pr.Product2__r.Id).demoteer_Sap__c <= pr.Product_Register__r.ValidTo__c && newMap.get(pr.Product2__r.Id).demoteer_Sap__c >= pr.Product_Register__r.ValidFrom__c + && pr.Product_Register__r.MedPrdClass__c == '2' || pr.Product_Register__r.MedPrdClass__c == '3') { + System.debug('2'); + if (prlMap.get(pr.Product2__r.Id) == null) { + prlMap.put(pr.Product2__r.Id, '浜岀被'); + }else { + String Lins = prlMap.get(pr.Product2__r.Id); + Lins += '浜岀被'; + prlMap.put(pr.Product2__r.Id, Lins); + } + }else if (newMap.get(pr.Product2__r.Id).demoteer_Sap__c <= pr.Product_Register__r.ValidTo__c && newMap.get(pr.Product2__r.Id).demoteer_Sap__c >= pr.Product_Register__r.ValidFrom__c + && (pr.Product_Register__r.MedPrdClass__c == '1')) { + System.debug('1'); + if (prlMap.get(pr.Product2__r.Id) == null) { + prlMap.put(pr.Product2__r.Id, '涓�绫�'); + }else { + String Lins = prlMap.get(pr.Product2__r.Id); + Lins += '涓�绫�'; + prlMap.put(pr.Product2__r.Id, Lins); + } }else { - prlMap.put(pr.Product2__r.Id, '闈炵洃绠�'); + System.debug('闈�'); + if (prlMap.get(pr.Product2__r.Id) == null) { + prlMap.put(pr.Product2__r.Id, '闈炵洃绠�'); + }else { + String Lins = prlMap.get(pr.Product2__r.Id); + Lins += '闈炵洃绠�'; + prlMap.put(pr.Product2__r.Id, Lins); + } + } + }else if (pr.Product2__r.Diedatvanink__c > pr.Product_Register__r.Stelsedag__c) { + if (newMap.get(pr.Product2__r.Id).demoteer_Sap__c <= pr.Product_Register__r.ValidTo__c && newMap.get(pr.Product2__r.Id).demoteer_Sap__c >= pr.Product_Register__r.ValidFrom__c + && pr.Product_Register__r.MedPrdClass__c == '1') { + if (prl1Map.get(pr.Product2__r.Id) == null) { + prl1Map.put(pr.Product2__r.Id, '涓�绫�'); + }else { + String Lins = prl1Map.get(pr.Product2__r.Id); + Lins += '涓�绫�'; + prl1Map.put(pr.Product2__r.Id, Lins); + } + }else if (newMap.get(pr.Product2__r.Id).demoteer_Sap__c <= pr.Product_Register__r.ValidTo__c && newMap.get(pr.Product2__r.Id).demoteer_Sap__c >= pr.Product_Register__r.ValidFrom__c + && pr.Product_Register__r.MedPrdClass__c == '2' || pr.Product_Register__r.MedPrdClass__c == '3') { + if (prl1Map.get(pr.Product2__r.Id) == null) { + prl1Map.put(pr.Product2__r.Id, '浜岀被'); + }else { + String Lins = prl1Map.get(pr.Product2__r.Id); + Lins += '浜岀被'; + prl1Map.put(pr.Product2__r.Id, Lins); + } + }else { + if (prlMap.get(pr.Product2__r.Id) == null) { + prlMap.put(pr.Product2__r.Id, '闈炵洃绠�'); + }else { + String Lins = prlMap.get(pr.Product2__r.Id); + Lins += '闈炵洃绠�'; + prlMap.put(pr.Product2__r.Id, Lins); + } } } + }else { + prl2Map.put(pr.Product2__r.Id, '绌�'); } } } } } - System.debug('prlMap='+prlMap); + System.debug('prlMap='+prlMap); + System.debug('prl1Map='+prl1Map); + //缁欎骇鍝佷笂鐨勭瓑绾х被鍒瓧娈佃祴鍊� for (Product2 pr2: newList) { if (prlMap.containsKey(pr2.Id)) { - pr2.Level_Category__c = prlMap.get(pr2.Id); - }else { + if ((prlMap.get(pr2.Id).contains('浜岀被') && prlMap.get(pr2.Id).contains('涓�绫�')) || + (!prlMap.get(pr2.Id).contains('涓�绫�') && prlMap.get(pr2.Id).contains('浜岀被'))){ + pr2.Level_Category__c = '浜岀被'; + }else if (prlMap.get(pr2.Id).contains('涓�绫�') && !prlMap.get(pr2.Id).contains('浜岀被')) { + pr2.Level_Category__c = '涓�绫�'; + }else if (prlMap.get(pr2.Id).contains('闈炵洃绠�') && !prl2Map.containsKey(pr2.Id)) { + pr2.Level_Category__c = '闈炵洃绠�'; + }else { + pr2.Level_Category__c = null; + } + } + if (prl1Map.containsKey(pr2.Id)) { + if (prl1Map.get(pr2.Id).contains('涓�绫�')) { + pr2.Level_Category__c = '涓�绫�'; + }else if (prl1Map.get(pr2.Id).contains('浜岀被') && !prl1Map.get(pr2.Id).contains('涓�绫�')) { + pr2.Level_Category__c = '浜岀被'; + }else if (prl1Map.get(pr2.Id).contains('闈炵洃绠�') && !prl2Map.containsKey(pr2.Id)) { + pr2.Level_Category__c = '闈炵洃绠�'; + }else { + pr2.Level_Category__c = null; + } + } + if (pr2.demoteer_Sap__c == null || pr2.Diedatvanink__c == null) { pr2.Level_Category__c = null; } - } + System.debug('pr2.Level_Category__c='+pr2.Level_Category__c); + } } } \ No newline at end of file diff --git a/force-app/main/default/classes/Product2TriggerHandlerTest.cls b/force-app/main/default/classes/Product2TriggerHandlerTest.cls index ee39650..6beb505 100644 --- a/force-app/main/default/classes/Product2TriggerHandlerTest.cls +++ b/force-app/main/default/classes/Product2TriggerHandlerTest.cls @@ -42,12 +42,29 @@ PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today(); - insert PRC; + insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '2'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + PRC1.Stelsedag__c = Date.today().addDays(1); + insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; + + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; } @isTest static void test_checkProduct2Level1() { @@ -70,13 +87,30 @@ PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '1'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + PRC1.Stelsedag__c = Date.today(); + insert PRC1; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; + + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; } @isTest static void test_checkProduct2Level2() { @@ -95,17 +129,51 @@ PRC.MedPrdClass__c = ''; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); PRC.Stelsedag__c = Date.today(); insert PRC; + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = ''; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + insert PRC1; + + Product_Register__c PRC2 = new Product_Register__c(); + PRC2.Name = '鍥芥娉ㄨ繘20183222249'; + PRC2.MedPrdClass__c = ''; + PRC2.RegisterNoClass_New__c = ''; + PRC2.RegisterNoClass_Old__c = '6822'; + PRC2.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC2.ClinicalProductCode__c = 'YYYY'; + PRC2.ValidTo__c = Date.today().addDays(22); + PRC2.ValidFrom__c = Date.today().addDays(-22); + PRC2.Stelsedag__c = Date.today(); + insert PRC2; + + Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; + + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; + + Product_Register_Link__c prl2 = new Product_Register_Link__c(); + prl2.Product2__c = prd.ID; + prl2.Product_Register__c = PRC2.ID; + insert prl2; } @isTest static void test_checkProduct2Level3() { @@ -115,26 +183,45 @@ prd.Name = 'testSBG004'; prd.IsActive = true; prd.Level_Category__c = ''; - prd.demoteer_Sap__c = Date.today().addDays(3); - prd.Diedatvanink__c = Date.today().addDays(4); + prd.demoteer_Sap__c = Date.today().addDays(-3); + prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '鍥芥娉ㄨ繘20183222249'; - PRC.MedPrdClass__c = '2'; + PRC.MedPrdClass__c = '1'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '2'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + PRC1.Stelsedag__c = Date.today(); + insert PRC1; + + Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; + + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; + } @isTest static void test_checkProduct2Level4() { @@ -145,25 +232,45 @@ prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); - prd.Diedatvanink__c = Date.today().addDays(4); + prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '鍥芥娉ㄨ繘20183222249'; - PRC.MedPrdClass__c = '1'; + PRC.MedPrdClass__c = '2'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '1'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + PRC1.Stelsedag__c = Date.today(); + insert PRC1; + + Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; + + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; + } @isTest static void test_checkProduct2Level5() { @@ -174,25 +281,58 @@ prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); - prd.Diedatvanink__c = Date.today().addDays(4); + prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '鍥芥娉ㄨ繘20183222249'; - PRC.MedPrdClass__c = '2'; + PRC.MedPrdClass__c = ''; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = ''; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + insert PRC1; + + Product_Register__c PRC2 = new Product_Register__c(); + PRC2.Name = '鍥芥娉ㄨ繘20183222249'; + PRC2.MedPrdClass__c = ''; + PRC2.RegisterNoClass_New__c = ''; + PRC2.RegisterNoClass_Old__c = '6822'; + PRC2.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC2.ClinicalProductCode__c = 'YYYY'; + PRC2.ValidTo__c = Date.today().addDays(22); + PRC2.ValidFrom__c = Date.today().addDays(-22); + PRC2.Stelsedag__c = Date.today(); + insert PRC2; Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; + + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; + + Product_Register_Link__c prl2 = new Product_Register_Link__c(); + prl2.Product2__c = prd.ID; + prl2.Product_Register__c = PRC2.ID; + insert prl2; } @isTest static void test_checkProduct2Level6() { @@ -203,25 +343,44 @@ prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); - prd.Diedatvanink__c = Date.today().addDays(4); + prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '鍥芥娉ㄨ繘20183222249'; - PRC.MedPrdClass__c = '3'; + PRC.MedPrdClass__c = '1'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '1'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + insert PRC1; + + Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; + + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; + } @isTest static void test_checkProduct2Level7() { @@ -232,25 +391,44 @@ prd.IsActive = true; prd.Level_Category__c = ''; prd.demoteer_Sap__c = Date.today().addDays(-3); - prd.Diedatvanink__c = Date.today().addDays(4); + prd.Diedatvanink__c = Date.today().addDays(5); insert prd; Product_Register__c PRC = new Product_Register__c(); PRC.Name = '鍥芥娉ㄨ繘20183222249'; - PRC.MedPrdClass__c = ''; + PRC.MedPrdClass__c = '2'; PRC.RegisterNoClass_New__c = ''; PRC.RegisterNoClass_Old__c = '6822'; - PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; PRC.ClinicalProductCode__c = 'YYYY'; PRC.ValidTo__c = Date.today().addDays(22); PRC.ValidFrom__c = Date.today().addDays(-22); - PRC.Stelsedag__c = Date.today(); + PRC.Stelsedag__c = Date.today().addDays(1); insert PRC; + + Product_Register__c PRC1 = new Product_Register__c(); + PRC1.Name = '鍥芥娉ㄨ繘20183222249'; + PRC1.MedPrdClass__c = '2'; + PRC1.RegisterNoClass_New__c = ''; + PRC1.RegisterNoClass_Old__c = '6822'; + PRC1.PrdCompanyAddr__c = '鍚嶇О:濂ユ灄宸存柉鍖荤枟鏍紡浼氱ぞ;浣忔墍:鏃ユ湰鍥戒笢浜兘娑╄胺鍖哄埂涔嬭胺浜屼竵鐩�43鐣湴2鍙�;鑱旂郴鏂瑰紡:0081-426-42-2667'; + PRC1.ClinicalProductCode__c = 'YYYY'; + PRC1.ValidTo__c = Date.today().addDays(22); + PRC1.ValidFrom__c = Date.today().addDays(-22); + PRC1.Stelsedag__c = Date.today(); + insert PRC1; + + Product_Register_Link__c prl = new Product_Register_Link__c(); prl.Product2__c = prd.ID; prl.Product_Register__c = PRC.ID; insert prl; - } + Product_Register_Link__c prl1 = new Product_Register_Link__c(); + prl1.Product2__c = prd.ID; + prl1.Product_Register__c = PRC1.ID; + insert prl1; + + } } \ No newline at end of file diff --git a/force-app/main/default/classes/RadiationUtil.cls b/force-app/main/default/classes/RadiationUtil.cls index e39f810..cfd9051 100644 --- a/force-app/main/default/classes/RadiationUtil.cls +++ b/force-app/main/default/classes/RadiationUtil.cls @@ -1,5 +1,7 @@ global class RadiationUtil { + public static Boolean oldOrder = false; + public static Boolean EscapeOrderTriggerHandler = true; /** * [updateRadiationTypeQuantity description]鏇存柊浠g悊鍟嗚瘉鐓ф槑缁嗭紝鏇存柊濂ユ灄宸存柉浠g悊鍟嗙殑璇佺収鏄庣粏 @@ -10,7 +12,8 @@ */ public static void updateRadiationTypeQuantity (String Id, String orderFounder, String dealerId, Boolean toloseFlag, String operationType, String operator) { - String olympusAccountId = System.label.Olympus_Id; + + String olympusAccountId = oldOrder ? System.label.Olympus_Id : System.label.newOlympus_Id; String orderId = Id; //鑾峰彇鍚堝悓鐨勮緪灏勭被鍨嬪拰鏁伴噺 diff --git a/force-app/main/default/classes/SBG001TriggerHandler.cls b/force-app/main/default/classes/SBG001TriggerHandler.cls index 8f43ef4..65f3d37 100644 --- a/force-app/main/default/classes/SBG001TriggerHandler.cls +++ b/force-app/main/default/classes/SBG001TriggerHandler.cls @@ -65,6 +65,7 @@ || acc.RecordTypeId == '01228000000TdFG' // NDT || acc.RecordTypeId == '01228000000TdFL' // ANI || acc.RecordTypeId == '01228000000TdF1' // BS + || acc.RecordTypeId == '0120T0000003Cxt' // IE鐩撮攢 ) && acc.stautesD__c == 'Pass') || acc.RecordTypeId == SBG001TriggerHandler.Account_Agency_Id //鍔炰簨澶� ) { @@ -85,6 +86,7 @@ || acc.RecordTypeId == '01228000000TdFG' // NDT || acc.RecordTypeId == '01228000000TdFL' // ANI || acc.RecordTypeId == '01228000000TdF1' // BS + || acc.RecordTypeId == '0120T0000003Cxt' // IE鐩撮攢 ) && acc.stautesD__c == 'Pass' && (acc.ManagementCode_Ext__c != old.ManagementCode_Ext__c @@ -159,6 +161,7 @@ || con.AccountRecordTypeId__c == '01228000000TdFB' // RVI || con.AccountRecordTypeId__c == '01228000000TdFG' // NDT || con.AccountRecordTypeId__c == '01228000000TdF1' // BS + || con.AccountRecordTypeId__c == '0120T0000003Cxt' // IE鐩撮攢 ) && con.StatusD__c == 'Pass') || con.AccountRecordTypeId__c == SBG001TriggerHandler.Account_Agency_Id// 鍔炰簨澶� ) { @@ -184,6 +187,7 @@ || con.AccountRecordTypeId__c == '01228000000TdFG' // NDT || con.AccountRecordTypeId__c == '01228000000TdF1' // BS || con.AccountRecordTypeId__c == SBG001TriggerHandler.Account_Agency_Id // 鍔炰簨澶� + || con.AccountRecordTypeId__c == '0120T0000003Cxt' // IE鐩撮攢 ) && con.StatusD__c == 'Pass' && (con.ManagementCode_Ext__c != old.ManagementCode_Ext__c @@ -324,7 +328,7 @@ SSBDCustomerContact.CustomerDescription = acc.FacilityName__c; SSBDCustomerContact.CustomerDescription2Description3 = (String.isBlank(acc.DivisionName__c) ? '' : (acc.DivisionName__c=='鏃�' ? '' : acc.DivisionName__c)); - if (acc.RecordTypeId == '01228000000TdF6' || acc.RecordTypeId == '01228000000TdFB' || acc.RecordTypeId == '01228000000TdFG' || acc.RecordTypeId == '01228000000TdFL') { // IE or RVI + if (acc.RecordTypeId == '01228000000TdF6' || acc.RecordTypeId == '01228000000TdFB' || acc.RecordTypeId == '01228000000TdFG' || acc.RecordTypeId == '01228000000TdFL' || acc.RecordTypeId == '0120T0000003Cxt') { // IE or RVI SSBDCustomerContact.CustomerDescription2Description3 += ',' + (String.isBlank(acc.EnglishName__c) ? '' : acc.EnglishName__c); } else { SSBDCustomerContact.CustomerDescription2Description3 += ',' + (String.isBlank(acc.DepartmentName__c) ? '' : acc.Departmentname__c); @@ -532,7 +536,7 @@ SSBDCustomerContact.CustomerDescription = con.Account.FacilityName__c; SSBDCustomerContact.CustomerDescription2Description3 = (String.isBlank(con.Account.DivisionName__c) ? '' : (con.Account.DivisionName__c=='鏃�' ? '' : con.Account.DivisionName__c)); - if (con.AccountRecordTypeId__c == '01228000000TdF6' || con.AccountRecordTypeId__c == '01228000000TdFB' || con.AccountRecordTypeId__c == '01228000000TdFG' || con.AccountRecordTypeId__c == '01228000000TdFL') { // IE or RVI + if (con.AccountRecordTypeId__c == '01228000000TdF6' || con.AccountRecordTypeId__c == '01228000000TdFB' || con.AccountRecordTypeId__c == '01228000000TdFG' || con.AccountRecordTypeId__c == '01228000000TdFL' || con.AccountRecordTypeId__c == '0120T0000003Cxt') { // IE or RVI SSBDCustomerContact.CustomerDescription2Description3 += ',' + (String.isBlank(con.Account.EnglishName__c) ? '' : con.Account.EnglishName__c); } else { SSBDCustomerContact.CustomerDescription2Description3 += ',' + (String.isBlank(con.Account.DepartmentName__c) ? '' : con.Account.Departmentname__c); diff --git a/force-app/main/default/classes/StaticParameter.cls b/force-app/main/default/classes/StaticParameter.cls index 48e0495..e75d528 100644 --- a/force-app/main/default/classes/StaticParameter.cls +++ b/force-app/main/default/classes/StaticParameter.cls @@ -240,8 +240,9 @@ '0010K00002VHSaB' => '00G0K000004AW2o', '0010K00002UxxT1' => '00G0K000004AW38', '0010K00002W6zlh' => '00G0K000004AYjU',//鎴愰兘鐩涢敶绉戞妧鏈夐檺鍏徃(NDT) - '0010K00002ZVOwt' => '00G0K000004c0oG'//澶╂触瀹忓熀浼熶笟绉戞妧鍙戝睍鏈夐檺鍏徃(NDT) - + '0010K00002ZVOwt' => '00G0K000004c0oG',//澶╂触瀹忓熀浼熶笟绉戞妧鍙戝睍鏈夐檺鍏徃(NDT) + '0010K00002b6v6W' => '00G0K000004c4xH',//鎴愰兘涓诲绉戞妧鏈夐檺璐d换鍏徃(NDT) + '0010T00000LO3ph' => '00G0T0000029vfq'//鍖椾含娣辨櫙閲忓厜绉戞妧鏈夐檺鍏徃(BS) }; public static List<String> specialDealerList = new List<String>{ diff --git a/force-app/main/default/pages/CopyOpportunity.page b/force-app/main/default/pages/CopyOpportunity.page new file mode 100644 index 0000000..692bd3c --- /dev/null +++ b/force-app/main/default/pages/CopyOpportunity.page @@ -0,0 +1,50 @@ +<apex:page Controller="CopyOpportunityController" sidebar="false" showHeader="false" action="{!init}" id="Page"> + <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> + <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> + <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> + <apex:includeScript value="{!URLFOR($Resource.connection20)}"/> + <apex:includeScript value="{!URLFOR($Resource.apex20)}"/> + + <script type="text/javascript"> + function saveJs() { + blockme(); + saveBtn(); + } + </script> + + <apex:form id="mainForm"> + <apex:actionFunction name="saveBtn" action="{!Save}" rerender="allBlock" onComplete="unblockUI();"></apex:actionFunction> + + <apex:pageBlock id="allBlock"> + <apex:pageBlockButtons location="top"> + <apex:commandButton onclick="saveJs();" value="鍒嗗壊淇濆瓨" rerender="dummy" style="width: 70px;"/> + <apex:commandButton action="{!backBtn}" value="杩斿洖" rerender="dummy" style="width: 70px;"/> + </apex:pageBlockButtons> + + + + <apex:pageBlockSection title="浠g悊鍟嗗拰鍚堜綔浼欎即浠g悊鍟嗕俊鎭�" columns="2"> + <apex:pageBlockSectionItem > + <apex:outputLabel value="瀹℃壒浜�" for="opp_DealerSelectOwner"/> + <apex:inputField value="{!opportunity.DealerSelectOwner__c}" id="opp_DealerSelectOwner" required="true"/> + </apex:pageBlockSectionItem> + <apex:pageBlockSectionItem > + <apex:outputLabel value="鍚堜綔鍖哄煙璐熻矗浜�" for="HeadOfCooperationArea"/> + <apex:inputField value="{!opportunity.HeadOfCooperationArea__c}" id="HeadOfCooperationArea" required="true"/> + </apex:pageBlockSectionItem> + <apex:pageBlockSectionItem > + <apex:outputLabel value="浠g悊鍟�" for="Dealer"/> + <apex:inputField value="{!opportunity.Dealer__c}" id="Dealer" required="true"/> + </apex:pageBlockSectionItem> + <apex:pageBlockSectionItem > + <apex:outputLabel value="鍚堜綔鍖哄煙浠g悊鍟�" for="CrossCooperativeDealer"/> + <apex:inputField value="{!opportunity.CrossCooperativeDealer__c}" id="CrossCooperativeDealer" required="true"/> + </apex:pageBlockSectionItem> + </apex:pageBlockSection> + + </apex:pageBlock> + + </apex:form> + + +</apex:page> \ No newline at end of file diff --git a/force-app/main/default/pages/CopyOpportunity.page-meta.xml b/force-app/main/default/pages/CopyOpportunity.page-meta.xml new file mode 100644 index 0000000..51eac2d --- /dev/null +++ b/force-app/main/default/pages/CopyOpportunity.page-meta.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata"> + <apiVersion>41.0</apiVersion> + <availableInTouch>false</availableInTouch> + <confirmationTokenRequired>false</confirmationTokenRequired> + <label>CopyOpportunity</label> +</ApexPage> diff --git a/force-app/main/default/pages/NEWCreateSWOQuote.page b/force-app/main/default/pages/NEWCreateSWOQuote.page index 7835391..2d0f0d4 100644 --- a/force-app/main/default/pages/NEWCreateSWOQuote.page +++ b/force-app/main/default/pages/NEWCreateSWOQuote.page @@ -295,7 +295,7 @@ <apex:inputText id="DisplayPROBABILITY" value="{!QuotesPage.PROBABILITY__c}" style="display: none;"/> </td> <td/> - <td align="left" ><apex:inputField id="PRODUCT_SEGMENT" value="{!QuotesPage.PRODUCT_SEGMENT__c}" style="width: 95%"/></td> + <td align="left" ><apex:inputField id="PRODUCT_SEGMENT" value="{!QuotesPage.PRODUCT_SEGMENT__c}" onchange="QuotesTypeChangeFunction();" style="width: 95%"/></td> </tr> <tr> <td align="left" >{!$ObjectType.Quotes__c.fields.LOCATION__c.label}<span class="textRed">*</span></td> @@ -566,19 +566,17 @@ </tr> <tr> - <apex:outputPanel layout="none" rendered="{!IF(aftORbef == false && aftORbef1 == false, true, false)}"> - <td colspan="9"> - <apex:outputText id="message01" value="{!Messages01}" style="resize:vertical;width: 100%"/> - </td> - </apex:outputPanel> + <td colspan="9"> + <apex:outputText id="message01" value="{!Messages01}" style="resize:vertical;width: 100%"/> + </td> </tr> - <tr> + <!-- <tr> <apex:outputPanel layout="none" rendered="{!IF(aftORbef == true || aftORbef1 == true, true, false)}"> <td colspan="9"> <apex:outputText value="-缁翠慨璐ㄤ繚鍙兜鐩栦簬鏈缁翠慨鐨勯厤浠讹紝缁翠慨璐ㄤ繚鏈熶负浠櫒鍙戣揣鍚庝笁涓湀鍔犲叓澶┿��" style="resize:vertical;width: 100%"/> </td> </apex:outputPanel> - </tr> + </tr> --> <tr> <td colspan="9"> <apex:outputText id="message02" value="{!Messages02}" style="resize:vertical;width: 100%"/> diff --git a/force-app/main/default/pages/OrderContract2.page b/force-app/main/default/pages/OrderContract2.page index c76a4f4..d2212f0 100644 --- a/force-app/main/default/pages/OrderContract2.page +++ b/force-app/main/default/pages/OrderContract2.page @@ -82,7 +82,7 @@ </apex:outputpanel> <apex:outputpanel layout="none" rendered="{!IF(productSegment == 'NDT'|| productSegment == 'ANI', true, false)}"> - <option value="bj">鍖椾含</option> + <option value="sh">涓婃捣</option> </apex:outputpanel> </select> </td> diff --git a/force-app/main/default/pages/OrderPDF.page b/force-app/main/default/pages/OrderPDF.page index fd677eb..6956537 100644 --- a/force-app/main/default/pages/OrderPDF.page +++ b/force-app/main/default/pages/OrderPDF.page @@ -954,7 +954,7 @@ </tr> <tr> <td style="vertical-align: top;"> - THE SELLER: Evident Corporation + THE SELLER: Evident (Shanghai) Co., Ltd </td> <td style="vertical-align: top;"> THE BUYER: {!specialDeliveryAddress.EnglishName__c} diff --git a/force-app/main/default/pages/OrderPdf2.page b/force-app/main/default/pages/OrderPdf2.page index 682afbf..e23f868 100644 --- a/force-app/main/default/pages/OrderPdf2.page +++ b/force-app/main/default/pages/OrderPdf2.page @@ -410,7 +410,7 @@ <td style="text-align: center;"> </td> </tr> <tr> - <td style="text-align: right;">OCSM鎶樻墸鍚庡悎璁� (OCSM->浠g悊鍟�)锛�</td> + <td style="text-align: right;">ECN鎶樻墸鍚庡悎璁� (ECN->浠g悊鍟�)锛�</td> <td style="text-align: right;">{!header.order_totalprice}</td> <td style="text-align: center;"> </td> </tr> @@ -487,30 +487,30 @@ <col width="10%"/> </colgroup> <tr> - <td style="text-align: left;">鍗曚綅鍚嶇О锛氬ゥ鏋楀反鏂紙鍖椾含锛夐攢鍞湇鍔℃湁闄愬叕鍙镐笂娴峰垎鍏徃</td> + <td style="text-align: left;">鍗曚綅鍚嶇О锛氫华鏅�氬厜瀛︾鎶�锛堜笂娴凤級鏈夐檺鍏徃</td> <td style="text-align: right;">鏃ユ湡:</td> <td style="text-align: left;">{!strToday}</td> <td style="text-align: left;"> </td> </tr> <tr> - <td style="text-align: left;">寮� 鎴� 琛岋細鎷涘晢閾惰涓婃捣鍒嗚娣捣鏀</td> + <td style="text-align: left;">寮� 鎴� 琛岋細鎷涘晢閾惰鑲′唤鏈夐檺鍏徃涓婃捣澶栭珮妗ユ敮琛�</td> <td style="text-align: left;"> </td> <td style="text-align: left;"> </td> <td style="text-align: left;"> </td> </tr> - <tr> + <!-- <tr> <td style="text-align: left;">閾惰璐﹀彿锛�121913911110902003锛堜粎闄愮綉閾跺鎴锋搷浣滀娇鐢級</td> <td style="text-align: left;"> </td> <td style="text-align: left;"> </td> <td style="text-align: left;"> </td> - </tr> + </tr> --> <tr> - <td style="text-align: left;"> 121913911110902 </td> + <td style="text-align: left;">閾惰璐﹀彿锛�121944940610202 </td> <td style="text-align: left;"> </td> <td style="text-align: left;"> </td> <td style="text-align: left;"> </td> </tr> - <tr> + <!-- <tr> <td style="text-align: left;">锛堜粎闄愮焊璐ㄧエ鎹鎴锋搷浣滀娇鐢紝绾歌川绁ㄦ嵁鍖呮嫭鏀エ銆佽捶璁板嚟璇併��</td> <td style="text-align: left;"> </td> <td style="text-align: center; border-top: thin solid black;">涔版柟鐩栫珷</td> @@ -521,7 +521,7 @@ <td style="text-align: left;"> </td> <td style="text-align: left;"> </td> <td style="text-align: left;"> </td> - </tr> + </tr> --> </table> </body> </apex:page> \ No newline at end of file diff --git a/force-app/main/default/pages/OrderPdf3.page b/force-app/main/default/pages/OrderPdf3.page index f6bff27..0c28f12 100644 --- a/force-app/main/default/pages/OrderPdf3.page +++ b/force-app/main/default/pages/OrderPdf3.page @@ -53,13 +53,7 @@ <td style="text-align: right;">鍦板潃锛�</td> <td style="text-align: left;">{!header.buyer_address}</td> <td style="text-align: right;">鍦板潃锛�</td> - <td style="text-align: left;">涓婃捣甯傚緪姹囧尯娣捣涓矾1010鍙�1001-1006銆�</td> - </tr> - <tr> - <td style="text-align: right;"> </td> - <td style="text-align: left;"> </td> - <td style="text-align: right;"> </td> - <td style="text-align: left;">1101銆�1102銆�1104-1106銆�1601瀹�</td> + <td style="text-align: left;">涓浗锛堜笂娴凤級鑷敱璐告槗璇曢獙鍖烘棩妯卞寳璺�199-9鍙�102鍙�302閮ㄤ綅</td> </tr> <tr> @@ -260,7 +254,7 @@ <td style="text-align: center;"> </td> </tr> <tr> - <td style="text-align: right;">OCN鎶樻墸鍚庡悎璁� (OCN->浠g悊鍟�)锛�</td> + <td style="text-align: right;">ECN鎶樻墸鍚庡悎璁� (ECN->浠g悊鍟�)锛�</td> <td style="text-align: right;">{!header.order_totalprice}</td> <td style="text-align: center;"> </td> </tr> @@ -302,19 +296,19 @@ <table border="0" width="100%"> <tr> - <td style="text-align: left;">鍏徃鍚嶇О锛氬ゥ鏋楀反鏂�(鍖椾含)閿�鍞湇鍔℃湁闄愬叕鍙�</td> + <td style="text-align: left;">鍗曚綅鍚嶇О锛氫华鏅�氬厜瀛︾鎶�锛堜笂娴凤級鏈夐檺鍏徃</td> </tr> - <tr> + <!-- <tr> <td style="text-align: left;">鏁存満璐︽埛锛圢DT/ANI 鍐呰锤涓氬姟锛�</td> - </tr> + </tr> --> <tr> - <td style="text-align: left;">閾惰璐﹀彿锛�610809142 </td> + <td style="text-align: left;">寮� 鎴� 琛岋細鎷涘晢閾惰鑲′唤鏈夐檺鍏徃涓婃捣澶栭珮妗ユ敮琛� </td> </tr> <tr> - <td style="text-align: left;">寮�鎴疯锛氫腑鍥芥皯鐢熼摱琛屽寳浜笁鍏冩敮琛� </td> + <td style="text-align: left;">閾惰璐﹀彿锛�121944940610202 </td> </tr> </table> diff --git a/force-app/main/default/staticresources/SWOJS.js b/force-app/main/default/staticresources/SWOJS.js index 5bbb8d6..6066c4f 100644 --- a/force-app/main/default/staticresources/SWOJS.js +++ b/force-app/main/default/staticresources/SWOJS.js @@ -1,4 +1,4 @@ -function openPDF(){ +锘縡unction openPDF(){ var baseUrl = j$(escapeVfId("baseUrl")).value(); var Id = j$(escapeVfId("Id")).value(); if (Id == '') { @@ -127,6 +127,7 @@ function QuotesTypeChangeFunction(){ var quotesType = j$(escapeVfId('Page:allForm:allBlock:Quotes:unEditable:QuotesType')).value(); + var quotessegment = j$(escapeVfId('Page:allForm:allBlock:Quotes:unEditable:PRODUCT_SEGMENT')).value(); var message01 = ''; var message02 = ''; var message03 = ''; @@ -138,7 +139,7 @@ // var message01 = 'Test'; // var message01 = '鍦ㄧ淮淇殑杩囩▼涓紝鑻ュ彂鐜版柊鏁呴殰锛屾垜浠皢鍙﹀缁欐偍鎶ヤ环銆�'; - var message01 = '-缁翠慨璐ㄤ繚鏈熶负浠櫒鍙戣揣鍚庝笁涓湀鍔犲叓澶┿��'; + var message01 = '-缁翠慨璐ㄤ繚鍙兜鐩栦簬鏈缁翠慨鐨勯厤浠讹紝缁翠慨璐ㄤ繚鏈熶负浠櫒鍙戣揣鍚庝笁涓湀鍔犲叓澶┿��'; var message02 = '-濡傛偍纭姝ゆ姤浠峰苟鍚屾剰缁翠慨锛屾暚璇锋偍鍦�90澶╀箣鍐呭畬鎴愪粯娆俱�傚惁鍒欐偍鐨勪华鍣ㄨ灏嗚涓烘斁寮冪淮淇紝鎴戜滑浼氫互杩愯垂鍒颁粯鐨勬柟寮忔妸浠櫒缁欐偍瀵勫洖,骞跺悜鎮ㄦ敹鍙�1000鍏冪殑妫�娴嬭垂鐢ㄣ��'; var message03 = '-鐢ㄦ埛鍦ㄦ纭鍚屾剰姝ゆ缁翠慨鎶ヤ环锛�'; var message04 = '瀹㈡埛绛惧瓧鎴栫洊绔狅細'; @@ -147,7 +148,11 @@ var message07 = ''; } else if ('闆朵欢鎶ヤ环鍗�' == quotesType) { - var message01 = '-濂ユ灄宸存柉鏈嶅姟閮ㄥ敭鍑虹殑缁翠慨閰嶄欢纭繚涓鸿川閲忕鍚堝ゥ鏋楀反鏂弬鏁版寚鏍囩殑鏂板搧锛屽ゥ鏋楀反鏂鍞嚭鐨勭淮淇厤浠朵笉鎻愪緵淇濅慨鏈嶅姟锛屽悓鏃朵篃涓嶆彁渚涢��銆佹崲璐ф湇鍔°�傛暚璇锋偍璋ㄦ厧璐拱銆�'; + if ('NDT' == quotessegment) { + var message01 = '-浠櫙閫氬厜瀛︾鎶�(涓婃捣)鏈夐檺鍏徃鍖椾含鍒嗗叕鍙稿敭鍑虹殑缁翠慨閰嶄欢涓哄ゥ鏋楀反鏂師鍘傞厤浠讹紝浠櫙閫氬叕鍙稿鍞嚭鐨勭淮淇厤浠朵笉鎻愪緵淇濅慨鏈嶅姟锛屼篃涓嶆彁渚涢��銆佹崲璐ф湇鍔★紝鏁鎮ㄨ皑鎱庤喘涔般��'; + }else { + var message01 = '-濂ユ灄宸存柉鏈嶅姟閮ㄥ敭鍑虹殑缁翠慨閰嶄欢纭繚涓鸿川閲忕鍚堝ゥ鏋楀反鏂弬鏁版寚鏍囩殑鏂板搧锛屽ゥ鏋楀反鏂鍞嚭鐨勭淮淇厤浠朵笉鎻愪緵淇濅慨鏈嶅姟锛屽悓鏃朵篃涓嶆彁渚涢��銆佹崲璐ф湇鍔°�傛暚璇锋偍璋ㄦ厧璐拱銆�'; + } var message02 = '-鐢ㄦ埛鍦ㄦ纭姝ゆ鎶ヤ环锛屽喅瀹氳喘涔帮細'; var message03 = '瀹㈡埛绛惧瓧鎴栫洊绔狅細'; var message04 = '鏃ユ湡锛�'; diff --git a/force-app/main/default/triggers/OrderTrigger.trigger b/force-app/main/default/triggers/OrderTrigger.trigger index e7b28ac..291c482 100644 --- a/force-app/main/default/triggers/OrderTrigger.trigger +++ b/force-app/main/default/triggers/OrderTrigger.trigger @@ -2,10 +2,14 @@ if (Trigger.isBefore && Trigger.isInsert) { System.debug('@@@@@@@@@@@@@@!!!!!!!!!!!!!!!'); - OrderTriggerHandler.setIsNew(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); - OrderTriggerHandler.setPriceBook(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); + if(OrderDivisionController.OrderDivision == false){ + + OrderTriggerHandler.setPriceBook(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); + + OrderTriggerHandler.check(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); + } OrderTriggerHandler.setTransferValue(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); - OrderTriggerHandler.check(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); + OrderTriggerHandler.setIsNew(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); } if (Trigger.isAfter && Trigger.isInsert) { OrderTriggerHandler.addItem(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); -- Gitblit v1.9.1