123
chenjingwu
2024-04-26 c158f99320226e98ec29dc89af7bccdc13b4bdf5
force-app/main/default/classes/MaintenanceUpdateProductHandler.cls
@@ -138,6 +138,9 @@
            //LJPH-C6A3DF 【委托】 【重要】产品主数据中增加服务用产品分类 liuyan 20210831 Star
            query += ' ,Can_Repair__c , Service_Category1__c ,Service_Category2__c,Service_Category3__c,Service_Category4__c, Service_Category5__c,Service_Category6__c,Service_Category7__c ';
            //LJPH-C6A3DF 【委托】 【重要】产品主数据中增加服务用产品分类 liuyan 20210831 End
            // chenjingwu 3+2多年保修 20240226 start
            query += ' ,MultiYearWarranty__c,AgeLimit__c,MultiOneYearWarrantyPrice__c,AmountWithheld__c';
            // chenjingwu 3+2多年保修 20240226 end
            query += ' ,LastbuyProductFLG__c'; //kk lastbuy add 20240319
            query += ' from Maintenance_Product_Data_Details__c where Maintenance_Product_Data__r.Status__c =\'完成\' ';
            query += ' and Maintenance_Product_Data__c in '+sqlTail;
@@ -146,7 +149,7 @@
            //Map<String,String> mpdId = new Map<String,String>();
            // chenjingwu 3+2多年保修 20240226 start
            List<MultiYearWarranty__c> muUPdate = new List<MultiYearWarranty__c>();
            List<String> muIdList = new List<String>();
            List<String> proIdList = new List<String>();
            // chenjingwu 3+2多年保修 20240226 end
            List<Maintenance_Product_Data_Details__c> mpdDetailsStatus = new List<Maintenance_Product_Data_Details__c>();
            for(Maintenance_Product_Data_Details__c mpdDetails : mpdList){
@@ -154,8 +157,9 @@
                Product2 product2 = new Product2();
                // chenjingwu 3+2多年保修 20240226 start
                MultiYearWarranty__c mu = new MultiYearWarranty__c();
                if(mpdDetails.MultiYearWarranty__c != '' && mpdDetails.MultiYearWarranty__c != ''){
                    muIdList.add(mpdDetails.MultiYearWarranty__c);
                System.debug('chen=>' + mpdDetails);
                if(String.isNotBlank(mpdDetails.ProductsID__c)){
                    proIdList.add(mpdDetails.ProductsID__c);
                }
                // chenjingwu 3+2多年保修 20240226 end
                //mpdId.put(mpdDetails.Maintenance_Product_Data__c,mpdDetails.Maintenance_Product_Data__c);
@@ -455,16 +459,17 @@
                    mu.AmountWithheld__c = mpdDetails.AmountWithheld__c;
                    mu.ProductName__c = mpdDetails.ProductsID__c;
                    muUPdate.add(mu);
                }else{
                    //跟新标识
                    product2.IsFromSAP__c = true;
                    product2Update.add(product2);
                }
                // chenjingwu 3+2多年保修 20240226 end
                //跟新标识
                product2.IsFromSAP__c = true;
                product2Update.add(product2);
            }
            // chenjingwu 3+2多年保修 20240226 start
            if(muUPdate.size()>0 && muUPdate !=null ){
                if(muIdList.size()>0 && muIdList !=null ){
                    List<MultiYearWarranty__c> muList = [select Id from MultiYearWarranty__c where ProductName__c in:muIdList];
                if(proIdList.size()>0 && proIdList !=null ){
                    List<MultiYearWarranty__c> muList = [select Id from MultiYearWarranty__c where ProductName__c in:proIdList];
                    delete muList;
                }
                Database.SaveResult[] lsr = Database.insert(muUPdate, false);