From 41a627eaaf29658a401ac43e4da838a5b622f44e Mon Sep 17 00:00:00 2001
From: 李彤 <litong@prec-tech.com>
Date: 星期一, 29 五月 2023 16:54:34 +0800
Subject: [PATCH] DB202303088261

---
 force-app/main/default/classes/ConsumableController.cls |   93 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 77 insertions(+), 16 deletions(-)

diff --git a/force-app/main/default/classes/ConsumableController.cls b/force-app/main/default/classes/ConsumableController.cls
index b694207..8d82dc7 100644
--- a/force-app/main/default/classes/ConsumableController.cls
+++ b/force-app/main/default/classes/ConsumableController.cls
@@ -92,10 +92,14 @@
     public ApexPages.StandardSetController con { get; set; }
     public String soql {get;set;}
 
+    private Boolean OSHFLG;//lt 20230517 瀹夊窘涓ょエ鍒� add
+
     // 鐧诲綍鑰呭伐浣滃湴
     private String userWorkLocation;
+    
     //
     public String agencyProType {get;set;}
+    public String agencyProType1 {get;set;}  //lt 20230526 瀹夊窘涓ょエ鍒� add
 
     public String methodType {get;set;}
     public String hospitalName {get;set;}
@@ -188,6 +192,7 @@
     // 鐢婚潰鍒濆鍖�
     public void init() {
 
+        System.debug('zhj init');
         this.methodType =  ApexPages.currentPage().getParameters().get('type');
         this.sortKey = '1';
         this.preSortKey = '1';
@@ -211,10 +216,23 @@
         userId = UserInfo.getUserId();
         //userId = '0050l000001dLbc';
         List<user> Useracc = New List<user>();
-        Useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c FROM user WHERE id = :userId ];
+        //lt 20230517 瀹夊窘涓ょエ鍒� add ,OSHFLG__c
+        Useracc = [SELECT accountid, Work_Location__c,UserPro_Type__c,OSHFLG__c FROM user WHERE id = :userId ];
         accountid = Useracc[0].accountid;
         userWorkLocation = Useracc[0].Work_Location__c;
         agencyProType = Useracc[0].UserPro_Type__c;
+        agencyProType1 = Useracc[0].UserPro_Type__c; //lt 20230526 瀹夊窘涓ょエ鍒� add
+        
+        //lt 20230526 瀹夊窘涓ょエ鍒� start
+        OSHFLG = Useracc[0].OSHFLG__c; //lt 20230517 瀹夊窘涓ょエ鍒� add
+        if(OSHFLG){
+            agencyProType1 = 'OSH';
+        }
+        else if(String.isBlank(Useracc[0].UserPro_Type__c)){
+            agencyProType1 = 'ET';
+        }
+        //lt 20230526 瀹夊窘涓ょエ鍒� end
+
         if(String.isBlank(Useracc[0].UserPro_Type__c)){
             agencyProType = 'ET';
         }
@@ -233,8 +251,11 @@
                                         where RecordType.DeveloperName ='AgencyContract'
                                         and Contract_Decide_Start_Date__c <= :dateToday
                                         and Contract_Decide_End_Date__c >= :dateToday
-                                        and Contact_Type__c like :agencyProType
-                                        and Agent_Ref__c =:accountid];
+                                        and Contact_Type__c like :agencyProType1//lt 20230517 瀹夊窘涓ょエ鍒� add 1
+                                        and Agent_Ref__c =:accountid
+                                        and OSH_Dealer__c =: OSHFLG  //lt 20230517 瀹夊窘涓ょエ鍒� add
+                                    ];
+
         for(Account contract : contractList){
             contactDealer.add(contract.Id);
         }
@@ -287,9 +308,12 @@
             List<Account> contract = [SELECT id,Name,State_Master__c,State_Master__r.Name 
                                         FROM Account 
                                         WHERE ParentId = :accountid 
-                                        AND Contact_Type__c like :agencyProType
+                                        AND Contact_Type__c like :agencyProType1 //lt 20230517 瀹夊窘涓ょエ鍒� add 1
                                         AND Contract_Decide_Start_Date__c <= :Date.Today()
-                                        AND Contract_Decide_End_Date__c >= :Date.Today()];
+                                        AND Contract_Decide_End_Date__c >= :Date.Today()
+                                        AND OSH_Dealer__c =: OSHFLG  //lt 20230517 瀹夊窘涓ょエ鍒� add
+                                      ];
+
             if(contract.size() == 1){
                 contractName = contract[0].Name;
                 contractId = contract[0].Id;
@@ -302,7 +326,7 @@
             size = Integer.valueOf(System.Label.orderdetLimitsize);
             initStandardController();
             product2Selected = Database.query(soql);
-            
+            System.debug('product2Selected.size() = ' + product2Selected.size());
             for (Integer i = 0; i < product2Selected.size(); i++) {
                 consumableorderdetailsRecords.add(new ConsumableorderdetailsInfo(product2Selected[i]));
                 MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
@@ -1978,10 +2002,13 @@
         List<Account> contract = [select Id,Name,Contract_Department_Class__c,Contract_Quote_Decide_Flag__c 
                                     from account
                                     WHERE Name = :contractName
+                                    AND Id =: contractId   //lt 20230517 瀹夊窘涓ょエ鍒� add
                                     AND Contract_Decide_Start_Date__c <= :Date.Today()
                                     AND Contract_Decide_End_Date__c >= :Date.Today()
-                                    and Contact_Type__c like :agencyProType
-                                    and Agent_Ref__c =:accountid];
+                                    and Contact_Type__c like :agencyProType1  //lt 20230517 瀹夊窘涓ょエ鍒� add 1
+                                    and Agent_Ref__c =:accountid
+                                    and OSH_Dealer__c =: OSHFLG  //lt 20230517 瀹夊窘涓ょエ鍒� add
+                                    ];
 
         if(contract.size() <= 0){
             coc.Order_effective_contact__c.addError('涓嶅瓨鍦ㄧ殑鍚堝悓锛岃閲嶆柊纭銆�');
@@ -2026,20 +2053,37 @@
 
 
         //=======================================鍖婚櫌鐗逛环,鏈夐噾棰濈殑璇濆彇閲戦
+        // gzw 20230419 鍖婚櫌鐗逛环闂淇 start
+        // Map<String,Decimal> dealerHospitalmMap = new Map<String,Decimal>();
+        // // Map<String,Decimal> dealerHospitalpMap = new Map<String,Decimal>();
+        //     List<hospitalprice__c> hplist = [select Id,hospital__c,mPrice__c,pPrice__c,product__c,account__c 
+        //                                         from hospitalprice__c
+        //                                         where product__c in :tpids and mPrice__c <> null 
+        //                                         ];
+        // for(hospitalprice__c dealerProduct: hplist){
+        //     if (dealerProduct.mPrice__c != null ) {
+        //         dealerHospitalmMap.put('' + dealerProduct.account__c + dealerProduct.product__c,dealerProduct.mPrice__c); 
+        //     }
+        //     // if (dealerProduct.pPrice__c != null) {
+        //     //     dealerHospitalpMap.put('' + dealerProduct.account__c + dealerProduct.product__c,dealerProduct.pPrice__c);  
+        //     // }
+        // }
+
         Map<String,Decimal> dealerHospitalmMap = new Map<String,Decimal>();
         // Map<String,Decimal> dealerHospitalpMap = new Map<String,Decimal>();
             List<hospitalprice__c> hplist = [select Id,hospital__c,mPrice__c,pPrice__c,product__c,account__c 
                                                 from hospitalprice__c
-                                                where product__c in :tpids and mPrice__c <> null 
+                                                where product__c in :tpids and mPrice__c <> null and account__c=:accountid
                                                 ];
         for(hospitalprice__c dealerProduct: hplist){
             if (dealerProduct.mPrice__c != null ) {
-                dealerHospitalmMap.put('' + dealerProduct.account__c + dealerProduct.product__c,dealerProduct.mPrice__c); 
+                dealerHospitalmMap.put('' + dealerProduct.hospital__c + dealerProduct.product__c,dealerProduct.mPrice__c); 
             }
             // if (dealerProduct.pPrice__c != null) {
             //     dealerHospitalpMap.put('' + dealerProduct.account__c + dealerProduct.product__c,dealerProduct.pPrice__c);  
             // }
         }
+        // gzw 20230419 鍖婚櫌鐗逛环闂淇 end
 
         //淇冮攢璁㈣揣 鏍规嵁缁忛攢鍟嗕骇鍝佷腑鐨勬暟鎹绠楅噾棰�
         //=======================================浜у搧鐗规畩鎶樻墸
@@ -2106,9 +2150,14 @@
         List<Account> at = [SELECT id,Name,State_Master__c,State_Master__r.Name,Sales_Section__c,Dealer_discount__c 
                                   FROM Account 
                                   WHERE Name = :contractName 
-                                    and Contact_Type__c like :agencyProType
+                                    AND Id =: contractId   //lt 20230517 瀹夊窘涓ょエ鍒� add
+                                    AND Contact_Type__c like :agencyProType1  //lt 20230517 瀹夊窘涓ょエ鍒� add  1
                                     AND Contract_Decide_Start_Date__c <= :Date.Today()
-                                    AND Contract_Decide_End_Date__c >= :Date.Today()];
+                                    AND Contract_Decide_End_Date__c >= :Date.Today()
+                                    AND OSH_Dealer__c =: OSHFLG  //lt 20230517 瀹夊窘涓ょエ鍒� add
+                                    ];
+        System.debug('---lt123---at.size()锛�'+at.size());
+        System.debug('---lt123---at[0].Dealer_discount__c锛�'+at[0].Dealer_discount__c);
         if(at.size() > 0 && at[0].Dealer_discount__c != null){
             disCount = at[0].Dealer_discount__c;
         }else{
@@ -2180,10 +2229,16 @@
                                 //鍖婚櫌鐗逛环
                                 Consumable_order[0].Order_ForHospital__c = hospitalId;
                                 Consumable_order[0].orderPattern__c  = 'hospitalorder';
-                                if (dealerHospitalmMap.containsKey(accountid + ass.Prod.Id) && dealerHospitalmMap.get(accountid + ass.Prod.Id) != null) {
+                                // gzw 20230419 鍖婚櫌鐗逛环闂淇 start
+                                // if (dealerHospitalmMap.containsKey(accountid + ass.Prod.Id) && dealerHospitalmMap.get(accountid + ass.Prod.Id) != null) {
+                                //     //鐩存帴鏍规嵁淇冮攢閲戦璁$畻
+                                //     InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get(''+ accountid + ass.Prod.Id);        
+                                // }
+                                if (dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null) {
                                     //鐩存帴鏍规嵁淇冮攢閲戦璁$畻
-                                    InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get(''+ accountid + ass.Prod.Id);        
+                                    InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get(''+ hospitalId + ass.Prod.Id);        
                                 }
+                                // gzw 20230419 鍖婚櫌鐗逛环闂淇 end
                             }
                             else if(DealerProductMap.containsKey(ass.Prod.Id)){
                                 InsAfterDel.Intra_Trade_List_RMB__c  = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c;
@@ -2268,10 +2323,16 @@
                                 Consumable_order[0].orderPattern__c  = 'hospitalorder';
                                 //鍖婚櫌鐗逛环
                                 Consumable_order[0].Order_ForHospital__c = hospitalId;
-                                if (dealerHospitalmMap.containsKey(accountid + ass.Prod.Id) && dealerHospitalmMap.get(accountid + ass.Prod.Id) != null) {
+                                // gzw 20230419 鍖婚櫌鐗逛环闂淇 start
+                                // if (dealerHospitalmMap.containsKey(accountid + ass.Prod.Id) && dealerHospitalmMap.get(accountid + ass.Prod.Id) != null) {
+                                //     //鐩存帴鏍规嵁淇冮攢閲戦璁$畻
+                                //     InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get(''+ accountid + ass.Prod.Id);        
+                                // }
+                                if (dealerHospitalmMap.containsKey(hospitalId + ass.Prod.Id) && dealerHospitalmMap.get(hospitalId + ass.Prod.Id) != null) {
                                     //鐩存帴鏍规嵁淇冮攢閲戦璁$畻
-                                    InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get(''+ accountid + ass.Prod.Id);        
+                                    InsAfterDel.Intra_Trade_List_RMB__c = dealerHospitalmMap.get(''+ hospitalId + ass.Prod.Id);        
                                 }
+                                // gzw 20230419 鍖婚櫌鐗逛环闂淇 end
                             }
                             else if(DealerProductMap.containsKey(ass.Prod.Id)){
                                 InsAfterDel.Intra_Trade_List_RMB__c  = DealerProductMap.get(ass.Prod.Id).Special_Campaign_Price__c;

--
Gitblit v1.9.1