123
chenjingwu
2024-04-19 5592e4c800be5b8d1487816656746abe3f4ae5ad
force-app/main/default/classes/MaintenanceProductDataController.cls
@@ -49,6 +49,12 @@
    public String soql {get;set;}
    //---
    
    // chenjingwu 3+2多年保修 start
    public List<MultiYearWarranty__c> muList { get; set; }
    public List<String,Integer> muCountMap { get; set; }
    public Map<String,List<MultiYearWarranty__c>> muMap { get; set; }
    // chenjingwu 3+2多年保修 end
     /*****************画面表示Bean******************/
    //private List<MaintenanceProductDataDetailsInfo> mpdDerdetailsRecords = new List<MaintenanceProductDataDetailsInfo>();
    public  List<MaintenanceProductDataDetailsInfo> mpdDetailsRecordsView { get; set; }//页面的明细
@@ -164,6 +170,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();
@@ -315,13 +322,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)){
@@ -356,6 +363,8 @@
            fsTemp += 'YY';
            fsTempOld += 'YY';
        }*/
        System.debug('RecordTypeName>>>>>>> ' + RecordTypeName);
        System.debug('profileName>>>>>>> ' + profileName);
        if(RecordTypeName.equals('GuranteeMain')&&profileName.equals('2M5')){
            fsTemp += 'FW';
            fsTempOld += 'FW';
@@ -418,6 +427,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];
            }
@@ -520,6 +532,7 @@
    }
    // 检索
    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>();
@@ -530,7 +543,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]));
        }
@@ -641,6 +656,9 @@
                //20200618 类型一致不一致不能保存 add start
                Boolean isWarning = false;
                String  contentWarning = '';
                // chenjingwu 3+2多年保修 20240417 start
                List<String> idList = new List<String>();
                // chenjingwu 3+2多年保修 20240417 end
                for (MaintenanceProductDataDetailsInfo ass : mpdDetailsRecordsView)  {
                    Roll = Roll+1;
                    if(ass.check == true){
@@ -654,6 +672,9 @@
                        InsAfterDel.Maintenance_Product_Data__c = mpd_Name[0].id;
                        InsAfterDel.Name = mpd_Name[0].Name + '-'+ str;
                        InsAfterDel.ProductsID__c = ass.Prod.id;
                        // chenjingwu 3+2多年保修 20240417 start
                        idList.add(ass.Prod.id);
                        // chenjingwu 3+2多年保修 20240417 end
                        switch on RecordTypeName {
                            when 'ImportantProduct'{
                                //InsAfterDel.RecordTypeName__c = 'ImportantProduct';
@@ -663,12 +684,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 重点产品维护(新)start
                                InsAfterDel.Key_product_155P__c = ass.mpdrdd.Key_product_155P__c;
@@ -845,6 +868,19 @@
                        Ins.add(InsAfterDel);     
                    }
                }
                // chenjingwu 3+2多年保修 20240417 start
                muList = [select Id,AgeLimit__c,MultiOneYearWarrantyPrice__c,AmountWithheld__c,ProductName__c from MultiYearWarranty__c where ProductName__c in: idList order By ProductName__c];
                for(String id: idList){
                    List<MultiYearWarranty__c> mus = new List<MultiYearWarranty__c>();
                    for(MultiYearWarranty__c mu: muList){
                        if(id == mu.ProductName__c){
                            mus.add(mu);
                        }
                    }
                    mus.add(new MultiYearWarranty__c({ProductName__c:id}));
                    muMap.put(id,mus);
                }
                // chenjingwu 3+2多年保修 20240417 end
                if(isWarning){
                    return null;
                }else{
@@ -912,6 +948,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;
@@ -1244,7 +1282,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];
            }
@@ -1290,7 +1328,7 @@
            soql += ' AND (GuranteeType__c like \'%'+ String.escapeSingleQuotes(GuranteeType.replaceAll('%', '\\%')) + '%\')';
        }
        soql += ' Limit 400';
        //System.debug('soql +++++++++++  ' + soql );
        System.debug('soql +++++++++++  ' + soql );
        return soql;
    }
     // 显示数据条数信息
@@ -1399,6 +1437,9 @@
        public Boolean oldCheck { get; set; }
        public Boolean canSelect { get; set; }
        public Product2 Prod { get; set; }
        // chenjignwu 3+2多年保修 20240417 start
        public MultiYearWarranty__c myw { get; set; }
        // chenjignwu 3+2多年保修 20240417 end
        public Maintenance_Product_Data_Details__c mpdrdd {get; set;}
        // 20231103 chenjingwu  Lightning文件修改 Start
        public ContentDocument Concc { get; set; }
@@ -1409,6 +1450,14 @@
            oldCheck = true;
            mpdrdd = e;
            Prod = e.ProductsID__r;
            // chenjignwu 3+2多年保修 20240417 start
            myu = e.MultiYearWarranty__r;
            // chenjignwu 3+2多年保修 20240417 end
            canSelect = true;
        }
        public MaintenanceProductDataDetailsInfo(MultiYearWarranty__c mu) {
            mpdrdd = new Maintenance_Product_Data_Details__c();
            myw = mu;
            canSelect = true;
        }
        public MaintenanceProductDataDetailsInfo(Product2 e) {