From fa01cf80171eb10c7f1b4f1764376397b714c526 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期二, 28 三月 2023 15:22:55 +0800
Subject: [PATCH] ET产品-效期修改

---
 force-app/main/default/classes/NFM110Rest.cls |   97 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 92 insertions(+), 5 deletions(-)

diff --git a/force-app/main/default/classes/NFM110Rest.cls b/force-app/main/default/classes/NFM110Rest.cls
index 92df810..202903c 100644
--- a/force-app/main/default/classes/NFM110Rest.cls
+++ b/force-app/main/default/classes/NFM110Rest.cls
@@ -108,6 +108,22 @@
 		main(rowData_Id);
 	}
 	global static void main(String rowData_Id) {
+
+		// WLIG-CCT9UG 20220512 lt start
+		Map<String, String> transferMap = new Map<String, String>();
+        List<BatchIF_Transfer__c> transferList = [select Table__c,
+                                  Column__c,
+                                  External_value__c,
+                                  Internal_value__c
+                                  from BatchIF_Transfer__c
+                                  where Dropped_Flag__c = false
+                                          and (Table__c = 'NFM110')
+                                          ];
+        for (BatchIF_Transfer__c t : transferList) {
+            transferMap.put(t.Column__c + t.External_value__c, t.Internal_value__c);
+        }
+		// WLIG-CCT9UG 20220512 lt end
+
 		// 鍦ㄨ繘琛孨FM110澶勭悊鏃惰烦杩囨秷鑰楀搧鏄庣粏2 arrived return 澶勭悊 HWAG-B3D9UV 2018/8/14 start
 		StaticParameter.ConsumableAssetHanderTrigger = true;
 		StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
@@ -764,7 +780,15 @@
 								rac.Deliver_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 								rac.Arrive_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 								rac.Used_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
+								// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� start
+								if (dnInfo.ValidTo !=null && dnInfo.ValidTo.length() == 8
+											&& Integer.valueOf(dnInfo.ValidTo.substring(0, 4)) <= Integer.valueOf(Date.today().Year())) {
+									rac.Sterilization_limit__c = null;
+								}else{
 								rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+								}
+								// rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+								// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� end
 								rac.Consumable_product__c     = prdSearch.Id;
 								rac.Bar_Code__c               = dnInfo.Barcode;
 								rac.Used_account__c           = addressNameApiMap.get(oppMap.get(InquiryNoStr).SAP_Province__c);
@@ -920,7 +944,15 @@
 										rac.Deliver_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 										rac.Arrive_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 										rac.Used_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
+										// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� start
+										if (dnInfo.ValidTo !=null && dnInfo.ValidTo.length() == 8
+													&& Integer.valueOf(dnInfo.ValidTo.substring(0, 4)) <= Integer.valueOf(Date.today().Year())) {
+											rac.Sterilization_limit__c = null;
+										}else{
 										rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+										}
+										// rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+										// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� end
 										rac.Consumable_product__c     = prdSearch.Id;
 										rac.Bar_Code__c               = dnInfo.Barcode;
 										rac.Used_account__c           = addressNameApiMap.get(oppMap.get(InquiryNoStr).SAP_Province__c);
@@ -1036,7 +1068,15 @@
 							// update by vivek srart 2020-02-13
 							// orderdetInfo.Account_province_txt__c = accsMap.get(infoH.EndUserNo).OCM_man_province_txt__c;
 							// update by vivek end 2020-02-13
+							// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� start
+							if (dnInfo.ValidTo !=null && dnInfo.ValidTo.length() == 8
+										&& Integer.valueOf(dnInfo.ValidTo.substring(0, 4)) <= Integer.valueOf(Date.today().Year())) {
+								orderdetInfo.Sterilization_limit__c = null;
+							}else{
 							orderdetInfo.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+							}
+							// orderdetInfo.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+							// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� end
 							//orderdetInfo.Bar_Code__c               = dnInfo.Barcode;
 							orderdetInfo.DeliveryNote__c           = infoH.DeliveryNote;
 							// update by Gaozw start 20200514
@@ -1231,7 +1271,15 @@
 							rac.Asset_Model_No__c         = prdSearch.Asset_Model_No__c;
 							rac.Consumable_order_minor__c = order.Id;
 							rac.Deliver_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
+							// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� start
+							if (dnInfo.ValidTo !=null && dnInfo.ValidTo.length() == 8
+										&& Integer.valueOf(dnInfo.ValidTo.substring(0, 4)) <= Integer.valueOf(Date.today().Year())) {
+								rac.Sterilization_limit__c = null;
+							}else{
 							rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+							}
+							// 	rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+							// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� end
 							rac.Consumable_product__c     = prdSearch.Id;
 							rac.Bar_Code__c               = dnInfo.Barcode;
 							rac.Used_account__c           = accsMap.get(infoH.EndUserNo).Id;
@@ -1514,7 +1562,10 @@
 							// 20210108 gzw add 铏氭嫙鍚堝悓鍙疯拷鍔� start
 						}
 						// 20210108 gzw add 铏氭嫙鍚堝悓鍙疯拷鍔� start
-						ast.warrantyType__c                  = dnInfo.GuaranteeType;
+						// WLIG-CCT9UG 20220512 lt start
+						//ast.warrantyType__c                  = dnInfo.GuaranteeType;
+						ast.warrantyType__c                  = NFMUtil.getMapValue(transferMap, 'warrantyType__c', string.valueof(dnInfo.GuaranteeType), iflog);
+						// WLIG-CCT9UG 20220512 lt end
 						if (String.isNotBlank(dnInfo.MaintenancePrice)) {
 							Decimal mPrice = Decimal.valueOf(dnInfo.MaintenancePrice.trim());
 							ast.Maintenance_Price_Year__c = oppMap.get(InquiryNoStr).Trade__c == '鍐呰部'?
@@ -1592,7 +1643,15 @@
 						}
 						rac.Asset_Model_No__c         = prdSearch.Asset_Model_No__c;
 						rac.Deliver_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
+						// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� start
+						if (dnInfo.ValidTo !=null && dnInfo.ValidTo.length() == 8
+									&& Integer.valueOf(dnInfo.ValidTo.substring(0, 4)) <= Integer.valueOf(Date.today().Year())) {
+							rac.Sterilization_limit__c = null;
+						}else{
 						rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+						}
+						// rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+						// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� end
 						rac.Consumable_product__c     = prdSearch.Id;
 						rac.Bar_Code__c               = dnInfo.Barcode;
 						rac.Used_account__c           = accsMap.get(infoH.EndUserNo).Id;
@@ -1756,7 +1815,10 @@
 							                              gPrice : gPrice * Decimal.valueOf(Label.Account_Exc);
 							// 20210108 gzw add 铏氭嫙鍚堝悓鍙疯拷鍔� start
 						}
-						ast.warrantyType__c                  = dnInfo.GuaranteeType;
+						// WLIG-CCT9UG 20220512 lt start
+						//ast.warrantyType__c                  = dnInfo.GuaranteeType;
+						ast.warrantyType__c                  = NFMUtil.getMapValue(transferMap, 'warrantyType__c', string.valueof(dnInfo.GuaranteeType), iflog);
+						// WLIG-CCT9UG 20220512 lt end
 						if (String.isNotBlank(dnInfo.MaintenancePrice)) {
 							// 20210108 gzw add 铏氭嫙鍚堝悓鍙疯拷鍔� start
 							Decimal mPrice = Decimal.valueOf(dnInfo.MaintenancePrice.trim());
@@ -1896,7 +1958,15 @@
 						rac.Deliver_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 						rac.Arrive_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 						rac.Used_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
+						// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� start
+						if (dnInfo.ValidTo !=null && dnInfo.ValidTo.length() == 8
+									&& Integer.valueOf(dnInfo.ValidTo.substring(0, 4)) <= Integer.valueOf(Date.today().Year())) {
+							rac.Sterilization_limit__c = null;
+						}else{
 						rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+						}
+						// rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+						// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� end
 						rac.Consumable_product__c     = prdSearch.Id;
 						rac.Bar_Code__c               = dnInfo.Barcode;
 						rac.Used_account__c           = addressNameApiMap.get(oppMap.get(InquiryNoStr).SAP_Province__c);
@@ -2094,7 +2164,10 @@
 							                              gPrice : gPrice * Decimal.valueOf(Label.Account_Exc);
 							// 20210108 gzw add 铏氭嫙鍚堝悓鍙疯拷鍔� start
 						}
-						ast.warrantyType__c                  = dnInfo.GuaranteeType;
+						// WLIG-CCT9UG 20220512 lt start
+						//ast.warrantyType__c                  = dnInfo.GuaranteeType;
+						ast.warrantyType__c                  = NFMUtil.getMapValue(transferMap, 'warrantyType__c', string.valueof(dnInfo.GuaranteeType), iflog);
+						// WLIG-CCT9UG 20220512 lt end
 						if (String.isNotBlank(dnInfo.MaintenancePrice)) {
 							// 20210108 gzw add 铏氭嫙鍚堝悓鍙疯拷鍔� start
 							Decimal mPrice = Decimal.valueOf(dnInfo.MaintenancePrice.trim());
@@ -2249,7 +2322,15 @@
 						// rac.Arrive_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 						// rac.Used_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 						// 鑷姩淇敼鏈�缁堢敤鎴� update by vivek end
+						// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� start
+						if (dnInfo.ValidTo !=null && dnInfo.ValidTo.length() == 8
+									&& Integer.valueOf(dnInfo.ValidTo.substring(0, 4)) <= Integer.valueOf(Date.today().Year())) {
+							rac.Sterilization_limit__c = null;
+						}else{
 						rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+						}
+						// rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+						// gzw DB202301244151 淇濅慨鏈熼檺楠岃瘉鏃ユ湡鍙鎬ц皟鏁� end
 						rac.Consumable_product__c     = prdSearch.Id;
 						rac.Bar_Code__c               = dnInfo.Barcode;
 						rac.Used_account__c           = oppMap.get(InquiryNoStr).Agency1__c;
@@ -2462,7 +2543,10 @@
 							                              gPrice : gPrice * Decimal.valueOf(Label.Account_Exc);
 							// 20210108 gzw add 铏氭嫙鍚堝悓鍙疯拷鍔� start
 						}
-						ast.warrantyType__c                  = dnInfo.GuaranteeType;
+						// WLIG-CCT9UG 20220512 lt start
+						//ast.warrantyType__c                  = dnInfo.GuaranteeType;
+						ast.warrantyType__c                  = NFMUtil.getMapValue(transferMap, 'warrantyType__c', string.valueof(dnInfo.GuaranteeType), iflog);
+						// WLIG-CCT9UG 20220512 lt end
 						if (String.isNotBlank(dnInfo.MaintenancePrice)) {
 							// 20210108 gzw add 铏氭嫙鍚堝悓鍙疯拷鍔� start
 							Decimal mPrice = Decimal.valueOf(dnInfo.MaintenancePrice.trim());
@@ -2550,7 +2634,10 @@
 					ast.Department_Class__c = olympus_return.ParentId; //'Olympus绀惧唴 鍏朵粬'
 					ast.AccountID = olympus_return.Id;                 //'Olympus绀惧唴 鍏朵粬 閫�璐�'
 					ast.Order_No__c = '';
-					ast.Posting_Date__c = null;
+					// CHAN-CCR6MW gzw 銆愬鎵樸�戙�愪繚鏈夎澶囥�戜繚鏈夎澶囧彂璐ф棩閫昏緫 start
+					// ast.Posting_Date__c = null;
+					ast.Posting_Date__c = Date.today();
+					// CHAN-CCR6MW gzw 銆愬鎵樸�戙�愪繚鏈夎澶囥�戜繚鏈夎澶囧彂璐ф棩閫昏緫 end
 					ast.DeliveryNote__c = '';
 					ast.InstallDate = null;
 					ast.Guarantee_period_for_products__c = null;

--
Gitblit v1.9.1