19626
2023-10-07 988f9735377909b6310301e582c15804e004783f
force-app/main/default/classes/Product2Handler.cls
@@ -32,6 +32,7 @@
    //SFDC停止预警  lt  20210922 add start
    protected override void afterUpdate(){
        Calculate_AverageMonthSales(this.newList, this.oldMap);
        AssignmentUltrasonic(this.newList, this.oldMap);  //20230506 lt DB202304618804  包含超声 add
    }
    //SFDC停止预警  lt  20210922 add end
@@ -70,10 +71,12 @@
                strPC = String.valueof(proList[0].get('PC'));
            }
            //带量采购 start fy
            proListsc = [Select Max(ProductCode) PC From Product2 Where ProductCode Like 'SC%'];
            if (proListsc != null && proListsc.size() > 0) {
                strPCsc = String.valueof(proListsc[0].get('PC'));
            }
            // proListsc = [Select Max(ProductCode) PC From Product2 Where ProductCode Like 'SC%'];
            // if (proListsc != null && proListsc.size() > 0) {
            //     strPCsc = String.valueof(proListsc[0].get('PC'));
            // }
            List<Product2> lastPro = [select Id,ProductCode from Product2 where ProductCode Like 'SC%' order by ProductCode desc limit 1];
            strPCsc = lastPro != null && lastPro.size() > 0 ? lastPro[0].ProductCode : '';
            //带量采购 end fy
        }
        for (Product2 nObj : newList) {
@@ -127,11 +130,21 @@
                                    Service_Category6__c,Service_Category7__c,
                                    Can_Repair__c,RepairListPriceLevelA__c,
                                    RepairListPriceLevelB__c,RepairListPriceLevelC__c,
                                    PartSupplyFinishDate__c,EndSaleDate__c,ProductClass__c,ProductCategory__c,
                                    PartSupplyFinishDate__c,EndSaleDate__c,
                                    ProductClass__c,
                                    ProductCategory__c,
                                    Period_Filter_Classify1__c,Period_Filter_Classify2__c,Period_Filter_Classify3__c,
                                    Intra_Trade_Service_RMB_Date1__c,Intra_Trade_Service_RMB_Date2__c,
                                    Intra_Trade_Service_RMB_EndDate1__c,Intra_Trade_Service_RMB_EndDate2__c,
                                    Intra_Trade_Service_RMB_1__c,Intra_Trade_Service_RMB_2__c
                                    Intra_Trade_Service_RMB_1__c,Intra_Trade_Service_RMB_2__c,
                                    // 新增多年保修计提  WYL 2023/08/21 start
                                    Intra_Trade_Gurantee_RMB_1__c,
                                    Intra_Trade_Gurantee_RMB_2__c,
                                    Intra_Trade_Gurantee_RMB_Date1__c,
                                    Intra_Trade_Gurantee_RMB_Date2__c,
                                    Intra_Trade_Gurantee_RMB_End_Date1__c,
                                    Intra_Trade_Gurantee_RMB_End_Date2__c
                                     // 新增多年保修计提  WYL 2023/08/21 end
                                    from Product2
                                    where Asset_Model_No__c in :noNewList
                                    order by CreatedDate desc];
@@ -186,6 +199,14 @@
                    prd.Intra_Trade_Service_RMB_EndDate2__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Service_RMB_EndDate2__c;//多年保价格有效结束日2
                    prd.Intra_Trade_Service_RMB_1__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Service_RMB_1__c;//多年保价格1
                    prd.Intra_Trade_Service_RMB_2__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Service_RMB_2__c;//多年保价格2
                   // 新增多年保修计提  WYL 2023/08/21 start
                   prd.Intra_Trade_Gurantee_RMB_1__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Gurantee_RMB_1__c;//多年保修计提价格1
                   prd.Intra_Trade_Gurantee_RMB_2__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Gurantee_RMB_2__c;//多年保修计提价格2
                   prd.Intra_Trade_Gurantee_RMB_Date1__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Gurantee_RMB_Date1__c;//多年保修计提价格有效开始日1
                   prd.Intra_Trade_Gurantee_RMB_Date2__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Gurantee_RMB_Date2__c;//多年保修计提价格有效开始日2
                   prd.Intra_Trade_Gurantee_RMB_End_Date1__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Gurantee_RMB_End_Date1__c;//多年保修计提价格有效结束日1
                   prd.Intra_Trade_Gurantee_RMB_End_Date2__c = prdMap.get(prd.Asset_Model_No__c).Intra_Trade_Gurantee_RMB_End_Date2__c;//多年保修计提价格有效结束日2
                    // 新增多年保修计提  WYL 2023/08/21 end
                }
            }
        }
@@ -466,4 +487,33 @@
        }
    }
    //20230506 lt DB202304618804  包含超声 start
    private static void AssignmentUltrasonic(List<Product2> newList,Map<Id, Product2> oldMap){
        List<String> proIdList = new List<String>();
        List<PCLLostProduct__c> updateplpList = new List<PCLLostProduct__c>();
        for(Product2 pro : newList){
            if(pro.RecordTypeId == System.Label.Pro_RecordType &&
            (pro.Lost_Product_Differ__c != oldMap.get(pro.Id).Lost_Product_Differ__c ||
            pro.Lost_Product_Category__c != oldMap.get(pro.Id).Lost_Product_Category__c)){
                proIdList.add(pro.Id);
            }
        }
        List<PCLLostProduct__c> plpList = [Select Id, LostProduct__c, ProductClass__c, ProductCategory__c
                                           From PCLLostProduct__c
                                           Where LostProduct__c in: proIdList ];
        if(plpList.size() > 0 ){
            for(PCLLostProduct__c plp : plpList){
                plp.ProductClass__c = '主机';
                plp.ProductCategory__c = '超声主机';
                updateplpList.add(plp);
            }
        }
        update updateplpList;
    }
    //20230506 lt DB202304618804  包含超声 end
}