From e9e1806b0f4b5bae1fc36204ccc5d6fdad52d66f Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期一, 05 六月 2023 11:22:08 +0800
Subject: [PATCH] Merge branch 'master' into LightningUpgradeProject

---
 force-app/main/default/classes/NFM110Rest.cls |  166 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 154 insertions(+), 12 deletions(-)

diff --git a/force-app/main/default/classes/NFM110Rest.cls b/force-app/main/default/classes/NFM110Rest.cls
index 92df810..0861cb7 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;
@@ -384,6 +400,8 @@
 			                          // 淇敼铏氭嫙鍚堝悓鐢熸垚閫昏緫 gzw 20210324 end
 			                          from Product2
 			                          where ProductCode_Ext__c in :productCodeList];
+			                          //淇敼 OER-SMART 浜у搧涓嶇敓鎴愯櫄鎷熺淮淇悎鍚�
+			                          // and Category5__c = 'OER-SMART'
 			Map<String, Product2> prdsMap = new Map<String, Product2>();
 			for (Product2 prd : prdList) {
 				prdsMap.put(prd.ProductCode_Ext__c, prd);
@@ -455,6 +473,7 @@
 			List<Opportunity> oppList = [Select Id, Purchase_Type__c, Opportunity_No__c, Strategic_department_Class_Name__c,
 			                             Sales_Root__c, SAP_Province__c, Trade__c, Agency1__c, Agency1__r.Name,
 			                             Agency1__r.OCM_man_province_txt__c, Opportunity_Category__c
+										//  ,SAP_Province__c //20230323 lt DB202303088261 涓ょエ鍒� add
 			                             From Opportunity Where Opportunity_No__c IN :inquiryNoList];
 			// update by gzw 2020-04-27 start
 			Map<String, Opportunity> oppMap = new Map<String, Opportunity>();
@@ -764,7 +783,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);
-								rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+								// 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);
@@ -837,6 +864,13 @@
 									                                  netProviston : netProviston * Decimal.valueOf(Label.Account_Exc);
 								}
 								// 20210108 gzw add 铏氭嫙鍚堝悓鍙疯拷鍔� end
+
+								//20230323 lt DB202303088261 涓ょエ鍒� Start
+								// if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+								// 	delAst.OSHFLG__c = true ;
+								// }
+								//20230323 lt DB202303088261 涓ょエ鍒� End
+
 								// CHAN-BGYE7C end
 								// CHAN-BJX9EQ Start
 								delAst.NMPA_Approbation_No__c           = dnInfo.NMPA_NO;
@@ -920,7 +954,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);
-										rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+										// 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 +1078,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
-							orderdetInfo.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+							// 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
@@ -1078,6 +1128,11 @@
 							}
 							if (astsMap.get(ast.Product_Serial_No__c ) == null) {
 								ast = new Asset();
+								//20230323 lt DB202303088261 涓ょエ鍒� Start
+								if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+									ast.OSHFLG__c = true ;
+								}
+								//20230323 lt DB202303088261 涓ょエ鍒� End
 								astList.add(ast);
 
 								//astUpdateMap.put(ast.Product_Serial_No__c, ast);
@@ -1231,7 +1286,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);
-							rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+							// 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;
@@ -1284,6 +1347,11 @@
 						}
 						if (astsMap.get(ast.Product_Serial_No__c ) == null) {
 							ast = new Asset();
+							//20230323 lt DB202303088261 涓ょエ鍒� Start
+							if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+								ast.OSHFLG__c = true ;
+							}
+							//20230323 lt DB202303088261 涓ょエ鍒� End
 							astList.add(ast);
 							//astUpdateMap.put(ast.Product_Serial_No__c, ast);
 							logstr += dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo + '(' + dnInfo.TracingCode + ')' + ' ';
@@ -1436,6 +1504,11 @@
 						}
 						if (astsMap.get(ast.Product_Serial_No__c ) == null) {
 							ast = new Asset();
+							//20230323 lt DB202303088261 涓ょエ鍒� Start
+							if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+								ast.OSHFLG__c = true ;
+							}
+							//20230323 lt DB202303088261 涓ょエ鍒� End
 							astList.add(ast);
 							logstr += dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo + '(' + dnInfo.TracingCode + ')' + ' ';
 						} else {
@@ -1514,7 +1587,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 +1668,15 @@
 						}
 						rac.Asset_Model_No__c         = prdSearch.Asset_Model_No__c;
 						rac.Deliver_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
-						rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+						// 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;
@@ -1650,6 +1734,11 @@
 						}
 						if (astsMap.get(ast.Product_Serial_No__c ) == null) {
 							ast = new Asset();
+							//20230323 lt DB202303088261 涓ょエ鍒� Start
+							if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+								ast.OSHFLG__c = true ;
+							}
+							//20230323 lt DB202303088261 涓ょエ鍒� End
 							astList.add(ast);
 							//astUpdateMap.put(ast.Product_Serial_No__c, ast);
 							logstr += dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo + '(' + dnInfo.TracingCode + ')' + ' ';
@@ -1673,6 +1762,11 @@
 							    ) {
 								continue;
 							}
+							//20230323 lt DB202303088261 涓ょエ鍒� Start
+							if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+								ast.OSHFLG__c = true ;
+							}
+							//20230323 lt DB202303088261 涓ょエ鍒� End
 							astList.add(ast);
 							/* 鍘熶唬鐮�
 							   iflog.ErrorLog__c += 'Warning! Asset' + '[' + dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo  + '] Exist. This asset is skipped.\n';
@@ -1756,7 +1850,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 +1993,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);
-						rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+						// 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);
@@ -1948,6 +2053,11 @@
 						}
 						if (astsMap.get(ast.Product_Serial_No__c ) == null) {
 							ast = new Asset();
+							//20230323 lt DB202303088261 涓ょエ鍒� Start
+							if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+								ast.OSHFLG__c = true ;
+							}
+							//20230323 lt DB202303088261 涓ょエ鍒� End
 							astList.add(ast);
 							//astUpdateMap.put(ast.Product_Serial_No__c, ast);
 							logstr += dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo + '(' + dnInfo.TracingCode + ')' + ' ';
@@ -1971,6 +2081,11 @@
 							    ) {
 								continue;
 							}
+							//20230323 lt DB202303088261 涓ょエ鍒� Start
+							if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+								ast.OSHFLG__c = true ;
+							}
+							//20230323 lt DB202303088261 涓ょエ鍒� End
 							astList.add(ast);
 
 							//鍘熶唬鐮侊細
@@ -2094,7 +2209,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 +2367,15 @@
 						// rac.Arrive_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 						// rac.Used_date__c           = NFMUtil.parseStr2Date(infoH.DeliveryDate);
 						// 鑷姩淇敼鏈�缁堢敤鎴� update by vivek end
-						rac.Sterilization_limit__c    = NFMUtil.parseStr2Date(dnInfo.ValidTo);
+						// 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;
@@ -2297,6 +2423,11 @@
 
 						if (astsMap.get(ast.Product_Serial_No__c ) == null) {
 							ast = new Asset();
+							//20230323 lt DB202303088261 涓ょエ鍒� Start
+							if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+								ast.OSHFLG__c = true ;
+							}
+							//20230323 lt DB202303088261 涓ょエ鍒� End
 							astList.add(ast);
 							logstr += dnInfo.SorLMark == 'S' ? dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo : dnInfo.OTCode + ':' + dnInfo.SerialNoorLotNo + '(' + dnInfo.TracingCode + ')';
 						} else {
@@ -2311,6 +2442,11 @@
 								iflog.ErrorLog__c += 'Warning! Asset' + '[' + errMes + '] Exist. This asset is skipped.\n';
 								continue;
 							}
+							//20230323 lt DB202303088261 涓ょエ鍒� Start
+							if(oppMap.get(InquiryNoStr).SAP_Province__c == 'OSH-瀹夊窘鐪�'){
+								ast.OSHFLG__c = true ;
+							}
+							//20230323 lt DB202303088261 涓ょエ鍒� End
 							astList.add(ast);
 							// CHAN-BUY3GV end
 							// 鍘熶唬鐮�
@@ -2462,7 +2598,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 +2689,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