From b51b57a619d3f0075ccaa13303c99c9e849bf23a Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期二, 23 四月 2024 18:13:54 +0800
Subject: [PATCH] 123

---
 force-app/main/default/classes/MaintenanceProductDataController.cls |  208 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 194 insertions(+), 14 deletions(-)

diff --git a/force-app/main/default/classes/MaintenanceProductDataController.cls b/force-app/main/default/classes/MaintenanceProductDataController.cls
index 0483fd3..05cca27 100644
--- a/force-app/main/default/classes/MaintenanceProductDataController.cls
+++ b/force-app/main/default/classes/MaintenanceProductDataController.cls
@@ -49,6 +49,13 @@
     public String soql {get;set;}
     //---
     
+    // chenjingwu 3+2澶氬勾淇濅慨 start
+    public List<MultiYearWarranty__c> muList { get; set; }
+    public Map<String,List<MultiYearWarranty__c>> muMap { get; set; }
+    public Map<String,Integer> muCountMap {get; set; }
+    public Map<String,List<ExMpdDetailsInfo>>  exmpdDetailsRecordsMap { get; set; }
+    // chenjingwu 3+2澶氬勾淇濅慨 end
+
      /*****************鐢婚潰琛ㄧずBean******************/
     //private List<MaintenanceProductDataDetailsInfo> mpdDerdetailsRecords = new List<MaintenanceProductDataDetailsInfo>();
     public  List<MaintenanceProductDataDetailsInfo> mpdDetailsRecordsView { get; set; }//椤甸潰鐨勬槑缁�
@@ -68,7 +75,9 @@
     //LJPH-C6A3DF 銆愬鎵樸�� 銆愰噸瑕併�戜骇鍝佷富鏁版嵁涓鍔犳湇鍔$敤浜у搧鍒嗙被 liuyan 20210908 Star
     public List<Maintenance_Product_Data_Details__c>  RepairInfo { 
         get {
-            return  [select id,Service_Category6__c,Service_Category7__c FROM Maintenance_Product_Data_Details__c  where Default_Fixture_Arrival_Product__c = ''  LIMIT 1 ];
+            // 20231103 闄堜含姝�  sitbug瀵瑰簲 Start
+            return  [select id,Service_Category6__c,Service_Category7__c FROM Maintenance_Product_Data_Details__c  where Default_Fixture_Arrival_Product__c = '' and Service_Category6__c = null and Service_Category7__c = null  LIMIT 1 ];
+            // 20231103 闄堜含姝�  sitbug瀵瑰簲 End
         }
     }
     //LJPH-C6A3DF 銆愬鎵樸�� 銆愰噸瑕併�戜骇鍝佷富鏁版嵁涓鍔犳湇鍔$敤浜у搧鍒嗙被 liuyan 20210908 End
@@ -83,7 +92,9 @@
     public Boolean editDelCommitBtnDisabled {get; private set;}
     public Boolean saveBtnDisabled { get; private set; }
     //public Boolean sorderBtnDisabled { get; private set; }
-    private List<Attachment> attachmentinfo = new List<Attachment>();
+    // 20231103 chenjingwu  Lightning鏂囦欢淇敼 Start
+    private List<ContentDocument> attachmentinfo = new List<ContentDocument>();
+    // 20231103 chenjingwu  Lightning鏂囦欢淇敼 End
     //-----------
 
     private void initStandardController(){
@@ -160,6 +171,7 @@
                     // 20221020 ljh SWAG-CJ98AJ start
                     mpdDetailsRecordsView[i].mpdrdd.suitDepartment__c = mpdDetailsRecordsView[i].Prod.suitDepartment__c;
                     // 20221020 ljh SWAG-CJ98AJ end
+                    mpdDetailsRecordsView[i].mpdrdd.LastbuyProductFLG__c = mpdDetailsRecordsView[i].Prod.LastbuyProductFLG__c;//kk lastbuy add 20240329 add 
                 }
                 if(RecordTypeName.equals('GuranteeMain')){
                     Integer Entend_gurantee_period_all =  mpdDetailsRecordsView[i].Prod.Entend_gurantee_period_all__c.intValue();
@@ -311,13 +323,13 @@
         if(profileId.equals(System.Label.ProfileId_EquCenAdminPic)){
             profileName = '2B3';
         }
-        if(profileId.equals('00e10000000xno4AAA')){
+        if(profileId.equals(System.Label.profileId_2F3)){//niwu -00eC600000004OXIAY 
             profileName = '2F3';//鏈嶅姟
         }
-        if(profileId.equals('00e10000000xyViAAI')){
+        if(profileId.equals(System.Label.ProfileId_2M5)){
             profileName = '2M5';//浜у搧
         }
-        if (profileId.equals('00e10000000xno9AAA')) {
+        if (profileId.equals(System.Label.ProfileId_2F4)) { //niwu  - 00eC600000004OZIAY
             profileName = '2F4';//鎶�鏈帹杩涢儴
         }
         if(String.isBlank(id)&&String.isBlank(RecordTypeName)){
@@ -352,6 +364,8 @@
             fsTemp += 'YY';
             fsTempOld += 'YY';
         }*/
+        System.debug('RecordTypeName>>>>>>> ' + RecordTypeName);
+        System.debug('profileName>>>>>>> ' + profileName);
         if(RecordTypeName.equals('GuranteeMain')&&profileName.equals('2M5')){
             fsTemp += 'FW';
             fsTempOld += 'FW';
@@ -414,6 +428,9 @@
         }else{
             List<Maintenance_Product_Data_Details__c> mpdDetailsSelected = new List<Maintenance_Product_Data_Details__c>();
             String mpdsoql = 'select Id ,Name,GuranteeTypeP__c,ProductCode_Ext__c ,ProductsID__c,Maintenance_Product_Data__c,ProductsID__r.Name  ';
+            //kk lastbuy add 20240328 start 
+            mpdsoql += ' ,ProductsID__r.LastbuyProductFLG__c,LastbuyProductFLG__c';
+            //kk lastbuy add 20240328 end
             for (Integer i=0;i<column.size();i++) {
                 mpdsoql += ',' + column[i];
             }
@@ -474,8 +491,18 @@
                     mpdPrice.mpded.Intra_Trade_Service_RMB_Old__c = null;
                 }
             }
-            //闄勪欢
-            attachmentinfo =[SELECT Id, Name,OwnerId FROM Attachment WHERE  parentid =:id  ];
+            //闄勪欢(lightning)
+            // 20231103 chenjingwu  Lightning鏂囦欢淇敼 Start
+            List<ContentDocumentLink> cdlList = [SELECT ContentDocumentId
+                                                   FROM ContentDocumentLink
+                                                   WHERE LinkedEntityId = :id];
+            List<ID> fileIDs = new List<ID>();
+            for (ContentDocumentLink docLink : cdlList) {
+                fileIDs.add(docLink.ContentDocumentId);
+            }
+            attachmentinfo=[SELECT Title,OwnerId,ContentModifiedDate from ContentDocument WHERE id IN :fileIDs];
+            // attachmentinfo =[SELECT Id, Name,OwnerId FROM Attachment WHERE  parentid =:id  ];
+            // 20231103 chenjingwu  Lightning鏂囦欢淇敼 End
             if(attachmentinfo.size()>0){
                 for (Integer i = 0; i < attachmentinfo.size(); i++) {
                     attachmentRecoeds.add(new MaintenanceProductDataDetailsInfo(attachmentinfo[i]));
@@ -501,11 +528,37 @@
                     ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO,  '杩樻病鏈変笂浼犻檮浠讹紝璇蜂笂浼犻檮浠讹紒'));
                 } 
             }
-            //System.debug('============02:'+mpdDetailsRecords);    
+            //System.debug('============02:'+mpdDetailsRecords);   
+            if(mpdDetailsRecords.size() > 0 && RecordTypeName.equals('GuranteeMain')){
+                // chenjingwu 3+2澶氬勾淇濅慨 20240417 start 
+                List<String> idList = new List<String>();
+                for(MpdDetailsInfo mp :mpdDetailsRecords){
+                    idList.add(mp.mpded.ProductsID__c);
+                }
+                // chenjingwu 3+2澶氬勾淇濅慨 20240417 end
+                // chenjingwu 3+2澶氬勾淇濅慨 20240417 start
+                exmpdDetailsRecordsMap = new Map<String,List<ExMpdDetailsInfo>>(); 
+                muCountMap = new Map<String,Integer>();
+                List<Maintenance_Product_Data_Details__c> exDetailList = [select Id,MultiYearWarranty__c,AgeLimit__c,AgeLimit_Old__c,MultiOneYearWarrantyPrice__c,MultiOneYearWarrantyPrice_Old__c,AmountWithheld__c,AmountWithheld_Old__c,ProductsID__c from Maintenance_Product_Data_Details__c where ProductsID__c in:idList and RecordTypeId = '012C50000000jefIAA'];
+                if(exDetailList.size() > 0){
+                    for(String id: idList){
+                        List<ExMpdDetailsInfo> exList = new List<ExMpdDetailsInfo>();
+                        for(Maintenance_Product_Data_Details__c mpdd: exDetailList){
+                            if(id == mpdd.ProductsID__c){
+                                exList.add(new ExMpdDetailsInfo(mpdd));
+                            }
+                        }
+                        exList.add(new ExMpdDetailsInfo());
+                        exmpdDetailsRecordsMap.put(id,exList);
+                    }
+                }
+                // chenjingwu 3+2澶氬勾淇濅慨   20240417 end
+            } 
         }    
     }
     // 妫�绱�
     public void searchMaintenanceProductDataDetails() {
+        System.debug('enter searchMaintenanceProductDataDetails');   
         Map<String, String> selectedIdMap = new Map<String, String>();
         Map<String,MaintenanceProductDataDetailsInfo> midMaprecord = new Map<String,MaintenanceProductDataDetailsInfo>();
         mpdDetailsRecordsView = new List<MaintenanceProductDataDetailsInfo>();
@@ -516,7 +569,9 @@
         //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,  '=====soql:'+soql));
         size =Integer.valueOf(System.Label.mpddetLimitsize);
         initStandardController();
-        product2Selected = Database.query(soql);    
+        product2Selected = Database.query(soql); 
+        System.debug('product2Selected size = ' + product2Selected.size());   
+        System.debug('product2Selected = ' + product2Selected);
         for (Integer i = 0; i < product2Selected.size(); i++) {
             midMaprecord.put(product2Selected[i].Id, new MaintenanceProductDataDetailsInfo(product2Selected[i]));
         }
@@ -533,7 +588,29 @@
         // 鏄剧ず鏁版嵁鏉℃暟淇℃伅
         makeMessage();
     }
+    // 20231103 chenjingwu  Lightning鏂囦欢淇敼 Start
+    public void refreshFile(){
+        if(String.isBlank(id)){
+            return;
+        }
+        attachmentRecoeds = new List<MaintenanceProductDataDetailsInfo>();
+        List<ContentDocumentLink> cdlList = [SELECT ContentDocumentId
+                                               FROM ContentDocumentLink
+                                               WHERE LinkedEntityId = :id];
+        List<ID> fileIDs = new List<ID>();
+        for (ContentDocumentLink docLink : cdlList) {
+            fileIDs.add(docLink.ContentDocumentId);
+        }
+        attachmentinfo=[SELECT Title,OwnerId,ContentModifiedDate from ContentDocument WHERE id IN :fileIDs];
 
+        // attachmentinfo =[SELECT Id, Name,OwnerId FROM Attachment WHERE  parentid =:id  ];
+        if(attachmentinfo.size()>0){
+            for (Integer i = 0; i < attachmentinfo.size(); i++) {
+                attachmentRecoeds.add(new MaintenanceProductDataDetailsInfo(attachmentinfo[i]));
+            }
+        } 
+    }
+    // 20231103 chenjingwu  Lightning鏂囦欢淇敼 End
     public PageReference save() {
         Integer FLG = 0;
         Integer Count = 0;
@@ -627,12 +704,14 @@
                                 InsAfterDel.Dealer_special_Object__c = ass.mpdrdd.Dealer_special_Object__c;
                                 InsAfterDel.Key_product_147P__c = ass.mpdrdd.Key_product_147P__c;
                                 InsAfterDel.Important_Endopartner_product__c = ass.mpdrdd.Important_Endopartner_product__c;
+                                InsAfterDel.LastbuyProductFLG__c = ass.mpdrdd.LastbuyProductFLG__c; //kk lastbuy 20240319 add
                                 //old鏁版嵁
                                 //InsAfterDel.Tier1_Category_Old__c = ass.Prod.Tier1_Category__c;
                                 InsAfterDel.ENG_DeaerProFlag_Old__c = ass.Prod.ENG_DeaerProFlag__c;
                                 InsAfterDel.Dealer_special_Object_Old__c = ass.Prod.Dealer_special_Object__c;
                                 InsAfterDel.Key_product_147P_Old__c = ass.Prod.Key_product_147P__c;
                                 InsAfterDel.Important_Endopartner_product_Old__c = ass.Prod.Important_Endopartner_product__c;
+                                InsAfterDel.LastbuyProductFLG_Old__c = ass.Prod.LastbuyProductFLG__c; //kk lastbuy 20240319 add
 
                                 // FY23淇敼 WLIG-CFV4AV 閲嶇偣浜у搧缁存姢锛堟柊锛塻tart
                                 InsAfterDel.Key_product_155P__c = ass.mpdrdd.Key_product_155P__c;
@@ -809,11 +888,61 @@
                         Ins.add(InsAfterDel);     
                     }
                 }
+                List<Maintenance_Product_Data_Details__c> exIntList = new List<Maintenance_Product_Data_Details__c>();
+                if(mpdDetailsRecords.size() > 0 && RecordTypeName.equals('GuranteeMain')){
+                    if(exmpdDetailsRecordsMap == null){
+                        
+                        // chenjingwu 3+2澶氬勾淇濅慨 20240417 start 
+                        List<String> idList = new List<String>();
+                        for(MaintenanceProductDataDetailsInfo ass :mpdDetailsRecordsView){
+                            if(ass.check == true){
+                                idList.add(ass.Prod.id);
+                            }
+                        }
+                        // chenjingwu 3+2澶氬勾淇濅慨 20240417 end
+                        // chenjingwu 3+2澶氬勾淇濅慨 20240417 start 
+                        muList = [select Id,AgeLimit__c,MultiOneYearWarrantyPrice__c,AmountWithheld__c,ProductName__r.Name,ProductName__c from MultiYearWarranty__c where ProductName__c in: idList order By ProductName__c];
+                        for(MultiYearWarranty__c mu: muList){
+                            Maintenance_Product_Data_Details__c insmpdd = new Maintenance_Product_Data_Details__c();
+                            insmpdd.AgeLimit__c = mu.AgeLimit__c;
+                            insmpdd.MultiYearWarranty__c = mu.Id;
+                            insmpdd.MultiOneYearWarrantyPrice__c = mu.MultiOneYearWarrantyPrice__c;
+                            insmpdd.AmountWithheld__c = mu.AmountWithheld__c;
+
+
+                            insmpdd.AgeLimit_Old__c = mu.AgeLimit__c;
+                            insmpdd.MultiOneYearWarrantyPrice_Old__c = mu.MultiOneYearWarrantyPrice__c;
+                            insmpdd.AmountWithheld_Old__c = mu.AmountWithheld__c;
+                            insmpdd.RecordTypeId = '012C50000000jefIAA';
+                            exIntList.add(insmpdd);
+
+                        }
+                    } else{
+                        for(List<ExMpdDetailsInfo> li: exmpdDetailsRecordsMap.values()){
+                            for(ExMpdDetailsInfo ex: li){
+                                Maintenance_Product_Data_Details__c InsAfterDel = new Maintenance_Product_Data_Details__c();
+                                InsAfterDel.AgeLimit__c = ex.mpdrdd.AgeLimit__c;
+                                InsAfterDel.MultiYearWarranty__c = ex.mpdrdd.MultiYearWarranty__c;
+                                InsAfterDel.MultiOneYearWarrantyPrice__c = ex.mpdrdd.MultiOneYearWarrantyPrice__c;
+                                InsAfterDel.AmountWithheld__c = ex.mpdrdd.AmountWithheld__c;
+
+
+                                InsAfterDel.AgeLimit_Old__c = ex.Prod.AgeLimit__c;
+                                InsAfterDel.MultiOneYearWarrantyPrice_Old__c = ex.Prod.MultiOneYearWarrantyPrice__c;
+                                InsAfterDel.AmountWithheld_Old__c = ex.Prod.AmountWithheld__c;
+                                InsAfterDel.RecordTypeId = '012C50000000jefIAA';
+                                exIntList.add(InsAfterDel);
+                            }
+                        }
+                    }
+                    // chenjingwu 3+2澶氬勾淇濅慨   20240417 end
+                }
                 if(isWarning){
                     return null;
                 }else{
                     if(Ins.size()>0){
                         upsert Ins;
+                        upsert exIntList;
                         return setEditAble();
                     }else{
                         return null;
@@ -821,6 +950,7 @@
                 }
             }
         }catch(Exception e){
+            System.debug('chenjingwu==>' + e.getMessage());
             ApexPages.addMessages(e);
             Database.rollback(sp);
             return null;
@@ -876,6 +1006,8 @@
                                 // 20221020 ljh SWAG-CJ98AJ start
                                 upMpd.suitDepartment__c = ass.mpded.suitDepartment__c;
                                 // 20221020 ljh SWAG-CJ98AJ end
+                                //kk lastbuy add 20240329 start 
+                                upMpd.LastbuyProductFLG__c = ass.mpded.LastbuyProductFLG__c;
                             }
                             when 'GuranteeMain'{
                                 upMpd.Entend_gurantee_period__c=ass.mpded.Entend_gurantee_period__c;
@@ -1086,11 +1218,21 @@
         return ref;
     }
     //涓婁紶闄勪欢
+     // 20231103 闄堜含姝�  Lightning鏂囦欢淇敼 Start
     public PageReference FilesUpload(){
         PageReference ref = new Pagereference('/p/attach/NoteAttach?pid='+id+'&retURL=%2F' + '/apex/MaintenanceProductData?id=' +id);
         ref.setRedirect(true);
         return ref;
     }
+    public PageReference FilesUploadLightning(){
+        // PageReference ref = new Pagereference('/p/attach/NoteAttach?pid='+id+'&retURL=%2F' + '/apex/MaintenanceProductData?id=' +id);
+        // ref.setRedirect(true);
+        // return ref;
+        PageReference ref = new Pagereference('/lightning/n/LexUploadPage?0.recordId='+id+'');
+        ref.setRedirect(true);
+        return ref;
+    }
+    // 20231103 闄堜含姝�  Lightning鏂囦欢淇敼 Start
     // 鎻愪氦鎸夐挳
     public PageReference Submitmpd() {
         //List<Maintenance_Product_Data__c> qs = New List<Maintenance_Product_Data__c>();
@@ -1176,7 +1318,10 @@
     public PageReference returnMpdPage(){
         PageReference ref;
         if(String.isBlank(id)){
-            ref = new Pagereference(ApexPages.currentPage().getParameters().get('retURL'));
+            // 20231103 闄堜含姝�  Lightning鏂囦欢淇敼 Start
+            // ref = new Pagereference(ApexPages.currentPage().getParameters().get('retURL'));
+            ref = new Pagereference('/lightning/o/Maintenance_Product_Data__c/list?filterName=Recent');
+            // 20231103 闄堜含姝�  Lightning鏂囦欢淇敼 End
         }else{
             ref = new Pagereference('/'+id);
         }
@@ -1195,7 +1340,7 @@
             }
         }*/
 
-        String soql = 'select Id ,ProductCode_Ext__c,Name   ';
+        String soql = 'select Id ,ProductCode_Ext__c,Name,LastbuyProductFLG__c   ';
         if(!RecordTypeName.equals('GuranteeMain') && !RecordTypeName.equals('GuranteePrice') ){
             for (Integer i=0;i<column.size();i++) {soql += ',' + column[i];
             }
@@ -1241,7 +1386,7 @@
             soql += ' AND (GuranteeType__c like \'%'+ String.escapeSingleQuotes(GuranteeType.replaceAll('%', '\\%')) + '%\')';
         }
         soql += ' Limit 400';
-        //System.debug('soql +++++++++++  ' + soql );
+        System.debug('soql +++++++++++  ' + soql );
         return soql;
     }
      // 鏄剧ず鏁版嵁鏉℃暟淇℃伅
@@ -1351,7 +1496,9 @@
         public Boolean canSelect { get; set; }
         public Product2 Prod { get; set; }
         public Maintenance_Product_Data_Details__c mpdrdd {get; set;}
-        public Attachment Concc { get; set; }
+        // 20231103 chenjingwu  Lightning鏂囦欢淇敼 Start
+        public ContentDocument Concc { get; set; }
+        // 20231103 chenjingwu  Lightning鏂囦欢淇敼 End
 
         public MaintenanceProductDataDetailsInfo(Maintenance_Product_Data_Details__c e) {
             check = true;
@@ -1368,9 +1515,11 @@
             canSelect = true;
         }
         //闄勪欢
-        public MaintenanceProductDataDetailsInfo(Attachment e) {
+        // 20231103 chenjingwu  Lightning鏂囦欢淇敼 Start
+        public MaintenanceProductDataDetailsInfo(ContentDocument e) {
             Concc = e;
         }
+        // 20231103 chenjingwu  Lightning鏂囦欢淇敼 End
     }
     class MpdDetailsInfo  {
         public Boolean check { get; set; }
@@ -1386,4 +1535,35 @@
         }
     }
 
+
+    class ExMpdDetailsInfo  {
+        public Boolean check { get; set; }
+        public Boolean oldCheck { get; set; }
+        public Boolean canSelect { get; set; }
+        public MultiYearWarranty__c Prod { get; set; }
+        public Maintenance_Product_Data_Details__c mpdrdd {get; set;}
+
+        public ExMpdDetailsInfo(Maintenance_Product_Data_Details__c e) {
+            check = true;
+            oldCheck = true;
+            mpdrdd = e;
+            Prod = e.MultiYearWarranty__r;
+            canSelect = true;
+        }
+        public ExMpdDetailsInfo(MultiYearWarranty__c e) {
+            check = false;
+            oldCheck = false;
+            mpdrdd = new Maintenance_Product_Data_Details__c();
+            Prod = e;
+            canSelect = true;
+        }
+        public ExMpdDetailsInfo() {
+            check = false;
+            oldCheck = false;
+            mpdrdd = new Maintenance_Product_Data_Details__c();
+            Prod = new MultiYearWarranty__c();
+            canSelect = true;
+        }
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.1