From c158f99320226e98ec29dc89af7bccdc13b4bdf5 Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期五, 26 四月 2024 16:10:54 +0800
Subject: [PATCH] 123
---
force-app/main/default/classes/MaintenanceUpdateProductHandler.cls | 64 ++++++++++++++++++++++++++++----
1 files changed, 56 insertions(+), 8 deletions(-)
diff --git a/force-app/main/default/classes/MaintenanceUpdateProductHandler.cls b/force-app/main/default/classes/MaintenanceUpdateProductHandler.cls
index 3f2fd09..ef8b47c 100644
--- a/force-app/main/default/classes/MaintenanceUpdateProductHandler.cls
+++ b/force-app/main/default/classes/MaintenanceUpdateProductHandler.cls
@@ -1,3 +1,4 @@
+// Author ljh 娴嬭瘯绫� MaintenanceProductDataControllerTest
public without sharing class MaintenanceUpdateProductHandler extends Oly_TriggerHandler {
private Map<Id, Maintenance_Product_Data__c> newMap;
private Map<Id, Maintenance_Product_Data__c> oldMap;
@@ -73,8 +74,11 @@
}
}
for(String id:mpdIds){
- List<Attachment> attachmentinfo = [SELECT Id, Name,OwnerId FROM Attachment WHERE parentid =:mpdIds ];
- if(attachmentinfo.size() ==0){
+ // 20231103 chenjingwu Lightning鏂囦欢淇敼 Start
+ List<ContentDocumentLink> linksinfo = [select Id from ContentDocumentLink where LinkedEntityId =: id];
+ // List<Attachment> attachmentinfo = [SELECT Id, Name,OwnerId FROM Attachment WHERE parentid =:mpdIds ];
+ // 20231103 chenjingwu Lightning鏂囦欢淇敼 End
+ if(linksinfo.size() ==0){
attachmentSize = true;
}
}
@@ -90,7 +94,7 @@
}
if(newMpd.Status__c=='瀹℃壒涓�-鏈嶅姟'&& newMpd.Status__c != old.Status__c && attachmentSize&&attachmentChange){
- newMpd.addError('杩樻病鏈変笂浼犻檮浠讹紝璇蜂笂浼犻檮浠讹紒');
+ newMpd.addError('杩樻病鏈変笂浼犳枃浠讹紝璇蜂笂浼犳枃浠讹紒');
}
}
}
@@ -116,7 +120,7 @@
}
//Tier1_Category__c,
query = 'select Id, Name ,ProductsID__c,Maintenance_Product_Data__c,RecordType.DeveloperName ';
- query += ' ,ENG_DeaerProFlag__c,Dealer_special_Object__c,Key_product_147P__c,Key_product_147P_Old__c,Important_Endopartner_product__c ';
+ query += ' ,ENG_DeaerProFlag__c,Dealer_special_Object__c,Key_product_147P__c,Key_product_147P_Old__c,Important_Endopartner_product__c';
// FY23淇敼 WLIG-CFV4AV 閲嶇偣浜у搧缁存姢锛堟柊锛塻tart
query += ' ,Key_product_155P__c,Key_product_155P_Old__c,Celon_Product__c,Celon_Product_Old__c ';
// FY23淇敼 WLIG-CFV4AV 閲嶇偣浜у搧缁存姢锛堟柊锛塭nd
@@ -134,15 +138,30 @@
//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;
List<Maintenance_Product_Data_Details__c> mpdList = Database.query(query);
List<Product2> product2Update = new List<Product2>();
//Map<String,String> mpdId = new Map<String,String>();
+ // chenjingwu 3+2澶氬勾淇濅慨 20240226 start
+ List<MultiYearWarranty__c> muUPdate = new List<MultiYearWarranty__c>();
+ 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){
Maintenance_Product_Data_Details__c pdd = new Maintenance_Product_Data_Details__c();
Product2 product2 = new Product2();
+ // chenjingwu 3+2澶氬勾淇濅慨 20240226 start
+ MultiYearWarranty__c mu = new 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);
pdd.Id = mpdDetails.Id;
if(mpdDetails.RecordType.DeveloperName.equals('GuranteeMain')||mpdDetails.RecordType.DeveloperName.equals('GuranteeMain')){
@@ -158,6 +177,7 @@
product2.ENG_DeaerProFlag__c = mpdDetails.ENG_DeaerProFlag__c;
product2.Dealer_special_Object__c = mpdDetails.Dealer_special_Object__c;
product2.Important_Endopartner_product__c = mpdDetails.Important_Endopartner_product__c;
+ product2.LastbuyProductFLG__c = mpdDetails.LastbuyProductFLG__c;//kk lastbuy 20240329 add
//闇�瑕佸仛澶勭悊
//MaintenanceProductDataDetails
SS_Batch_Column_Mapping__c mpdMapping = SS_Batch_Column_Mapping__c.getValues('MaintenanceProductDataDetails');
@@ -432,13 +452,33 @@
product2.Default_Fixture_Arrival_Process__c = mpdDetails.Default_Fixture_Arrival_Process__c;
product2.Default_Fixture_Arrival_Product__c = mpdDetails.Default_Fixture_Arrival_Product__c;
}
- //璺熸柊鏍囪瘑
- product2.IsFromSAP__c = true;
- product2Update.add(product2);
+ // chenjingwu 3+2澶氬勾淇濅慨 20240226 start
+ if(mpdDetails.RecordType.DeveloperName.equals('GuranteeExtend')){
+ mu.AgeLimit__c = mpdDetails.AgeLimit__c;
+ mu.MultiOneYearWarrantyPrice__c = mpdDetails.MultiOneYearWarrantyPrice__c;
+ 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
}
+ // chenjingwu 3+2澶氬勾淇濅慨 20240226 start
+ if(muUPdate.size()>0 && muUPdate !=null ){
+ 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);
+ }
+ // chenjingwu 3+2澶氬勾淇濅慨 20240226 end
if(product2Update.size()>0 && product2Update !=null ){
Database.SaveResult[] lsr = Database.update(product2Update, false);
+ String errStr = '';// 20231219 ljh DB202312020423 add
Boolean flag = true;
for (Integer tIdx = 0; tIdx < lsr.size(); tIdx++) {
Database.SaveResult sr = lsr[tIdx];
@@ -446,11 +486,19 @@
if (!sr.isSuccess()) {
Database.Error emsg = sr.getErrors()[0];
flag = false;
+ errStr += emsg.getMessage()+';';// 20231219 ljh DB202312020423 add
}
}
if(flag){
update mpdDetailsStatus;
- }
+ }
+ // 20231219 ljh DB202312020423 start
+ else{
+ for (Maintenance_Product_Data__c newMpd : nList) {
+ newMpd.addError(errStr); break;
+ }
+ }
+ // 20231219 ljh DB202312020423 end
}
//-------------------------
//鍙戦�侀偖浠�
--
Gitblit v1.9.1