From 41a627eaaf29658a401ac43e4da838a5b622f44e Mon Sep 17 00:00:00 2001
From: 李彤 <litong@prec-tech.com>
Date: 星期一, 29 五月 2023 16:54:34 +0800
Subject: [PATCH] DB202303088261

---
 force-app/main/default/classes/NFM110Rest.cls |  125 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 118 insertions(+), 7 deletions(-)

diff --git a/force-app/main/default/classes/NFM110Rest.cls b/force-app/main/default/classes/NFM110Rest.cls
index 0af0ae8..0861cb7 100644
--- a/force-app/main/default/classes/NFM110Rest.cls
+++ b/force-app/main/default/classes/NFM110Rest.cls
@@ -400,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);
@@ -471,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>();
@@ -780,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);
@@ -853,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;
@@ -936,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);
@@ -1052,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
@@ -1094,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);
@@ -1247,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;
@@ -1300,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 + ')' + ' ';
@@ -1452,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 {
@@ -1611,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;
@@ -1669,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 + ')' + ' ';
@@ -1692,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';
@@ -1918,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);
@@ -1970,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 + ')' + ' ';
@@ -1993,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);
 
 							//鍘熶唬鐮侊細
@@ -2274,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;
@@ -2322,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 {
@@ -2336,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
 							// 鍘熶唬鐮�

--
Gitblit v1.9.1