From 52f362a9efd067ba31e24b30754681aabe8f991e Mon Sep 17 00:00:00 2001
From: fuyu <fuyu@prec-tech.com>
Date: 星期一, 06 三月 2023 13:28:09 +0800
Subject: [PATCH] 备份进口单证

---
 force-app/main/default/classes/NewQuoteIraiController.cls |  638 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 572 insertions(+), 66 deletions(-)

diff --git a/force-app/main/default/classes/NewQuoteIraiController.cls b/force-app/main/default/classes/NewQuoteIraiController.cls
index 173ae57..f892eb4 100644
--- a/force-app/main/default/classes/NewQuoteIraiController.cls
+++ b/force-app/main/default/classes/NewQuoteIraiController.cls
@@ -5,6 +5,10 @@
     public Integer quoteEntryMaxLine {get; private set;}
     public Id quoId {get;set;}
     public String oppid;
+    public String leadid;
+    //SWAG-CKDATG銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+    public String tenderid;
+    //SWAG-CKDATG銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
     public Boolean productStatusUpdated {get;set;}               // 鐘舵厠鏇存柊銆亄!$Label.Status_Update} 銈掓娂涓嬨仐銇熴亱銇┿亞銇�
     public Boolean changedAfterPrint {get;set;}                  // true 銇牬鍚堛�佺敾闈€伀 confirm 銉°儍銈汇兗銈搞亴琛ㄧず銇椼伨銇欍�俼uoId銈掓柊銇椼亜insert銆傚垽瀹氥伅js銇仸瀹熸柦
 
@@ -12,8 +16,11 @@
     public Boolean filg { get; set; }
     public Integer flglastbuy { get; set; }
     public String errorProductmodel { get; set; }
+    public Boolean is_changed_opp { get; set; }
     //lastbuy  2022/3/10 fy end
-
+    //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 start
+    public String erroraxsdmodel { get; set; }
+    //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 end
     public String excel_text {get;set;}
     public Integer select_index {get;set;}                       // excelImport灏傜敤銇с仚銇屻�乯s銇仸鍒跺尽銇欍倠銇撱仺銇仾銈嬨伄銇с�乀ODO katsu 鍓婇櫎浜堝畾
     public String Product_text {get;set;}
@@ -42,6 +49,11 @@
     public User loginUser {get;set;}
     
     private Map<Id, Product2> prd2LatestValMap;
+    //obsap 鏂板缁忛攢鍟�1瀛楁 fy satrt
+    public Decimal Salesprofit1 { get; set; }
+    public Decimal SalesCalculation1 { get; set; }
+    public Boolean displayFlg { get; set; }
+    //obsap 鏂板缁忛攢鍟�1瀛楁 fy end
 
     // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 Start
     public QuoteBean qb { get; set; }
@@ -50,7 +62,24 @@
     // 缁忛攢鍟嗚浠锋姤浠峰鎵� 2020-02-28 update by vivek start
     public Map<Id,Id> userProfileId;
     // 缁忛攢鍟嗚浠锋姤浠峰鎵� 2020-02-28 update by vivek end
-    
+
+    // obsap瀵瑰簲 obsap浜哄憳妫�绱� 2022-04-27 ssm start
+    public class UserSelect {
+        public String user_name { get; set; }
+        public User user { get; set; }
+        public UserSelect(User u) {
+            this.user_name = u.Alias;
+            this.user = u;
+        }
+    } 
+    public String obsap_mail { get; set; }
+    //obsap obsap浜哄憳妫�绱� fy satrt
+    // public String selectObsapUsers { get; set; }
+    public List<SelectOption> ObsapUsers { get; set; }
+    public boolean obsflag { get; set; }
+    //obsap obsap浜哄憳妫�绱� fy end
+    // obsap瀵瑰簲 obsap浜哄憳妫�绱� 2022-04-27 ssm end
+
     public NewQuoteIraiController() {
         quoteEntryMaxLine = Integer.valueOf(System.Label.QuoteEntryMaxLine);
         baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
@@ -69,13 +98,48 @@
 
     public PageReference init() {
         system.debug('============start init==============');
+        obsap_mail = System.Label.OBSAP_Group_Mail;
         errorflg = false;
         pdf_button = true;
+        obsflag = false;
         //loginUser
-        loginUser = [select Id, ProfileId, State_Hospital__c from User where Id = :UserInfo.getUserId()];
+        loginUser = [select Id, ProfileId, State_Hospital__c, Salesdepartment_text__c from User where Id = :UserInfo.getUserId()];
         if (loginUser.ProfileId == System.Label.ProfileId_SystemAdmin) {
             pdf_button = false;
         }
+        String obsap_Login_area=System.Label.obsap_Login_area;
+        List<String> obsaplogareaList =obsap_Login_area.split(',');
+        if(obsaplogareaList.contains(loginUser.Salesdepartment_text__c)){
+            obsflag = true;
+        }
+        // obsap瀵瑰簲 obsap浜哄憳妫�绱� 2022-04-27 ssm start
+        // if (loginUser != null && String.isNotBlank(loginUser.Salesdepartment_text__c) && (loginUser.Salesdepartment_text__c == '5.鍗庝笢' || loginUser.Salesdepartment_text__c == '6.鍗庡崡')) {
+        //fy 20220512
+        if (loginUser != null && String.isNotBlank(loginUser.Salesdepartment_text__c) && obsflag) {
+
+            // obsflag = true;
+            // 杩欓噷鍋氫簡涓瘮杈�2鐨勪慨鏀�
+            // 鐢变簬瀹㈡埛涓嶆兂缁欏叕鍏卞皬缁勭殑姣忎釜浜洪兘鍒涘缓涓�涓换鍔★紝鍙兘鐢ㄩ槦鍒�
+            // 杩欐牱鎵嶈兘瀹炵幇涓�涓换鍔★紝灏忕粍鎴愬憳閮借兘鐪嬪埌锛岃皝瀹屾垚閮界畻瀹屾垚
+            // 鍙堢敱浜庨渶瑕佸彂閫侀偖浠讹紝宸ヤ綔娴侀噷鍙戦�侀偖浠跺彧鑳藉埌鍏叡灏忕粍锛屼笉鑳藉彂缁欓槦鍒�
+            // 鎵�浠ユ妸鍏叡灏忕粍褰撲綔闃熷垪鎴愬憳鎵旇繘鍘�
+            // 杩欓噷鍙兘鍙栦袱娆℃墠鑳藉彇鍒板皬缁勯噷鐨勬煇涓�涓汉
+            String obsap_group_id = System.Label.obsap_group_opp;
+            List<GroupMember> queue =  [SELECT Id, GroupId, UserOrGroupId FROM GroupMember where GroupId = :obsap_group_id];
+            system.debug('queue++'+queue);
+            if (queue != null && queue.size() > 0) {
+                List<GroupMember> members =  [SELECT Id, GroupId, UserOrGroupId FROM GroupMember where GroupId = :queue[0].UserOrGroupId];
+                GroupMember member = members != null && members.size() > 0 ? members[0] : new GroupMember();
+                User obsap_user = [SELECT Id, Name, Alias FROM User WHERE Id =: member.UserOrGroupId];
+                ObsapUsers = new List<SelectOption>();
+                // ObsapUsers.add(new SelectOption('',''));
+                // for (User u : obsaps) {
+                //     ObsapUsers.add(new SelectOption(u.Id,u.Alias));
+                // }
+                ObsapUsers.add(new SelectOption(obsap_user.Id, 'OBSAP灏忕粍'));
+            }
+        }
+        // obsap瀵瑰簲 obsap浜哄憳妫�绱� 2022-04-27 ssm end
         //Quote
         quo = new QuoteIrai__c();
         // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 Start
@@ -91,7 +155,10 @@
         }
         
         // 娼滃湪瀹㈡埛id
-        String leadid = System.currentPageReference().getParameters().get('leadid');
+        // String leadid = System.currentPageReference().getParameters().get('leadid');
+        //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy start
+        leadid = System.currentPageReference().getParameters().get('leadid');
+        //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy end
         // 缁忛攢鍟嗚浠锋姤浠峰鎵� 2020-02-28 update by vivek start
         // 缁忛攢鍟嗚浠�
         String agencyoppid = System.currentPageReference().getParameters().get('agencyoppid');
@@ -99,27 +166,41 @@
 
         // 鎷涙姇鏍囨姤浠峰鎵� 2021-06-21 update by gzw start
         // 鎷涙姇鏍�
-        String tenderid = System.currentPageReference().getParameters().get('tenderid');
+        //SWAG-CKDATG銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+        // String tenderid = System.currentPageReference().getParameters().get('tenderid');
+        tenderid = System.currentPageReference().getParameters().get('tenderid');
+        //SWAG-CKDATG銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
+
         // 鎷涙姇鏍囨姤浠峰鎵� 2021-06-21 update by gzw start
 
         // 璇环id
         oppid = System.currentPageReference().getParameters().get('oppid');
-        //lastbuy  2022/3/10 fy start
         QuoteIrai__c quoteiraiobj = new QuoteIrai__c();
-        if(oppid==null&&tenderid==null&&quoId!=null&&leadid==null&&agencyoppid==null){
-            quoteiraiobj = [select id,Note__c from QuoteIrai__c where id=:quoId];
+        //SWAG-CKDATG銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+        if(oppid==null&&quoId!=null&&leadid==null&&agencyoppid==null){
+            // if(oppid==null&&tenderid==null&&quoId!=null&&leadid==null&&agencyoppid==null){
+        //SWAG-CKDATG銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy  Noteplus__c
+            quoteiraiobj = [select id,Note__c,Noteplus__c from QuoteIrai__c where id=:quoId];
             if(quoteiraiobj.Note__c!=null){
                 String[] quosub=quoteiraiobj.Note__c.split('/');
-                oppid=quosub[quosub.size()-1];
+                //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy start
+                oppid=quosub[quosub.size()-1].substring(0,15);
+                //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy end
+                // oppid=quosub[quosub.size()-1];
             }
         }
-        //lastbuy  2022/3/10 fy start
         system.debug('oppid:++++'+oppid);
+        system.debug('leadid:++++'+leadid);
+        system.debug('tenderid:++++'+tenderid);
         // 鎶ヤ环id
         String oppquoid = System.currentPageReference().getParameters().get('oppquoid');
         //灏嗘姤浠峰鎵樼殑甯佺涓庡璐稿竵绉嶄竴鑷� 闃叉鍚庣画澶栬锤鏈夐渶瑕佺敤USD鍒ゆ柇鏄剧ず鐨勫湴鏂� 绮剧悽鎶�鏈� wql 2021/01/06 start
-        List<Opportunity> oppList = [Select id,CurrencyIsoCode from Opportunity where id =:oppid];
-
+        List<Opportunity> oppList = [Select id,CurrencyIsoCode, If_Account_Change__c from Opportunity where id =:oppid];
+        // lastbuy鍙樻洿鐢ㄦ埛璇环鍒ゆ柇
+        // 濡傛灉鍙栧緱浜嗚浠凤紝鍒欏彇璇环涓婄殑鏄惁鍙樻洿鐢ㄦ埛锛屽惁鍒檉alse
+        is_changed_opp = oppList != null && oppList.size() > 0 ? oppList[0].If_Account_Change__c : false;
+        
         //Quote
         Integer i;
         if (quoId==null){
@@ -140,13 +221,19 @@
             }
             // 缁忛攢鍟嗚浠锋姤浠峰鎵� 2020-02-28 update by vivek end
             // 鎷涙姇鏍囨姤浠峰鎵� 2021-06-21 update by gzw start
-            if (String.isNotBlank(tenderid)) {
+            // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+            // if (String.isNotBlank(tenderid)) {
+            if (String.isNotBlank(tenderid)&&String.isBlank(leadid)) {
+            // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
                 quo.Note__c = Tender_information__c.sObjectType.getDescribe().getLabel() + '锛�' + baseUrl + '/' + tenderid;
             }
             // 鎷涙姇鏍囨姤浠峰鎵� 2021-06-21 update by gzw end
             if (String.isNotBlank(oppid)) {
                 quo.Note__c = Opportunity.sObjectType.getDescribe().getLabel() + '锛�' + baseUrl + '/' + oppid;
             }
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy start
+            quo.Noteplus__c = quo.Note__c;
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy end
             //鏂拌銉偣銉堛偝銉炽儓銉兗銉┿伄鍙栧緱
             if (activities==null){
                 activities = new List<QELine>();
@@ -223,6 +310,15 @@
                 } else {
                     // 宸茬粡瀛樺湪鎶ヤ环
                     if (String.isNotBlank(oppquoid)) {
+                        //DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy start
+                        Quote quo2 = new Quote();
+                        List<Quote> quote =  [select Id,Agency1__c,Agency2__c From Quote Where Id =:oppquoid];
+                        if(quote.size()>0){
+                            quo2=quote[0];
+                        }
+                        quo.Agency1_entrust__c = quo2.Agency1__c;
+                        quo.Agency2_entrust__c = quo2.Agency2__c;
+                        //DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy end
                         // 鎶ヤ环鍟嗗搧鍙栧緱
                         // CHAN-BHNBX6 2019/11/20 START//fy lastbuy 20220310 PricebookEntry.Product2.LastbuyProductFLG__c
                         List<QuoteLineItem> qlis = [select id,PricebookEntry.Product2Id,PricebookEntry.Product2.LastbuyProductFLG__c,Quantity__c,CurrencyIsoCode,GuaranteePeriod__c from QuoteLineItem where QuoteId = :oppquoid];
@@ -333,17 +429,21 @@
             // 鎷涙姇鏍囨姤浠峰鎵� 2021-06-21 update by gzw end
         }else{
             // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 Start
-            List<QuoteIrai__c> quoList = 
-                [ SELECT Id,Name,Cancel_Decide__c,Agency_Hospital_Link__c,CreatedDate, PriceRefreshDate__c,Quote_Print_Date__c,
-                        Quote_Date__c,QuoteToName__c,Quote_Expiration_Date__c,Quote_Comment__c,Tender_information__c,
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy  Noteplus__c
+            //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy Lead__c,Opportunity__c,
+            List<QuoteIrai__c> quoList = //obsap 鏂板缁忛攢鍟�1瀛楁 fy satrt Agency1_entrust__c ,SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start cancelMultiyearInsurance__c,
+                [ SELECT Id,Name,Cancel_Decide__c,Agency_Hospital_Link__c,CreatedDate, PriceRefreshDate__c,Quote_Print_Date__c,Agency1_entrust__c,cancelMultiyearInsurance__c,
+                        Quote_Date__c,QuoteToName__c,Quote_Expiration_Date__c,Quote_Comment__c,Tender_information__c,Noteplus__c,Lead__c,Opportunity__c,
                         TOTAL__c,Discount__c,Pricing__c,Preferential_Trading_Price__c,Contract__c,LastIraiUser__c,MultiYearWarrantyTotalPrice__c,QuoteTotal_Page__c,Estimation_List_Price__c,
+                        Agency2_entrust__c,//DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy
                         Print_HP_Name__c,Account__c,IraiUser__c,IraiSubject__c,CurrencyIsoCode,IraiName__c,QuoteIrai_Status__c,QuoteProportion__c,Note__c,IraiComment__c
+                        , urgent__c  //20230104 lt DB202212427301
                         FROM QuoteIrai__c Where Id =:quoId];
             // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 End
             // CHAN-BHNBX6 2019/11/20 START
-            List<QuoteIraiLineItem__c> items = //lastbuy  2022/3/10 fy start LastbuyProductFLG__c
+            List<QuoteIraiLineItem__c> items = //lastbuy  2022/3/10 fy start LastbuyProductFLG__c //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 start Is_DangerousChemicals__c,CanNotCancelledGurantee__c
                 [Select Id,Asset_Model_No__c,SFDA_Status__c,Name__c,BSS_Category__c,QuoteIrai__r.Quote_Print_Date__c,
-                    Qty_Unit__c,Quantity__c,Product2__r.SFDA_Status__c,ProductCode__c,ListPrice__c,Product2__r.LastbuyProductFLG__c,
+                    Qty_Unit__c,Quantity__c,Product2__r.SFDA_Status__c,ProductCode__c,ListPrice__c,Product2__r.LastbuyProductFLG__c,Product2__r.Is_DangerousChemicals__c,CanNotCancelledGurantee__c,
                     Product2__r.Sales_Possibility__c,Product2__r.Name,Product2__c,ServicePrice__c,NoDiscountTotal__c,GuaranteePeriod__c
                     From QuoteIraiLineItem__c where QuoteIrai__c = :quoId Order by Item_Order__c, Id];
             // CHAN-BHNBX6 2019/11/20 END
@@ -426,9 +526,28 @@
         if (quo.Quote_Expiration_Date__c==null){
             quo.Quote_Expiration_Date__c = Date.today() + 30;
         }
-
         //--Savebutton
-        Save_button=true;
+        // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+        this.Save_button=false;
+        if(quo.QuoteIrai_Status__c != '鑽夋涓�'&& String.isNotBlank(quo.QuoteIrai_Status__c)){
+            this.Save_button=true;
+        }
+        // Save_button=true;
+        // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
+        system.debug('===fff==='+quo.QuoteIrai_Status__c);
+        system.debug('===ccc==='+this.Save_button);
+        //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy start
+        // if( quo.Note__c!=''){
+        if(String.isNotBlank(quo.Note__c)){
+            system.debug('===111==='+quo.Note__c.split('\r\n'));
+            List<String> str=quo.Note__c.split('\r\n');
+            if(str.size()==1){
+                quo.Note__c=''; 
+            }else{
+                quo.Note__c=str[1]; 
+            }
+        }
+        //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy end
         system.debug('===000==='+quo);
         return null;
      }
@@ -913,6 +1032,7 @@
                 }
             }
         }
+        // System.debug('---lt123---descriptions---'+descriptions);
         if (descriptions.size() <= 0) {
             errorflg = true;
             errorMessage = '娌℃湁瑕佸鎵樼殑浜у搧銆�';
@@ -930,36 +1050,162 @@
             }
             
             String description = '';
+            //20230116 fy start
+            String descriptionsendEmailp = '';
+            String descriptionsendEmailbody = '';
+            //20230116 fy end
             Integer i = 1;
             for (String d : descriptions) {
                 if (i == 1) {
                     description += d;
+                    //20230116 fy start
+                    descriptionsendEmailp += d;
+                    //20230116 fy end
                 } else {
                     description += '\r\n' + d;
+                    //20230116 fy start
+                    descriptionsendEmailp += '\r\n' + d;
+                    //20230116 fy end
                 }
                 i += 1;
             }
-            if (!String.isBlank(quo.Note__c)) {
-                description += '\r\n' + quo.Note__c;
+            // System.debug('---lt123---description---'+description);
+            //obsap 鏂板缁忛攢鍟�1瀛楁 fy start
+            if (!String.isBlank(quo.Agency1_entrust__c)) {
+                Account  quoteAeName = [select Id,Name from Account where Id =:quo.Agency1_entrust__c];
+                description += '\r\n' + '绗竴缁忛攢鍟嗗悕绉�' + '锛�' + quoteAeName.Name;
+                //20230116 fy start
+                descriptionsendEmailbody += '\r\n' + '绗竴缁忛攢鍟嗗悕绉�' + '锛�' + quoteAeName.Name;
+                //20230116 fy end
+            }
+            //DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy start
+            if (!String.isBlank(quo.Agency2_entrust__c)) {
+                Account  quoteAeName2 = [select Id,Name from Account where Id =:quo.Agency2_entrust__c];
+                description += '\r\n' + '绗簩缁忛攢鍟嗗悕绉�' + '锛�' + quoteAeName2.Name;
+                descriptionsendEmailbody += '\r\n' + '绗簩缁忛攢鍟嗗悕绉�' + '锛�' + quoteAeName2.Name;
+            }
+            //DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy end
+            if (quo.QuoteProportion__c!=null) {
+                description += '\r\n' + '鎶ヤ环姣斾緥' + '锛�' + quo.QuoteProportion__c;
+                //20230116 fy start
+                descriptionsendEmailbody += '\r\n' + '鎶ヤ环姣斾緥' + '锛�' + quo.QuoteProportion__c;
+                //20230116 fy end
+            }
+            if (!String.isBlank(quo.IraiComment__c)) {
+                description += '\r\n' + '鎶ヤ环澶囨敞' + '锛�' + quo.IraiComment__c;
+                //20230116 fy start
+                descriptionsendEmailbody += '\r\n' + '鎶ヤ环澶囨敞' + '锛�' + quo.IraiComment__c;
+                //20230116 fy end
+            }
+            //obsap 鏂板缁忛攢鍟�1瀛楁 fy end
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy start
+            String node;
+            if(!String.isBlank(quo.Note__c)){
+                node=quo.Noteplus__c+'\r\n'+quo.Note__c;
+            }else{
+                node=quo.Noteplus__c;
+            }
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy end
+            if (!String.isBlank(node)) {
+                //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy start
+                description += '\r\n' + node;
+                //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy end
+                // description += '\r\n' + quo.Note__c;
+                //20230116 fy start
+                descriptionsendEmailbody += '\r\n' + node;
+                //20230116 fy end
             }
             if (!String.isBlank(quo.Account__c)) {
                 description += '\r\n' + Account.sObjectType.getDescribe().getLabel() + '锛�' + baseUrl + '/' + quo.Account__c;
+                //20230116 fy start
+                descriptionsendEmailbody += '\r\n' + Account.sObjectType.getDescribe().getLabel() + '锛�' + baseUrl + '/' + quo.Account__c;
+                //20230116 fy end
             }
             // 缁忛攢鍟嗚浠锋姤浠峰鎵� 2020-02-28 update by vivek start
             if (!String.isBlank(quo.Agency_Hospital_Link__c)) {
                 description += '\r\n' + Agency_Hospital_Link__c.sObjectType.getDescribe().getLabel() + '锛�' + baseUrl + '/' + quo.Agency_Hospital_Link__c;
+                //20230116 fy start
+                descriptionsendEmailbody += '\r\n' + Agency_Hospital_Link__c.sObjectType.getDescribe().getLabel() + '锛�' + baseUrl + '/' + quo.Agency_Hospital_Link__c;
+                //20230116 fy end
             }
             // 缁忛攢鍟嗚浠锋姤浠峰鎵� 2020-02-28 update by vivek end
-
+            //obsap 鏂板缁忛攢鍟�1瀛楁 fy start
+            if (!String.isBlank(quo.Agency1_entrust__c)) {
+                description += '\r\n' + '绗竴缁忛攢鍟�' + '锛�' + baseUrl + '/' + quo.Agency1_entrust__c;
+                //20230116 fy start
+                descriptionsendEmailbody += '\r\n' + '绗竴缁忛攢鍟�' + '锛�' + baseUrl + '/' + quo.Agency1_entrust__c;
+                //20230116 fy end
+            }
+            //DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy start
+            if (!String.isBlank(quo.Agency2_entrust__c)) {
+                description += '\r\n' + '绗簩缁忛攢鍟�' + '锛�' + baseUrl + '/' + quo.Agency2_entrust__c;
+                descriptionsendEmailbody += '\r\n' + '绗簩缁忛攢鍟�' + '锛�' + baseUrl + '/' + quo.Agency2_entrust__c;
+            }
+            //DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy end
+            //SWAG-CKDATG銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+            if (!String.isBlank(tenderid)&&!description.contains('鎷涙爣椤圭洰') ) {
+                description += '\r\n' + '鎷涙爣椤圭洰' + '锛�' + baseUrl + '/' + tenderid;
+                //20230116 fy start
+                descriptionsendEmailbody += '\r\n' + '鎷涙爣椤圭洰' + '锛�' + baseUrl + '/' + tenderid;
+                //20230116 fy end
+            }
+            //SWAG-CKDATG銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
+            //obsap 鏂板缁忛攢鍟�1瀛楁 fy end
             // 鎷涙姇鏍囨姤浠峰鎵� 2020-06-21 update by gzw start
             // if (!String.isBlank(quo.Tender_information__c)) {
             //     description += '\r\n' + Tender_information__c.sObjectType.getDescribe().getLabel() + '锛�' + baseUrl + '/' + quo.Tender_information__c;
             // }
             // 鎷涙姇鏍囨姤浠峰鎵� 2020-06-21 update by gzw end
+            // obsap 濮旀墭浜烘寜鍏叡灏忕粍鍖哄垎锛屾绱㈡暟閲忓鍔� 2022-05-09 ssm start
+            List<String> irai_userids = new List<String>();
+            // if (loginUser != null && String.isNotBlank(loginUser.Salesdepartment_text__c) && (loginUser.Salesdepartment_text__c == '5.鍗庝笢' || loginUser.Salesdepartment_text__c == '6.鍗庡崡')) {
+            //fy 20220512
+            if (loginUser != null && String.isNotBlank(loginUser.Salesdepartment_text__c) && obsflag) {
+
+                // obsflag = true;
+                // String obsap_group_id = System.Label.obsap_group_opp;
+                // List<GroupMember> members =  [SELECT Id, GroupId, UserOrGroupId FROM GroupMember where GroupId = :obsap_group_id];
+                // system.debug('members++'+members);
+                // if (members != null && members.size() > 0) {
+                //     for (GroupMember member : members) {
+                        // irai_userids.add(member.UserOrGroupId);
+                //     }
+                // }
+                irai_userids.add(System.Label.obsap_group_opp);
+            }else{
+                irai_userids.add(quo.IraiUser__c);
+            }
+            // 鎶婂鎵樹笂缁戝畾鐨勪汉鍔犲埌list閲�
+            //20220512 lt add
+            // Map<String,String> iuMap = new Map<String,String>();
+            // for(String iu : irai_userids){
+            //     iuMap.put(iu,iu);
+            // }
+            // if(!iuMap.containsKey(quo.IraiUser__c)){
+            //     irai_userids.add(quo.IraiUser__c);
+            // } 
+            //irai_userids.add(quo.IraiUser__c);
+            // Task[] tasks = [select Id,Subject,OwnerId,Description,ActivityDate,QuoteIraiId__c
+            //                 from Task
+            //                 where QuoteIraiId__c = :quoId and OwnerId = :quo.IraiUser__c];
             Task[] tasks = [select Id,Subject,OwnerId,Description,ActivityDate,QuoteIraiId__c
                             from Task
-                            where QuoteIraiId__c = :quoId and OwnerId = :quo.IraiUser__c];
-            String todoSubject = '鎶ヤ环濮旀墭锛�' + quo.IraiSubject__c;
+                            where QuoteIraiId__c = :quoId and OwnerId in :irai_userids];
+            //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy start      
+            List<String>  HeadquartersArray= quo.Headquarters__c.split('\\.');
+            String Headquarters = '';
+            if(HeadquartersArray.size()>0){
+                Headquarters = HeadquartersArray.size()>=2 ? HeadquartersArray[1]:HeadquartersArray[0];
+            }
+            // String todoSubject = '鎶ヤ环濮旀墭锛�' + quo.IraiSubject__c;
+            String todoSubject = Headquarters+'鎶ヤ环濮旀墭锛�' + quo.IraiSubject__c;
+            //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy end
+            // 20230104 lt DB202212427301 start
+            if(quo.Urgent__c){
+                todoSubject = '銆愮揣鎬ャ��' + todoSubject;
+            }
+            
+            // 20230104 lt DB202212427301 end
             if (!String.isBlank(quo.IraiName__c)) {
                 todoSubject += '锛� ' + quo.IraiName__c;
             }
@@ -969,47 +1215,125 @@
             if (quo.QuoteProportion__c != null) {
                 todoSubject += '锛� ' + quo.QuoteProportion__c + '%';
             }
-            String taskid = '';
+            // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+            todoSubject += quo.cancelMultiyearInsurance__c=='涓嶈' ?'锛屽彇娑堝骞翠繚':'锛岄渶瑕佸骞翠繚';
+            // if (quo.cancelMultiyearInsurance__c=='涓嶈') {
+            //     todoSubject += '锛屽彇娑堝骞翠繚';
+            // }else{
+            //     todoSubject += '锛岄渶瑕佸骞翠繚';
+            // }
+            // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
+            // String taskid = '';
+            // 鏀规垚瀵瑰浜虹殑
+            // if (tasks.size() > 0) {
+            //     Task task = tasks[0];
+            //     task.Subject = todoSubject;
+            //     task.Description = description;
+            //     task.ActivityDate = Date.today();
+                
+            //     Database.DMLOptions dmlo = new Database.DMLOptions();
+            //     dmlo.EmailHeader.triggerUserEmail = true;
+            //     Database.update(task, dmlo);
+            //     taskid = task.Id;
+            // } else {
+            //     Task task = new Task();
+            //     task.Subject = todoSubject;
+            //     task.OwnerId = quo.IraiUser__c;
+            //     task.Description = description;
+            //     task.ActivityDate = Date.today();
+            //     task.QuoteIraiId__c = quoId;
+                
+            //     Database.DMLOptions dmlo = new Database.DMLOptions();
+            //     dmlo.EmailHeader.triggerUserEmail = true;
+            //     Database.insert(task, dmlo);
+            //     taskid = task.Id;
+            // }
+            List<String> new_task_users = new List<String>();
+            //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy start
+            List<String> taskIdL = new List<String>();
+            //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy end
             if (tasks.size() > 0) {
-                Task task = tasks[0];
-                task.Subject = todoSubject;
-                task.Description = description;
-                task.ActivityDate = Date.today();
-                
-                Database.DMLOptions dmlo = new Database.DMLOptions();
-                dmlo.EmailHeader.triggerUserEmail = true;
-                Database.update(task, dmlo);
-                taskid = task.Id;
+                List<String> task_users = new List<String>();
+                for (Task task : tasks) {
+                    task_users.add(task.OwnerId);
+                    //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy start
+                    taskIdL.add(task.Id);
+                    //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy end
+                    task.Subject = todoSubject;
+                    task.Description = description;
+                    task.ActivityDate = Date.today();
+                }
+                //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy start
+                // Database.DMLOptions dmlo = new Database.DMLOptions();
+                // dmlo.EmailHeader.triggerUserEmail = true;
+                // Database.update(tasks, dmlo);
+                update tasks;
+                if(taskIdL.size()>0){
+                    sendEmail(todoSubject,descriptionsendEmailp,descriptionsendEmailbody,taskIdL[0],Headquarters);
+                }
+                //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy end
+                for (String uid : irai_userids) {
+                    if (!task_users.contains(uid)) {
+                        new_task_users.add(uid);
+                    }
+                }
+
             } else {
-                Task task = new Task();
-                task.Subject = todoSubject;
-                task.OwnerId = quo.IraiUser__c;
-                task.Description = description;
-                task.ActivityDate = Date.today();
-                task.QuoteIraiId__c = quoId;
-                
-                Database.DMLOptions dmlo = new Database.DMLOptions();
-                dmlo.EmailHeader.triggerUserEmail = true;
-                Database.insert(task, dmlo);
-                taskid = task.Id;
+                new_task_users = irai_userids;
             }
+            if (new_task_users.size() > 0) {
+                List<Task> new_tasks = new List<Task>();
+                for (String uid : new_task_users) {
+                    Task new_task = new Task();
+                    new_task.Subject = todoSubject;
+                    new_task.OwnerId = uid;
+                    new_task.Description = description;
+                    new_task.ActivityDate = Date.today();
+                    new_task.QuoteIraiId__c = quoId;
+                    // 20230109 lt DB202212427301 start
+                    if(quo.Urgent__c){
+                        new_task.Priority = '楂�';
+                    }
+                    // 20230109 lt DB202212427301 start
+
+                    new_tasks.add(new_task);
+                }
+                system.debug('new_tasks++'+new_tasks);
+                //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy start
+                // Database.DMLOptions dmlo = new Database.DMLOptions();
+                // dmlo.EmailHeader.triggerUserEmail = true;
+                // Database.insert(new_tasks, dmlo);
+                insert new_tasks;
+                sendEmail(todoSubject,descriptionsendEmailp,descriptionsendEmailbody,new_tasks[0].Id,Headquarters);
+                //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy end
+            }
+            // obsap 濮旀墭浜烘寜鍏叡灏忕粍鍖哄垎锛屾绱㈡暟閲忓鍔� 2022-05-09 ssm end
             
             User u = [select Id,Name from user where Id = :quo.IraiUser__c];
             quo.LastIraiUser__c = u.Name;
             QuoteIrai__c qi = new QuoteIrai__c(Id = quoId);
             qi.LastIraiUser__c = quo.LastIraiUser__c;
+            qi.Urgent__c = quo.Urgent__c;     //20230104 lt DB202212427301 shart
             //鎶ヤ环濮旀墭鐘舵�佹洿鏂�  宸茬粡濮旀墭
             qi.QuoteIrai_Status__c = '宸茬粡濮旀墭';
+            //DB202211607582 fy 銆愭姤浠峰鎵樸�戞姤浠峰鎵橀〉闈㈤渶姹� start
+            qi.EntrustmentDate__c = Date.today();
+            //DB202211607582 fy 銆愭姤浠峰鎵樸�戞姤浠峰鎵橀〉闈㈤渶姹� end
             update qi;
+
             if(String.isNotBlank(quoId)){
                 // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 Start
-                quo =[ SELECT Id,Name,Cancel_Decide__c,CreatedDate, PriceRefreshDate__c,Quote_Print_Date__c,
-                        Quote_Date__c,QuoteToName__c,Quote_Expiration_Date__c,Quote_Comment__c,Tender_information__c,
-                        TOTAL__c,Discount__c,Pricing__c,Preferential_Trading_Price__c,Contract__c,LastIraiUser__c,MultiYearWarrantyTotalPrice__c,QuoteTotal_Page__c,Estimation_List_Price__c,
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy  Noteplus__c
+            //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy Lead__c,Opportunity__c,
+                quo =[ SELECT Id,Name,Cancel_Decide__c,CreatedDate, PriceRefreshDate__c,Quote_Print_Date__c,//obsap 鏂板缁忛攢鍟�1瀛楁 fy satrt Agency1_entrust__c,SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start cancelMultiyearInsurance__c,
+                        Quote_Date__c,QuoteToName__c,Quote_Expiration_Date__c,Quote_Comment__c,Tender_information__c,Agency1_entrust__c,Noteplus__c,Lead__c,Opportunity__c,cancelMultiyearInsurance__c,
+                        TOTAL__c,Discount__c,Pricing__c,Preferential_Trading_Price__c,Contract__c,LastIraiUser__c,MultiYearWarrantyTotalPrice__c,QuoteTotal_Page__c,Estimation_List_Price__c,Agency2_entrust__c,//DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy
                         Print_HP_Name__c,Account__c,Agency_Hospital_Link__c,IraiUser__c,IraiSubject__c,CurrencyIsoCode,IraiName__c,QuoteIrai_Status__c,QuoteProportion__c,Note__c,IraiComment__c
+                        , urgent__c  //20230104 lt DB202212427301
                         FROM QuoteIrai__c Where Id =:quoId];
                 // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 End
             }
+
             // 鎷涙姇鏍囨姤浠峰鎵� 2020-06-21 update by gzw start
             if (!String.isBlank(quo.Tender_information__c)) {
                 Tender_information__c tender = new Tender_information__c(Id = quo.Tender_information__c);
@@ -1019,7 +1343,40 @@
             // 鎷涙姇鏍囨姤浠峰鎵� 2020-06-21 update by gzw end
             errorflg = true;
             errorMessage = '閭欢鍙戦�佸畬鎴愩��';
+            // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+            this.Save_button=true;
+            //XLIU-CHY4KW 20220907 lt start  --- 鎶ヤ环濮旀墭鍙戦�侀偖浠舵垚鍔熶箣鍚� 鍙嶅悜鏇存柊鎰忓悜  鎶ヤ环濮旀墭瀛楁涓�1
+            Lead lea = new Lead();
+            if(String.isNotBlank(leadid)){
+                lea.Id = leadid;
+                lea.OfferToEntrust__c = 1;
+                //20230227 lt DB202302251962 start
+                List<Lead> leadlist = [select Id,Firsttime_Quote_Irai__c from Lead where Id = :leadid];
+                System.debug('lt123鏃ユ湡1'+ leadlist[0].Firsttime_Quote_Irai__c);
+                System.debug('lt123鏃ユ湡2'+ lea.Firsttime_Quote_Irai__c);
+                if(leadlist.size() > 0){
+                    if(leadlist[0].Firsttime_Quote_Irai__c == null){
+                        lea.Firsttime_Quote_Irai__c = Date.today();
+                    }
+                }
+                //20230227 lt DB202302251962 end
+                update lea;
+            }
+            //XLIU-CHY4KW 20220907 lt end  
+
             pageArrange();
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy start
+            // if(quo.Note__c!=''){
+            if(String.isNotBlank(quo.Note__c)){
+                system.debug('===555==='+quo.Note__c.split('\r\n'));
+                List<String> str=quo.Note__c.split('\r\n');
+                if(str.size()==1){
+                    quo.Note__c=''; 
+                }else{
+                    quo.Note__c=str[1]; 
+                }
+            }
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy end
             return null;
             //鎶ヤ环濮旀墭鐘舵�佹洿鏂�  宸茬粡濮旀墭
         } catch (DmlException de) {
@@ -1038,10 +1395,13 @@
         
         return null;
     }
+
     public String getoppId(){
         String opptext = null;
         if(String.isNotBlank(quoId)){
-            QuoteIrai__c getnote = [ SELECT Id,Name,Note__c FROM QuoteIrai__c Where Id =:quoId];
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy  Noteplus__c
+            //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy Lead__c,Opportunity__c,
+            QuoteIrai__c getnote = [ SELECT Id,Name,Note__c,Noteplus__c,Lead__c,Opportunity__c FROM QuoteIrai__c Where Id =:quoId];
             if(String.isNotBlank(getnote.Note__c) && getnote.Note__c.indexOf( 'com/') > 0){
                 opptext = getnote.Note__c.SubString(getnote.Note__c.LastIndexOf('/')+1,getnote.Note__c.LastIndexOf('/')+16);
             }
@@ -1176,8 +1536,10 @@
     }
 
     public boolean dataCheck(){
-         //20220310 fy lastbuy start 
-         if (quoId!=null){
+        //20220310 fy lastbuy start 
+        // 澧炲姞鍙樻洿鐢ㄦ埛璇环鍒ゆ柇
+        // if (quoId!=null){
+        if (String.isNotBlank(this.oppid) && !is_changed_opp){
             if(!ReservedProductVerification()){
                 if(flglastbuy==1){
                   errorflg = true;
@@ -1197,10 +1559,18 @@
                 //     errormessage =  '璇ユ姤浠峰鎵樺瓨鍦ㄩ鐣欎骇鍝�';
                 //     return false;
                 // }
-              }
+            }
         }
       
       //20220310 fy lastbuy end
+        //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 start
+        String resalt = assdproductCheck();
+        if(resalt!='OK'){
+            errorflg = true;
+            errormessage = resalt ;
+            return false;
+        }
+        //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 end
         system.debug('鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆Welcome to dataCheck class!!鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆鈼嬧棆');
         errorflg = false;
         errormessage = null;
@@ -1225,8 +1595,8 @@
             if (error == true){
                 if (quoId != null) {
                     Map<String,QuoteIraiLineItem__c> itemmap = new Map<String,QuoteIraiLineItem__c>();
-                    for (QuoteIraiLineItem__c item : [//lastbuy  2022/3/10 fy start LastbuyProductFLG__c
-                        Select Id,Product2__r.SFDA_Status__c,Product2__r.Name,Product2__c,Product2__r.LastbuyProductFLG__c
+                    for (QuoteIraiLineItem__c item : [//lastbuy  2022/3/10 fy start LastbuyProductFLG__c //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 start Product2__r.Is_DangerousChemicals__c
+                        Select Id,Product2__r.SFDA_Status__c,Product2__r.Name,Product2__c,Product2__r.LastbuyProductFLG__c,Product2__r.Is_DangerousChemicals__c
                         From QuoteIraiLineItem__c where QuoteIrai__c = :quoId Order by Item_Order__c, Id]) {
                         itemmap.put(item.Product2__c,item);
                     }
@@ -1327,10 +1697,13 @@
             q = New QuoteIrai__c();
         }else{
             // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 Start
-            List<QuoteIrai__c> qs = New List<QuoteIrai__c>();
-            qs = [select Id,Account__c,Agency_Hospital_Link__c,Name,IraiUser__c,IraiSubject__c,Tender_information__c,
-                Preferential_Trading_Price__c,Discount__c,Pricing__c,Unit_Price__c,Offer_Amount__c,TOTAL__c,MultiYearWarrantyTotalPrice__c,QuoteTotal_Page__c,Estimation_List_Price__c,
+            List<QuoteIrai__c> qs = New List<QuoteIrai__c>();//obsap 鏂板缁忛攢鍟�1瀛楁 fy satrt Agency1_entrust__c,SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start cancelMultiyearInsurance__c,
+            //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy  Noteplus__c
+            //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy Lead__c,Opportunity__c,
+            qs = [select Id,Account__c,Agency_Hospital_Link__c,Name,IraiUser__c,IraiSubject__c,Tender_information__c,Agency1_entrust__c,Noteplus__c,Lead__c,Opportunity__c,cancelMultiyearInsurance__c,
+                Preferential_Trading_Price__c,Discount__c,Pricing__c,Unit_Price__c,Offer_Amount__c,TOTAL__c,MultiYearWarrantyTotalPrice__c,QuoteTotal_Page__c,Estimation_List_Price__c,Agency2_entrust__c,//DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy
                 Contract__c,Print_HP_Name__c,Quote_Expiration_Date__c,Quote_Comment__c,IraiName__c,QuoteIrai_Status__c,QuoteProportion__c,Note__c,IraiComment__c
+                , urgent__c  //20230104 lt DB202212427301
                 From QuoteIrai__c Where Id =:quoId];
             // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 End
             if (qs.size()>0){
@@ -1354,31 +1727,56 @@
         // 鎷涙姇鏍囨姤浠峰鎵� 2020-06-21 update by gzw end
         q.IraiUser__c = quo.IraiUser__c;
         q.IraiName__c = quo.IraiName__c;
+        //obsap 鏂板缁忛攢鍟�1瀛楁 fy staty
+        q.Agency1_entrust__c = quo.Agency1_entrust__c;
+        //obsap 鏂板缁忛攢鍟�1瀛楁 fy staty
+        //DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy start
+        q.Agency2_entrust__c = quo.Agency2_entrust__c;
+        //DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy end
+        // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+        q.cancelMultiyearInsurance__c = quo.cancelMultiyearInsurance__c;
+        // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
         q.QuoteProportion__c = quo.QuoteProportion__c;
         q.CurrencyIsoCode = quo.CurrencyIsoCode;
-        q.Note__c = quo.Note__c;
+        //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy start
+        q.Noteplus__c=quo.Noteplus__c;
+        if(!String.isBlank(quo.Note__c)){
+            q.Note__c = quo.Noteplus__c+'\r\n'+quo.Note__c;
+        }else {
+            q.Note__c = quo.Noteplus__c;
+        }
+        
+        System.debug('===222==='+quo.Noteplus__c+'  ===333===   '+q.Note__c);
+        //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy end
+        // q.Note__c = quo.Note__c;
         q.IraiComment__c = quo.IraiComment__c;
         //----checkbox 銇嵃鍒风洿鍓嶃伀淇濆瓨
         q.Quote_Expiration_Date__c = quo.Quote_Expiration_Date__c;
         q.Quote_Comment__c = quo.Quote_Comment__c;
         q.LastIraiUser__c = quo.LastIraiUser__c;
+        q.Urgent__c = quo.Urgent__c;   //20230104 lt DB202212427301 shart
         system.debug('鏍囧噯浠锋牸2锛�'+qb.Estimation_List_Price);
         // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/10 Start 
          q.Estimation_List_Price__c = qb.Estimation_List_Price;
          q.MultiYearWarrantyTotalPrice__c = qb.MultiYearWarrantyTotalPrice;
          q.QuoteTotal_Page__c = qb.QuoteTotal_Page;
         // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/10 END
-
-
+        //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy start
+        q.Lead__c=leadid;
+        q.Opportunity__c=oppid;
+        //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy end
         if (quoId==null){
             insert q;
         }else{
             update q;
         }
-        quo =[ SELECT Id,Name,Cancel_Decide__c,CreatedDate, PriceRefreshDate__c,Quote_Print_Date__c,
-                    Quote_Date__c,QuoteToName__c,Quote_Expiration_Date__c,Quote_Comment__c,Tender_information__c,
-                    TOTAL__c,Discount__c,Pricing__c,Preferential_Trading_Price__c,Contract__c,LastIraiUser__c,MultiYearWarrantyTotalPrice__c,QuoteTotal_Page__c,Estimation_List_Price__c,
+        //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy  Noteplus__c
+        //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy Lead__c,Opportunity__c,
+        quo =[ SELECT Id,Name,Cancel_Decide__c,CreatedDate, PriceRefreshDate__c,Quote_Print_Date__c,//obsap 鏂板缁忛攢鍟�1瀛楁 fy satrt Agency1_entrust__c,SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start cancelMultiyearInsurance__c,
+                    Quote_Date__c,QuoteToName__c,Quote_Expiration_Date__c,Quote_Comment__c,Tender_information__c,Agency1_entrust__c,Noteplus__c,Lead__c,Opportunity__c,cancelMultiyearInsurance__c,Headquarters__c,//DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy Headquarters__c
+                    TOTAL__c,Discount__c,Pricing__c,Preferential_Trading_Price__c,Contract__c,LastIraiUser__c,MultiYearWarrantyTotalPrice__c,QuoteTotal_Page__c,Estimation_List_Price__c,Agency2_entrust__c,//DB202302464682銆愭姤浠峰鎵樸�戞姤浠峰鎵樻敼鍠�224 fy
                     Print_HP_Name__c,Account__c,Agency_Hospital_Link__c,IraiUser__c,IraiSubject__c,CurrencyIsoCode,IraiName__c,QuoteIrai_Status__c,QuoteProportion__c,Note__c,IraiComment__c
+                    , urgent__c  //20230104 lt DB202212427301
                     FROM QuoteIrai__c Where Id =:q.Id];
 
 system.debug('鈼嬧棆鈼嬧棆鈼婼ave1鈼嬧棆鈼嬧棆鈼�');
@@ -1437,7 +1835,18 @@
             quoId = q.Id;
             
         }
-
+        //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy start
+        // if(quo.Note__c!=''){
+        if(String.isNotBlank(quo.Note__c)){
+            system.debug('===444==='+quo.Note__c.split('\r\n'));
+            List<String> str=quo.Note__c.split('\r\n');
+            if(str.size()==1){
+                quo.Note__c=''; 
+            }else{
+                quo.Note__c=str[1]; 
+            }
+        }
+        //XLIU-CFE8M7 銆愬鎵樸�戙�怭-OBSAP銆戞姤浠峰鎵樹换鍔℃敼鍠� fy end
         return true;
     }
      //lastbuy  2022/3/10 fy start
@@ -1540,6 +1949,95 @@
     system.debug('filg====='+filg);
     return filg;
   }
+ //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 start
+  //闃胯タ璧涘楠岃瘉
+  public String assdproductCheck(){
+    Boolean falg = false;
+    String str = 'OK';
+    List<Product2> axsdQuoteIItem = new List<Product2>();
+    List<Product2> QuoteIItem = new List<Product2>();
+    List<Id> Product2List = new List<Id>();
+    System.debug('activities111111!!!'+activities);
+    for(QELine aaa :activities){
+     if(String.isNotBlank(aaa.pageObject.Product2__c)){
+        Product2List.add(aaa.pageObject.Product2__c);
+     }
+    }
+    List<Product2> productlist = [select id,Is_DangerousChemicals__c from Product2 where id in:Product2List];  
+    for(Product2 pro :productlist){
+        System.debug('Is_DangerousChemicals__c111111!!!'+pro.Is_DangerousChemicals__c);
+        if(pro.Is_DangerousChemicals__c){
+            falg = true;
+            axsdQuoteIItem.add(pro);
+        }else if(!pro.Is_DangerousChemicals__c){
+            QuoteIItem.add(pro);
+        }
+    }
+    if(QuoteIItem.size() > 0 && axsdQuoteIItem.size() > 0){
+        str = '闃胯タ璧涘浜у搧涓嶈兘鍜屽叾浠栦骇鍝佷竴璧锋姤浠�';
+    }else{
+        if(falg){
+            str = OpportunityWebService.checkDangerItem(quo.Agency1_entrust__c);
+        }
+    }
+    return str;
+  }
+  //SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 end
+  //DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy start
+  private static void sendEmail(String title , String bodyTextp , String bodyTextbody,String TaskId,String Headquarters) {
+    system.debug('bodyText++'+bodyTextp+bodyTextbody);
+    bodyTextbody = bodyTextbody.replaceFirst('\r\n', '');
+    List<Task> TaskList = [select Id,Request_staff__c,ActivityDate,Priority from Task where Id =:TaskId];
+    Task Taskobj = TaskList[0];
+    //20230116 fy start
+    String bodyTextbu ='鏂板缓浠诲姟';
+    bodyTextbu += '\r\n\r\n'+'鍒帮細OBSAP鎴愬憳';
+    if(String.isNotBlank(Headquarters)){
+        Headquarters='('+Headquarters+')';
+    }
+    bodyTextbu += '\r\n'+Taskobj.Request_staff__c +Headquarters+' 宸插垎閰嶇粰鎮ㄤ互涓嬫柊寤轰换鍔★細';
+    bodyTextbu += '\r\n'+'涓婚: '+title;
+    bodyTextbu += '\r\n'+'缁撴潫鏈熼檺: '+Taskobj.ActivityDate;
+    bodyTextbu += '\r\n'+'浼樺厛绾�: '+Taskobj.Priority;
+    bodyTextbu += '\r\n' +'璇勮锛�<pre>'+bodyTextp+'</pre>';
+    bodyTextbu += bodyTextbody;
+    bodyTextbu += '\r\n\r\n' +'鏈夊叧鏇村璇︾粏淇℃伅锛岃鍗曞嚮浠ヤ笅閾炬帴锛�'+'\r\n\r\n'+'https://ocsm.my.salesforce.com/'+Taskobj.Id;
+    bodyTextbu = bodyTextbu.replace('\r\n', '<br/>');
+    bodyTextbu = bodyTextbu.replaceFirst('<br/>', '');
+    System.debug('bodyTextbu+++'+bodyTextbu);
+    //20230116 fy end
+    Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
+    List<String> toAddresses = new List<String>();
+    toAddresses.add(System.Label.OBSAP_Group_Mail);
+    // toAddresses.add('fuyu@prec-tech.com');
+    //鏀朵欢浜哄湴鍧�
+    mail.setToAddresses(toAddresses);
+    String Detection = System.Label.OBSAP_QuoteIrai_Mail_Detection;
+    if(!Detection.equals('invalid') && String.isNotBlank(Detection)){
+        String[] toccAddresses = System.Label.OBSAP_QuoteIrai_Mail_Detection.split(',');
+        //鎶勯�佷汉鍦板潃
+        mail.setCcAddresses(toccAddresses);
+    }
+    //閭欢涓婚
+    mail.setSubject(title);
+    //鍐呭鐨勭紪鐮�
+    mail.setCharset('UTF-8');
+    //閭欢鍐呭
+    mail.setHtmlBody(bodyTextbu);
+    //浣跨敤鐢靛瓙閭欢妯℃澘璁剧疆瀵硅薄id
+    // mail.setTargetObjectId(TaskId);
+    //璁剧疆鐢靛瓙閭欢妯℃澘id
+    // EmailTemplate temp =  [
+    //     SELECT Id, Name, Subject, HtmlValue, Body, BrandTemplateId
+    //     FROM EmailTemplate
+    //     WHERE DeveloperName = 'Task_To_Queue'
+    //     LIMIT 1
+    // ];
+    // mail.setTemplateId(temp.Id);
+    //鍙戦�侀偖浠�
+    Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
+}
+//DB202301106714 銆愭姤浠峰鎵樻敼鍠勩�慜BSAP閫氱煡閭欢鍙戦�侀偖绠变慨鏀� fy end
 
     // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 Start
     public class QuoteBean {
@@ -1549,7 +2047,8 @@
     public Decimal QuoteTotal_Page { get; set; }
     //NoDiscount price 鍚堣
     public Decimal MultiYearWarrantyTotalPrice { get; set; }
-    
+    //obsap 鏂板缁忛攢鍟�1瀛楁 fy
+    public Decimal SalesCalculation1 { get; set; }
     }
     // CHAN-BJQ4VZ 绮剧悽鎶�鏈� 2019/12/11 End
     
@@ -1568,6 +2067,10 @@
         public Decimal NoDiscount_Page { get; set; }
         public Decimal NoDiscountTotal_Page { get; set; }
         // CHAN-BHNBX6 2019/11/20 END
+        
+        // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+        public String CanNotCancelledGurantee { get; set; }
+        // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
 
         // TODO 銇汇倱銇ㄣ亞銇亜銈夈仾銇勩�佷娇銇嗐仺銇撱倣銇儹銈搞儍銈倰淇銇椼仾銇戙倢銇般亜銇戙仾銇勩�佸墛闄ゃ仚銈嬨倛銇嗐伀銇椼仧銇勩仹銇欍��
         public QELine(Integer i) {
@@ -1613,6 +2116,9 @@
             }
             
             // CHAN-BHNBX6 2019/11/20 END
+            // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy start
+            this.CanNotCancelledGurantee = qli.CanNotCancelledGurantee__c?'true':'false';
+            // SWAG-CKDATG 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 fy end
         }
         
         // TODO Subtotal__c銆佷互鍓嶃伄銉偢銉冦偗銈掔⒑瑾�

--
Gitblit v1.9.1