From faec977616ccd111499608186aa759e0c44dfd15 Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期四, 13 四月 2023 17:29:33 +0800
Subject: [PATCH] Merge branch 'LEX_dev' of http://47.92.229.245:8089/r/lightningupdate into LEX_dev
---
force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js | 49
force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js | 67
force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js-meta.xml | 11
force-app/main/default/classes/RentalApplyWebService.cls | 2069 +++++++++++++++++++
force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.html | 4
force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.html | 5
force-app/main/default/classes/FinLibraryButtonController3.cls | 13
force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js-meta.xml | 11
force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.css | 11
force-app/main/default/classes/UpdateTenderInformationBatch.cls-meta.xml | 5
force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js-meta.xml | 11
force-app/main/default/lwc/lexSendQIS/lexSendQIS.js | 121 +
force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js-meta.xml | 11
force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.css | 22
force-app/main/default/classes/FinLibraryButtonController2.cls | 24
force-app/main/default/classes/SubmitExtensionApprovalProcessController.cls | 42
force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js | 89
force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js | 103
force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js | 58
force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.html | 5
force-app/main/default/classes/loanerArrangedEmailController.cls | 95
force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.html | 5
force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js | 60
force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js | 659 ++++++
force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js | 44
force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js-meta.xml | 11
force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.css | 10
force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.html | 5
force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js | 52
force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js-meta.xml | 11
force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js-meta.xml | 11
force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js-meta.xml | 11
force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js | 49
force-app/main/default/classes/FinLibraryButtonController.cls-meta.xml | 5
force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.html | 4
force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js | 62
force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.html | 5
force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js-meta.xml | 11
force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js-meta.xml | 11
force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.html | 4
force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js | 102
force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js-meta.xml | 11
force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js-meta.xml | 11
force-app/main/default/classes/QISReportController.cls | 163 +
force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js-meta.xml | 11
force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.css | 10
force-app/main/default/classes/RentalApplyControllerLWT.cls-meta.xml | 5
force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js-meta.xml | 11
force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.html | 5
force-app/main/default/classes/loanerArrangedEmailController.cls-meta.xml | 5
force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.html | 5
force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.html | 5
force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.css | 11
force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js | 72
force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js | 46
force-app/main/default/lwc/lexSendQIS/lexSendQIS.js-meta.xml | 11
force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.css | 11
force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.html | 5
force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js | 105
force-app/main/default/classes/SubmitExtensionApprovalProcessController.cls-meta.xml | 5
force-app/main/default/classes/FinLibraryButtonController.cls | 24
force-app/main/default/lwc/lexSendQIS/lexSendQIS.css | 22
force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.css | 10
force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.css | 22
force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js-meta.xml | 11
force-app/main/default/classes/RentalApplyControllerLWT.cls | 290 ++
force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js | 55
force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js-meta.xml | 11
force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.html | 5
force-app/main/default/classes/rentalApplyEquipmentRentalPDFController.cls-meta.xml | 5
force-app/main/default/lwc/lexSendQIS/lexSendQIS.html | 5
force-app/main/default/classes/FinLibraryButtonController3.cls-meta.xml | 5
force-app/main/default/classes/RentalApplyWebService.cls-meta.xml | 5
force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.css | 11
force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.html | 5
force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.html | 5
force-app/main/default/classes/rentalApplyEquipmentRentalPDFController.cls | 25
force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js | 62
force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.html | 5
force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.css | 10
force-app/main/default/classes/UpdateTenderInformationBatch.cls | 1310 ++++++++++++
force-app/main/default/classes/FinLibraryButtonController2.cls-meta.xml | 5
82 files changed, 6,366 insertions(+), 8 deletions(-)
diff --git a/force-app/main/default/classes/FinLibraryButtonController.cls b/force-app/main/default/classes/FinLibraryButtonController.cls
new file mode 100644
index 0000000..a20d79e
--- /dev/null
+++ b/force-app/main/default/classes/FinLibraryButtonController.cls
@@ -0,0 +1,24 @@
+/**********************************************************************
+ *
+ *
+ * @url: /services/apexrest/rest
+ * @data:
+ * {
+
+ }
+*************************************************************************/
+
+global with sharing class FinLibraryButtonController {
+
+ @AuraEnabled
+ public static Bulletin_Board__c getBulletinBoard(String recordId){
+ Bulletin_Board__c res=new Bulletin_Board__c();
+ try {
+ res=[select iPad_Finlibrary__c from Bulletin_Board__c where Id=: recordId];
+ }
+ catch (Exception e) {
+ System.debug(Logginglevel.info,'*******e'+e);
+ }
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/FinLibraryButtonController.cls-meta.xml b/force-app/main/default/classes/FinLibraryButtonController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/FinLibraryButtonController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/FinLibraryButtonController2.cls b/force-app/main/default/classes/FinLibraryButtonController2.cls
new file mode 100644
index 0000000..8421838
--- /dev/null
+++ b/force-app/main/default/classes/FinLibraryButtonController2.cls
@@ -0,0 +1,24 @@
+/**********************************************************************
+ *
+ *
+ * @url: /services/apexrest/rest
+ * @data:
+ * {
+
+ }
+*************************************************************************/
+
+global with sharing class FinLibraryButtonController2 {
+
+ @AuraEnabled
+ public static Bulletin_Board__c getBulletinBoard(String recordId){
+ Bulletin_Board__c res=new Bulletin_Board__c();
+ try{
+ res=[select iPad_Finlibrary_2__c from Bulletin_Board__c where Id=: recordId];
+ }
+ catch(Exception e){
+ System.debug(Logginglevel.info,'*******e'+e);
+ }
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/FinLibraryButtonController2.cls-meta.xml b/force-app/main/default/classes/FinLibraryButtonController2.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/FinLibraryButtonController2.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/FinLibraryButtonController3.cls b/force-app/main/default/classes/FinLibraryButtonController3.cls
new file mode 100644
index 0000000..b6228d1
--- /dev/null
+++ b/force-app/main/default/classes/FinLibraryButtonController3.cls
@@ -0,0 +1,13 @@
+global with sharing class FinLibraryButtonController3 {
+ @AuraEnabled
+ public static Bulletin_Board__c getBulletinBoard(String recordId){
+ Bulletin_Board__c res=new Bulletin_Board__c();
+ try{
+ res=[select iPad_Finlibrary_3__c from Bulletin_Board__c where Id= : recordId];
+ }
+ catch(Exception e){
+ System.debug(Logginglevel.info,'*******e'+e);
+ }
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/FinLibraryButtonController3.cls-meta.xml b/force-app/main/default/classes/FinLibraryButtonController3.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/FinLibraryButtonController3.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/QISReportController.cls b/force-app/main/default/classes/QISReportController.cls
index c778eac..3d6a036 100644
--- a/force-app/main/default/classes/QISReportController.cls
+++ b/force-app/main/default/classes/QISReportController.cls
@@ -351,15 +351,176 @@
return re;
}
+ //OCSM涓嶈鎶ュ憡
+ @AuraEnabled
+ public static InitData initForlexOCSMNoToReportLightingButton (String recordId){
+ InitData res = new initData();
+ try{
+ QIS_Report__c report = [SELECT id ,OCSMAdministrativeReportNumber__c,OCSMAdministrativeReportDate__c,Aware_date__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];
+ res.Id = report.Id;
+ res.oCSMAdministrativeReportNumber = report.OCSMAdministrativeReportNumber__c;
+ res.oCSMAdministrativeReportDate = report.OCSMAdministrativeReportDate__c;
+ res.Awaredate = report.Aware_date__c;
+ System.debug(LoggingLevel.INFO, '*** res: ' + res);
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+ @AuraEnabled
+ public static String updateQisForlexOCSMNoToReportLighting (String recordId){
+ String re = '鎴愬姛';
+ QIS_Report__c report = [SELECT id FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];
+ try{
+ QIS_Report__c rac = new QIS_Report__c();
+ rac.id = recordId;
+ rac.OCSMAdministrativeReportStatus__c = '鏃犻渶鎶ュ憡';
+ update rac;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ re = e.getMessage();
+ }
+ return re;
+ }
+ //OCSM瑕佹姤鍛�
+ @AuraEnabled
+ public static InitData initForlexOCSMToReportLightingButton (String recordId){
+ InitData res = new initData();
+ try{
+ QIS_Report__c report = [SELECT id ,OCSMAdministrativeReportStatus__c,Aware_date__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];
+ res.Id = report.Id;
+ res.oCSMAdministrativeReportStatus = report.OCSMAdministrativeReportStatus__c;
+ res.Awaredate = report.Aware_date__c;
+ System.debug(LoggingLevel.INFO, '*** res: ' + res);
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+
+ @AuraEnabled
+ public static String updateQisForlexOCSMToReportLighting (String recordId){
+ String re = '鎴愬姛';
+ QIS_Report__c report = [SELECT id FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];
+ try{
+ QIS_Report__c rac = new QIS_Report__c();
+ rac.id = recordId;
+ rac.OCSMAdministrativeReportStatus__c = '寰呮姤鍛�';
+ update rac;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ re = e.getMessage();
+ }
+ return re;
+ }
+ //鍙戦�丵IS鍒癝PO
+ @AuraEnabled
+ public static InitData initForlexSendQISButton (String recordId){
+ InitData res = new initData();
+ ID myUserID = UserInfo.getUserId();
+ User userinfo = [SELECT id,Profile.name FROM User WHERE Id = :myUserID LIMIT 1];
+ try{
+ QIS_Report__c report = [SELECT id ,RecordTypeId,IsSendQIS__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];
+ RecordType rec = [SELECT id,name FROM RecordType where Id = :report.RecordTypeId];
+ res.Id = report.Id;
+ res.qisRecordTypeId = report.RecordTypeId;
+ res.qisRecordName = rec.name;
+ res.profileName = userinfo.Profile.name;
+ res.IsSendQIS = report.IsSendQIS__c;
+ System.debug(LoggingLevel.INFO, '*** res: ' + res);
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+
+ @AuraEnabled
+ public static String updateQisForSendQIS (String recordId){
+ String re = '鎴愬姛';
+ QIS_Report__c report = [SELECT Id,Name,IsSendQIS__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];
+ if(report == null ){
+ return '娌℃湁QIS锛�' + recordId + '鐨勬暟鎹��';
+ }
+ Savepoint sp = Database.setSavepoint();
+ try{
+
+ QIS_Report__c rac = new QIS_Report__c();
+ rac.id = recordId;
+ rac.IsSendQIS__c = true;
+ update rac;
+ }catch(Exception e){
+ Database.rollback(sp);
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ re = e.getMessage();
+ }
+ return re;
+ }
+ // OCSM鏈嶅姟鏈儴鏀跺埌瀹炵墿
+ @AuraEnabled
+ public static InitData initForlexRCRecievedButton (String recordId){
+ InitData res = new initData();
+ ID myUserID = UserInfo.getUserId();
+ User userinfo = [SELECT id,Profile.name FROM User WHERE Id = :myUserID LIMIT 1];
+ try{
+ QIS_Report__c report = [SELECT id ,isAE_Profile__c,QIS_Status__c,isPAE_Profile__c,is_CNBuy__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];
+ res.Id = report.Id;
+ res.isAEProfile = report.isAE_Profile__c;
+ res.isPAEProfile = report.isPAE_Profile__c;
+ res.QIStatus = report.QIS_Status__c;
+ res.isCNBuy = report.is_CNBuy__c;
+ System.debug(LoggingLevel.INFO, '*** res: ' + res);
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ }
+ return res;
+ }
+
+ @AuraEnabled
+ public static String updateQisForRCRecieved (String recordId){
+ String re = '鎴愬姛';
+ ID myUserID = UserInfo.getUserId();
+ User userinfo = [SELECT id,Alias,BuchangApprovalManagerSales__c,JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id = :myUserID LIMIT 1];
+
+ try{
+ QIS_Report__c rac = new QIS_Report__c();
+ rac.id = recordId;
+
+ rac.QIS_Status__c = 'RC妫�娴嬩腑';
+ rac.OCM_RC_RecievedDate__c = Date.today();
+ rac.RC__c = myUserID;
+ rac.RC_Receive_staff__c = userinfo.Alias;
+
+ if (userinfo != null && userinfo.BuchangApprovalManagerSales__c!= null) {
+ rac.RC_Manager__c = userinfo.BuchangApprovalManagerSales__c;
+ } else {
+ rac.RC_Manager__c = myUserID;
+ }
+ update rac;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '*** e: ' + e);
+ re = e.getMessage();
+ }
+ return re;
+ }
public class InitData{
@AuraEnabled
public String Id;
+ @AuraEnabled
+ public String qISSCReport;
+ @AuraEnabled
+ public String name;
+ @AuraEnabled
+ public String qISSCId;
@AuraEnabled
public String ownerId;
@AuraEnabled
public String qisRecordTypeId;
@AuraEnabled
public String qisRecordName;
+ @AuraEnabled
+ public String nextaction;
+ @AuraEnabled
+ public String qISMarketCategory;
@AuraEnabled
public String profileName;
@AuraEnabled
@@ -393,6 +554,8 @@
@AuraEnabled
public Date qISInstallDate;
@AuraEnabled
+ public Date oSHInspectionDate;
+ @AuraEnabled
public Date cdsdate;
@AuraEnabled
public Date awaredate;
diff --git a/force-app/main/default/classes/RentalApplyControllerLWT.cls b/force-app/main/default/classes/RentalApplyControllerLWT.cls
new file mode 100644
index 0000000..ea1812a
--- /dev/null
+++ b/force-app/main/default/classes/RentalApplyControllerLWT.cls
@@ -0,0 +1,290 @@
+public with sharing class RentalApplyControllerLWT {
+ public RentalApplyControllerLWT() {
+
+ }
+ @AuraEnabled
+ public static Rental_Apply__c initFromCancelSubmitButton(String recordId){
+ InitData res = new InitData();
+ try{
+ Rental_Apply__c report=[select
+ Status__c,Yi_loaner_arranged__c,Id,RA_Status__c,
+ demo_purpose2__c,Follow_UP_Opp__c,Statu_Achievements__c,Statu_Achievements_ID__c,
+ Request_shipping_day__c,Demo_purpose1__c,Repair__c,RecordTypeId,SupplementCreated__c,
+ OPDPlan__c,Campaign__c,QIS_number__c,OwnerId,
+ // QIS_numberId__c,CampaignId__c,applyUserId__c锛�
+ Re_repair__c,
+ QIS_ID_Line__c,
+ applyUser__c
+ from Rental_Apply__c where Id= :recordId];
+ return report;
+ // res.StatusC=report.Status__c;
+ // res.Id=report.Id;
+ // res.YiLoanerArrangedC=report.Yi_loaner_arranged__c;
+ // res.RAStatusC=report.RA_Status__c;
+ // res.DemoPurpose2C=report.demo_purpose2__c;
+ // res.FollowUPOppC=report.Follow_UP_Opp__c;
+ // res.StatuAchievementsC=report.Statu_Achievements__c;
+ // res.StatuAchievementsIDC=report.Statu_Achievements_ID__c;
+ // res.RequestShippingDayC=report.Request_shipping_day__c;
+ // res.DemoPurpose1C=report.Demo_purpose1__c;
+ // res.RepairC=report.Repair__c;
+ // res.RecordTypeId=report.RecordTypeId;
+ // res.SupplementCreatedC=report.SupplementCreated__c;
+ // res.OPDPlanC=report.OPDPlan__c;
+ // res.CampaignC=report.Campaign__c;
+ // res.QISNumberC=report.QIS_number__c;
+ // res.QISNumberIdc=report.QIS_numberId__c;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c Cancel Error : ' + e);
+ }
+ return null;
+ }
+
+
+ @AuraEnabled
+ public static list<Rental_Apply_Equipment_Set_Detail__c> selectRentalApplyEquipmentSetDetailByRacId(String recordId){
+ InitData res = new InitData();
+ try{
+ list<Rental_Apply_Equipment_Set_Detail__c> report=[select
+ Id, Fixture_Model_No_F__c, Product_Status_Flag_F__c
+ from Rental_Apply_Equipment_Set_Detail__c where Rental_Apply__c = :recordId];
+ return report;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c Cancel Error : ' + e);
+ }
+ return null;
+ }
+
+ @AuraEnabled
+ public static list<QIS_Report__c> selectQISReportById(String recordId){
+ InitData res = new InitData();
+ try{
+ list<QIS_Report__c> report=[select
+ Id, nonyushohin__r.Product2.Fixture_Model_No_T__c
+ from QIS_Report__c
+ where id = :recordId
+ ];
+ return report;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c Cancel Error : ' + e);
+ }
+ return null;
+ }
+
+ @AuraEnabled
+ public static list<Repair__c> selectRepairById(String recordId){
+ InitData res = new InitData();
+ try{
+ list<Repair__c> report=[select Id, Repair_Rank__c, DW_Sign_Txt__c, FSE_ApplyForRepair_Day__c, Delivered_Product__r.Product2.Fixture_Model_No_T__c
+ , ReRepairObject_F__c,Status1__c,Agreed_Date__c,Repair_Estimated_date_formula__c,Repair_Ordered_Date__c
+ , IfCheckFixture__c
+ , Repair_Final_Inspection_Date__c,Repair_Shipped_Date__c,Number_of_EffectiveContract__c, NewProductGuaranteeObject__c, Delivered_Product__r.Product2.Asset_Model_No__c
+ from Repair__c where id = :recordId
+ ];
+ return report;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c Cancel Error : ' + e);
+ }
+ return null;
+ }
+
+ @AuraEnabled
+ public static list<Campaign> selectCampaignById(String recordId){
+ InitData res = new InitData();
+ try{
+ list<Campaign> report=[select
+ Status, Rental_Apply_Flag__c ,IF_Approved__c,Meeting_Approved_No__c,Approved_Status__c
+ from Campaign where id =:recordId
+
+ ];
+ return report;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c Cancel Error : ' + e);
+ }
+ return null;
+ }
+ @AuraEnabled
+ public static list<Rental_Apply_Equipment_Set__c> selectRentalApplyEquipmentSetByRacId(String recordId){
+ InitData res = new InitData();
+ try{
+ list<Rental_Apply_Equipment_Set__c> report=[select Id
+ from Rental_Apply_Equipment_Set__c
+ where RetalFSetDetail_Cnt__c = 0 AND Rental_Apply__c = :recordId
+ ];
+ return report;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c Cancel Error : ' + e);
+ }
+ return null;
+ }
+
+ @AuraEnabled
+ public static list<Rental_Apply__c> selectRentalApplyById(String recordId){
+ InitData res = new InitData();
+ try{
+ list<Rental_Apply__c> report=[select
+ id,OPDPlan__c,OPDPlan__r.SalesManager_Txt__c,OPDPlan__r.BuchangApprovalManagerSales_Txt__c
+ from Rental_Apply__c where id = :recordId
+
+ ];
+ return report;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c Cancel Error : ' + e);
+ }
+ return null;
+ }
+
+ @AuraEnabled
+ public static list<User> selectUserById(String recordId){
+ InitData res = new InitData();
+ try{
+ list<User> report=[select
+ id,JingliEquipmentManager__c,JingliEquipmentManager__r.Name,Buzhang_Equipment_Manager__c,
+ Buzhang_Equipment_Manager__r.Name
+ from User where id = :recordId
+ ];
+ return report;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c Cancel Error : ' + e);
+ }
+ return null;
+ }
+
+ @AuraEnabled
+ public static list<QIS_report__c> selectQISreportById2(String recordId){
+ InitData res = new InitData();
+ try{
+ list<QIS_report__c> report=[select id,next_action__c
+ from QIS_report__c where id =:recordId
+ ];
+ return report;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c Cancel Error : ' + e);
+ }
+ return null;
+ }
+
+
+ @AuraEnabled
+ public static String getUserId(){
+
+ return UserInfo.getUserId();
+ }
+
+ @AuraEnabled
+ public static String getProfileId(){
+ return UserInfo.getProfileId();
+ }
+
+ @AuraEnabled
+ public static String setSObjectShare(String sobjectName, String rowCause, String parentId, List<String> userAccess, String ownerId) {
+
+ try {
+ List<SObject> sObjList = new List<SObject>();
+ for (String ua : userAccess) {
+ String userid = ua.split('_')[0];
+ String access = ua.split('_')[1];
+ SObject sObj = Schema.getGlobalDescribe().get(sobjectName).newSObject();
+ if (String.isBlank(userid) == false && userid.substring(0, 15) != ownerId.substring(0, 15)) {
+ sObj.put('RowCause', rowCause);
+ sObj.put('ParentId', parentId);
+ sObj.put('UserOrGroupId', userid);
+ sObj.put('AccessLevel', access);
+ sObjList.add(sObj);
+ }
+ }
+ if (sObjList.size() > 0) insert sObjList;
+ return 'OK';
+ } catch (Exception e) {
+ return e.getMessage();
+ }
+ }
+
+ @AuraEnabled
+ public static UpdateResult updateRentalApplyC(
+ String recordId,
+ String SalesManagerSubmitC,
+ String StatusC,
+ String OPDManagerApproverC,
+ String BuchangApprovalManagerSalesSubmitC,
+ String OPDBuchangApproverC
+ ) {
+ UpdateResult result = new UpdateResult();
+ result.recordId = recordId;
+ try{
+ // 鏇存柊璁板綍骞惰幏鍙栫粨鏋�
+ if(recordId==null) return null;
+ Rental_Apply__c rac = new Rental_Apply__c( id=recordId);
+
+ if(SalesManagerSubmitC!=null&& SalesManagerSubmitC != ''){
+ rac.SalesManagerSubmit__c=SalesManagerSubmitC;
+ }
+ if(StatusC!=null&&StatusC!=''){
+ rac.Status__c=StatusC;
+ }
+ if(OPDManagerApproverC!=null&&OPDManagerApproverC!=''){
+ rac.OPDManagerApprover__c=OPDManagerApproverC;
+ }
+ if(BuchangApprovalManagerSalesSubmitC!=null&&BuchangApprovalManagerSalesSubmitC!=''){
+ rac.BuchangApprovalManagerSalesSubmit__c=BuchangApprovalManagerSalesSubmitC;
+ }
+ if(OPDBuchangApproverC!=null&&OPDBuchangApproverC!=''){
+ rac.OPDBuchangApprover__c=OPDBuchangApproverC;
+ }
+ if(rac.id==null)return null;
+ update rac;
+ result.success = true;
+ result.errors = new List<String>();
+ return result;
+ }catch(Exception e){
+ result.success = false;
+ result.errors = new List<String>();
+ result.errors.add(e.getMessage());
+ System.debug(LoggingLevel.INFO,'Rental_Apply__c update Error : ' + e);
+ }
+ return result;
+ }
+
+ public class UpdateResult {
+ @AuraEnabled public String recordId {get;set;}
+ @AuraEnabled public Boolean success {get;set;}
+ @AuraEnabled public List<String> errors {get;set;}
+ }
+ public class InitData{
+ @AuraEnabled
+ public String StatusC;
+ @AuraEnabled
+ public Decimal YiLoanerArrangedC;
+ @AuraEnabled
+ public String Id;
+ @AuraEnabled
+ public String RAStatusC;
+
+ @AuraEnabled
+ public String DemoPurpose2C;
+ @AuraEnabled
+ public String FollowUPOppC;
+ @AuraEnabled
+ public String StatuAchievementsC;
+ @AuraEnabled
+ public String StatuAchievementsIDC;
+ @AuraEnabled
+ public Date RequestShippingDayC;
+ @AuraEnabled
+ public String DemoPurpose1C;
+ @AuraEnabled
+ public String RepairC;
+ @AuraEnabled
+ public String RecordTypeId;
+ @AuraEnabled
+ public Boolean SupplementCreatedC;
+ @AuraEnabled
+ public String OPDPlanC;
+ @AuraEnabled
+ public String CampaignC;
+ @AuraEnabled
+ public String QISNumberC;
+ @AuraEnabled
+ public String QISNumberIdc;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/RentalApplyControllerLWT.cls-meta.xml b/force-app/main/default/classes/RentalApplyControllerLWT.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/RentalApplyControllerLWT.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/RentalApplyWebService.cls b/force-app/main/default/classes/RentalApplyWebService.cls
new file mode 100644
index 0000000..a78f66b
--- /dev/null
+++ b/force-app/main/default/classes/RentalApplyWebService.cls
@@ -0,0 +1,2069 @@
+global class RentalApplyWebService {
+ // TODO please use public okStatus
+ public final static Integer okStatus = 99;
+ public final static String okStatus2 = '寮曞綋娓�';
+
+//bp2
+// /**
+// * check meisai
+// * @param rentalApplyId 澶囧搧鍊熷嚭鐢宠ID
+// * @param rentalApplys 澶囧搧鍊熷嚭鐢宠
+// * @param rentalApplyEquipmentSets 澶囧搧鐢宠鍊熷嚭鍘嗗彶(澶囧搧鍊熷嚭鐢宠 鍜� 澶囧搧Set 鐨凩ink琛�)
+// * @param equipmentSetIdList Equipment_Set__c.id
+// * @param idmap Equipment_Set__c.Id => Rental_Apply_Equipment_Set__c.Id
+// * @return 鎴愬姛: 1銆乷r 閿欒鍐呭
+// */
+// private static String privateCheck(String rentalApplyId,
+// Map<String, List<List<Rental_Apply__c>>> mRentalApplys,
+// Map<String, List<List<Rental_Apply_Equipment_Set__c>>> mRentalApplyEquipmentSets,
+// Map<String, List<List<Id>>> mEquipmentSetIdList,
+// Map<String, List<Map<Id, Id>>> mIdmap
+// ) {
+// List<Rental_Apply__c> rentalApplys = mRentalApplys.get('rentalApplys')[0];
+// List<Rental_Apply_Equipment_Set__c> rentalApplyEquipmentSets = mRentalApplyEquipmentSets.get('rentalApplyEquipmentSets')[0];
+// List<Id> equipmentSetIdList = mEquipmentSetIdList.get('equipmentSetIdList')[0];
+// Map<Id, Id> idmap = mIdmap.get('idmap')[0];
+
+// //杩斿洖缁撴灉,1:鎴愬姛銆�
+// String checkRS = '1';
+
+// //澶囧搧鍊熷嚭鐢宠
+// rentalApplys = [select Rental_Apply_Equipment_Set_Cnt__c from Rental_Apply__c where Id = :rentalApplyId];
+// if (rentalApplys.size() == 0) {
+// checkRS = '娌℃湁澶囧搧鍊熷嚭鐢宠锛岃纭銆�';
+// return checkRS;
+// }
+// Rental_Apply__c rentalApply = rentalApplys[0];
+// if (rentalApply.Rental_Apply_Equipment_Set_Cnt__c <= 0) {
+// //杩斿洖缁撴灉,2:message-娌℃湁澶囧搧Set锛岃纭銆�
+// checkRS = '娌℃湁鍊熷嚭澶囧搧set涓�瑙堬紝璇风‘璁ゃ��';
+// return checkRS;
+// }
+
+// //澶囧搧鐢宠鍊熷嚭鍘嗗彶
+// equipmentSetIdList = new List<Id>();
+// rentalApplyEquipmentSets = [
+// select Equipment_Set__c,Equipment_Set__r.Active_judgement__c
+// from Rental_Apply_Equipment_Set__c
+// where Rental_Apply__c = :rentalApplyId and Cancel_Select__c = false];
+// for (Rental_Apply_Equipment_Set__c rentalApplyEquipmentSet : rentalApplyEquipmentSets) {
+// equipmentSetIdList.add(rentalApplyEquipmentSet.Equipment_Set__c);
+// }
+
+// // Equipment_Set_Detail__c锛岀┖鏇存柊 (TODO 浠婂緦batch銇仾銈嬶紒锛�)
+// List<Equipment_Set_Detail__c> updDetailList = [
+// select id
+// from Equipment_Set_Detail__c
+// where Equipment_Set__c in :equipmentSetIdList];
+// update updDetailList;
+
+// //澶囧搧鐢宠鍊熷嚭鍘嗗彶銆佸啀鍙栧緱
+// List<Rental_Apply_Equipment_Set__c> raesList = new List<Rental_Apply_Equipment_Set__c>();
+// equipmentSetIdList = new List<Id>();
+
+// rentalApplyEquipmentSets = [
+// select Id,Name,Equipment_Set__c,ES_Stock_Status__c,Loaner_name_text__c,Loaner_code_text__c,SerialNumber_text__c,
+// Salesdepartment_text__c,Salesprovince_text__c,Equipment_Type_text__c,Equipment_Set_Borrowed__c,Product_Class_Bor__c,
+// Equipment_Set__r.Name,Equipment_Set__r.ES_Status__c,Equipment_Set__r.Active_judgement2__c,
+// Equipment_Set__r.Last_Reserve_Rental_Apply_Equipment_Set__c,Rental_Start_Date__c,
+// Equipment_Set__r.Already_Stock_Out__c, Equipment_Set__r.Loaner_name__c,
+// Equipment_Set__r.Loaner_code__c,Equipment_Set__r.Salesdepartment__c,
+// Equipment_Set__r.SalesProvince__c,Equipment_Set__r.Equipment_Type__c,Equipment_Set__r.SerialNumber__c,
+// Equipment_Set__r.Contents_number__c,Equipment_Set__r.Product_category__c
+// from Rental_Apply_Equipment_Set__c
+// where Rental_Apply__c = :rentalApplyId and Cancel_Select__c = false];
+// idmap = new Map<Id,Id>(); // Equipment_Set__c.Id => Rental_Apply_Equipment_Set__c.Id
+
+// for (Rental_Apply_Equipment_Set__c rentalApplyEquipmentSet : rentalApplyEquipmentSets) {
+// if (rentalApplyEquipmentSet.Equipment_Set__r.Last_Reserve_Rental_Apply_Equipment_Set__c != rentalApplyEquipmentSet.Id) {
+// raesList.add(rentalApplyEquipmentSet);
+// equipmentSetIdList.add(rentalApplyEquipmentSet.Equipment_Set__c);
+// }
+// }
+
+// for (Rental_Apply_Equipment_Set__c rentalApplyEquipmentSet : raesList) {
+// /*
+// if (rentalApplyEquipmentSet.Rental_Start_Date__c <= Date.today()) {
+// checkRS = '鍊熷嚭寮�濮嬫棩蹇呴』澶т簬浠婃棩銆傚�熷嚭澶囧搧set涓�瑙堬細' + rentalApplyEquipmentSet.Name;
+// return checkRS;
+// }
+// */
+// /*
+// if (rentalApplyEquipmentSet.Equipment_Set__r.Active_judgement2__c != okStatus) {
+// //杩斿洖缁撴灉,1:message-璇风‘璁ゅ鍝丼et鐘舵�併��
+// checkRS = '澶囧搧set ' + rentalApplyEquipmentSet.Equipment_Set__r.Name + ' 鐨�' + Schema.SObjectType.Equipment_Set__c.fields.Asset_Set_status2__c.label + '涓嶆槸 99.绛夊緟棰勭害 锛岀幇鍦ㄦ槸 ' + rentalApplyEquipmentSet.Equipment_Set__r.Asset_Set_status2__c + ' 璇风‘璁�';
+// return checkRS;
+// }
+// */
+// //
+////bp2 if (rentalApplyEquipmentSet.Equipment_Set__r.Contents_number__c == 0) {
+////bp2 checkRS = '澶囧搧set ' + rentalApplyEquipmentSet.Equipment_Set__r.Name + ' 娌℃湁閫夋嫨鍊熷嚭鐨勬槑缁嗭紝璇风‘璁�';
+////bp2 return checkRS;
+////bp2 }
+////bp2 if (rentalApplyEquipmentSet.Equipment_Set__r.ES_Status__c != okStatus2) {
+////bp2 checkRS = '澶囧搧set ' + rentalApplyEquipmentSet.Equipment_Set__r.Name + ' 鐨�' + Schema.SObjectType.Equipment_Set__c.fields.ES_Status__c.label + '涓嶆槸 ' + okStatus2 + '锛岀幇鍦ㄦ槸 ' + rentalApplyEquipmentSet.Equipment_Set__r.ES_Status__c + ' 璇风‘璁�';
+////bp2 return checkRS;
+////bp2 }
+////bp2 if (rentalApplyEquipmentSet.Equipment_Set__r.Already_Stock_Out__c == true) {
+////bp2 checkRS = '澶囧搧set ' + rentalApplyEquipmentSet.Equipment_Set__r.Name + ' 娌℃湁涓婃灦锛岃纭';
+////bp2 return checkRS;
+////bp2 }
+////bp2 if (rentalApplyEquipmentSet.ES_Stock_Status__c == '涓嶈兘鍑哄簱') {
+////bp2 checkRS = '澶囧搧set ' + rentalApplyEquipmentSet.Equipment_Set__r.Name + ' 鍦ㄩ绾︽湡闂村涓嶈兘鍑哄簱锛岃纭';
+////bp2 return checkRS;
+////bp2 }
+// idmap.put(rentalApplyEquipmentSet.Equipment_Set__c, rentalApplyEquipmentSet.Id);
+// }
+// mRentalApplys.get('rentalApplys')[0] = rentalApplys;
+// mRentalApplyEquipmentSets.get('rentalApplyEquipmentSets')[0] = raesList;
+// mEquipmentSetIdList.get('equipmentSetIdList')[0] = equipmentSetIdList;
+// mIdmap.get('idmap')[0] = idmap;
+// return checkRS;
+// }
+
+//bp2
+// /**
+// *@param : String 澶囧搧鍊熷嚭鐢宠ID
+// *@return : String (鎴愬姛: 1銆乷r 閿欒鍐呭)
+// */
+// WebService static String reserveCheck(String rentalApplyId) {
+// //澶囧搧鍊熷嚭鐢宠
+// List<Rental_Apply__c> rentalApplys = new List<Rental_Apply__c>();
+// //澶囧搧鐢宠鍊熷嚭鍘嗗彶
+// List<Rental_Apply_Equipment_Set__c> rentalApplyEquipmentSets = new List<Rental_Apply_Equipment_Set__c>();
+// List<Id> equipmentSetIdList = new List<Id>();
+// Map<Id, Id> idmap = new Map<Id,Id>(); // Equipment_Set__c.Id => Rental_Apply_Equipment_Set__c.Id
+
+// Map<String, List<List<Rental_Apply__c>>> mRentalApplys =
+// new Map<String, List<List<Rental_Apply__c>>>{'rentalApplys' => new List<List<Rental_Apply__c>>{rentalApplys}};
+// Map<String, List<List<Rental_Apply_Equipment_Set__c>>> mRentalApplyEquipmentSets =
+// new Map<String, List<List<Rental_Apply_Equipment_Set__c>>>{'rentalApplyEquipmentSets' => new List<List<Rental_Apply_Equipment_Set__c>>{rentalApplyEquipmentSets}};
+// Map<String, List<List<Id>>> mEquipmentSetIdList =
+// new Map<String, List<List<Id>>>{'equipmentSetIdList' => new List<List<Id>>{equipmentSetIdList}};
+// Map<String, List<Map<Id, Id>>> mIdmap =
+// new Map<String, List<Map<Id, Id>>>{'idmap' => new List<Map<Id, Id>>{idmap}};
+
+// String rt1 = RentalApplyWebService.approvalCheck(rentalApplyId);
+// if (rt1 != '1') {
+// return rt1;
+// }
+// //杩斿洖缁撴灉,1:鎴愬姛銆�
+//// return RentalApplyWebService.privateCheck(rentalApplyId, mRentalApplys, mRentalApplyEquipmentSets, mEquipmentSetIdList, mIdmap);
+// String rt2 = RentalApplyWebService.privateCheck(rentalApplyId, mRentalApplys, mRentalApplyEquipmentSets, mEquipmentSetIdList, mIdmap);
+// if (rt2 != '1') {
+// return rt2;
+// }
+// return '1';
+// }
+
+//bp2
+// /**
+// *@param : String 澶囧搧鍊熷嚭鐢宠ID
+// *@return : String (鎴愬姛: 1銆乷r 閿欒鍐呭)
+// */
+// WebService static String reserve(String rentalApplyId) {
+// //澶囧搧鍊熷嚭鐢宠
+// List<Rental_Apply__c> rentalApplys = new List<Rental_Apply__c>();
+// //澶囧搧鐢宠鍊熷嚭鍘嗗彶
+// List<Rental_Apply_Equipment_Set__c> rentalApplyEquipmentSets = new List<Rental_Apply_Equipment_Set__c>();
+// List<Id> equipmentSetIdList = new List<Id>();
+// Map<Id, Id> idmap = new Map<Id,Id>(); // Equipment_Set__c.Id => Rental_Apply_Equipment_Set__c.Id
+
+// Map<String, List<List<Rental_Apply__c>>> mRentalApplys =
+// new Map<String, List<List<Rental_Apply__c>>>{'rentalApplys' => new List<List<Rental_Apply__c>>{rentalApplys}};
+// Map<String, List<List<Rental_Apply_Equipment_Set__c>>> mRentalApplyEquipmentSets =
+// new Map<String, List<List<Rental_Apply_Equipment_Set__c>>>{'rentalApplyEquipmentSets' => new List<List<Rental_Apply_Equipment_Set__c>>{rentalApplyEquipmentSets}};
+// Map<String, List<List<Id>>> mEquipmentSetIdList =
+// new Map<String, List<List<Id>>>{'equipmentSetIdList' => new List<List<Id>>{equipmentSetIdList}};
+// Map<String, List<Map<Id, Id>>> mIdmap =
+// new Map<String, List<Map<Id, Id>>>{'idmap' => new List<Map<Id, Id>>{idmap}};
+
+// //杩斿洖缁撴灉,1:鎴愬姛銆�
+// String checkRS = RentalApplyWebService.privateCheck(rentalApplyId, mRentalApplys, mRentalApplyEquipmentSets, mEquipmentSetIdList, mIdmap);
+// if (checkRS != '1') return checkRS;
+// rentalApplys = mRentalApplys.get('rentalApplys')[0];
+// rentalApplyEquipmentSets = mRentalApplyEquipmentSets.get('rentalApplyEquipmentSets')[0];
+// equipmentSetIdList = mEquipmentSetIdList.get('equipmentSetIdList')[0];
+// idmap = mIdmap.get('idmap')[0];
+
+// Rental_Apply__c rentalApply = rentalApplys[0];
+
+// //澶囧搧Set
+// List<Equipment_Set__c> equipmentSetUpdateList = new List<Equipment_Set__c>();
+// //澶囧搧Set鏄庣粏
+// List<Equipment_Set_Detail__c> equipmentSetDetailList = new List<Equipment_Set_Detail__c>();
+// List<Equipment_Set_Detail__c> equipmentSetDetailList2 = new List<Equipment_Set_Detail__c>();
+// //澶囧搧鐢宠鍊熷嚭鏄庣粏鍘嗗彶
+// List<Rental_Apply_Equipment_Set_Detail__c> rentalApplyEquipmentSetDetailList = new List<Rental_Apply_Equipment_Set_Detail__c>();
+// for (Rental_Apply_Equipment_Set__c rentalApplyEquipmentSet : rentalApplyEquipmentSets) {
+// // 宸插仛鍑哄簱鎸囩ずflag鈬掑墠鍥炪伄鐢宠珛銇伨銇犵祩銈忋仯銇︺仾銇勨噿鍑哄簱銇椼仾銇�
+// if (rentalApplyEquipmentSet.Equipment_Set__r.Already_Stock_Out__c == false) {
+// //鏇存柊澶囧搧Set
+// Equipment_Set__c equipmentSet = new Equipment_Set__c(
+// Id = rentalApplyEquipmentSet.Equipment_Set__c,
+// Last_Reserve_Rental_Apply_Equipment_Set__c = rentalApplyEquipmentSet.Id,
+// Pre_Reserve_Rental_Apply_Equipment_Set__c = rentalApplyEquipmentSet.Equipment_Set__r.Last_Reserve_Rental_Apply_Equipment_Set__c,
+// StockDown__c = false,
+// StockDown_time__c = null,
+// Shipment_request_time__c = System.now(), //鍑哄簱鎸囩ず鏃堕棿
+// Shippment_loaner_time__c = null, //澶囧搧涓績鍑哄簱鏃堕棿
+// Forecast_arrival_day__c = null, //棰勮鍒拌揣鏃�
+// //Loaner_received_day__c = null, //鐜板満绛炬敹鏃�
+// Return_wh_chenk_staff__c = null,
+// Request_asset_extend_time__c = null, //寤舵湡鐢宠鏃堕棿
+// asset_extend_approval_time__c = null, //寤舵湡鐢宠鎵瑰噯鏃堕棿
+// //Asset_return_day__c = null, //鐗╂祦鎻愯揣鏃�
+// Received_loaner_time__c = null, //澶囧搧涓績鍥炴敹鏃堕棿
+// delivery_company__c = null,
+// Fedex_number__c = null,
+// Distributor_method__c = null,
+// Return_to_wh_staff__c = null,
+// Return_delivery_company__c = null,
+// Return_Fedex_number__c = null,
+// Return_Distributor_method__c = null,
+// Received_confirmation_staff__c = null,
+// Customer_install_explanation_sign__c = null, //鏄惁鍥炴敹CDS纭鍗�
+// Send_to_return_email__c = false, //鍙戦�佸洖鏀剁粨鏋滃弽棣堥偖浠�
+// Return_comment_anoucment__c = null, //鍙戦�佸洖鏀剁粨鏋滃弽棣堝唴瀹�(NG鐞嗙敱鍜屾瑺鍝佹儏鍐�)
+////bp2 CDS_complete__c = false,
+// Arrival_in_wh__c = false,
+// Arrival_wh_time2__c = null,
+// Already_Stock_Out__c = true,
+
+// Repair_Sum_Update__c = 0
+// );
+// //鏇存柊澶囧搧Set
+// equipmentSetUpdateList.add(equipmentSet);
+// }
+// }
+
+// //鍊熷嚭璁惧鏈鸿韩鍙风爜
+// Map<String, String> assetSerialNumberMap = new Map<String, String>();
+// //澶囧搧Set鏄庣粏
+// Equipment_Set_Detail__c[] equipmentSetDetails = [select Equipment_Set__c,Asset__c,Asset__r.SerialNumber,
+// Check_lost_Item__c,Pre_disinfection__c,Water_leacage_check__c,
+// Inspection_result_after__c,Arrival_in_wh__c,
+// Lost_item_check_staff__c,CDS_staff__c,Inspection_staff_After__c,
+// Return_wh_chenk_staff__c,Pre_inspection_time__c,Lost_item_check_time__c,
+// After_Inspection_time__c,Arrival_wh_time__c,
+// Inspection_result__c,Inspection_staff__c,Last_Reserve_RAES_Detail__c,
+// Equipment_Set__r.Already_Stock_Out__c
+////bp2 , CDS_complete__c, CDS_complete_time__c
+// from Equipment_Set_Detail__c
+// where Equipment_Set__c in :equipmentSetIdList and Select_rental__c = true];
+
+// for (Equipment_Set_Detail__c equipmentSetDetail : equipmentSetDetails) {
+// // 宸插仛鍑哄簱鎸囩ずflag鈬掑墠鍥炪伄鐢宠珛銇伨銇犵祩銈忋仯銇︺仾銇勨噿鍑哄簱銇椼仾銇�
+// if (equipmentSetDetail.Equipment_Set__r.Already_Stock_Out__c == false) {
+// //鎻掑叆澶囧搧鐢宠鍊熷嚭鏄庣粏鍘嗗彶
+// Rental_Apply_Equipment_Set_Detail__c rentalApplyEquipmentSetDetail = new Rental_Apply_Equipment_Set_Detail__c();
+// rentalApplyEquipmentSetDetail.Rental_Apply__c = rentalApply.Id;//澶囧搧鍊熷嚭鐢宠
+// rentalApplyEquipmentSetDetail.Rental_Apply_Equipment_Set__c = idmap.get(equipmentSetDetail.Equipment_Set__c);//澶囧搧Set鍊熷嚭鍘嗗彶
+// rentalApplyEquipmentSetDetail.Equipment_Set__c = equipmentSetDetail.Equipment_Set__c;//澶囧搧Set
+// rentalApplyEquipmentSetDetail.Asset__c = equipmentSetDetail.Asset__c;//淇濇湁璁惧
+// //鎻掑叆澶囧搧鐢宠鍊熷嚭鏄庣粏鍘嗗彶
+// rentalApplyEquipmentSetDetailList.add(rentalApplyEquipmentSetDetail);
+
+// //鏇存柊澶囧搧Set鏄庣粏
+// equipmentSetDetail.Check_lost_Item__c = null;//娆犲搧纭缁撴灉
+// equipmentSetDetail.Lost_item_giveup__c = false;
+// equipmentSetDetail.Pre_disinfection__c = null;//娓呮礂鍓�
+// equipmentSetDetail.Water_leacage_check__c = null;//娴嬫紡妫�鏌ョ粨鏋�
+// equipmentSetDetail.Inspection_result_after__c = null;//鍥炴敹鍚�-妫�娴嬬粨鏋�
+// equipmentSetDetail.Arrival_in_wh__c = false;//鍥炲簱纭
+// equipmentSetDetail.Lost_item_check_staff__c = null;//娆犲搧纭鑰�
+// equipmentSetDetail.CDS_staff__c = null;//娑堟瘨浜哄憳
+// equipmentSetDetail.Inspection_staff_After__c = null;//鍥炴敹鍚�-妫�娴嬩汉鍛�
+// equipmentSetDetail.Return_wh_chenk_staff__c = null;//鍥炲簱纭鑰�
+// equipmentSetDetail.Inspection_result__c = null;//鍙戣揣鍓�-妫�娴嬬粨鏋�
+// equipmentSetDetail.Inspection_staff__c = null;//鍙戣揣鍓�-妫�娴嬩汉鍛�
+
+// equipmentSetDetail.Pre_inspection_time__c = null;//澶囧搧Set鐢�,鍙戣揣鍓�-妫�娴嬪悎鏍兼椂闂�
+// equipmentSetDetail.Lost_item_check_time__c = null;//澶囧搧Set鐢�,娆犲搧纭鏃堕棿
+////bp2 equipmentSetDetail.CDS_complete_time__c = null;//澶囧搧Set鐢�,CDS瀹屾瘯鏃堕棿
+// equipmentSetDetail.After_Inspection_time__c = null;//澶囧搧Set鐢�,鍥炴敹鍚�-妫�娴嬪畬姣曟椂闂�
+// equipmentSetDetail.Arrival_wh_time__c = null;//澶囧搧Set鐢�,鍥炲簱纭瀹屾瘯鏃堕棿
+
+// equipmentSetDetail.Inspection_result_after_ng__c = null;//鍥炴敹鍚�-妫�娴婲G鍖哄垎
+// equipmentSetDetail.Inspection_result_ng__c = null;//鍙戣揣鍓�-妫�娴婲G鍖哄垎
+////bp2 equipmentSetDetail.CDS_complete__c = false;//CDS瀹屾瘯
+
+// //鏇存柊澶囧搧Set鏄庣粏
+// equipmentSetDetailList.add(equipmentSetDetail);
+// //鍊熷嚭璁惧鏈鸿韩鍙风爜
+// if (String.isNotBlank(equipmentSetDetail.Asset__r.SerialNumber)) {
+// if (assetSerialNumberMap.containsKey(equipmentSetDetail.Equipment_Set__c) == false) {
+// assetSerialNumberMap.put(equipmentSetDetail.Equipment_Set__c, ',' + equipmentSetDetail.Asset__r.SerialNumber + ',');
+// } else {
+// String tmp = assetSerialNumberMap.get(equipmentSetDetail.Equipment_Set__c);
+// tmp += equipmentSetDetail.Asset__r.SerialNumber + ',';
+// assetSerialNumberMap.put(equipmentSetDetail.Equipment_Set__c, tmp);
+// }
+// }
+// }
+// }
+
+// // TODO liang 锛戙仱sql銇伨銇ㄣ倎銇︺亸銇犮仌銇�
+// Equipment_Set_Detail__c[] equipmentSetDetails2 = [select Id, Last_Reserve_RAES_Detail__c
+////bp2 ,CDS_complete__c
+// from Equipment_Set_Detail__c
+// where Equipment_Set__c in :equipmentSetIdList and Select_rental__c = false];
+// for (Equipment_Set_Detail__c equipmentSetDetail : equipmentSetDetails2) {
+// equipmentSetDetail.Pre_Reserve_RAES_Detail__c = equipmentSetDetail.Last_Reserve_RAES_Detail__c;
+// equipmentSetDetail.Last_Reserve_RAES_Detail__c = null;
+////bp2 equipmentSetDetail.CDS_complete__c = false;//CDS瀹屾瘯
+// equipmentSetDetailList2.add(equipmentSetDetail);
+// }
+
+// //鏇存柊鍊熷嚭璁惧鏈鸿韩鍙风爜
+// List<Rental_Apply_Equipment_Set__c> rentalApplyEquipmentSetUpdateList = new List<Rental_Apply_Equipment_Set__c>();
+// for (Rental_Apply_Equipment_Set__c rentalApplyEquipmentSet : rentalApplyEquipmentSets) {
+// if (assetSerialNumberMap.containsKey(rentalApplyEquipmentSet.Equipment_Set__c)) {
+// rentalApplyEquipmentSet.Rental_Asset_SerialNumber__c = assetSerialNumberMap.get(rentalApplyEquipmentSet.Equipment_Set__c);
+// // xiongyl-start
+// }
+// rentalApplyEquipmentSet.Loaner_name_text__c =rentalApplyEquipmentSet.Equipment_Set__r.Loaner_name__c; //澶囧搧鍚嶇О
+// rentalApplyEquipmentSet.Loaner_code_text__c = rentalApplyEquipmentSet.Equipment_Set__r.Loaner_code__c; //鍌欏搧鍨嬬暘
+// rentalApplyEquipmentSet.Salesdepartment_text__c = rentalApplyEquipmentSet.Equipment_Set__r.Salesdepartment__c; // 鎵�鍦ㄥ湴鍖�(鏈儴)
+// rentalApplyEquipmentSet.Salesprovince_text__c = rentalApplyEquipmentSet.Equipment_Set__r.SalesProvince__c; //鎵�鍦ㄥ湴鍖�(鐪�)
+// rentalApplyEquipmentSet.Equipment_Type_text__c = rentalApplyEquipmentSet.Equipment_Set__r.Equipment_Type__c; //鍒嗙被
+// rentalApplyEquipmentSet.Equipment_Set_Borrowed__c = rentalApplyEquipmentSet.Equipment_Set__r.Name;//澶囧搧set
+// rentalApplyEquipmentSet.Product_Class_Bor__c = rentalApplyEquipmentSet.Equipment_Set__r.Product_category__c;
+// rentalApplyEquipmentSet.SerialNumber_text__c = rentalApplyEquipmentSet.Equipment_Set__r.SerialNumber__c;
+// rentalApplyEquipmentSetUpdateList.add(rentalApplyEquipmentSet);
+// // xiongyl-end
+// }
+
+// Savepoint sp = Database.setSavepoint();
+// try {
+// if (equipmentSetUpdateList.size() > 0) {
+// update equipmentSetUpdateList;
+// }
+// if (rentalApplyEquipmentSetDetailList.size() > 0) {
+// insert rentalApplyEquipmentSetDetailList;
+// }
+// if (equipmentSetDetailList.size() > 0) {
+// for (Integer i=0; i<equipmentSetDetailList.size(); i++) {
+// equipmentSetDetailList[i].Pre_Reserve_RAES_Detail__c = equipmentSetDetailList[i].Last_Reserve_RAES_Detail__c;
+// equipmentSetDetailList[i].Last_Reserve_RAES_Detail__c = rentalApplyEquipmentSetDetailList[i].Id;
+// }
+// update equipmentSetDetailList;
+// }
+// if (equipmentSetDetailList2.size() > 0) {
+// update equipmentSetDetailList2;
+// }
+// if (rentalApplyEquipmentSetUpdateList.size() > 0) {
+// update rentalApplyEquipmentSetUpdateList;
+// }
+// eSetRefreshStatus(equipmentSetIdList);
+// } catch (System.Exception e) {
+// Database.rollback(sp);
+// return e.getMessage();
+// }
+// //杩斿洖缁撴灉
+// return checkRS;
+// }
+
+ // 澶囧搧鍊熷嚭鏃堕棿check
+ @AuraEnabled
+ WebService static String approvalCheck(String rentalApplyId) {
+ // check缁撴灉
+ String returnStr = '';
+
+ //1388 yc 20211021 璺ㄥ尯鍩熷垎閰嶄笉鑳藉嚭搴� start
+ String rasdid = '';
+ system.debug(rentalApplyId+'==');
+ if(String.isNotBlank(rentalApplyId) && rentalApplyId.indexOf(';') >= 0){//璇存槑鏄粠涓�瑙堜笂瑙﹀彂鐨�
+ rasdid = rentalApplyId.subString(rentalApplyId.indexOf(';') + 1);
+ rentalApplyId = rentalApplyId.subString(0, rentalApplyId.indexOf(';'));
+ }
+ //1388 yc 20211021 璺ㄥ尯鍩熷垎閰嶄笉鑳藉嚭搴� end
+ //澶囧搧鍊熷嚭鐢宠
+ Rental_Apply__c[] rentalApply = [select Id,repair__r.Repair_Final_Inspection_Date__c,Bollow_Date__c,repair__r.Return_Without_Repair_Date__c,
+ CreatedDate,Rental_Apply_Equipment_Set_Cnt__c,Prepare_Day__c,Cross_Region_Assign__c,
+ demo_purpose2__c,Follow_UP_Opp__r.Shipping_Finished_Day_Func__c,next_action__c,QIS_number__r.ReplaceDeliveryDate__c
+ from Rental_Apply__c
+ where Id = :rentalApplyId];
+ if (rentalApply.size() == 0) {
+ returnStr = '娌℃湁澶囧搧鍊熷嚭鐢宠锛岃纭銆�';
+ return returnStr;
+ }
+ Rental_Apply__c ra = rentalApply[0];
+ if (ra.Rental_Apply_Equipment_Set_Cnt__c <= 0) {
+ returnStr = '娌℃湁鍊熷嚭澶囧搧set涓�瑙堬紝璇风‘璁ゃ��';
+ return returnStr;
+ }
+ //1822 yc 20211111 start
+ if(ra.demo_purpose2__c=='宸茶喘寰呰揣' && ra.Follow_UP_Opp__r.Shipping_Finished_Day_Func__c!= null){
+ returnStr = '宸茶喘寰呰揣鐩殑锛屾柊鍝佸凡鏈夊彂璐ф棩锛屼笉鍙嚭搴撴寚绀�';
+ return returnStr;
+ }
+ if(ra.demo_purpose2__c=='绱㈣禂QIS' && ra.next_action__c=='鏃犲伩鏇存崲' && ra.QIS_number__r.ReplaceDeliveryDate__c!= null){
+ returnStr = '绱㈣禂QIS鐩殑锛孮IS宸叉湁鏂板搧鍙戣揣鏃ワ紝涓嶅彲鍑哄簱鎸囩ず';
+ return returnStr;
+ }
+ //1822 yc 20211111 end
+
+//*************************Insert 20160826 SWAG-AD59Z6 瓒欏境鑺� Start*************************//
+ if(Ra.repair__r.Repair_Final_Inspection_Date__c != null) {
+ return '淇悊鏈�缁堟娴嬫棩涓嶄负绌猴紝涓嶈兘鍋氬嚭搴撴寚绀�';
+ }
+ if(Ra.repair__c!=null&&Ra.repair__r.Return_Without_Repair_Date__c != null) {
+ return '鏈慨鐞嗗綊杩樻棩涓嶄负绌猴紝涓嶈兘鍋氬嚭搴撴寚绀�';
+ }
+//*************************Insert 20160826 SWAG-AD59Z6 瓒欏境鑺� End***************************//
+
+ //1388 yc 20211021 璺ㄥ尯鍩熷垎閰嶄笉鑳藉嚭搴� start
+ if(String.isNotBlank(ra.Cross_Region_Assign__c)){
+ String soql = 'select Id, Name,Rental_Apply__c,Internal_asset_location_before__c';
+ soql +=' from Rental_Apply_Equipment_Set_Detail__c';
+ soql +=' where Rental_Apply__c = \'' + ra.Id +'\'';
+ soql +=' and Internal_asset_location_before__c !=null and Internal_asset_location_before__c != \'' + ra.Cross_Region_Assign__c+ '\'';
+
+ if(String.isNotBlank(rasdid)){
+ soql +=' and Rental_Apply_Equipment_Set__c = :rasdid';
+ }
+ List<Rental_Apply_Equipment_Set_Detail__c> raesd = Database.query(soql);
+ if(raesd.size()>0){
+ returnStr = '鍒嗛厤鐨勫鍝佷笉鏄偍鎵�灞炲鍝佷腑蹇冪殑澶囧搧锛屼笉鑳藉仛鍑哄簱鎸囩ず';
+ return returnStr;
+ }
+
+ }
+ //1388 yc 20211021 璺ㄥ尯鍩熷垎閰嶄笉鑳藉嚭搴� end
+ // 20220211 ljh add 澶囧搧FY23璇鹃01 start
+ // AggregateResult[] resultsRas = [SELECT Rental_Start_Date__c,count(Id) cnt
+ // FROM Rental_Apply_Equipment_Set__c
+ // WHERE Rental_Apply__c = :rentalApplyId
+ // AND Cancel_Select__c = false
+ // group by Rental_Start_Date__c];
+ // If(resultsRas.size() > 1){
+ // returnStr = '鎵�鏈変竴瑙堝鍝侀璁″嚭璐ф棩搴斾竴鑷达紝涓嶄竴鑷翠笉鑳藉仛鍑哄簱鎸囩ず';
+ // return returnStr;
+ // }
+ // 20220211 ljh add 澶囧搧FY23璇鹃01 end
+
+//bp2 // 澶囧搧鍊熷嚭鍘嗗彶鍙栧緱
+// List<String> equipmentSetList = new List<String>();
+// Rental_Apply_Equipment_Set__c[] raes = [
+// select Id, Name, Equipment_Set__c, Equipment_Set__r.Name, Rental_Start_Date__c, Rental_End_Date__c, Rental_Apply__c
+// from Rental_Apply_Equipment_Set__c
+// where Rental_Apply__c = :rentalApplyId and Cancel_Select__c = false];
+// // 鏃ュ巻鑼冨洿锛屾渶灏忕殑鍊熷嚭寮�濮嬫棩鍒版渶澶х殑鍊熷嚭缁堜簡鏃�
+// Date startDate = Date.today();
+// Date endDate = Date.today();
+// for (Rental_Apply_Equipment_Set__c r : raes) {
+// equipmentSetList.add(r.Equipment_Set__c);
+// if (r.Rental_Start_Date__c != null && r.Rental_Start_Date__c < startDate) {
+// startDate = r.Rental_Start_Date__c;
+// }
+// if (r.Rental_End_Date__c != null && r.Rental_End_Date__c > endDate) {
+// endDate = r.Rental_End_Date__c;
+// }
+// }
+// Integer prepareDay = ra.Prepare_Day__c == null ? Integer.valueOf(System.Label.EquipmentRentalPrepare) : ra.Prepare_Day__c.intValue();
+// Date minDate = getWD_addday(startDate, -1 * prepareDay);
+// Date maxDate = getWD_addday(endDate, prepareDay);
+// // 鍏朵粬澶囧搧鍊熷嚭鐢宠鍘嗗彶
+// Rental_Apply_Equipment_Set__c[] others = [
+// select Id, Name, Rental_Start_Date__c, Rental_End_Date__c, Equipment_Set__c, Rental_Apply__r.Status__c ,Rental_Apply__r.Prepare_Day__c
+// from Rental_Apply_Equipment_Set__c
+// where Rental_Apply__c != :rentalApplyId
+// and Equipment_Set__c in :equipmentSetList
+// and Request_Status__c != '鍙栨秷'
+// and Request_Status__c != '鍒犻櫎'
+// and Cancel_Select__c = false
+// and ((Rental_Start_Date__c >= :minDate and Rental_Start_Date__c <= :maxDate)
+// or (Rental_End_Date__c >= :minDate and Rental_End_Date__c <= :maxDate)
+// or (Rental_Start_Date__c <= :startDate and Rental_End_Date__c >= :endDate))];
+
+// Map<String, List<Rental_Apply_Equipment_Set__c>> othersMap = new Map<String,List<Rental_Apply_Equipment_Set__c>>();
+// for (Rental_Apply_Equipment_Set__c other : others) {
+// if (othersMap.containsKey(other.Equipment_Set__c)) {
+// othersMap.get(other.Equipment_Set__c).add(other);
+// } else {
+// List<Rental_Apply_Equipment_Set__c> l = new List<Rental_Apply_Equipment_Set__c>();
+// l.add(other);
+// othersMap.put(other.Equipment_Set__c, l);
+// }
+// }
+
+// for (Rental_Apply_Equipment_Set__c r : raes) {
+
+// List<Rental_Apply_Equipment_Set__c> other = othersMap.get(r.Equipment_Set__c);
+
+// Map<Date, Map<String, String>> dateMap= new Map<Date, Map<String, String>>();
+// if (other != null) {
+// Date sdate = startDate;
+// Date edate = endDate;
+// for (Rental_Apply_Equipment_Set__c o : other) {
+// if (o.Rental_Start_Date__c != null && (sdate == null || o.Rental_Start_Date__c < sdate)) {
+// sdate = o.Rental_Start_Date__c;
+// }
+// if (o.Rental_End_Date__c != null && (edate == null || o.Rental_End_Date__c > edate)) {
+// edate = o.Rental_End_Date__c;
+// }
+// }
+// if (sdate != null && edate != null) {
+// RentalApplyWebService raws = new RentalApplyWebService();
+// dateMap = raws.getDateMap(sdate, edate, prepareDay);
+// }
+// }
+
+// if (r.Rental_Start_Date__c == null && r.Rental_End_Date__c == null) {
+// // 娓呯┖璇ュ�熷嚭鍘嗗彶鐨勫嚭搴撳拰鍥炴敹鏃堕棿
+// } else if (other == null || other.size() == 0) {
+// // 涓庡叾浠栧�熷嚭鍘嗗彶娌℃湁鍐茬獊
+// } else {
+// Date fromDate = r.Rental_Start_Date__c;
+// Date toDate = r.Rental_End_Date__c;
+// for (Rental_Apply_Equipment_Set__c o : other) {
+// if (o.Rental_Apply__r.Status__c != '鑽夋涓�' && o.Rental_Apply__r.Status__c != '鐢宠涓�' && o.Rental_Apply__r.Status__c != null) {
+// Date startD = o.Rental_Start_Date__c;
+// Date endD = o.Rental_End_Date__c;
+// Integer prepare = prepareDay; //>= o.Rental_Apply__r.Prepare_Day__c || o.Rental_Apply__r.Prepare_Day__c == null ? prepareDay : o.Rental_Apply__r.Prepare_Day__c.intValue();
+// if ((dateMap.containsKey(fromDate) && Date.valueOf(dateMap.get(fromDate).get('Next')) > startD && dateMap.containsKey(endD) && fromDate < Date.valueOf(dateMap.get(endD).get('Next'))) ||
+// (dateMap.containsKey(toDate) && Date.valueOf(dateMap.get(toDate).get('Next')) > startD && dateMap.containsKey(endD) && toDate < Date.valueOf(dateMap.get(endD).get('Next'))) ||
+// (dateMap.containsKey(fromDate) && Date.valueOf(dateMap.get(fromDate).get('Next')) <= startD && dateMap.containsKey(endD) && toDate >= Date.valueOf(dateMap.get(endD).get('Next')))) {
+// returnStr = '澶囧搧' + r.Equipment_Set__r.Name + '鐨勫�熷嚭鏃ヤ笌澶囧搧鍊熷嚭鍘嗗彶' + o.Name + '鏈夊啿绐侊紝璇风‘璁ゃ��';
+// return returnStr;
+// }
+// }
+// }
+// }
+// }
+ return '1';
+ }
+
+ // 寤舵湡瀹℃壒Check
+ @AuraEnabled
+ WebService static String extension_approval_processCheck(String rentalApplyId) {
+ try {
+ List<Rental_Apply__c> raList = [SELECT Id,Name
+ , Demo_purpose1__c
+ , Demo_purpose2__c
+ , Loaner_received_ng_num__c
+ , ExtensionApprovalTime_Initial__c
+ , ExtensionApplicationTime_Final__c
+ , ExtensionApprovalTime_Final__c
+ , NewRepair__c
+ , NewRepair__r.Agreed_Date__c
+ , NewRepair__r.Status__c
+ , NewRepair__r.ReRepairObject_F__c
+ , NewRepair__r.Repair_Shipped_Date__c
+ , AgreementBorrowingExtensionDate__c
+ , next_action__c
+ , RC_Ordered_Date__c
+ , Bollow_Date_Add_10_WD__c
+ , Root_Rental_Apply__c
+ , Assign_Person__c
+ , Return_dadeline_final__c
+ , RA_Status__c
+ , ExtensionApplicationTime_Initial__c
+ , RecordType.DeveloperName
+ , RecordType.id
+ , ExtensionStatus__c
+ FROM Rental_Apply__c
+ WHERE Id = :rentalApplyId];
+ if (raList.size() == 0) {
+ return '娌℃湁澶囧搧鍊熷嚭鐢宠锛岃纭銆�';
+ }
+ //add wangweipeng 2021/11/26 start
+ /*List<Rental_Apply_Equipment_Set__c> raesList = RentalApplyTriggerHandler.getCan_Extend_RequestList(raList[0],'1');
+ return '1';*/
+ String ErrorMessageStr = unifyGetRentalApply(raList[0]);
+ //add wangweipeng 2021/11/26 end
+ return ErrorMessageStr;
+ }
+ catch(Exception e) {
+ return e.getMessage();
+ }
+
+ }
+
+ //add wangweipeng 2021/11/26 start
+ /**
+ * @param rentalApplyId 澶囧搧id
+ * @return 澶囧搧閰嶅鏁版嵁
+ *
+ * 寤舵湡鏁翠綋閫昏緫锛�
+ * 1锛氳瘯鐢ㄧ洰鐨�2涓嶄负锛氭湁璇环鍜屾棤璇环锛屽仛鐗规畩澶勭悊
+ * 2锛氬叾浠栨儏鍐碉細閫昏緫涓嶅彉
+ * 涓婇潰绗竴涓潯浠舵弧瓒筹細
+ * 1锛氫粠鍘熷崟鐐瑰嚮寤舵湡鐢宠鎸夐挳锛屾病鏈夊垎鍓插崟
+ * 2锛氫粠鍘熷崟鐐瑰嚮寤舵湡鐢宠鎸夐挳锛屾湁鍒嗗壊鍗�
+ * 3锛氫粠鍗曠偣鍑诲欢鏈熺敵璇锋寜閽�
+ *
+ * 绗竴绉嶆儏鍐碉細鎸夌収鍘熸潵鐨勯�昏緫璧帮紝涓嶉渶瑕佸仛鐗规畩澶勭悊
+ * 绗簩绉嶆儏鍐碉細
+ * 锛�1锛夛細璁板綍绫诲瀷涓猴細澶囧搧涓績锛屽垽鏂垎閰嶄汉鏄惁涓虹┖锛屽姙浜嬪鍒嗛厤浜轰笉鍙兘涓虹┖
+ * 锛�2锛夛細鑾峰彇鍘熷崟鍜屽師鍗曚笅鎵�鏈夌殑鍒嗗崟锛屽洜涓烘壒閲忓欢鏈熶笉鍏夋煡鐪嬭嚜宸辩敵璇峰崟鎯呭喌锛屽鏋滄槸涓诲崟杩涙潵鐨勶紝杩橀渶瑕佹煡鐪嬪綋鍓嶅崟瀛愶紝鍜屼粬涓嬮潰鐨勬墍鏈変粠鍗�
+ * 锛�2锛夛細璧颁竴涓柟娉曪紝杩欐槸涓�涓欢鏈熼�氱敤鐨勬柟娉曪紝鐢ㄤ簬鍒ゆ柇姝ゆ寤舵湡鐨勭敵璇峰崟鏄惁鏈夊彲浠ュ欢鏈熺殑涓�瑙堬紝浼氬湪涓嬮潰鍏蜂綋浠嬬粛
+ * 锛�3锛夛細璧颁笂闈㈤�氱敤鐨勬柟娉曪紝娌℃湁鑾峰彇鍒板彲浠ュ欢鏈熺殑涓�瑙堬紝閭d箞鍋氭彁绀猴紝涓嶈兘寤舵湡
+ * 锛�4锛夛細璺宠浆椤甸潰涓猴細姝ゆ涓烘壒閲忓欢鏈熻嚜瀹氫箟寮�鍙戠殑椤甸潰
+ * 绗笁绉嶆儏鍐碉細
+ * 锛�1锛夛細濡傛灉鏄粠鍗曞欢鏈燂紝閭d箞闇�瑕佹煡鐪嬫鍗曪紝姝ゅ崟鐨勫師鍗曪紝姝ゅ崟鍘熷崟涓嬫墍鏈夌殑浠庡崟鏄惁婊¤冻寤舵湡鏉′欢
+ * 锛�2锛夛細浠ヤ笂鐨勫崟瀛愬繀椤绘弧瓒筹細宸插嚭搴撶殑--宸插洖鏀讹紙涓嶅惈锛変箣闂寸姸鎬侊紝涓旀渶鏂伴瀹氬綊杩樻棩鈮� 浠婂ぉ銆�
+ * 锛�3锛夛細璧颁竴涓柟娉曪紝杩欐槸涓�涓欢鏈熼�氱敤鐨勬柟娉曪紝鐢ㄤ簬鍒ゆ柇姝ゆ寤舵湡鐨勭敵璇峰崟鏄惁鏈夊彲浠ュ欢鏈熺殑涓�瑙堬紝浼氬湪涓嬮潰鍏蜂綋浠嬬粛
+ * 锛�4锛夛細鐢变簬閫氱敤鐨勬柟娉曚細杩斿洖鎵�鏈夌敵璇峰崟鍙欢鏈熺殑涓�瑙堬紝鎵�浠ラ渶瑕佸垽鏂鍗曟槸鍚︽湁鍙互寤舵湡鐨勪竴瑙�
+ * 锛�5锛夛細鐢变簬閫氱敤鐨勬柟娉曚細璺宠繃 ok骞朵笖鍥炲瘎鏃堕棿涓嶄负绌虹殑涓�瑙堬紝鎵�浠ユ鏃跺垽鏂繖涓潯浠讹紝婊¤冻灏变笉鑳藉欢鏈�
+ * 锛�6锛夛細璺宠浆椤甸潰涓哄師鏉ュ欢鏈熷紑鍙戠殑鑷畾涔夐〉闈�
+ *
+ * 閫氱敤鏄惁鍙互寤舵湡鐨勬柟娉曪細锛堣瘯鐢紙鏈夎浠凤級銆佽瘯鐢紙鏃犺浠凤級锛�
+ * 锛�1锛夛細姝ゆ柟娉曞弬鏁颁负list锛屽鏋滆秴杩�1鏉℃暟鎹紝榛樿涓鸿蛋鎵归噺寤舵湡鐨勬潯浠�
+ * 锛�2锛夛細鐢宠鍗曪細濡傛灉size澶т簬1锛岃烦杩囦竴浜涢獙璇侊細鏈畬鎴愬埌璐х‘璁や笉楠岃瘉鍜屽欢鏈熸壒鍑嗘椂闂�(鏈�鍒�)涓嶈兘寤舵湡
+ * 锛�3锛夛細涓�瑙堬細濡傛灉size澶т簬1锛宱k骞朵笖鍥炲瘎鏃堕棿涓嶄负绌虹殑涓�瑙堜笉楠岃瘉
+ *
+ */
+ public static String unifyGetRentalApply(Rental_Apply__c rentalApply){
+ Rental_Apply__c rac = rentalApply;
+ //濡傛灉鐢宠鍗曠殑 浣跨敤鐩�2涓� 鏈夎浠锋垨鏃犺浠风殑,閭d箞闇�瑕佺壒娈婂鐞嗕竴涓�
+ if(rac.Demo_purpose1__c == '浜у搧璇曠敤' && (rac.demo_purpose2__c == '璇曠敤锛堟棤璇环锛�' || rac.demo_purpose2__c == '璇曠敤锛堟湁璇环锛�')){
+ if(rac.ExtensionStatus__c == '宸叉壒鍑�'){
+ return '浜у搧璇曠敤鐨勭敵璇蜂笉鑳芥彁浜ょ浜屾寤舵湡鐢宠銆�';
+ }else{
+ return muchRentalApply(rac);
+ }
+ }else{
+ //鍔炰簨澶勭洰鍓嶅彧鑳藉欢鏈熸湁璇环鎴栨棤璇环
+ if(rac.RecordType.DeveloperName == 'AgencyRequest'){
+ return '鍔炰簨澶勭敵璇峰崟锛岄潪璇曠敤锛堟棤璇环锛夈�� 璇曠敤锛堟湁璇环锛変笉鍙欢鏈熴��';
+ }else{
+ List<Rental_Apply_Equipment_Set__c> raesList = RentalApplyTriggerHandler.getCan_Extend_RequestList(new List<Rental_Apply__c>{rac});
+ return '1';
+ }
+ }
+ }
+
+ /**
+ *
+ * @param rac [寤舵湡鍏ュ彛]
+ * @return [description]
+ *
+ * 閫昏緫瑙i噴锛�
+ * 鍘熷崟锛堟病鏈変粠鍗曪級锛氳蛋鍘熸潵鐨勯�昏緫
+ * 浠庡崟锛氬垽鏂浠庡崟鐨勫師鍗曘�佸師鍗曚笅鎵�鏈夌殑浠庡崟鏄惁婊¤冻绗竴鏉★紝骞朵笖褰撳墠浠庡崟蹇呴』鏈変竴鏉℃弧瓒崇浜屾潯鎵嶈兘寤舵湡
+ * 鍘熷崟锛堟湁浠庡崟锛夛細鍒ゆ柇姝ょ敵璇峰崟鍜屽師鍗曚笅鎵�鏈夌殑浠庡崟鏄惁婊¤冻绗竴鏉★紝骞朵笖杩欎簺鐢宠鍗曟渶灏戞湁涓�涓敵璇峰崟婊¤冻绗簩涓潯浠讹紝鎵嶈兘寤舵湡
+ */
+ public static String muchRentalApply(Rental_Apply__c rac){
+ //鑾峰彇鎵�鏈夌殑鐢宠鍗�
+ List<Rental_Apply__c> rentalApplyData = getAllRentalApply(rac);
+ if(rentalApplyData != null && rentalApplyData.size() > 0){
+ //濡傛灉鍙煡鍒颁竴鏉℃暟鎹紝閭d箞璇佹槑浠栨槸鍘熷崟锛屽苟涓旀病鏈夊垎鍓插崟锛岄偅涔堝氨璧板師鏉ュ欢鏈熺殑閫昏緫
+ if(rentalApplyData.size() == 1){
+ List<Rental_Apply_Equipment_Set__c> raesList = RentalApplyTriggerHandler.getCan_Extend_RequestList(rentalApplyData);
+ return '1';
+ }else{
+ //濡傛灉涓哄鏉★紝璇佹槑浠栨湁浠庡崟鎴栧綋鍓嶈寤舵湡鐨勫崟瀛愭槸浠庡崟锛岄偅涔堝氨闇�瑕佸仛鐗规畩澶勭悊
+ List<Rental_Apply__c> racList = new List<Rental_Apply__c>();
+ //鍒ゆ柇浠栨槸鍘熷崟杩樻槸浠庡崟
+ System.debug('--345----------'+rac.Root_Rental_Apply__c);
+ if(String.isNotBlank(rac.Root_Rental_Apply__c)){
+ //鍙欢鏈熺殑鐢宠鍗曞簲婊¤冻锛氬凡鍑哄簱鐨�--宸插洖鏀讹紙涓嶅惈锛変箣闂寸姸鎬侊紝涓旀渶鏂伴瀹氬綊杩樻棩鈮� 浠婂ぉ銆�
+ //褰撳墠鏃ユ湡
+ Date today = Date.today();
+ //棰勫畾褰掕繕鏃ヤ笉鑳戒负绌�
+ if(rac.Return_dadeline_final__c != null){
+ //鏈�鏂伴瀹氬綊杩樻棩鈮� 浠婂ぉ銆�
+ if(rac.Return_dadeline_final__c >= today){
+ //鍙欢鏈熺殑鐢宠鍗曞簲婊¤冻锛氬凡鍑哄簱鐨�--宸插洖鏀讹紙涓嶅惈锛変箣闂寸姸鎬�
+ if(rac.RA_Status__c == '鐢宠鑰呭凡鏀惰揣' || rac.RA_Status__c == '鍖婚櫌宸茶鏈虹‘璁�' || rac.RA_Status__c == '宸插嚭搴�')
+ {
+ //鑳借蛋鍒拌繖閲岋紝璇佹槑寤舵湡鍏ュ彛鐨勭敵璇峰崟涓嶆槸宸茬粡寤惰繃鐨勶紝鎵�鏈夌幇鍦ㄥ垽鏂叾浠栫殑鐢宠鍗曟槸鍚﹀凡缁忓欢鏈燂紝濡傛灉寤惰繃锛岄偅涔堜笉闇�瑕侀獙璇�
+ //if(rac.ExtensionApplicationTime_Initial__c == null){
+ racList = rentalApplyData;
+ //}
+ }else{
+ if(rac.RA_Status__c != '鍙栨秷' && rac.RA_Status__c != '鍒犻櫎'){
+ return '鐢宠鍗曪細'+rac.Name+'鐨勭姸鎬佷负銆�'+rac.RA_Status__c+'銆� 涓嶅彲浠ヨ繘琛屽欢鏈熴��';
+ }
+ }
+ }else{
+ return '鐢宠鍗曪細'+rac.Name+'鐨勬渶鏂伴瀹氬綊杩樻棩灏忎簬褰撳墠鏃堕棿锛屼笉鍙互杩涜寤舵湡銆�';
+ }
+ }else{
+ return '鐢宠鍗曪細'+rac.Name+' 鐨勯瀹氬綊杩樻棩涓嶈兘涓虹┖銆�';
+ }
+ }else{
+ //澶囧搧涓績
+ if(rac.RecordType.DeveloperName == 'StandardRequest'){
+ //a. 鍘熷崟涓婂垎閰嶄汉=绌猴紝鐐瑰嚮鍘熷崟涓婄殑銆愬欢鏈熺敵璇枫�戞寜閽椂锛屾彁绀恒�愬師鍗曟湭鍒嗛厤鎴栧凡鍙栨秷锛岃鍦ㄥ垎鍗曚笂鎿嶄綔寤舵湡銆�
+ //娉細鍘熷崟鏈垎閰嶅凡鍙栨秷鎴栨湭鍒嗛厤鏃讹紝鍘熷崟鍒嗛厤浜轰负绌�
+ if(String.isBlank(rac.Assign_Person__c)){
+ return '鍘熷崟鏈垎閰嶆垨宸插彇娑堬紝璇峰湪鍒嗗崟涓婃搷浣滃欢鏈熴��';
+ }
+ }
+ //濡傛灉鏄師鍗曪紝鐩存帴鍒ゆ柇鏄惁婊¤冻绗竴鍜岀浜屾潯锛岀涓夋潯涓嶉渶瑕佺幇鍦ㄥ垽鏂�
+ racList = rentalApplyData;
+ }
+ if(racList != null && racList.size() > 0){
+ System.debug('-----------543---'+racList);
+ //姝ゆ柟娉曚富瑕侀獙璇佺涓�鍜岀浜屼釜鏉′欢
+ List<Rental_Apply_Equipment_Set__c> raesList = RentalApplyTriggerHandler.getCan_Extend_RequestList(racList);
+ if(raesList.size() == 0){
+ return '鏃犱换浣曠敵璇峰崟婊¤冻銆�';
+ }else{
+ //濡傛灉浠庡崟涓哄欢鏈熷叆鍙o紝浼氬垽鏂粬鐨勫師鍗曞拰姝ゅ師鍗曚笅鎵�鏈変粠鍗曟弧瓒冲欢鏈熸潯浠�
+ //濡傛灉婊¤冻鏉′欢锛岄偅涔堝垽鏂綋鍓嶄粠鍗曟槸鍚︽弧瓒冲欢鏈熸潯浠讹紝濡傛灉鏄叾浠栫敵璇峰崟婊¤冻锛岄偅涔堜笉鑳藉欢鏈燂紝
+ //濡傛灉姝ょ敵璇峰崟鏈変竴涓厤濂楁弧瓒筹紝閭d箞鍙互寤舵湡锛岃蛋鍗曠嫭寤舵湡閫昏緫锛堝師鏉ュ欢鏈熼�昏緫锛�
+ if(String.isNotBlank(rac.Root_Rental_Apply__c)){
+ Integer indexI = 0;
+ String racIds = rac.Id;
+ racIds = racIds.substring(0,15);
+ //寰幆鍒ゆ柇姝ゅ崟鏄惁鏈夊彲浠ュ欢鏈熺殑閰嶅鍚楋紵
+ for(Rental_Apply_Equipment_Set__c raesc : raesList){
+ String raescId = raesc.Rental_Apply__c;
+ raescId = raescId.substring(0,15);
+ if(racIds.equals(raescId)){
+ indexI++;
+ }
+ }
+ if(indexI > 0) {
+ //濡傛灉浠庡崟涓哄欢鏈熷叆鍙o紝浠栦細璧伴�氱敤鐨勬壒閲忓欢鏈熼獙璇侊紝鎵�浠ラ渶瑕侀獙璇佷互涓嬬殑鏉′欢锛屽鏋滄弧瓒冲氨涓嶇劧寤舵湡
+ //鍒ゆ柇鏄鐢宠鍗曟槸鍚﹀瓨鍦� ok骞朵笖鍥炲瘎鏃堕棿涓嶄负绌虹殑涓�瑙�
+ List<Rental_Apply_Equipment_Set__c> raescc = getAllRentalApplyEs(rac);
+ if(raescc != null && raescc.size() > 0){
+ for(Rental_Apply_Equipment_Set__c rr : raescc){
+ if ((rr.Received_Confirm__c == 'OK' || rr.Received_Confirm__c == '榛樿绛炬敹-OK') && rr.Asset_return_time__c != null) {
+ return '姝ゅ崟涓嶆弧瓒冲欢鏈熸潯浠躲��';
+ }
+ }
+ return '1';
+ }
+ }else{
+ return '姝ゅ崟涓嶆弧瓒冲欢鏈熸潯浠躲��';
+ }
+ }else{
+ return '2';
+ }
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 鏍规嵁浼犺繃鏉ョ殑澶囧搧id鑾峰彇鎵�鏈夌殑浠庡崟鍜屽師鍗�
+ * @param rea 寤舵湡鐨勫叆鍙g敵璇峰崟
+ * @return 杩斿洖鎵�鏈夌殑鍘熷崟鍜屼粠鍗�
+ * 鍙傛暟鏈夊彲鑳芥槸鍘熷崟id鎴栦粠鍗昳d
+ */
+ public static List<Rental_Apply__c> getAllRentalApply(Rental_Apply__c rea){
+ List<Rental_Apply__c> allRentalApply = [SELECT id,
+ Name,
+ RA_Status__c,
+ Request_return_day__c,
+ demo_purpose1__c,demo_purpose2__c,
+ ExtensionApprovalTime_Final__c,
+ RC_Ordered_Date__c,
+ Bollow_Date_Add_10_WD__c,
+ Loaner_received_ng_num__c,
+ ExtensionApprovalTime_Initial__c,
+ next_action__c,
+ NewRepair__c,
+ NewRepair__r.Agreed_Date__c,
+ NewRepair__r.Status__c,
+ NewRepair__r.ReRepairObject_F__c,
+ NewRepair__r.Repair_Shipped_Date__c,
+ AgreementBorrowingExtensionDate__c,
+ Return_dadeline_final__c,
+ ExtensionApplicationTime_Initial__c,
+ Root_Rental_Apply__c,
+ ExtensionStatus__c
+ FROM Rental_Apply__c
+ WHERE id = :rea.Id
+ OR id = :rea.Root_Rental_Apply__c
+ OR (Root_Rental_Apply__c = :rea.Id AND Root_Rental_Apply__c != NULL)
+ OR (Root_Rental_Apply__c = :rea.Root_Rental_Apply__c AND Root_Rental_Apply__c != NULL)
+ limit 1000];
+ return allRentalApply;
+ }
+
+ /**
+ * [getAllRentalApplyEs 鑾峰彇涓�瑙圿
+ * @param rea [description]
+ * @return [description]
+ *
+ * 鍙湁浠庡崟涓哄欢鏈熷叆鍙g殑鏃跺�欙紝鎵嶄細鍘绘煡璇竴瑙�
+ */
+ public static List<Rental_Apply_Equipment_Set__c> getAllRentalApplyEs(Rental_Apply__c rea){
+ List<Rental_Apply_Equipment_Set__c> raes = [SELECT Id,name
+ , Rental_Apply__c
+ , Rental_Apply__r.Repair__r.Agreed_Date__c
+ , Rental_Apply__r.Repair__r.Repair_Estimated_date_formula__c
+ , Rental_Apply__r.NewRepair__c
+ , Rental_Apply__r.NewRepair__r.Agreed_Date__c
+ , Rental_Apply__r.NewRepair__r.Status__c
+ , Rental_Apply__r.NewRepair__r.ReRepairObject_F__c
+ , Rental_Apply__r.NewRepair__r.Repair_Shipped_Date__c
+ , Rental_Apply__r.QISRepair__r.Repair_Shipped_Date__c
+ , Rental_Apply__r.RC_return_to_office__c
+ , Rental_Apply__r.AgreementBorrowingExtensionDate__c
+ , Rental_Apply__r.ExtensionApprovalTime_Initial__c
+ , Rental_Apply__r.ExtensionApplicationTime_Final__c
+ , Rental_Apply__r.RcUnexpectExpiryDelay__c
+ , Final_reply_day__c
+ , Asset_return_time__c
+ , Bollow_Date__c
+ , demo_purpose2__c
+ , demo_purpose1__c
+ , Request_demo_time__c
+ , Loaner_received_time__c
+ , Received_Confirm__c
+ , Loaner_received_day2__c
+ , RcUnexpectExpiryDelay__c
+ FROM Rental_Apply_Equipment_Set__c
+ WHERE Rental_Apply__c = :rea.Id
+ AND Cancel_Reason__c = null // 鍙栨秷閲嶆柊鍒嗛厤鐨勮瘽闇�瑕佸仛涓篘G閲嶆柊鍒嗛厤鐨勬儏鍐垫墍浠ヤ笉鑳界敤Cancel_Select__c
+ ];
+ return raes;
+ }
+
+ //add wangweipeng 2021/11/26 start
+
+//bp2
+// // 澶囧搧鍊熷嚭鏃堕棿check
+// WebService static String approvalCheck2(String raesId) {
+// // check缁撴灉
+// String returnStr = '';
+
+// // 澶囧搧鍊熷嚭鍘嗗彶鍙栧緱
+// List<String> equipmentSetList = new List<String>();
+// Rental_Apply_Equipment_Set__c[] raes = [
+// select Id, Name, Equipment_Set__c, Equipment_Set__r.Name, Rental_Start_Date__c, Rental_End_Date__c, Rental_Apply__c, Rental_Apply__r.Prepare_Day__c
+// from Rental_Apply_Equipment_Set__c
+// where Id = :raesId and Cancel_Select__c = false];
+
+// Rental_Apply_Equipment_Set__c r = raes[0];
+// // 鏃ュ巻鑼冨洿锛屾渶灏忕殑鍊熷嚭寮�濮嬫棩鍒版渶澶х殑鍊熷嚭缁堜簡鏃�
+// Date startDate = r.Rental_Start_Date__c;
+// Date endDate = r.Rental_End_Date__c;
+// Integer prepareDay = r.Rental_Apply__r.Prepare_Day__c == null ? Integer.valueOf(System.Label.EquipmentRentalPrepare) : r.Rental_Apply__r.Prepare_Day__c.intValue();
+// Date minDate = getWD_addday(startDate, -1 * prepareDay);
+// Date maxDate = getWD_addday(endDate, prepareDay);
+// // 鍏朵粬澶囧搧鍊熷嚭鐢宠鍘嗗彶
+// Rental_Apply_Equipment_Set__c[] others = [
+// select Id, Name, Rental_Start_Date__c, Rental_End_Date__c, Equipment_Set__c, Rental_Apply__r.Status__c ,Rental_Apply__r.Prepare_Day__c
+// from Rental_Apply_Equipment_Set__c
+// where Id != :raesId
+// and Equipment_Set__c = :r.Equipment_Set__c
+// and Request_Status__c != '鍙栨秷'
+// and Request_Status__c != '鍒犻櫎'
+// and Cancel_Select__c = false
+// and ((Rental_Start_Date__c >= :minDate and Rental_Start_Date__c <= :maxDate)
+// or (Rental_End_Date__c >= :minDate and Rental_End_Date__c <= :maxDate)
+// or (Rental_Start_Date__c <= :startDate and Rental_End_Date__c >= :endDate))];
+
+// Map<String, List<Rental_Apply_Equipment_Set__c>> othersMap = new Map<String,List<Rental_Apply_Equipment_Set__c>>();
+// for (Rental_Apply_Equipment_Set__c other : others) {
+// if (othersMap.containsKey(other.Equipment_Set__c)) {
+// othersMap.get(other.Equipment_Set__c).add(other);
+// } else {
+// List<Rental_Apply_Equipment_Set__c> l = new List<Rental_Apply_Equipment_Set__c>();
+// l.add(other);
+// othersMap.put(other.Equipment_Set__c, l);
+// }
+// }
+
+// List<Rental_Apply_Equipment_Set__c> other = othersMap.get(r.Equipment_Set__c);
+
+// Map<Date, Map<String, String>> dateMap= new Map<Date, Map<String, String>>();
+// if (other != null) {
+// Date sdate = startDate;
+// Date edate = endDate;
+// for (Rental_Apply_Equipment_Set__c o : other) {
+// if (o.Rental_Start_Date__c != null && (sdate == null || o.Rental_Start_Date__c < sdate)) {
+// sdate = o.Rental_Start_Date__c;
+// }
+// if (o.Rental_End_Date__c != null && (edate == null || o.Rental_End_Date__c > edate)) {
+// edate = o.Rental_End_Date__c;
+// }
+// }
+// if (sdate != null && edate != null) {
+// RentalApplyWebService raws = new RentalApplyWebService();
+// dateMap = raws.getDateMap(sdate, edate, prepareDay);
+// }
+// }
+
+// if (r.Rental_Start_Date__c == null && r.Rental_End_Date__c == null) {
+// // 娓呯┖璇ュ�熷嚭鍘嗗彶鐨勫嚭搴撳拰鍥炴敹鏃堕棿
+// } else if (other == null || other.size() == 0) {
+// // 涓庡叾浠栧�熷嚭鍘嗗彶娌℃湁鍐茬獊
+// } else {
+// Date fromDate = r.Rental_Start_Date__c;
+// Date toDate = r.Rental_End_Date__c;
+// for (Rental_Apply_Equipment_Set__c o : other) {
+// if (o.Rental_Apply__r.Status__c != '鑽夋涓�' && o.Rental_Apply__r.Status__c != '鐢宠涓�' && o.Rental_Apply__r.Status__c != null) {
+// Date startD = o.Rental_Start_Date__c;
+// Date endD = o.Rental_End_Date__c;
+// Integer prepare = prepareDay; //>= o.Rental_Apply__r.Prepare_Day__c || o.Rental_Apply__r.Prepare_Day__c == null ? prepareDay : o.Rental_Apply__r.Prepare_Day__c.intValue();
+// Date minD = startD.addDays(-1 * prepare);
+// Date maxD = endD.addDays(prepare);
+// if ((dateMap.containsKey(fromDate) && Date.valueOf(dateMap.get(fromDate).get('Next')) > startD && dateMap.containsKey(endD) && fromDate < Date.valueOf(dateMap.get(endD).get('Next'))) ||
+// (dateMap.containsKey(toDate) && Date.valueOf(dateMap.get(toDate).get('Next')) > startD && dateMap.containsKey(endD) && toDate < Date.valueOf(dateMap.get(endD).get('Next'))) ||
+// (dateMap.containsKey(fromDate) && Date.valueOf(dateMap.get(fromDate).get('Next')) <= startD && dateMap.containsKey(endD) && toDate >= Date.valueOf(dateMap.get(endD).get('Next')))) {
+// returnStr = '澶囧搧' + r.Equipment_Set__r.Name + '鐨勫�熷嚭鏃ヤ笌澶囧搧鍊熷嚭鍘嗗彶' + o.Name + '鏈夊啿绐侊紝璇风‘璁ゃ��';
+// return returnStr;
+// }
+// }
+// }
+// }
+
+// return '1';
+// }
+
+//bp2
+// WebService static String reserve2(String raesId) {
+// String checkRS = '1';
+// Rental_Apply_Equipment_Set__c raes = [
+// select Id,Name,Rental_Apply__c,Rental_Start_Date__c,ES_Stock_Status__c,
+// Equipment_Set__c,
+// Equipment_Set__r.Name,
+// Equipment_Set__r.Active_judgement2__c,
+// Equipment_Set__r.Last_Reserve_Rental_Apply_Equipment_Set__c,
+// Equipment_Set__r.Pre_Reserve_Rental_Apply_Equipment_Set__c
+// from Rental_Apply_Equipment_Set__c where Id = :raesId and Cancel_Select__c = false
+// ];
+// if (raes.Equipment_Set__r.Last_Reserve_Rental_Apply_Equipment_Set__c == raes.Id) {
+// checkRS = '璇ュ�熷嚭澶囧搧set涓�瑙堝凡缁忓仛杩囧嚭搴撴寚绀�:' + raes.Name;
+// return checkRS;
+// }
+// if (raes.ES_Stock_Status__c == '涓嶈兘鍑哄簱') {
+// checkRS = '澶囧搧set ' + raes.Equipment_Set__r.Name + ' 鍦ㄩ绾︽湡闂村涓嶈兘鍑哄簱锛岃纭';
+// return checkRS;
+// }
+// checkRS = RentalApplyWebService.approvalCheck2(raesId);
+// if (checkRS != '1') {
+// return checkRS;
+// }
+// /*
+// if (raes.Rental_Start_Date__c <= Date.today()) {
+// checkRS = '鍊熷嚭寮�濮嬫棩蹇呴』澶т簬浠婃棩銆傚�熷嚭澶囧搧set涓�瑙堬細' + raes.Name;
+// return checkRS;
+// }
+// if (raes.Equipment_Set__r.Active_judgement2__c != okStatus) {
+// checkRS = '澶囧搧set ' + raes.Equipment_Set__r.Name + ' 鐨�' + Schema.SObjectType.Equipment_Set__c.fields.Asset_Set_status2__c.label + '涓嶆槸 99.绛夊緟棰勭害 锛岀幇鍦ㄦ槸 ' + raes.Equipment_Set__r.Asset_Set_status2__c + ' 璇风‘璁�';
+// return checkRS;
+// }
+// */
+// //澶囧搧Set鏄庣粏
+// List<Equipment_Set_Detail__c> equipmentSetDetailList = new List<Equipment_Set_Detail__c>();
+// List<Equipment_Set_Detail__c> equipmentSetDetailList2 = new List<Equipment_Set_Detail__c>();
+// //澶囧搧鐢宠鍊熷嚭鏄庣粏鍘嗗彶
+// List<Rental_Apply_Equipment_Set_Detail__c> rentalApplyEquipmentSetDetailList = new List<Rental_Apply_Equipment_Set_Detail__c>();
+// //鏇存柊澶囧搧Set
+// Equipment_Set__c equipmentSet = new Equipment_Set__c(
+// Id = raes.Equipment_Set__c,
+// Last_Reserve_Rental_Apply_Equipment_Set__c = raes.Id,
+// Pre_Reserve_Rental_Apply_Equipment_Set__c = raes.Equipment_Set__r.Last_Reserve_Rental_Apply_Equipment_Set__c == null ? raes.Equipment_Set__r.Pre_Reserve_Rental_Apply_Equipment_Set__c : raes.Equipment_Set__r.Last_Reserve_Rental_Apply_Equipment_Set__c,
+// StockDown__c = false,
+// StockDown_time__c = null,
+// Shipment_request_time__c = System.now(), //鍑哄簱鎸囩ず鏃堕棿
+// Shippment_loaner_time__c = null, //澶囧搧涓績鍑哄簱鏃堕棿
+// Forecast_arrival_day__c = null, //棰勮鍒拌揣鏃�
+// //Loaner_received_day__c = null, //鐜板満绛炬敹鏃�
+// Request_asset_extend_time__c = null, //寤舵湡鐢宠鏃堕棿
+// asset_extend_approval_time__c = null, //寤舵湡鐢宠鎵瑰噯鏃堕棿
+// //Asset_return_day__c = null, //鐗╂祦鎻愯揣鏃�
+// Received_loaner_time__c = null, //澶囧搧涓績鍥炴敹鏃堕棿
+// delivery_company__c = null,
+// Fedex_number__c = null,
+// Distributor_method__c = null,
+// Return_to_wh_staff__c = null,
+// Return_delivery_company__c = null,
+// Return_Fedex_number__c = null,
+// Return_Distributor_method__c = null,
+// Received_confirmation_staff__c = null,
+// Customer_install_explanation_sign__c = null, //鏄惁鍥炴敹CDS纭鍗�
+// Send_to_return_email__c = false, //鍙戦�佸洖鏀剁粨鏋滃弽棣堥偖浠�
+// Return_comment_anoucment__c = null, //鍙戦�佸洖鏀剁粨鏋滃弽棣堝唴瀹�(NG鐞嗙敱鍜屾瑺鍝佹儏鍐�)
+////bp2 CDS_complete__c = false,
+// Arrival_in_wh__c = false,
+// Arrival_wh_time2__c = null,
+
+// Repair_Sum_Update__c = 0
+// );
+
+// //鍊熷嚭璁惧鏈鸿韩鍙风爜
+// String assetSerialNumber = '';
+// Boolean assetFirst = false;
+// //澶囧搧Set鏄庣粏
+// Equipment_Set_Detail__c[] equipmentSetDetails = [select Equipment_Set__c,Asset__c,Asset__r.SerialNumber,
+// Check_lost_Item__c,Pre_disinfection__c,Water_leacage_check__c,
+// Inspection_result_after__c,Arrival_in_wh__c,
+// Lost_item_check_staff__c,CDS_staff__c,Inspection_staff_After__c,
+// Return_wh_chenk_staff__c,Pre_inspection_time__c,Lost_item_check_time__c,
+// After_Inspection_time__c,Arrival_wh_time__c,
+// Inspection_result__c,Inspection_staff__c,Last_Reserve_RAES_Detail__c
+////bp2 CDS_complete_time__c,
+// from Equipment_Set_Detail__c
+// where Equipment_Set__c = :equipmentSet.Id and Select_rental__c = true];
+
+// for (Equipment_Set_Detail__c equipmentSetDetail : equipmentSetDetails) {
+// //鎻掑叆澶囧搧鐢宠鍊熷嚭鏄庣粏鍘嗗彶
+// Rental_Apply_Equipment_Set_Detail__c rentalApplyEquipmentSetDetail = new Rental_Apply_Equipment_Set_Detail__c();
+// rentalApplyEquipmentSetDetail.Rental_Apply__c = raes.Rental_Apply__c;//澶囧搧鍊熷嚭鐢宠
+// rentalApplyEquipmentSetDetail.Rental_Apply_Equipment_Set__c = raes.Id;//澶囧搧Set鍊熷嚭鍘嗗彶
+// rentalApplyEquipmentSetDetail.Equipment_Set__c = equipmentSetDetail.Equipment_Set__c;//澶囧搧Set
+// rentalApplyEquipmentSetDetail.Asset__c = equipmentSetDetail.Asset__c;//淇濇湁璁惧
+// //鎻掑叆澶囧搧鐢宠鍊熷嚭鏄庣粏鍘嗗彶
+// rentalApplyEquipmentSetDetailList.add(rentalApplyEquipmentSetDetail);
+
+// //鏇存柊澶囧搧Set鏄庣粏
+// equipmentSetDetail.Check_lost_Item__c = null;//娆犲搧纭缁撴灉
+// equipmentSetDetail.Pre_disinfection__c = null;//娓呮礂鍓�
+// equipmentSetDetail.Water_leacage_check__c = null;//娴嬫紡妫�鏌ョ粨鏋�
+// equipmentSetDetail.Inspection_result_after__c = null;//鍥炴敹鍚�-妫�娴嬬粨鏋�
+// equipmentSetDetail.Arrival_in_wh__c = false;//鍥炲簱纭
+// equipmentSetDetail.Lost_item_check_staff__c = null;//娆犲搧纭鑰�
+// equipmentSetDetail.CDS_staff__c = null;//娑堟瘨浜哄憳
+// equipmentSetDetail.Inspection_staff_After__c = null;//鍥炴敹鍚�-妫�娴嬩汉鍛�
+// equipmentSetDetail.Return_wh_chenk_staff__c = null;//鍥炲簱纭鑰�
+// equipmentSetDetail.Inspection_result__c = null;//鍙戣揣鍓�-妫�娴嬬粨鏋�
+// equipmentSetDetail.Inspection_staff__c = null;//鍙戣揣鍓�-妫�娴嬩汉鍛�
+
+// equipmentSetDetail.Pre_inspection_time__c = null;//澶囧搧Set鐢�,鍙戣揣鍓�-妫�娴嬪悎鏍兼椂闂�
+// equipmentSetDetail.Lost_item_check_time__c = null;//澶囧搧Set鐢�,娆犲搧纭鏃堕棿
+////bp2 equipmentSetDetail.CDS_complete_time__c = null;//澶囧搧Set鐢�,CDS瀹屾瘯鏃堕棿
+// equipmentSetDetail.After_Inspection_time__c = null;//澶囧搧Set鐢�,鍥炴敹鍚�-妫�娴嬪畬姣曟椂闂�
+// equipmentSetDetail.Arrival_wh_time__c = null;//澶囧搧Set鐢�,鍥炲簱纭瀹屾瘯鏃堕棿
+// //鏇存柊澶囧搧Set鏄庣粏
+// equipmentSetDetailList.add(equipmentSetDetail);
+// //鍊熷嚭璁惧鏈鸿韩鍙风爜
+// if (String.isNotBlank(equipmentSetDetail.Asset__r.SerialNumber)) {
+// if (assetFirst == false) {
+// assetSerialNumber += ',' + equipmentSetDetail.Asset__r.SerialNumber + ',';
+// assetFirst = true;
+// } else {
+// assetSerialNumber += equipmentSetDetail.Asset__r.SerialNumber + ',';
+// }
+// }
+// }
+
+// Equipment_Set_Detail__c[] equipmentSetDetails2 = [select Id, Last_Reserve_RAES_Detail__c
+// from Equipment_Set_Detail__c
+// where Equipment_Set__c = :equipmentSet.Id and Select_rental__c = false];
+// for (Equipment_Set_Detail__c equipmentSetDetail : equipmentSetDetails2) {
+// equipmentSetDetail.Pre_Reserve_RAES_Detail__c = equipmentSetDetail.Last_Reserve_RAES_Detail__c;
+// equipmentSetDetail.Last_Reserve_RAES_Detail__c = null;
+// equipmentSetDetailList2.add(equipmentSetDetail);
+// }
+
+// //鏇存柊鍊熷嚭璁惧鏈鸿韩鍙风爜
+// raes.Rental_Asset_SerialNumber__c = assetSerialNumber;
+
+// Savepoint sp = Database.setSavepoint();
+// try {
+// if (equipmentSet != null) {
+// update equipmentSet;
+// }
+// if (rentalApplyEquipmentSetDetailList.size() > 0) {
+// insert rentalApplyEquipmentSetDetailList;
+// }
+// if (equipmentSetDetailList.size() > 0) {
+// for (Integer i=0; i<equipmentSetDetailList.size(); i++) {
+// equipmentSetDetailList[i].Pre_Reserve_RAES_Detail__c = equipmentSetDetailList[i].Last_Reserve_RAES_Detail__c;
+// equipmentSetDetailList[i].Last_Reserve_RAES_Detail__c = rentalApplyEquipmentSetDetailList[i].Id;
+// }
+// update equipmentSetDetailList;
+// }
+// if (equipmentSetDetailList2.size() > 0) {
+// update equipmentSetDetailList2;
+// }
+// if (String.isNotBlank(assetSerialNumber)) {
+// update raes;
+// }
+// eSetRefreshStatus(equipmentSet.Id);
+// } catch (System.Exception e) {
+// Database.rollback(sp);
+// return e.getMessage();
+// }
+// //杩斿洖缁撴灉
+// return checkRS;
+// }
+
+ // 鍊熷嚭澶囧搧閰嶅涓�瑙堢姸鎬佸嵆鏃舵洿鏂�
+ WebService static String eSetRefreshStatus(String raeSetId) {
+ return eSetRefreshStatus(new List<String> {raeSetId});
+ }
+ public static String eSetRefreshStatus(List<String> raeSetIds) {
+ List<Rental_Apply_Equipment_Set__c> updateList1 = new List<Rental_Apply_Equipment_Set__c>();
+
+ if (!raeSetIds.isEmpty()) {
+ for (Rental_Apply_Equipment_Set__c raes: [
+ select Id,Repair_Status1__c,Repair_Status_Text__c,Final_reply_day__c,Final_reply_day_text__c,
+ Received_Confirm_NG_Not_Return__c,Received_Confirm_NG_Not_Return_Text__c,
+ Received_Confirm_Status_Text__c, Received_Confirm_Status_F__c
+ , NG_Final_reply_day_Text__c
+ , NG_Final_reply_day_F__c
+ , Yizhouweixiu_Final_reply_day_Text__c
+ , Yizhouweixiu_Final_reply_day_F__c
+ , Extend_Final_reply_day_Text__c
+ , Extend_Final_reply_day_F__c
+ , QIS_Final_reply_day_Text__c
+ , QIS_Final_reply_day_F__c
+ , Repair_cancel_Final_reply_day_Text__c
+ , Repair_cancel_Final_reply_day_F__c
+ , Return_to_office_Final_reply_day_Text__c
+ , Return_to_office_Final_reply_day_F__c
+ , Repair_delete_Final_reply_day_Text__c
+ , Repair_delete_Final_reply_day_F__c
+ , Yigoudaihuo_Final_reply_day_Text__c
+ , Yigoudaihuo_Final_reply_day_F__c
+ , Guzhangpaicha_Final_reply_day_Text__c
+ , Guzhangpaicha_Final_reply_day_F__c
+ , Repair_Agreed_Quotation_Text__c
+ , Repair_Agreed_Quotation_F__c
+ , Return_to_office_Final_reply_day_U_RC__c
+ , Return_to_office_Final_reply_day_U_RC_F__c
+ , Extend_Date__c
+ , Extend_Date_F__c
+ , Received_NG_ReAssign_Text__c
+ , Received_NG_ReAssign__c
+ //銆怓Y23澶у強宸ㄥぇ璇鹃銆戦暱鍋囧鍝佸�熺敤寤舵湡寮�鍙� 2022/12/27 start xxf
+ , Final_reply_day_Holiday_backup__c
+ , NG_Final_reply_day_F_Holiday_backup__c
+ , NG_Final_reply_day_Text_Holiday_backup__c
+ , Yizhouweixiu_Final_reply_day_F_Holiday__c
+ , Yizhouweixiu_Final_reply_day_TextHoliday__c
+ , Extend_Final_reply_day_F_Holiday_backup__c
+ , Extend_Final_reply_day_Text_Holiday_back__c
+ , QIS_Final_reply_day_F_Holiday_backup__c
+ , QIS_Final_reply_day_Text_Holiday_backup__c
+ , Repair_cancel_Final_reply_day_F_Holiday__c
+ , Repair_cancel_Final_reply_day_Text_Holid__c
+ , Return_to_office_Final_reply_day_F_Ho__c
+ , Return_to_office_Final_reply_day_Text_Ho__c
+ , Repair_delete_Final_reply_day_F_Holiday__c
+ , Repair_delete_Final_reply_day_Text_Ho__c
+ , Yigoudaihuo_Final_reply_day_F_Holiday__c
+ , Yigoudaihuo_Final_reply_day_Text_Holiday__c
+ , FGuzhangpaicha_Final_reply_day_F_Holiday__c
+ , Guzhangpaicha_Final_reply_day_Text_Holid__c
+ , Return_to_office_Final_reply_day_U_RC_Ho__c
+ , Return_to_office_Final_reply_day_U_RC_FH__c
+ //銆怓Y23澶у強宸ㄥぇ璇鹃銆戦暱鍋囧鍝佸�熺敤寤舵湡寮�鍙� 2022/12/27 end xxf
+ from Rental_Apply_Equipment_Set__c
+ where Id IN :raeSetIds
+ ]) {
+ Rental_Apply_Equipment_Set__c upd = UpdateRentalApplyEquipmentSetBatch.setRAES(raes);
+ if (upd != null) {
+ updateList1.add(upd);
+ }
+ }
+ }
+//bp2
+// List<Equipment_Set_Detail__c> esdList = [
+// select Id,Asset_condition__c,Asset_condition_Text__c,
+// Serial_Lot__c,Serial_Lot_text__c,
+// Asset__r.Loaner_accsessary__c, Loaner_accsessary_text__c,
+// Active_judgement__c,Active_judgement_select__c,Active_judgement_text__c,
+// Last_Reserve_RAES_Detail_RAES_F__c,Last_Reserve_RAES_Detail_RAES_Id__c,
+// Equipment_Set_Last_Reserve_RAES_F__c,Equipment_Set_Last_Reserve_RAES_Id__c
+// from Equipment_Set_Detail__c
+// where Equipment_Set__c IN :eSetIds];
+// List<Equipment_Set_Detail__c> updateList2 = UpdateRentalApplyEquipmentSetBatch.setESD(esdList);
+
+ Savepoint sp = Database.setSavepoint();
+ try {
+ if (!updateList1.isEmpty()) update updateList1;
+//bp2 if (updateList2.size() > 0) update updateList2;
+ return '1';
+ } catch (System.Exception e) {
+ Database.rollback(sp);
+ return e.getMessage();
+ }
+ return '1';
+ }
+
+//bp2 //鏁板嚭涓�鍏辨湁澶氬皯涓鍝丼et锛屽嚭搴撴寚绀猴紝鍏ㄩ儴鍙戣揣浼氱敤鍒�
+// Webservice static Integer CntEquipmentSet(String Raid){
+// List<Rental_Apply_Equipment_Set__c> Raesc = [Select Equipment_Set__c from Rental_Apply_Equipment_Set__c where Rental_Apply__c=:Raid and Cancel_Select__c = false];
+// return Raesc.size();
+// }
+ // 鍒嗛厤楠岃瘉
+ Webservice static String AssignBtn(String Rid){
+
+ List<String> statusList = System.Label.StatusProcessState.split(',');
+
+ List<Rental_Apply__c> raList = [select demo_purpose2__c,next_action__c,QIS_number__r.ReplaceDeliveryDate__c,Follow_UP_Opp__r.Shipping_Finished_Day_Func__c,repair__r.Repair_Final_Inspection_Date__c,repair__r.Return_Without_Repair_Date__c,Campaign__c,Campaign__r.Status,Repair__r.Repair_Shipped_Date__c,Campaign__r.IF_Approved__c,Campaign__r.Meeting_Approved_No__c,Campaign__r.Approved_Status__c from Rental_Apply__c where id = :Rid];
+ // 20210803 ljh SFDC-C5HDC7 add 鏌ヨ娣诲姞 Campaign__c,Campaign__r.Status,Repair__r.Repair_Shipped_Date__c
+ if(raList.size()>0){
+ Rental_Apply__c Ra = raList[0];
+ // 20210803 ljh SFDC-C5HDC7 update 鍒ゆ柇澧炲姞 Ra.repair__c != null && start
+ // if(Ra.repair__r.Repair_Final_Inspection_Date__c!=null){
+ // return '淇悊鏈�缁堟娴嬫棩涓嶄负绌猴紝涓嶈兘鍒嗛厤';
+ // }else if(Ra.repair__r.Return_Without_Repair_Date__c !=null){
+ // return '鏈慨鐞嗗綊杩樻棩涓嶄负绌猴紝涓嶈兘鍒嗛厤';
+ if(Ra.Campaign__c != null && Ra.Campaign__r.Status == '鍙栨秷'){
+ return '瀛︿細鍙栨秷锛屼笉鍙垎閰�';
+ }else if(Ra.repair__c != null && (Ra.repair__r.Repair_Final_Inspection_Date__c!=null || Ra.Repair__r.Repair_Shipped_Date__c != null)){
+ return '淇悊鏈夋渶缁堟娴嬫棩鎴栦慨鐞嗗搧杩旈�佹棩锛屼笉鍙垎閰�';
+ }else if(Ra.repair__c != null && Ra.repair__r.Return_Without_Repair_Date__c !=null){
+ return '鏈慨鐞嗗綊杩樻棩涓嶄负绌猴紝涓嶈兘鍒嗛厤';
+ // 20210803 ljh SFDC-C5HDC7 add end
+ }//1822 yc 20211021 start
+ else if(Ra.demo_purpose2__c=='宸茶喘寰呰揣' && Ra.Follow_UP_Opp__r.Shipping_Finished_Day_Func__c!= null){
+ return '宸茶喘寰呰揣鐩殑锛屾柊鍝佸凡鏈夊彂璐ф棩锛屼笉鍙垎閰�';
+ }else if(Ra.demo_purpose2__c=='绱㈣禂QIS' && Ra.next_action__c=='鏃犲伩鏇存崲' && Ra.QIS_number__r.ReplaceDeliveryDate__c!= null){
+ return '绱㈣禂QIS鐩殑锛孮IS宸叉湁鏂板搧鍙戣揣鏃ワ紝涓嶅彲鍒嗛厤';
+ }//1822 yc 20211108 end
+ else if(Ra.Campaign__r.IF_Approved__c && Ra.Campaign__r.Meeting_Approved_No__c == null){
+ return '宸茬敵璇峰喅瑁佷絾鍐宠缂栫爜涓虹┖';
+ }//20220301 sx obpm淇敼
+ else if(Ra.Campaign__r.IF_Approved__c && Ra.Campaign__r.Meeting_Approved_No__c != null && statusList.contains(Ra.Campaign__r.Approved_Status__c)){
+ return '宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢';
+ }//20220315 sx obpm澶囧搧鍐宠鐘舵�佺浉鍏充慨鏀�
+ else{
+ return 'Fin';
+ }
+ }else{
+ return '璇ュ�熷嚭鐢宠涓嶅瓨鍦�';
+ }
+ }
+
+//bp2
+// // 琛ュ厖闄勫睘鍝�
+// WebService static String fillOtherDetail(String eSetId) {
+// // 涓嶆墦鍕剧殑涓嶈琛ュ厖锛屾墍浠ョ湅 Active_judgement_select__c
+// List<Equipment_Set_Detail__c> sesd = [select Id from Equipment_Set_Detail__c where Equipment_Set__c = :eSetId and Asset__r.Loaner_accsessary__c = false and Active_judgement_select__c != :okStatus];
+// if (sesd.size() > 0) {
+// // 瑕佺瓑涓绘満鍥炴潵浜嗘墠鑳借ˉ
+// return '璇风‘璁ゅ鍝佷腑涓绘満鐘舵��';
+// }
+
+// List<Equipment_Set_Detail__c> oesd = [select Id, Last_Reserve_RAES_Detail__c from Equipment_Set_Detail__c where Equipment_Set__c = :eSetId and Asset__r.Loaner_accsessary__c = true and Equipment_Set__r.ES_Status__c not in ('寮曞綋鍙�','寮曞綋娓�') and Select_rental__c = true];
+// // 鍥犱负鏈夊弬鐓у鍝乻et鐨勫瓧娈碉紝鎵�浠ヤ负浜嗚揪鍒扮姸鎬佸彉鎴�99鐨勭洰鐨勶紝鍦ㄨ繖閲屽仛浜嗗叆搴撶殑鎿嶄綔锛岃�屼笉鏄叏娓呯┖銆�
+// for (Equipment_Set_Detail__c esd : oesd) {
+// if (esd.Last_Reserve_RAES_Detail__c != null) {
+// esd.Pre_Reserve_RAES_Detail__c = esd.Last_Reserve_RAES_Detail__c;
+// esd.Last_Reserve_RAES_Detail__c = null;
+// }
+
+// esd.Inspection_result_ng__c = null;
+// esd.Pre_inspection_time__c = null;
+// esd.Inspection_staff__c = null;
+// esd.Inspection_result__c = 'OK';
+
+// esd.Check_lost_Item__c = 'OK';
+// esd.Lost_item_check_time__c = null;
+// esd.Lost_item_check_staff__c = null;
+// esd.Lost_item_giveup__c = false;
+
+// esd.Inspection_result_after_ng__c = null;
+// esd.After_Inspection_time__c = null;
+// esd.Inspection_staff_After__c = null;
+// esd.Inspection_result_after__c = 'OK';
+
+// esd.Arrival_in_wh__c = true;
+// esd.Arrival_wh_time__c = null;
+// esd.Return_wh_chenk_staff__c = null;
+
+// esd.Pre_disinfection__c = null;
+// esd.Water_leacage_check__c = null;
+////bp2 esd.CDS_staff__c = null;
+////bp2 esd.CDS_complete_time__c = null;
+// }
+
+// Savepoint sp = Database.setSavepoint();
+// try {
+// update oesd;
+// return '1';
+// } catch (System.Exception e) {
+// Database.rollback(sp);
+// return e.getMessage();
+// }
+// return '1';
+// }
+
+ Webservice static String postponeCheck(String endDate, Integer d) {
+ Date before5day = getWD_addday(date.parse(endDate), d);
+ if (Date.today() > before5day) {
+ return System.Label.EquipmentRentalPostponeOverDeadline;
+ }
+ return 'OK';
+ }
+
+ // TODO please use public
+ public static Date getWD_now(Date d) {
+ List<OlympusCalendar__c> workday = [
+ select Id, Date__c, IsWorkDay__c
+ from OlympusCalendar__c
+ where Date__c >= :d
+ and IsWorkDay__c = 1
+ order by Date__c
+ limit 1];
+ Date selectDate = workday[0].Date__c;
+ return selectDate;
+ }
+
+ // TODO please use public
+ public static Date getWD_addday(Date d, Integer i) {
+ if (d == Date.valueOf('4000-12-31')) {
+ return d;
+ }
+ if (i >= 0) {
+ List<OlympusCalendar__c> workday = [
+ select Id, Date__c, IsWorkDay__c
+ from OlympusCalendar__c
+ where Date__c >= :d
+ and IsWorkDay__c = 1
+ order by Date__c
+ limit :(i+1)];
+ Date selectDate = workday[i].Date__c;
+ return selectDate;
+ } else {
+ i = Math.abs(i);
+ List<OlympusCalendar__c> workday = [
+ select Id, Date__c, IsWorkDay__c
+ from OlympusCalendar__c
+ where Date__c <= :d
+ and IsWorkDay__c = 1
+ order by Date__c desc
+ limit :(i+1)];
+ Date selectDate = workday[i].Date__c;
+ return selectDate;
+ }
+ }
+
+ // pd:0浠h〃褰撳ぉ,1浠h〃绗簩澶�
+ public Map<Date, Map<String, String>> getDateMap(Date sd, Date ed, Integer pd) {
+ Map<Date, Map<String, String>> returnMap = new Map<Date, Map<String, String>>();
+ List<OlympusCalendar__c> workdayList = [
+ select Id, Date__c, IsWorkDay__c
+ from OlympusCalendar__c
+ where Date__c >= :sd
+ and Date__c <= :ed.addDays(15 + pd) // +15 鐨勭洰鐨勬槸銆佷负浜嗗彇寰梕d 銇� 涓嬩竴涓伐浣滄棩
+ order by Date__c];
+ for (Integer i = 0; i < workdayList.size(); i++) {
+ OlympusCalendar__c wd = workdayList[i];
+ if (wd.Date__c > ed) break;
+ Integer nextWordDays = 0;
+ Map<String, String> valueMap = new Map<String, String>();
+ valueMap.put('WorkDay', String.valueOf(wd.IsWorkDay__c));
+ Integer maxJ = 15 + i + pd;
+ if (maxJ > workdayList.size()) maxJ = workdayList.size();
+ for (Integer j = i; j < maxJ; j++) {
+ OlympusCalendar__c oc = workdayList[j];
+ if (oc.IsWorkDay__c == 1) {
+ nextWordDays++;
+ if (nextWordDays == pd + 1) {
+ valueMap.put('Next', String.valueOf(oc.Date__c));
+ break;
+ }
+ }
+ }
+
+ returnMap.put(wd.Date__c, valueMap);
+ }
+ return returnMap;
+ }
+
+//bp2
+//// TODO katsu select in for, why?銆乬etBetweenWD 銈掋仾銇忋仚鏂瑰悜銆丆ount銇犮亼銇倝銆乬etOlympusWorkDayCount 銇儭銈姐儍銉夈亴銇傘倞銇俱仚銆�
+// //宸ヤ綔鏃�
+// WebService static String getBetweenWD(String sd, String ed) {
+// String betweenWD = '0';
+// if (sd != '' && ed != '') {
+// Date sdate = Date.valueof(sd.replace('/','-'));
+// Date edate = Date.valueof(ed.replace('/','-'));
+// List<OlympusCalendar__c> workdayList = [
+// select Id, Date__c, IsWorkDay__c
+// from OlympusCalendar__c
+// where Date__c >= :sdate
+// and Date__c <= :edate
+// and IsWorkDay__c = 1
+// order by Date__c];
+// betweenWD = String.valueOf(workdayList.size());
+// }
+// return betweenWD;
+// }
+//bp2 OLY_OCM-113
+ ////鑷劧鏃�
+ //Webservice static String getBetweenNaturalDay(String sd, String ed){
+ // String betweenND = '0';
+ // if(sd != '' && ed != ''){
+ // Date sdate = Date.valueof(sd.replace('/','-'));
+ // Date edate = Date.valueof(ed.replace('/','-'));
+ // Integer days = sdate.daysBetween(edate);
+
+ // betweenND = String.valueOf(days);
+ // }
+ // return betweenND;
+ //}
+ //WebService static String sendAll(String raid) {
+ // return '1';
+ //}
+
+////bp2 OLY_OCM-81
+//*************************Create 20160825 SWAG-AD59Z6 瓒欏境鑺� Start*************************//
+// //鍏ㄩ儴鍙戣揣
+// WebService static String DeliverAll(String raid){
+// List<Rental_Apply__c> raList = [select id,repair__r.Repair_Final_Inspection_Date__c,Bollow_Date__c,repair__r.Return_Without_Repair_Date__c, delivery_company__c, Return_to_wh_staff__c, Distributor_method__c, Tracking_Number__c,
+// Shippment_loaner_time__c,Status__c,All_Delivery_Flag_c__c
+// from Rental_Apply__c
+// where id = :raid];
+// Rental_Apply__c Ra = new Rental_Apply__c();
+// System.debug(raList);
+// if(raList.size()>0){
+// Ra = raList[0];
+// if(Ra.delivery_company__c == null||
+// Ra.Return_to_wh_staff__c == null ||
+// Ra.Distributor_method__c == null ||
+// Ra.Tracking_Number__c == null){
+// return '璇疯ˉ鍏ㄥ彂璐х墿娴佷俊鎭�';
+// }else if(Ra.Status__c !='鍑哄簱鎸囩ず瀹屼簡'){
+// return '璇峰厛鍋氬嚭搴撴寚绀哄悗锛屽啀杩涜鍑哄簱';
+// }
+// //else if(Ra.repair__c.Repair_Final_Inspection_Date__c<Ra.Bollow_Date__c){
+// // return '淇悊鏈�缁堟娴嬫棩鏃╀簬鍙戣揣鏃ワ紝涓嶈兘鍙戣揣';
+// //}
+// else if(Ra.repair__c!=null&&Ra.repair__r.Repair_Final_Inspection_Date__c!=null){
+// return '淇悊鏈�缁堟娴嬫棩涓嶄负绌猴紝涓嶈兘鍙戣揣';
+// }else if(Ra.repair__c!=null&&Ra.repair__r.Return_Without_Repair_Date__c!=null){
+// return '鏈慨鐞嗗綊杩樻棩涓嶄负绌猴紝涓嶈兘鍙戣揣';
+// }else{
+// List<Rental_Apply_Equipment_Set__c> DeliveryGoodDetail = new List<Rental_Apply_Equipment_Set__c>();
+// DeliveryGoodDetail = [select id,name,Equipment_Set__c from Rental_Apply_Equipment_Set__c where Shippment_loaner_time__c =null and Rental_Apply__c =:raid and Cancel_Select__c = false];
+// if(DeliveryGoodDetail.size()>0){
+// List<Rental_Apply_Equipment_Set__c> ExistSet = new List<Rental_Apply_Equipment_Set__c>();
+// ExistSet = [select id,name,Equipment_Set__c from Rental_Apply_Equipment_Set__c where Rental_Apply__c =:raid and Cancel_Select__c = false];
+// List<String> sqlLine = new List<String>();
+// for(Rental_Apply_Equipment_Set__c RAESC : DeliveryGoodDetail){
+// sqlLine.add(RAESC.Equipment_Set__c);
+// }
+// List<Equipment_Set__c> ResultSet = new List<Equipment_Set__c>();
+// ResultSet = [select id,Pre_inspection_time__c,Shippment_loaner_time__c from Equipment_Set__c where id in:sqlLine];
+// System.debug(ResultSet);
+// Integer Ncnt =0;
+// for(Equipment_Set__c ESC : ResultSet){
+// if(ESC.Shippment_loaner_time__c!=null){
+// Ncnt=Ncnt+1;
+// }
+// }
+// Savepoint sp = Database.setSavepoint();
+// List<Equipment_Set__c> UpsertEsc = new List<Equipment_Set__c>();
+// if(Ncnt==0){
+// for(Equipment_Set__c ESC : ResultSet){
+// Equipment_Set__c EscEle = new Equipment_Set__c();
+// EscEle.id=ESC.id;
+// EscEle.delivery_company__c = Ra.delivery_company__c;
+// EscEle.Return_to_wh_staff__c = Ra.Return_to_wh_staff__c;
+// EscEle.Distributor_method__c = Ra.Distributor_method__c;
+// EscEle.Fedex_number__c = Ra.Tracking_Number__c;
+// EscEle.StockDown__c = true;
+// UpsertEsc.add(EscEle);
+// }
+// if(UpsertEsc.size()>0){
+// Ra.All_Delivery_Flag_c__c = true;
+// try{
+// update Ra;
+// update UpsertEsc;
+// return 'Fin';
+// }catch (System.Exception e){
+// Database.rollback(sp);
+// return e.getMessage();
+// }
+// }else{
+// return '鎵�閫夊鍝丼et锛屽凡鍏ㄩ儴鍑哄簱锛屾棤娉曞啀娆″嚭搴�';
+// }
+// }else{
+// return '澶囧搧宸插嚭搴�';
+// }
+// }else{
+// return '鏈�熷嚭鐢宠鏃犻渶瑕佸嚭搴撶殑澶囧搧';
+// }
+// }
+// }else{
+// return '鏃犳晥鐨勫鍝佸�熷嚭鐢宠';
+// }
+// }
+
+////bp2 OLY_OCM-81
+////*************************Create 20160825 SWAG-AD59Z6 瓒欏境鑺� End***************************//
+// WebService static String receiveAll(String raid) {
+// List<Rental_Apply__c> raList = [select id, Return_Track_Company__c, Return_Distrubutor_Method__c, Return_Trake_Staff__c, Return_Track_Number__c,
+// Shippment_loaner_time__c
+// from Rental_Apply__c
+// where id = :raid];
+// if (raList.size() == 0) {
+// return '鏃犳晥鐨勫鍝佸�熷嚭鐢宠';
+// }
+// Rental_Apply__c ra = raList[0];
+// if (ra.Return_Track_Company__c == null ||
+// ra.Return_Distrubutor_Method__c == null ||
+// ra.Return_Trake_Staff__c == null ||
+// ra.Return_Track_Number__c == '' || ra.Return_Track_Number__c == null) {
+// return '璇疯ˉ鍏ㄥ洖搴撶墿娴佷俊鎭�';
+// }
+// if (ra.Shippment_loaner_time__c == null) {
+// return '澶囧搧杩樻病鍑哄簱';
+// }
+// List<Rental_Apply_Equipment_Set__c> raesList = [select id, Equipment_Set__c from Rental_Apply_Equipment_Set__c where Shippment_loaner_time__c != null and Rental_Apply__c = :raid and Cancel_Select__c = false];
+// if (raesList.size() == 0) {
+// return '澶囧搧杩樻病鍑哄簱';
+// }
+// Map<id,id> RaesEsIdMap = new Map<Id,id>();
+// List<String> esidList = new List<String>();
+// for (Rental_Apply_Equipment_Set__c raes : raesList) {
+// esidList.add(raes.Equipment_Set__c);
+// RaesEsIdMap.put(raes.Equipment_Set__c, raes.Id);
+// }
+// List<Equipment_Set__c> esList = [select id,Return_Fedex_number__c,Last_Reserve_Rental_Apply_Equipment_Set__c from Equipment_Set__c where id in :esidList];
+// List<Equipment_Set__c> updList = new List<Equipment_Set__c>();
+// for (Equipment_Set__c es : esList) {
+// if ((es.Return_Fedex_number__c == null || es.Return_Fedex_number__c == '') && es.Last_Reserve_Rental_Apply_Equipment_Set__c == RaesEsIdMap.get(es.Id)) {
+// Equipment_Set__c tmp = new Equipment_Set__c(
+// id = es.id,
+// Return_delivery_company__c = ra.Return_Track_Company__c,
+// Received_confirmation_staff__c = ra.Return_Trake_Staff__c,
+// Return_Distributor_method__c = ra.Return_Distrubutor_Method__c,
+// Return_Fedex_number__c = ra.Return_Track_Number__c
+// );
+// updList.add(tmp);
+// }
+// }
+// if (updList.size() == 0) {
+// return '澶囧搧宸茬粡鍏ㄩ儴鍥炲簱';
+// } else {
+// try {
+// update updList;
+// } catch (Exception ex) {
+// return ex.getMessage();
+// }
+// }
+// return '1';
+// }
+
+ WebService static String RentalApplyCancel(String raid, Boolean autoCancel) {
+ List<Rental_Apply__c> raList = [select id, Shipment_request_Cnt__c, Status__c, RA_Status__c, Shippment_loaner_cnt__c, Loaner_cancel_request__c, Arrival_wh_cnt__c,
+ Cancel_Reason__c
+ from Rental_Apply__c
+ where id = :raid];
+ List<Rental_Apply_Equipment_Set__c> raesList = [select id, StockDown_time__c
+//bp2 , Equipment_Set__c
+ from Rental_Apply_Equipment_Set__c
+ where Rental_Apply__c = :raid
+ and Cancel_Select__c = false];
+
+ List<Rental_Apply_Equipment_Set__c> updList = new List<Rental_Apply_Equipment_Set__c>();
+ // List<Rental_Apply_Equipment_Set_Detail__c> delList = new List<Rental_Apply_Equipment_Set_Detail__c>();
+ Set<Id> esIdSet = new Set<Id>();
+
+ if (raList.size() <= 0) {
+ return '澶囧搧鐢宠涔︿笉瀛樺湪銆�';
+ }
+ Rental_Apply__c ra = raList[0];
+ if (ra.Status__c == '鍙栨秷') {
+ return '澶囧搧鐢宠涔﹀凡缁忓彇娑堛��';
+ }
+ if (ra.Status__c == '鍒犻櫎') {
+ return '澶囧搧鐢宠涔﹀凡缁忓垹闄ゃ��';
+ }
+ if (ra.RA_Status__c == FixtureUtil.raStatusMap.get(FixtureUtil.RaStatus.Yi_Chu_Ku.ordinal()) || ra.Arrival_wh_cnt__c > 0) {
+ return '澶囧搧宸茬粡鍑哄簱锛屼笉鑳藉彇娑堛��';
+ }
+
+ User loginUser = [Select Id, Name, ProfileId From User where Id = :Userinfo.getUserId()];
+ if(loginUser.ProfileId != System.Label.ProfileId_SystemAdmin && loginUser.ProfileId != System.Label.ProfileId_EquipmentCenter && !System.Label.ProfileId_EquCenCheckAndDepot.contains(loginUser.ProfileId) && !System.Label.ProfileId_EquCenAdmin.contains(loginUser.ProfileId) && loginUser.ProfileId != System.Label.ProfileId_IThelp && ra.Shipment_request_Cnt__c > 0
+ ){
+ return '涓嶈兘鍙栨秷鐢宠锛岃鑱旂郴澶囧搧涓績绐楀彛鍙栨秷銆�';
+ }
+
+
+ if (autoCancel == false && String.isBlank(ra.Cancel_Reason__c)) {
+ return '蹇呴』杈撳叆鍙栨秷鐞嗙敱銆�';
+ }
+ ra.Status__c = '鍙栨秷';
+ if (autoCancel) {
+ ra.Cancel_Reason__c = '琚姩鍙栨秷';
+ }
+ // Map<Id, Asset> assetMap = new Map<Id, Asset>();
+ // for (Rental_Apply_Equipment_Set__c raes : raesList) {
+ // // if (raes.StockDown_time__c != null) {
+ // raes.Cancel_Select__c = true;
+ // raes.Cancel_Reason__c = ra.Loaner_cancel_request__c;
+ // if (autoCancel) {
+ // raes.Cancel_Reason__c = '琚姩鍙栨秷';
+ // }
+ // updList.add(raes);
+//bp2 esIdSet.add(raes.Equipment_Set__c);
+ // } else {
+ // delList.add(raes);
+//bp2 esIdSet.add(raes.Equipment_Set__c);
+ // }
+ // Asset ass = new Asset(Id = raes.Asset__c, Last_Reserve_RAES_Detail__c = null);
+ // assetMap.put(raes.Asset__c, ass);
+ // }
+
+ Savepoint sp = Database.setSavepoint();
+ try {
+ Set<Id> assetIdSet = new Set<Id>();
+ for (Rental_Apply_Equipment_Set_Detail__c raesd : [SELECT Id, Asset__c
+ FROM Rental_Apply_Equipment_Set_Detail__c
+ WHERE Rental_Apply__c = :raid
+ FOR UPDATE]
+ ) {
+ if (String.isNotBlank(raesd.Asset__c)) {
+ assetIdSet.add(raesd.Asset__c);
+ }
+ }
+ if (assetIdSet.size() > 0) {
+ List<Asset> assetList = [SELECT Id FROM Asset WHERE Id = :assetIdSet FOR UPDATE];
+ }
+ update ra;
+ //if (updList.size() > 0) update updList;
+ // if (!assetMap.isEmpty()) update assetMap.values();
+//bp2 ControllerUtil.setEquipmentSetProvisionFlg(esIdSet);
+ } catch (Exception ex) {
+ return ex.getMessage();
+ Database.rollback(sp);
+ }
+
+ return '1';
+ }
+
+ // 涓�瑕у崢浣�
+ @AuraEnabled
+ WebService static String setRaesShipment_request(String raesid) {
+ return setShipment_requests(null, raesid);
+ }
+
+ // 鐢宠珛鏇稿崢浣�
+ @AuraEnabled
+ WebService static String setShipment_request(String raid) {
+ return setShipment_requests(raid, null);
+ }
+
+ //鍑哄簱鎸囩ず鎸夐挳js涓�娆℃渶澶氭洿鏂�200鏉★紝鎵�浠ユ敼鍦╓ebService鍋氬嚭搴撴寚绀�
+ @AuraEnabled
+ WebService static String setShipment_requests(String raid, String raesid) {
+ Savepoint sp = Database.setSavepoint();
+
+ try {
+ //涓�瑙堟儏鍐典笅妫�绱竴瑙堝搴旂殑鐢宠涔d锛宻oql瀛愭煡璇笉鑳藉拰涓绘煡璇㈡槸鍚屼竴涓〃锛屽崟鐙绱竴娆�
+ if (String.isBlank(raid)) {
+ List<Rental_Apply_Equipment_Set__c> raList = [select Id, Rental_Apply__c from Rental_Apply_Equipment_Set__c where id = :raesid];
+ if (raList.size() > 0) {
+ raid = raList[0].Rental_Apply__c;
+ } else {
+ //搴旇涓嶄細鍒拌繖閲�
+ return '娌℃湁鍙互鍑哄簱鎸囩ず鐨勪竴瑙�';
+ }
+ }
+ String soql = 'SELECT Id'
+ + ' FROM Rental_Apply_Equipment_Set__c '
+ + ' WHERE Shippment_loaner_time2__c <> null '
+ + ' AND Rental_Apply__c = :raid '
+ + ' ORDER BY Id' ;
+ List<Rental_Apply_Equipment_Set__c> shippedRaesList = Database.query(soql);
+ String raesStrShipped = '';
+ for (Rental_Apply_Equipment_Set__c raes : shippedRaesList) {
+ raesStrShipped += raes.Id;
+ }
+
+ //Srring soql = "SELECT Id FROM Rental_Apply_Equipment_Set_Detail__c WHERE Rental_Apply__c = '{!Rental_Apply__c.Id}' AND Cancel_Select__c = false AND Rental_Num__c > 0 AND Rental_Apply_Equipment_Set__r.Wei_Assigned_Cnt__c = 0 AND Rental_Apply_Equipment_Set__r.Yi_Assigned_Cnt__c > 0 AND Shipment_request__c = false";
+ soql = 'SELECT Id, Rental_Apply__c, Rental_Apply_Equipment_Set__c'
+ + ' FROM Rental_Apply_Equipment_Set_Detail__c '
+ + ' WHERE ' + (String.isNotBlank(raesid) ? 'Rental_Apply_Equipment_Set__c = :raesid ' : 'Rental_Apply__c = :raid ')
+ + ' AND Cancel_Select__c = false '
+ + ' AND Rental_Num__c > 0 '
+ + ' AND Rental_Apply_Equipment_Set__r.Wei_Assigned_Cnt__c = 0 '
+ + ' AND Rental_Apply_Equipment_Set__r.Yi_Assigned_Cnt__c > 0 '
+ + ' AND Shipment_request__c = false'
+ + ' ORDER BY Rental_Apply_Equipment_Set__c, Id';
+ List<Rental_Apply_Equipment_Set_Detail__c> raesds = Database.query(soql);
+
+ Map<Id, List<String>> rental_Asset_SerialNumberMap = new Map<Id, List<String>>();
+
+ if (raesds.size() < 1) {
+ return '娌℃湁鍙互鍑哄簱鎸囩ず鐨勪竴瑙�';
+ } else {
+ Set<Id> raesSet = new Set<Id>();
+ String raesStrRequest = '';
+ for (Rental_Apply_Equipment_Set_Detail__c raesd : raesds) {
+ if (false == raesSet.contains(raesd.Rental_Apply_Equipment_Set__c)) {
+ raesSet.add(raesd.Rental_Apply_Equipment_Set__c);
+ raesStrRequest += raesd.Rental_Apply_Equipment_Set__c;
+ }
+ raesd.Shipment_request_time2__c = Datetime.now();
+ raesd.Shipment_request__c = true;
+ }
+ // 鍑哄簱鍚�, 鍐嶆鍋氬嚭搴撴寚绀虹殑涓�瑙�, 涓�瀹氳涓嚭杩囧簱鐨勪竴瑙堜竴鏍�
+ if (false == String.isBlank(raesStrShipped) && raesStrRequest != raesStrShipped) {
+ return '涓嶈兘鍋氬嚭搴撴寚绀猴紝闇�瑕佸垎鍗曞悗鍐嶆搷浣�';
+ }
+ }
+
+ // add lc 20220927 SFDC-CJ48VE 澶囧搧棰勮鍑哄簱鏃ラ�昏緫璋冩暣 start
+ List<Rental_Apply_Equipment_Set__c> RAESRecords = [
+ SELECT Id,Rental_Start_Date__c
+ FROM Rental_Apply_Equipment_Set__c
+ WHERE Rental_Apply__c = :raid
+ AND Cancel_Select__c = False];
+
+ for (Integer i = 0; i < RAESRecords.size(); i++) {
+ // 澶囧搧棰勮鍑哄簱鏃ヤ笉涓�鑷达紝涓嶅彲鍑哄簱鎸囩ず
+ if (RAESRecords[i].Rental_Start_Date__c != RAESRecords[0].Rental_Start_Date__c) {
+ return '澶囧搧棰勮鍑鸿揣鏃ヤ笉涓�鑷达紝涓嶅彲鍑哄簱鎸囩ず';
+ }
+ }
+ // add lc 20220927 SFDC-CJ48VE 澶囧搧棰勮鍑哄簱鏃ラ�昏緫璋冩暣 end
+
+ Rental_Apply__c ra = new Rental_Apply__c(Id = raesds[0].Rental_Apply__c, Status__c = '宸插嚭搴撴寚绀�');
+ update ra;
+ Database.SaveResult[] results = Database.update(raesds);
+ Database.SaveResult dmlResult = results[0];
+ if (dmlResult.isSuccess()) {
+ //鏄庣粏鏇存柊鎴愬姛鍚庢墠鏇存柊涓�瑙堢殑Rental_Asset_SerialNumber__c
+ soql = 'SELECT Id, SerialNumber_text__c, Rental_Apply_Equipment_Set__c '
+ +'FROM Rental_Apply_Equipment_Set_Detail__c '
+ +'WHERE Rental_Apply__c = \'' + raesds[0].Rental_Apply__c + '\''
+ +'AND Shipment_request_time2__c != null '
+ +'AND Shipment_request__c = true '
+ +'AND SerialNumber_text__c != null '
+ +'ORDER BY Rental_Apply_Equipment_Set__c ';
+
+
+ List<Rental_Apply_Equipment_Set_Detail__c> raesdSerialNumbers = Database.query(soql);
+
+ for (Rental_Apply_Equipment_Set_Detail__c raesd : raesdSerialNumbers) {
+
+ if (!rental_Asset_SerialNumberMap.containsKey(raesd.Rental_Apply_Equipment_Set__c)) {
+ // Asset__r.SerialNumber + ','
+ rental_Asset_SerialNumberMap.put(raesd.Rental_Apply_Equipment_Set__c, new List<String>());
+ }
+ rental_Asset_SerialNumberMap.get(raesd.Rental_Apply_Equipment_Set__c).add(raesd.SerialNumber_text__c);
+ }
+
+ List<Rental_Apply_Equipment_Set__c> raess = new List<Rental_Apply_Equipment_Set__c>();
+ for (Id key : rental_Asset_SerialNumberMap.keySet()) {
+ raess.add(new Rental_Apply_Equipment_Set__c(Id = key,
+ Rental_Asset_SerialNumber__c = ',' + String.join(rental_Asset_SerialNumberMap.get(key), ',') + ','));
+ }
+ if (!raess.isEmpty()) {
+ update raess;
+ }
+
+ return '鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�';
+ } else {
+ Database.rollback(sp);
+ Database.Error emsg = dmlResult.getErrors()[0];
+ return 'failed to update:' + emsg.getFields() + ' ' + emsg.getMessage();
+ }
+ } catch (Exception ex) {
+ Database.rollback(sp);
+ return ex.getMessage();
+ }
+ }
+
+ /**
+ * 娉ㄦ畫鐢宠澶囧搧鐨勭鎺�
+ */
+ WebService static String RentalApplyCheckForSAoneEle(String SaID) {
+ Statu_Achievements__c Sac = [select id,
+ SalesChannel__c,
+ Opportunity__r.Sales_Root__c,
+ Status_1__c,
+ Status_2_Formula__c,
+ Opp_Number__c,
+ ContractNO__c,
+ FirstApproveDate__c,
+ CreatedDate,
+ X30_Deposit_Day__c,
+ Deposit_In_Full_Day__c,
+ DeliveryDate__c,
+ Backorder_complete_day__c,
+ DeliveryStatus__c
+ from Statu_Achievements__c where id = :SaID];
+ if(Sac.Opportunity__r.Sales_Root__c == '璨╁2搴�'){
+ if(Sac.Opp_Number__c.contains('GI')||Sac.Opp_Number__c.contains('BF')||Sac.Opp_Number__c.contains('ET') ){
+ //modify by lyh 20220606 start 宸茶喘寰呰揣閫昏緫璋冩暣
+ //瀹㈡埛GIR璁㈠崟锛屾敞娈嬬姸鎬�2鏄��12浠樺叏娆�-14宸插彂璐р�滆繖涓尯闂翠笖鍙戣揣鐘舵�佷负鈥濇湭浜や粯銆佸拰閮ㄥ垎浜や粯鈥滄椂锛岃嚜浠樻鏃ヨ捣绗�31澶╂湭鐢熸垚鈥濆鎴疯鍗曟渶缁堝彂璐ф棩鈥滄椂锛屾柟鍙互鎻愪氦鈥濆凡璐緟璐р�滅洰鐨勭殑澶囧搧鐢宠
+ //if(Sac.Status_1__c == '娉ㄦ畫' && (Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�')){
+ // if((Date.today().addDays(-30)>Sac.Deposit_In_Full_Day__c)&&Sac.DeliveryDate__c == null){
+ if((Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�' || Sac.Status_2_Formula__c == '13 寰呭彂璐�' || Sac.Status_2_Formula__c == '14 宸插彂璐�')
+ && (Sac.DeliveryStatus__c == '鏈氦浠�' || Sac.DeliveryStatus__c == '閮ㄥ垎浜や粯')) {
+ if((Date.today().addDays(-30) > Sac.Deposit_In_Full_Day__c) && Sac.Backorder_complete_day__c == null) {
+ //modify by lyh 20220606 end 宸茶喘寰呰揣閫昏緫璋冩暣
+ return 'Fin';
+ } else {
+ return '缁忛攢鍟嗗唴绉戣鍗曚笉鍦ㄧ敵璇锋湡鍐咃紝涓嶈兘鐢宠澶囧搧';
+ }
+ }else{
+ return '缁忛攢鍟嗗唴绉戣鍗曠姸鎬佷笉绗﹀悎澶囧搧鐢宠璧勬牸锛屼笉鑳界敵璇峰鍝�';
+ }
+ }else if(Sac.Opp_Number__c.contains('SP')){
+ //modify by lyh 20220606 start 宸茶喘寰呰揣閫昏緫璋冩暣
+ //瀹㈡埛SP璁㈠崟锛屾敞娈嬬姸鎬�2鏄��11浠樺畾閲�-14宸插彂璐р�滆繖涓尯闂翠笖鍙戣揣鐘舵�佷负鈥濇湭浜や粯銆佸拰閮ㄥ垎浜や粯鈥滄椂锛岃嚜浠樻鏃ヨ捣绗�61澶╂湭鐢熸垚鈥濆鎴疯鍗曟渶缁堝彂璐ф棩鈥滄椂锛屾柟鍙互鎻愪氦鈥濆凡璐緟璐р�滅洰鐨勭殑澶囧搧鐢宠
+ //if(Sac.Status_1__c == '娉ㄦ畫' && (Sac.Status_2_Formula__c == '11 宸茶璐с兓浠樿閲�'||Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�')){
+ // if((Date.today().addDays(-60)>Sac.X30_Deposit_Day__c )&&Sac.DeliveryDate__c == null){
+ if((Sac.Status_2_Formula__c == '11 宸茶璐с兓浠樿閲�'||Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�'||Sac.Status_2_Formula__c=='14 宸插彂璐�')
+ && (Sac.DeliveryStatus__c == '鏈氦浠�' || Sac.DeliveryStatus__c == '閮ㄥ垎浜や粯')) {
+ if((Date.today().addDays(-60) > Sac.X30_Deposit_Day__c ) && Sac.Backorder_complete_day__c == null){
+ //modify by lyh 20220606 end 宸茶喘寰呰揣閫昏緫璋冩暣
+ return 'Fin';
+ }else{
+ return '缁忛攢鍟哠P璁㈠崟涓嶅湪鐢宠鏈熷唴锛屼笉鑳界敵璇峰鍝�';
+ }
+ }else{
+ return '缁忛攢鍟哠P璁㈠崟鐘舵�佷笉绗﹀悎澶囧搧鐢宠璧勬牸锛屼笉鑳界敵璇峰鍝�';
+ }
+ }else{
+ return '娉ㄦ畫閿�鍞笭閬撶被鍒笉鍦ㄥ彲鐢宠澶囧搧鑼冨洿鍐�';
+ }
+ }else if(Sac.Opportunity__r.Sales_Root__c == 'OCM鐩存帴璨╁2'){
+ if(Sac.Opp_Number__c.contains('GI')||Sac.Opp_Number__c.contains('BF')||Sac.Opp_Number__c.contains('ET')){
+ //modify by lyh 20220606 start 宸茶喘寰呰揣閫昏緫璋冩暣
+ //娉ㄦ畫鐘舵��2鏄��9宸插綍璁㈠崟鏈粯娆�-14宸插彂璐р�滆繖涓尯闂翠笖鍙戣揣鐘舵�佷负鈥濇湭浜や粯銆佸拰閮ㄥ垎浜や粯鈥滀笖鈥滈攢鍞笭閬撲负鐩撮攢鏃垛�濓紝GIR璁㈠崟鑷鍗曞綍鍏ユ棩璧风31澶�/鏈敓鎴愨�濆鎴疯鍗曟渶缁堝彂璐ф棩鈥滄椂锛屾柟鍙互鎻愪氦鈥濆凡璐緟璐р�滅洰鐨勭殑澶囧搧鐢宠
+ //if(Sac.Status_1__c == '娉ㄦ畫' && (Sac.Status_2_Formula__c == '09 宸插綍鍏ヨ鍗曟湭浠樻'||Sac.Status_2_Formula__c == '10 搴撳瓨宸查鐣欍兓鏈粯娆�'||Sac.Status_2_Formula__c == '11 宸茶璐с兓浠樿閲�'||Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�')){
+ // if((Date.today().addDays(-30)>Sac.FirstApproveDate__c )&&Sac.DeliveryDate__c == null){
+ if((Sac.Status_2_Formula__c == '09 宸插綍鍏ヨ鍗曟湭浠樻'||Sac.Status_2_Formula__c == '10 搴撳瓨宸查鐣欍兓鏈粯娆�'||Sac.Status_2_Formula__c == '11 宸茶璐с兓浠樿閲�'||Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�'||Sac.Status_2_Formula__c=='14 宸插彂璐�')
+ && (Sac.DeliveryStatus__c == '鏈氦浠�' || Sac.DeliveryStatus__c == '閮ㄥ垎浜や粯')){
+ if((Date.today().addDays(-30) > Sac.FirstApproveDate__c ) && Sac.Backorder_complete_day__c == null) {
+ //modify by lyh 20220606 end 宸茶喘寰呰揣閫昏緫璋冩暣
+ return 'Fin';
+ }else{
+ return 'OCM鐩撮攢鍐呯璁㈠崟涓嶅湪鐢宠鏈熷唴锛屼笉鑳界敵璇峰鍝�';
+ }
+ }else{
+ return 'OCM鐩撮攢鍐呯璁㈠崟鐘舵�佷笉绗﹀悎澶囧搧鐢宠璧勬牸锛屼笉鑳界敵璇峰鍝�';
+ }
+ }else if(Sac.Opp_Number__c.contains('SP')){
+ //modify by lyh 20220606 start 宸茶喘寰呰揣閫昏緫璋冩暣
+ //娉ㄦ畫鐘舵��2鏄��9宸插綍璁㈠崟鏈粯娆�-14宸插彂璐р�滆繖涓尯闂翠笖鍙戣揣鐘舵�佷负鈥濇湭浜や粯銆佸拰閮ㄥ垎浜や粯鈥滀笖鈥滈攢鍞笭閬撲负鐩撮攢鏃垛�濓紝SP璁㈠崟61澶╂湭鐢熸垚鈥濆鎴疯鍗曟渶缁堝彂璐ф棩鈥滄椂锛屾柟鍙互鎻愪氦鈥濆凡璐緟璐р�滅洰鐨勭殑澶囧搧鐢宠
+ //if(Sac.Status_1__c == '娉ㄦ畫' && (Sac.Status_2_Formula__c == '09 宸插綍鍏ヨ鍗曟湭浠樻'||Sac.Status_2_Formula__c == '10 搴撳瓨宸查鐣欍兓鏈粯娆�'||Sac.Status_2_Formula__c == '11 宸茶璐с兓浠樿閲�'||Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�')){
+ // if((Date.today().addDays(-60)>Sac.FirstApproveDate__c )&&Sac.DeliveryDate__c == null){
+ if((Sac.Status_2_Formula__c == '09 宸插綍鍏ヨ鍗曟湭浠樻'||Sac.Status_2_Formula__c == '10 搴撳瓨宸查鐣欍兓鏈粯娆�'||Sac.Status_2_Formula__c == '11 宸茶璐с兓浠樿閲�'||Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�'||Sac.Status_2_Formula__c=='14 宸插彂璐�')
+ && (Sac.DeliveryStatus__c == '鏈氦浠�' || Sac.DeliveryStatus__c == '閮ㄥ垎浜や粯')) {
+ if((Date.today().addDays(-60) > Sac.FirstApproveDate__c ) && Sac.Backorder_complete_day__c == null) {
+ //modify by lyh 20220606 end 宸茶喘寰呰揣閫昏緫璋冩暣
+ return 'Fin';
+ }else{
+ return 'OCM鐩撮攢SP璁㈠崟涓嶅湪鐢宠鏈熷唴锛屼笉鑳界敵璇峰鍝�';
+ }
+ }else{
+ return 'OCM鐩撮攢SP璁㈠崟鐘舵�佷笉绗﹀悎澶囧搧鐢宠璧勬牸锛屼笉鑳界敵璇峰鍝�';
+ }
+ }else{
+ return '娉ㄦ畫閿�鍞笭閬撶被鍒笉鍦ㄥ彲鐢宠澶囧搧鑼冨洿鍐呫��';
+ }
+ }else{
+ return '閿�鍞笭閬撴湭鐭ワ紝涓嶈兘鏂板缓';
+ }
+ }
+
+
+//bp2
+ //public static String RentalApplyCheckForSA(String raid,String SaID) {
+ // List<String> ProList = new List<String>();
+ // if(raid!=null){
+ // Rental_Apply__c Ra = [select id,
+ // Product_category__c,
+ // ProductNameNum1__c,
+ // ProductNameNum10__c,
+ // ProductNameNum2__c,
+ // ProductNameNum3__c,
+ // ProductNameNum4__c,
+ // ProductNameNum5__c,
+ // ProductNameNum6__c,
+ // ProductNameNum7__c,
+ // ProductNameNum8__c,
+ // ProductNameNum9__c
+ // from
+ // Rental_Apply__c
+ // where
+ // id=: Raid];
+ // ProList.add(Ra.ProductNameNum1__c);
+ // ProList.add(Ra.ProductNameNum2__c);
+ // ProList.add(Ra.ProductNameNum3__c);
+ // ProList.add(Ra.ProductNameNum4__c);
+ // ProList.add(Ra.ProductNameNum5__c);
+ // ProList.add(Ra.ProductNameNum6__c);
+ // ProList.add(Ra.ProductNameNum7__c);
+ // ProList.add(Ra.ProductNameNum8__c);
+ // ProList.add(Ra.ProductNameNum9__c);
+ // ProList.add(Ra.ProductNameNum10__c);
+ // List<asset> ast = [select
+ // id,
+
+ // Backorder__c
+ // from
+ // asset
+ // where
+ // Backorder__c =:SaID];
+ // for(asset asl : ast){
+ // for(String proStr : ProList){
+ // if(asl.Id == proStr){
+ // return '浜у搧宸插彂璐э紝涓嶈兘鐢宠澶囧搧';
+ // }
+ // }
+ // }
+ // }
+
+
+ // Statu_Achievements__c Sac = [select id,
+ // SalesChannel__c,
+ // Status_1__c,
+ // Status_2_Formula__c,
+ // Opp_Number__c,
+ // CreatedDate,
+ // FirstApproveDate__c,
+ // Opportunity__r.Sales_Root__c,
+ // X30_Deposit_Day__c,
+ // Deposit_In_Full_Day__c,
+ // DeliveryDate__c
+ // from Statu_Achievements__c where id = :SaID];
+
+
+
+ // if(Sac.Opportunity__r.Sales_Root__c == '璨╁2搴�'){
+ // if(Sac.Opp_Number__c.contains('GI')||Sac.Opp_Number__c.contains('BF')||Sac.Opp_Number__c.contains('ET') ){
+ // if(Sac.Status_1__c == '娉ㄦ畫' && (Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�')){
+ // if((Date.today().addDays(-30)>Sac.Deposit_In_Full_Day__c)&&Sac.DeliveryDate__c == null){
+ // return 'Fin';
+ // }else{
+ // return '缁忛攢鍟嗗唴绉戣鍗曚笉鍦ㄧ敵璇锋湡鍐咃紝涓嶈兘鐢宠澶囧搧';
+ // }
+ // }else{
+ // return '缁忛攢鍟嗗唴绉戣鍗曠姸鎬佷笉绗﹀悎澶囧搧鐢宠璧勬牸锛屼笉鑳界敵璇峰鍝�';
+ // }
+ // }else if(Sac.Opp_Number__c.contains('SP')){
+ // if(Sac.Status_1__c == '娉ㄦ畫' && (Sac.Status_2_Formula__c == '11 宸茶璐с兓浠樿閲�'||Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�')){
+ // if((Date.today().addDays(-60)>Sac.X30_Deposit_Day__c )&&Sac.DeliveryDate__c == null){
+ // return 'Fin';
+ // }else{
+ // return '缁忛攢鍟哠P璁㈠崟涓嶅湪鐢宠鏈熷唴锛屼笉鑳界敵璇峰鍝�';
+ // }
+ // }else{
+ // return '缁忛攢鍟哠P璁㈠崟鐘舵�佷笉绗﹀悎澶囧搧鐢宠璧勬牸锛屼笉鑳界敵璇峰鍝�';
+ // }
+ // }else{
+ // return 'Denied';
+ // }
+ // }else if(Sac.Opportunity__r.Sales_Root__c == 'OCM鐩存帴璨╁2'){
+ // if(Sac.Opp_Number__c.contains('GI')||Sac.Opp_Number__c.contains('BF')||Sac.Opp_Number__c.contains('ET')){
+ // if(Sac.Status_1__c == '娉ㄦ畫' && (Sac.Status_2_Formula__c == '09 宸插綍鍏ヨ鍗曟湭浠樻'||Sac.Status_2_Formula__c == '10 搴撳瓨宸查鐣欍兓鏈粯娆�'||Sac.Status_2_Formula__c == '11 宸茶璐с兓浠樿閲�'||Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�')){
+ // if((Date.today().addDays(-30)>Sac.FirstApproveDate__c )&&Sac.DeliveryDate__c == null){
+ // return 'Fin';
+ // }else{
+ // return 'OCM鐩撮攢鍐呯涓嶅湪鐢宠鏈熷唴锛屼笉鑳界敵璇峰鍝�';
+ // }
+ // }else{
+ // return 'OCM鐩撮攢鍐呯璁㈠崟鐘舵�佷笉绗﹀悎澶囧搧鐢宠璧勬牸锛屼笉鑳界敵璇峰鍝�';
+ // }
+ // }else if(Sac.Opp_Number__c.contains('SP')){
+ // if(Sac.Status_1__c == '娉ㄦ畫' && (Sac.Status_2_Formula__c == '09 宸插綍鍏ヨ鍗曟湭浠樻'||Sac.Status_2_Formula__c == '10 搴撳瓨宸查鐣欍兓鏈粯娆�'||Sac.Status_2_Formula__c == '11 宸茶璐с兓浠樿閲�'||Sac.Status_2_Formula__c == '12 宸茶璐с兓浠樺叏娆�'||Sac.Status_2_Formula__c == '13 寰呭彂璐�')){
+ // if((Date.today().addDays(-60)>Sac.FirstApproveDate__c )&&Sac.DeliveryDate__c == null){
+ // return 'Fin';
+ // }else{
+ // return '鐩撮攢SP璁㈠崟涓嶅湪鐢宠鏈熷唴锛屼笉鑳界敵璇峰鍝�';
+ // }
+ // }else{
+ // return 'OCM鐩撮攢SP璁㈠崟鐘舵�佷笉绗﹀悎澶囧搧鐢宠璧勬牸锛屼笉鑳界敵璇峰鍝�';
+ // }
+ // }else{
+ // return 'Fin';
+ // }
+ // }else{
+ // return '閿�鍞笭閬撴湭鐭ワ紝涓嶈兘鏂板缓';
+ // }
+ //}
+
+// bp2
+ ///**
+ //澶囧搧鏄惁鍙互缁х画鎿嶄綔鐨勭鎺�
+ //*/
+ //public static String rentalContiuneCheck(List<Rental_Apply__c> newList,Map<Id, Rental_Apply__c> oldMap){
+ // List<String> RaidList = new List<String>();
+ // for(Rental_Apply__c ra : newList){
+ // RaidList.add(ra.id);
+ // }
+ // List<Rental_Apply__c> RaTarList = [select Campaign__c,Repair__c,
+ // Campaign__r.Status,Repair__r.Repair_Final_Inspection_Date__c,Repair__r.Repair_Shipped_Date__c
+ // from Rental_Apply__c
+ // where id=:RaidList];
+ // for(Rental_Apply__c RaTar : RaTarList){
+ // String RsStr = '';
+ // if( RaTar.Campaign__r.Status == '鍙栨秷'||
+ // RaTar.Campaign__r.Status == '鍙栨秷鐢宠涓�'||
+ // RaTar.Campaign__r.Status == '宸叉彁浜ゆ姤鍛�'||
+ // RaTar.Campaign__r.Status == '宸茬粨鏉�'){
+ // RsStr = RentalApplyWebService.rentalContiuneinfoCheck(newList,oldMap);
+ // if(RsStr == 'Denied'){
+ // return '瀛︿細宸茬粨鏉燂紝鐢宠鍗曚笉鑳界户缁搷浣滀簡';
+ // }else{
+ // return 'Fin';
+ // }
+
+ // }else if( RaTar.Repair__r.Repair_Final_Inspection_Date__c!=null){
+ // RsStr = RentalApplyWebService.rentalContiuneinfoCheck(newList,oldMap);
+ // if(RsStr == 'Denied'){
+ // return '瀛樺湪淇悊鏈�缁堟娴嬫棩锛岀敵璇峰崟涓嶈兘缁х画浜�';
+ // }else{
+ // return 'Fin';
+ // }
+ // }else if( RaTar.Repair__r.Repair_Shipped_Date__c!=null){
+ // RsStr = RentalApplyWebService.rentalContiuneinfoCheck(newList,oldMap);
+ // if(RsStr == 'Denied'){
+ // return '瀛樺湪RC淇悊杩旈�佹棩锛岀敵璇峰崟涓嶈兘缁х画浜�';
+ // }else{
+ // return 'Fin';
+ // }
+ // }else{
+ // return 'Fin';
+ // }
+ // }
+ // return 'Fin';
+ //}
+//bp2
+// public static String rentalContiuneinfoCheck(List<Rental_Apply__c> newList,Map<Id, Rental_Apply__c> oldMap){
+// for(Rental_Apply__c Rac : newList){
+// if(
+// //bp2 Trigger.oldMap.get(Rac.Id).get('HP_received_ng_num__c') != Rac.HP_received_ng_num__c ||
+// Trigger.oldMap.get(Rac.Id).get('StockDown_ng_num__c') != Rac.StockDown_ng_num__c ||
+// Trigger.oldMap.get(Rac.Id).get('Asset_return_time__c') != Rac.Asset_return_time__c ||
+// Trigger.oldMap.get(Rac.Id).get('Count_Extend__c') != Rac.Count_Extend__c ||
+// Trigger.oldMap.get(Rac.Id).get('Max_Extend_workday__c') != Rac.Max_Extend_workday__c ||
+// //bp2 Trigger.oldMap.get(Rac.Id).get('Lost_item_ng_num__c') != Rac.Lost_item_ng_num__c ||
+// Trigger.oldMap.get(Rac.Id).get('Lost_item_finish__c') != Rac.Lost_item_finish__c ||
+// Trigger.oldMap.get(Rac.Id).get('Last_Assigned_Date__c') != Rac.Last_Assigned_Date__c ||
+// Trigger.oldMap.get(Rac.Id).get('Return_dadeline_final__c') != Rac.Return_dadeline_final__c ||
+// Trigger.oldMap.get(Rac.Id).get('Rental_Apply_Equipment_Set_Cnt__c') != Rac.Rental_Apply_Equipment_Set_Cnt__c ||
+// Trigger.oldMap.get(Rac.Id).get('Pre_inspection_ng_num__c') != Rac.Pre_inspection_ng_num__c ||
+// Trigger.oldMap.get(Rac.Id).get('Shippment_ng_num__c') != Rac.Shippment_ng_num__c ||
+// Trigger.oldMap.get(Rac.Id).get('ShelfUp_ng_num__c') != Rac.ShelfUp_ng_num__c ||
+// Trigger.oldMap.get(Rac.Id).get('Loaner_received_ng_num__c') != Rac.Loaner_received_ng_num__c ||
+// Trigger.oldMap.get(Rac.Id).get('Arrival_wh_cnt__c') != Rac.Arrival_wh_cnt__c ||
+// Trigger.oldMap.get(Rac.Id).get('Shippment_loaner_cnt__c') != Rac.Shippment_loaner_cnt__c ||
+// Trigger.oldMap.get(Rac.Id).get('Shipment_requested_cnt__c') != Rac.Shipment_requested_cnt__c ||
+// Trigger.oldMap.get(Rac.Id).get('Pre_inspection_ng_cnt2__c') != Rac.Pre_inspection_ng_cnt2__c ||
+// Trigger.oldMap.get(Rac.Id).get('Pre_inspection_ng_cnt__c') != Rac.Pre_inspection_ng_cnt__c ||
+// Trigger.oldMap.get(Rac.Id).get('Shippment_loaner_time__c') != Rac.Shippment_loaner_time__c ||
+// Trigger.oldMap.get(Rac.Id).get('Asset_loaner_closed_date__c') != Rac.Asset_loaner_closed_date__c ||
+// Trigger.oldMap.get(Rac.Id).get('Asset_loaner_start_date__c') != Rac.Asset_loaner_start_date__c ||
+// Trigger.oldMap.get(Rac.Id).get('Disposal_num__c') != Rac.Disposal_num__c ||
+// Trigger.oldMap.get(Rac.Id).get('Asset_return_ng_num__c') != Rac.Asset_return_ng_num__c ||
+// Trigger.oldMap.get(Rac.Id).get('Received_Confirm_NG_amount__c') != Rac.Received_Confirm_NG_amount__c ||
+// Trigger.oldMap.get(Rac.Id).get('Received_Confirm_NG_Not_Return__c') != Rac.Received_Confirm_NG_Not_Return__c ||
+////bp2 Trigger.oldMap.get(Rac.Id).get('Loaner_received_time__c') != Rac.Loaner_received_time__c ||
+// Trigger.oldMap.get(Rac.Id).get('Return_Track_Company__c') != Rac.Return_Track_Company__c ||
+// Trigger.oldMap.get(Rac.Id).get('Return_Distrubutor_Method__c') != Rac.Return_Distrubutor_Method__c ||
+// Trigger.oldMap.get(Rac.Id).get('Return_Trake_Staff__c') != Rac.Return_Trake_Staff__c ||
+// Trigger.oldMap.get(Rac.Id).get('Return_Track_Number__c') != Rac.Return_Track_Number__c ||
+// Trigger.oldMap.get(Rac.Id).get('HP_received_sign_day__c') != Rac.HP_received_sign_day__c ||
+// Trigger.oldMap.get(Rac.Id).get('HP_received_sign_rich__c') != Rac.HP_received_sign_rich__c ||
+// Trigger.oldMap.get(Rac.Id).get('HP_received_sign_text__c') != Rac.HP_received_sign_text__c ||
+// Trigger.oldMap.get(Rac.Id).get('HP_received_sign_NG__c') != Rac.HP_received_sign_NG__c ||
+// Trigger.oldMap.get(Rac.Id).get('HP_received_sign_NG_Reason__c') != Rac.HP_received_sign_NG_Reason__c ||
+// Trigger.oldMap.get(Rac.Id).get('AssetManageConfirm__c') != Rac.AssetManageConfirm__c ||
+// Trigger.oldMap.get(Rac.Id).get('Loaner_cancel_request__c') != Rac.Loaner_cancel_request__c ||
+// Trigger.oldMap.get(Rac.Id).get('Status__c') != Rac.Status__c
+// ){
+// return 'Fin';
+// }
+//}
+// return 'Denied';
+// }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/RentalApplyWebService.cls-meta.xml b/force-app/main/default/classes/RentalApplyWebService.cls-meta.xml
new file mode 100644
index 0000000..94f6f06
--- /dev/null
+++ b/force-app/main/default/classes/RentalApplyWebService.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>40.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/SubmitExtensionApprovalProcessController.cls b/force-app/main/default/classes/SubmitExtensionApprovalProcessController.cls
new file mode 100644
index 0000000..af0b518
--- /dev/null
+++ b/force-app/main/default/classes/SubmitExtensionApprovalProcessController.cls
@@ -0,0 +1,42 @@
+public with sharing class SubmitExtensionApprovalProcessController {
+
+ public SubmitExtensionApprovalProcessController() {
+
+ }
+
+
+ @AuraEnabled
+ public static InitData init(String recordId) {
+ InitData res = new InitData();
+
+ try {
+ Rental_Apply__c rac = [SELECT Id, ExtensionStatus__c, demo_purpose2__c, AgreementBorrowingExtensionDate__c, Return_dadeline_final__c from Rental_Apply__c where Id = :recordId];
+
+ res.Id = rac.Id;
+ res.ExtensionStatus = rac.ExtensionStatus__c;
+ res.RootRentalApply = rac.Root_Rental_Apply__c;
+ res.demoPurpose2 = rac.demo_purpose2__c;
+ res.AgreementBorrowingExtensionDate = rac.AgreementBorrowingExtensionDate__c;
+ res.ReturnDadelineFinal = rac.Return_dadeline_final__c;
+ }
+ catch (Exception e) {
+ System.debug(LoggingLevel.INFO, '****e:' + e);
+ }
+ return res;
+ }
+
+ public class InitData {
+ @AuraEnabled
+ public String Id;
+ @AuraEnabled
+ public String ExtensionStatus;
+ @AuraEnabled
+ public String RootRentalApply;
+ @AuraEnabled
+ public String demoPurpose2;
+ @AuraEnabled
+ public Date AgreementBorrowingExtensionDate;
+ @AuraEnabled
+ public Date ReturnDadelineFinal;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/SubmitExtensionApprovalProcessController.cls-meta.xml b/force-app/main/default/classes/SubmitExtensionApprovalProcessController.cls-meta.xml
new file mode 100644
index 0000000..9662499
--- /dev/null
+++ b/force-app/main/default/classes/SubmitExtensionApprovalProcessController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>50.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
\ No newline at end of file
diff --git a/force-app/main/default/classes/UpdateTenderInformationBatch.cls b/force-app/main/default/classes/UpdateTenderInformationBatch.cls
new file mode 100644
index 0000000..5e34510
--- /dev/null
+++ b/force-app/main/default/classes/UpdateTenderInformationBatch.cls
@@ -0,0 +1,1310 @@
+/*2021-05-08 mzy
+* 鏇存柊鎷涙爣淇℃伅鐨勮浠风姸鎬佸拰璇环鐨勬暟閲�
+* 鏇存柊鎷涙爣淇℃伅鐨�5涓尰闄�
+* 褰撳尰闄㈠彂鐢熷彉鍖�/鎷涙姇鏍囬」鐩甇CSM鐪佸彂鐢熷彉鍖栨椂,绌烘洿鏂颁竴涓嬫嫑鎶曟爣
+*/
+global class UpdateTenderInformationBatch implements Database.Batchable<sObject>, Database.Stateful {
+
+ Boolean IsNeedExecute = false;
+ String tempTenderId ='';
+ Boolean IsOnlyTrue = true;
+ List<String> tempTenderList = new List<String>();
+
+ //閭欢淇℃伅
+ List<String> emailMessages = new List<String>();
+
+ //鎷涙姇鏍�: 鎶ラ敊鐨勬嫑鎶曟爣Id
+ String TenderlogStr = '鎷涙爣椤圭洰 : ';
+
+ //鎷涙姇鏍�: 鎶ラ敊淇℃伅
+ String TendererrorStr = '';
+
+ //鎷涙姇鏍�: 鎬讳欢鏁�
+ Integer TendertotalCount = 0;
+
+ //鎷涙姇鏍�: 澶辫触浠舵暟
+ Integer TenderfailedCount = 0;
+
+ //鎵ц绗﹀悎鏉′欢鐨勬寚瀹氭嫑鎶曟爣椤圭洰
+ global UpdateTenderInformationBatch(String tempTenderId) {
+ this.tempTenderId = tempTenderId;
+ }
+ //鎵ц鎸囧畾鎷涙爣椤圭洰閲岀鍚堟潯浠剁殑鎷涙姇鏍囬」鐩�
+ global UpdateTenderInformationBatch(List<String> tempTenderList) {
+ this.tempTenderList = tempTenderList;
+ }
+ //澶勭悊鍘嗗彶鏁版嵁 IsOnlyTrue = false 鎵ц鎵�鏈夌殑鎷涙爣椤圭洰
+ global UpdateTenderInformationBatch(String tempOppId, Boolean IsOnlyTrue) {
+ this.IsOnlyTrue = IsOnlyTrue;
+ }
+ // IsOnlyTrue = false 鍙互鎵嬪姩 鏃犳潯浠舵墽琛屽鏉℃嫑鎶曟爣椤圭洰
+ global UpdateTenderInformationBatch(String tempOppId, Boolean IsOnlyTrue,List<String> tempTenderList) {
+ this.IsOnlyTrue = IsOnlyTrue;
+ this.tempTenderList = tempTenderList;
+ }
+
+ //Batch 閾� 鏃朵娇鐢�
+ global UpdateTenderInformationBatch(Boolean IsNeedExecute) {
+ this.IsNeedExecute = IsNeedExecute;
+ }
+
+ global UpdateTenderInformationBatch() {
+
+ }
+
+ global Database.QueryLocator start(Database.BatchableContext bc) {
+ String query = 'SELECT Id,IsBid__c,NotBidApprovalStatus__c,IsReactionOpp__c,Hospital__c,Hospital1__c,Hospital2__c,Hospital3__c,Hospital4__c, ';
+ query += 'Hospital__r.Assume_Change__c,Hospital1__r.Assume_Change__c,Hospital2__r.Assume_Change__c,Hospital3__r.Assume_Change__c,Hospital4__r.Assume_Change__c ';
+ query += 'FROM Tender_information__c ';
+ if(IsOnlyTrue){
+ query += 'WHERE ((IsReactionOpp__c = true ) ';
+ //2021-07-29 mzy update 褰撳尰闄㈠彂鐢熷彉鍖�/鎷涙姇鏍囬」鐩甇CSM鐪佸彂鐢熷彉鍖栨椂,绌烘洿鏂颁竴涓嬫嫑鎶曟爣 start
+ // 2022-04-08 ssm SWAG-CC58ME 澧炲姞鎵�鏈変汉鏃犳晥鐨勫垽鏂� start
+ query += 'OR (Owner.IsActive = false) ';
+ // 2022-04-08 ssm SWAG-CC58ME end
+ query += 'OR (BiddingOCSMAdministration__c = true) OR (Hospital__r.Assume_Change__c = true) ';
+ query += 'OR (Hospital1__r.Assume_Change__c = true) OR (Hospital2__r.Assume_Change__c = true) ';
+ query += 'OR (Hospital3__r.Assume_Change__c = true) OR (Hospital4__r.Assume_Change__c = true) )';
+ //2021-07-29 mzy update 褰撳尰闄㈠彂鐢熷彉鍖�/鎷涙姇鏍囬」鐩甇CSM鐪佸彂鐢熷彉鍖栨椂,绌烘洿鏂颁竴涓嬫嫑鎶曟爣 end
+ // DepartmentChanges__c 鍏ㄩ儴鎹㈡垚 Assume_Change__c
+ }
+ if(String.isNotBlank(this.tempTenderId)){
+ if(IsOnlyTrue){
+ query += ' AND ';
+ }else {
+ query += ' Where ';
+ }
+ query += 'Id = :tempTenderId ';
+ }
+ if(tempTenderList.size()>0){
+ if(IsOnlyTrue){
+ query += ' AND ';
+ }else {
+ query += ' Where ';
+ }
+
+ query += ' Id In :tempTenderList ';
+ }
+
+ System.debug('sql璇彞锛�'+query);
+ return Database.getQueryLocator(query);
+ }
+
+ global void execute(Database.BatchableContext BC, list<Tender_information__c> TenderList) {
+ //瀹氫箟List灏佽闇�瑕佺┖鏇存柊鐨勬嫑鎶曟爣椤圭洰
+ List<Tender_information__c> EmptyUpdateTenderList = new List<Tender_information__c>();
+ Map<String,Tender_information__c> EmptyUpdateTenderMap = new Map<String,Tender_information__c>();
+
+ //瀹氫箟List灏佽闇�瑕佹洿鏂扮殑鎷涙爣椤圭洰
+ List<Tender_information__c> updateTenderList = new List<Tender_information__c>();
+ //瀹氫箟Map淇濆瓨鎷涙姇鏍囦俊鎭�
+ Map<String,Tender_information__c> tenderMap = new Map<String,Tender_information__c>();
+ //瀹氫箟List灏佽鎵�鏈夎浠风殑鎷涙爣椤圭洰Id
+ Set<String> BiddingProjectID = new Set<String>();
+ for(Tender_information__c tempTender : TenderList){
+ //2021-07-29 mzy update 褰撳尰闄㈠彂鐢熷彉鍖�/鎷涙姇鏍囬」鐩甇CSM鐪佸彂鐢熷彉鍖栨椂,绌烘洿鏂颁竴涓嬫嫑鎶曟爣 start
+ if(tempTender.IsReactionOpp__c){
+ //濡傛灉鏄� 鏄惁鍙嶅簲璇环 涓� true 鍒欓渶瑕佽繘琛� 鍙嶅簲璇环 ,鍚﹀垯灏辩┖鏇存柊涓�涓�
+ BiddingProjectID.add(tempTender.Id);
+ tenderMap.put( String.valueOf( tempTender.Id ).substring(0,15) ,tempTender);
+ }else {
+ //闇�瑕佺┖鏇存柊鐨勬嫑鎶曟爣
+ EmptyUpdateTenderList.add(tempTender);
+ EmptyUpdateTenderMap.put(String.valueOf( tempTender.Id ).substring(0,15) ,tempTender);
+ }
+ //2021-07-29 mzy update 褰撳尰闄㈠彂鐢熷彉鍖�/鎷涙姇鏍囬」鐩甇CSM鐪佸彂鐢熷彉鍖栨椂,绌烘洿鏂颁竴涓嬫嫑鎶曟爣 end
+ }
+ //2021-07-29 mzy update 绌烘洿鏂板け璐ョ殑璇濅笉娓呯┖鍖婚櫌鐨勬爣璇� start
+ // System.debug('EmptyUpdateTenderList: ' + EmptyUpdateTenderList);
+ if(EmptyUpdateTenderList.size()>0){
+ //绌烘洿鏂版嫑鎶曟爣
+ // fxk 2021/9/28 Star
+ StaticParameter.EscapeOtherUpdateTenOwner = false;
+ Database.SaveResult[] EmptySaveTenderResult = Database.update(EmptyUpdateTenderList,false);
+ StaticParameter.EscapeOtherUpdateTenOwner = true;
+ // fxk 2021/9/28 End
+ //鏇存柊鎴愬姛鐨勬嫑鎶曟爣闇�瑕佸皢鍖婚櫌鐨勬爣璇嗘竻绌�
+ //淇濆瓨鏇存柊澶辫触鐨勫尰闄�
+ Set<String> faildHospIdSet = new Set<String>();
+ //鏌ョ湅澶辫触鐨勫尰闄�
+ for(Integer i = 0;i<EmptySaveTenderResult.size();i++){
+ if(!EmptySaveTenderResult.get(i).isSuccess()){
+ String faildTenderId = String.valueOf(EmptyUpdateTenderList.get(i).id).substring(0,15);
+ Tender_information__c faildtender = EmptyUpdateTenderMap.get(faildTenderId);
+
+ if(faildtender.Hospital__c != null && faildtender.Hospital__r.Assume_Change__c == true){
+ faildHospIdSet.add(faildtender.Hospital__c);
+ }
+ if(faildtender.Hospital1__c != null && faildtender.Hospital1__r.Assume_Change__c == true){
+ faildHospIdSet.add(faildtender.Hospital1__c);
+ }
+ if(faildtender.Hospital2__c != null&& faildtender.Hospital2__r.Assume_Change__c == true){
+ faildHospIdSet.add(faildtender.Hospital2__c);
+ }
+ if(faildtender.Hospital3__c != null&& faildtender.Hospital3__r.Assume_Change__c == true){
+ faildHospIdSet.add(faildtender.Hospital3__c);
+ }
+ if(faildtender.Hospital4__c != null&& faildtender.Hospital4__r.Assume_Change__c == true){
+ faildHospIdSet.add(faildtender.Hospital4__c);
+ }
+ }
+ }
+ //鏌ョ湅闇�瑕佹竻绌烘爣璇嗙殑鍖婚櫌id
+ Set<String> HospitalId = new Set<String>();
+ //闇�瑕佹竻绌烘爣璇嗙殑鍖婚櫌i
+ List<Account> needUpdateHPList = new List<Account>();
+ for(Integer i = 0;i<EmptySaveTenderResult.size();i++){
+ String tenderId = String.valueOf(EmptyUpdateTenderList.get(i).id).substring(0,15);
+ Tender_information__c tender = EmptyUpdateTenderMap.get(tenderId);
+
+ //濡傛灉澶辫触鐨凷et閲屾病鏈夎繖涓尰闄�,鍒欐竻绌鸿繖涓尰闄㈢殑鏍囪瘑
+ if(tender.Hospital__c != null && tender.Hospital__r.Assume_Change__c == true
+ && (!faildHospIdSet.contains(tender.Hospital__c)) ){
+ HospitalId.add(tender.Hospital__c);
+ }
+ if(tender.Hospital1__c != null && tender.Hospital1__r.Assume_Change__c == true
+ && (!faildHospIdSet.contains(tender.Hospital1__c)) ){
+ HospitalId.add(tender.Hospital1__c);
+ }
+ if(tender.Hospital2__c != null && tender.Hospital2__r.Assume_Change__c == true
+ && (!faildHospIdSet.contains(tender.Hospital2__c)) ){
+ HospitalId.add(tender.Hospital2__c);
+ }
+ if(tender.Hospital3__c != null && tender.Hospital3__r.Assume_Change__c == true
+ && (!faildHospIdSet.contains(tender.Hospital3__c)) ){
+ HospitalId.add(tender.Hospital3__c);
+ }
+ if(tender.Hospital4__c != null && tender.Hospital4__r.Assume_Change__c == true
+ && (!faildHospIdSet.contains(tender.Hospital4__c)) ){
+ HospitalId.add(tender.Hospital4__c);
+ }
+ }
+
+ Iterator<String> HospitalIds = HospitalId.iterator();
+
+ while(HospitalIds.hasNext()){
+ Account acc = new Account();
+ acc.id = HospitalIds.next();
+ acc.Assume_Change__c = false;
+ needUpdateHPList.add(acc);
+ }
+
+ if(needUpdateHPList.size()>0){
+ update needUpdateHPList;
+ }
+ }
+ //2021-07-29 mzy update 绌烘洿鏂板け璐ョ殑璇濅笉娓呯┖鍖婚櫌鐨勬爣璇� end
+
+ //2021-07-29 mzy update 濡傛灉鏈夐渶瑕佸弽搴旇浠风殑鍦ㄨ蛋涓嬮潰閫昏緫 start
+ if(BiddingProjectID.size()> 0){
+
+ //鏌ヨ鎷涙爣椤圭洰涓嬬殑鎵�鏈夎浠�
+ Map<String,List<Opportunity>> BiddingProjectOppMap = findTenderRelativeOpp(BiddingProjectID);
+
+ //璁$畻璇环鏁伴噺
+ List<Tender_information__c> updateTenderNumList = updateOpportunityNum(BiddingProjectOppMap);
+
+ //璁$畻璇环鐘舵��
+ List<Tender_information__c> updateTenderNumStatusList = updateOpportunityStatus(BiddingProjectOppMap,updateTenderNumList,tenderMap);
+
+
+ updateTenderList.addAll(updateTenderNumStatusList);
+
+ }
+
+ //鏇存柊鎷涙姇鏍� 璇环鏁伴噺鍜岀姸鎬�
+ if(updateTenderList.size()>0){
+ //涓�涓嫑鎶曟爣椤圭洰鏇存柊澶辫触
+ List<String> failedTenderList = new List<String>();
+ Database.SaveResult[] saveTenderResults = Database.update(updateTenderList,false);
+ //鎷涙姇鏍囬」鐩殑鎬绘暟
+ TendertotalCount += saveTenderResults.size();
+
+ for(Integer i = 0;i<saveTenderResults.size();i++) {
+ if(!saveTenderResults.get(i).isSuccess() ){
+ /*if(TenderlogStr.equals('')){
+ TenderlogStr = '' ;
+ } */
+ TenderlogStr += updateTenderList.get(i).id +' ,';
+ //String statusCode = String.ValueOf(saveTenderResults.get(i).getErrors()[0]).split(';')[2].split('=')[1];
+ //String errorMsg = String.ValueOf(saveTenderResults.get(i).getErrors()[0]).split(';')[1].split('=')[1];
+ TendererrorStr += '澶辫触鎷涙爣椤圭洰 :'+updateTenderList.get(i).id+' 澶辫触鍘熷洜:'+ String.ValueOf(saveTenderResults.get(i).getErrors()[0]).split(';')[2].split('=')[1]
+ +' : '+String.ValueOf(saveTenderResults.get(i).getErrors()[0]).split(';')[1].split('=')[1] + '\r\n';
+ TenderfailedCount++ ;
+ //灏嗘洿鏂板け璐ョ殑鎷涙姇鏍囬」鐩坊鍔犳帀闆嗗悎涓�
+ failedTenderList.add(String.valueOf( updateTenderList.get(i).id ).substring(0,15));
+ }
+ }
+ //鏇存柊鎴愬姛鍚�,娓呴櫎鎷涙姇鏍囩殑鍙嶅簲璇环鏍囪瘑
+ List<Tender_information__c> successTenderList = new List<Tender_information__c>();
+ for(Tender_information__c tempTender:TenderList){
+ if(failedTenderList.contains( String.valueOf( tempTender.id ).substring(0,15) )){
+ //鏇存柊澶辫触,鍒欎笉娓呴櫎鏍囪瘑
+ }else {
+ //鏇存柊鎴愬姛,娓呴櫎鏍囪瘑
+ tempTender.IsReactionOpp__c = false;
+ successTenderList.add(tempTender);
+ }
+ }
+
+ //娓呴櫎鏍囪瘑
+ if(successTenderList.size()>0){
+ update successTenderList;
+ }
+ }
+ // 2021-07-29 mzy update 濡傛灉鏈夐渶瑕佸弽搴旇浠风殑鍦ㄨ蛋涓嬮潰閫昏緫 end
+ }
+
+ global void finish(Database.BatchableContext BC) {
+
+ UpdateTenderInformationSchedule.assignOneHours();
+ BatchIF_Log__c TenderIfLog = new BatchIF_Log__c();
+ TenderIfLog.Type__c = 'UpdateTenderInformationBatchByTenderErrorLog';
+
+ if (TenderlogStr.length() > 60000) {
+ TenderlogStr = TenderlogStr.substring(0, 60000);
+ }
+ TenderIfLog.Log__c = TenderlogStr;
+ TenderIfLog.Log__c += '\n end';
+ if (TendererrorStr.length() > 60000) {
+ TenderIfLog.ErrorLog__c = TendererrorStr.substring(0, 60000);
+ } else {
+ TenderIfLog.ErrorLog__c = TendererrorStr.substring(0, TendererrorStr.length());
+ }
+
+ insert TenderIfLog;
+
+ emailMessages.add('澶辫触鏃ュ織ID涓猴細' + TenderIfLog.Id + '\r\n澶辫触淇℃伅:\r\n'+TendererrorStr);
+
+ //鍙戦�侀偖浠�
+ sendFieldEmail();
+
+ }
+ //鎵归噺鏇存柊鎷涙姇鏍囩殑璇环淇℃伅
+ @AuraEnabled
+ WebService static String updateOpportunityInformation(List<String> TenderIdList){
+ //瀛樺偍閿欒淇℃伅
+ String errorMessage = '';
+ //鐩殑 : 濡傛灉Batch鎵ц澶辫触,鍒欐暣浣搑ollback,鏍囪瘑涓嶈繘琛屾竻闄�
+ //瀹氫箟List灏佽闇�瑕佹洿鏂扮殑鎷涙爣椤圭洰
+ List<Tender_information__c> updateTenderList = new List<Tender_information__c>();
+ try{
+
+ Set<String> BiddingProjectID = new Set<String>();
+ for(String TenderId:TenderIdList){
+ BiddingProjectID.add(TenderId);
+ }
+ //鏌ヨ鎷涙姇鏍囦俊鎭�
+ List<Tender_information__c> tenderList = [SELECT Id,IsBid__c,NotBidApprovalStatus__c FROM Tender_information__c where id in :BiddingProjectID];
+ Map<String,Tender_information__c> tenderMap = new Map<String,Tender_information__c>();
+ for(Tender_information__c tempTender :tenderList){
+ tenderMap.put( String.valueOf( tempTender.Id ).substring(0,15) ,tempTender);
+ }
+
+ //鏌ヨ鎷涙爣椤圭洰涓嬬殑鎵�鏈夎浠�
+ Map<String,List<Opportunity>> BiddingProjectOppMap = findTenderRelativeOpp(BiddingProjectID);
+
+ //璁$畻璇环鏁伴噺
+ List<Tender_information__c> updateTenderNumList = updateOpportunityNum(BiddingProjectOppMap);
+
+ //璁$畻璇环鐘舵��
+ List<Tender_information__c> updateTenderNumStatusList = updateOpportunityStatus(BiddingProjectOppMap,updateTenderNumList,tenderMap);
+
+ updateTenderList.addAll(updateTenderNumStatusList);
+
+ //鏇存柊
+ if(updateTenderList.size()>0){
+ List<String> failedTenderList = new List<String>();
+ // add 鍙湁绌烘洿鏂版嫑鎶曟爣鐨勬椂鍊欒蛋鎷涙姇鏍囪Е鍙戝櫒 fxk 2021/9/28 Star
+ StaticParameter.EscapeOtherUpdateTenOwner = false;
+ Database.SaveResult[] saveTenderResults = Database.update(updateTenderList,false);
+ StaticParameter.EscapeOtherUpdateTenOwner = true;
+ // add 鍙湁绌烘洿鏂版嫑鎶曟爣鐨勬椂鍊欒蛋鎷涙姇鏍囪Е鍙戝櫒 fxk 2021/9/28 End
+
+ for(Integer i = 0;i<saveTenderResults.size();i++) {
+ if(!saveTenderResults.get(i).isSuccess()){
+ //String statusCode = String.ValueOf(saveTenderResults.get(i).getErrors()[0]).split(';')[2].split('=')[1];
+ //String errorMsg = String.ValueOf(saveTenderResults.get(i).getErrors()[0]).split(';')[1].split('=')[1];
+ errorMessage += '澶辫触鎷涙爣椤圭洰 :'+updateTenderList.get(i).id+' 澶辫触鍘熷洜:'
+ + String.ValueOf(saveTenderResults.get(i).getErrors()[0]).split(';')[2].split('=')[1]
+ +' : '+String.ValueOf(saveTenderResults.get(i).getErrors()[0]).split(';')[1].split('=')[1] + '\r\n';
+ //灏嗘洿鏂板け璐ョ殑鎷涙姇鏍囬」鐩坊鍔犳帀闆嗗悎涓�
+ failedTenderList.add(String.valueOf( updateTenderList.get(i).id ).substring(0,15));
+ }
+ }
+
+ //鏇存柊鎴愬姛鍚�,娓呴櫎鎷涙姇鏍囩殑鍙嶅簲璇环鏍囪瘑
+ List<Tender_information__c> successTenderList = new List<Tender_information__c>();
+ for(String tempTenderId:TenderIdList){
+ if(failedTenderList.contains( String.valueOf( tempTenderId ).substring(0,15) )){
+ //鏇存柊澶辫触,鍒欎笉娓呴櫎鏍囪瘑
+ }else {
+ //鏇存柊鎴愬姛,娓呴櫎鏍囪瘑
+ Tender_information__c tempTender = new Tender_information__c();
+ tempTender.Id = String.valueOf( tempTenderId ).substring(0,15);
+ tempTender.IsReactionOpp__c = false;
+ successTenderList.add(tempTender);
+ }
+ }
+
+ //娓呴櫎鏍囪瘑
+ if(successTenderList.size()>0){
+ update successTenderList;
+ }
+
+ }
+ //璇环娴佺▼鏀瑰杽 fy start
+ System.debug('batch2寮�濮�');
+ Id execBTId = Database.executeBatch(new UpdateTenderInformationBatch2(TenderIdList),100);
+ System.debug('batch2缁撴潫');
+ //璇环娴佺▼鏀瑰杽 fy end
+
+ }catch(NullPointerException ex){
+ system.debug('aa1:'+ex.getMessage());
+ return '绌烘寚閽� :'+ex.getLineNumber();
+ }catch(Exception ex2){
+ system.debug('aa2:'+ex2.getMessage());
+ return '鍑洪敊浜�!'+ex2.getMessage();
+ }
+
+ if(String.isNotBlank(errorMessage)){
+ return errorMessage;
+ }
+
+ system.debug('aa');
+ return 'OK';
+
+ }
+
+
+
+ //0.璁$畻璇环鏁伴噺
+ public static List<Tender_information__c> updateOpportunityNum(Map<String,List<Opportunity>> tempMap){
+ // 鎷涙爣-璇环鍏宠仈淇敼 鑾峰彇鎷涙爣淇℃伅淇敼 20210817 start
+ // List<Tender_information__c> updateTenderNumList = new List<Tender_information__c>();
+ // //閬嶅巻Map鐨刱ey
+ // for(String k : tempMap.keySet()){
+ // Tender_information__c tempTender = new Tender_information__c();
+ // tempTender.id = k;
+ // String fifteenId = String.valueOf(tempTender.Id).subString(0,15);
+ // tempTender.OpportunityNum__c = tempMap.get(fifteenId).size();
+ // updateTenderNumList.add(tempTender);
+ // }
+ List<String> tenders = new List<String>();
+ //閬嶅巻Map鐨刱ey
+ for(String k : tempMap.keySet()){
+ tenders.add(k);
+ }
+ // 鑾峰緱鎷涙爣鏁版嵁 鎶婁粠璇环閲屾煡璇㈢殑鎷涙爣瀛楁鎸埌杩欓噷
+ List<Tender_information__c> updateTenderNumList = [SELECT Id, Hospital__c, Hospital1__c,
+ Hospital2__c, Hospital3__c, Hospital4__c, OwnerId, IsRelateProject__c, IsBid__c, department__c,
+ subDepartment1__c, subDepartment2__c, subDepartment3__c, subDepartment4__c, NotBidApprovalStatus__c,
+ OpportunityNum__c, OpportunityStatus__c
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 start
+ ,OlyNumberHosts__c, RivalHostsNumber__c, TotalNumberHosts__c
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 end
+ FROM Tender_information__c WHERE Id IN :tenders];
+ // 鎷涙爣-璇环鍏宠仈淇敼 20210817 end
+
+ return updateTenderNumList;
+ }
+
+
+ //1.璁$畻璇环鐘舵��
+ //2.璧嬪�煎尰闄�
+ //3.璧嬪�兼垬鐣ョ瀹�
+ // 1) 濡傛灉鎷涙姇鏍囬」鐩殑鍏宠仈鍖婚櫌涓虹┖锛岄偅涔堝氨鏇存柊涓鸿浠风殑鍖婚櫌;
+ // 2) 濡傛灉鎷涙姇鏍囬」鐩殑鍏宠仈涓绘垬鐣ョ瀹や负绌猴紝閭d箞灏辨洿鏂颁负璇环鍒涘缓鏃堕棿鏈�鏃╃殑璇环鐨勬垬鐣ョ瀹わ紱
+ // 3) 濡傛灉鎷涙姇鏍囬」鐩殑鍏宠仈鍓垬鐣ョ瀹や负绌猴紝閭d箞灏辨洿鏂颁负鎺掑悕浼樺厛绾ч珮鐨勬垬鐣ョ瀹や箣澶栫殑鍏朵粬璇环鐨勬垬鐣ョ瀹わ紝涔熸槸浠ュ垱寤烘椂闂存洿鏃╀负鍏堝悗椤哄簭锛�
+ // 4锛� 濡傛灉鏇存柊婊′簡锛屽鐨勬垬鐣ョ瀹ゅ氨涓嶆洿鏂帮紱
+ public static List<Tender_information__c> updateOpportunityStatus(Map<String,List<Opportunity>> BiddingProjectOppMap,List<Tender_information__c> updateTenderNumList,Map<String,Tender_information__c> tenderMap){
+ //璇环鐘舵��
+ //瀹氫箟List灏佽闇�瑕佹洿鏂扮殑鎷涙爣椤圭洰
+ List<Tender_information__c> updateTenderList = new List<Tender_information__c>();
+
+ //閬嶅巻Map鐨刱ey
+ for(Tender_information__c tempTender : updateTenderNumList){
+
+ String fifteenId = String.valueOf(tempTender.Id).subString(0,15);
+ //鑾峰彇褰撳墠鎷涙姇鏍囦笅鐨勮浠�
+ List<Opportunity> BiddingDownOppList= BiddingProjectOppMap.get(fifteenId) == null ? new List<Opportunity>() : BiddingProjectOppMap.get(fifteenId);
+
+ //鑾峰彇褰撳墠鎷涙姇鏍囦笅鐨勮浠风殑鍖婚櫌
+ List<String> OppHospitalList = new List<String>();
+
+ //鍒ゆ柇鐘舵��
+ if(BiddingDownOppList.size() > 0){
+ //<!---- 鎵�鏈変汉 ---->
+ //2021-08-09 mzy 濡傛灉鎷涙爣鐨刼wnerid鏄ゥ鏋楀反鏂郴缁熺敤鎴� 灏辨妸璇环鐨勬墍鏈変汉鍐欎笂鍘�
+ // 20210817 鏄笉鏄簲璇ョ洿鎺ュ垽鏂璽ender涓婄殑锛�
+ // if(BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.OwnerId == '00510000000gmxH'){
+ if(tempTender.OwnerId == '00510000000gmxH'){
+ tempTender.OwnerId = BiddingDownOppList.get(0).ownerId;
+ }
+ //2021-08-09 mzy 濡傛灉鎷涙爣鐨刼wnerid鏄ゥ鏋楀反鏂郴缁熺敤鎴� 灏辨妸璇环鐨勬墍鏈変汉鍐欎笂鍘�
+ //<!---- 鎵�鏈変汉 ---->
+ //<!---- 璇环鐘舵�� start --->
+ //<!--璇环鐘舵��-->
+ //WIN num
+ Integer WinNum = 0;
+ //澶卞崟 num
+ Integer SHDNum = 0;
+ //XLIU-CG98L5銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� fy start
+ //鍙栨秷 num
+ Integer QuxNum = 0;
+ //XLIU-CG98L5銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� fy end
+ //涓爣 2022-6-29 yjk
+ Integer bidNum = 0;
+ //瀵规墜涓爣 2022-6-29 yjk
+ Integer loseNum = 0;
+
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 start
+ tempTender.OlyNumberHosts__c = 0;
+ tempTender.RivalHostsNumber__c = 0;
+ tempTender.TotalNumberHosts__c = 0;
+
+ Decimal OlyNum = 0;
+ Decimal RivalNum = 0;
+ Decimal TotalNum = 0;
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 end
+
+ //鑾峰彇褰撳墠key鐨凩ist
+ for(Opportunity tempOp :BiddingDownOppList){
+
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 start
+ System.debug('lt123---------------------------------------');
+
+ if(tempOp.OlyNumberHosts__c == null){
+ tempOp.OlyNumberHosts__c = 0;
+ }
+ if(tempOp.RivalHostsNumber__c == null){
+ tempOp.RivalHostsNumber__c = 0;
+ }
+
+ OlyNum += tempOp.OlyNumberHosts__c;
+ RivalNum += tempOp.RivalHostsNumber__c;
+ TotalNum += tempOp.InquireNumberHosts__c;
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 end
+
+ // 鏉庢収濞熷娉� 锛� 杩欓噷璇锋浛鎹㈡垚<SAP涓婁紶(WIN)>鏍囪瘑鍒ゆ柇
+ //<!--璇环鐘舵��-->
+ if(tempOp.SAP_Send_OK__c || '瀹屾瘯'.equals(tempOp.StageName__c)){ // 2022-6-2 yjk SWAG-CEP9G8
+ //win
+ WinNum += 1;
+ }
+ //XLIU-CG98L5銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� fy start
+ // else if(tempOp.StageName__c.equals('澶卞崟') || tempOp.StageName__c.equals('鍙栨秷')){ //2022-5-23 yjk SWAG-CEP9G8
+ // //澶卞崟
+ // SHDNum += 1;
+ // }
+ else if(tempOp.StageName__c.equals('澶卞崟')){ //2022-5-23 yjk SWAG-CEP9G8
+ //澶卞崟
+ SHDNum += 1;
+ }
+ else if(tempOp.StageName__c.equals('鍙栨秷')){ //2022-5-23 yjk SWAG-CEP9G8
+ //澶卞崟
+ QuxNum += 1;
+ }
+ //XLIU-CG98L5銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� fy end
+ //鑾峰彇璇环鐨勫尰闄�(鐩稿叧鎬ф椂鐢�)
+ if(!OppHospitalList.contains(tempOp.Hospital__c)&&tempOp.Hospital__c!=null){
+ OppHospitalList.add(tempOp.Hospital__c);
+ }
+
+ //2022-6-29 yjk 涓爣纭璧嬪�� start
+ if('OLY涓爣'.equals(tempOp.ConfirmationofAward__c)){
+ bidNum++;
+ }else if('绔炰簤瀵规墜涓爣'.equals(tempOp.ConfirmationofAward__c)){
+ loseNum++;
+ }
+ //2022-6-29 yjk 涓爣纭璧嬪�� end
+
+ }
+
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 start
+ tempTender.OlyNumberHosts__c = OlyNum;
+ tempTender.RivalHostsNumber__c = RivalNum;
+ tempTender.TotalNumberHosts__c = TotalNum;
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 end
+
+ //<!--璇环鐘舵��-->
+ if(WinNum == BiddingDownOppList.size()){
+ //鍏ㄩ儴涓篧in,OLY纭鐘舵�� 涓� 鎴愪氦
+ tempTender.OpportunityStatus__c = '鎴愪氦';
+ }else if(SHDNum == BiddingDownOppList.size()){
+ //鍏ㄩ儴涓哄け鍗�.鐘舵�佷负 澶卞崟
+ tempTender.OpportunityStatus__c = '澶卞崟';
+ }else if(WinNum>0&&SHDNum>0&&(WinNum + SHDNum) == BiddingDownOppList.size() ){
+ //閮ㄥ垎Win,閮ㄥ垎澶卞崟鏃�, 鐘舵�佷负 閮ㄥ垎鎴愪氦
+ tempTender.OpportunityStatus__c = '閮ㄥ垎鎴愪氦';
+ }
+ //XLIU-CG98L5銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� fy start
+ else if(QuxNum == BiddingDownOppList.size()){
+ //鍏ㄩ儴涓哄彇娑�.鐘舵�佷负 鍙栨秷
+ tempTender.OpportunityStatus__c = '鍙栨秷';
+ }
+ //XLIU-CG98L5銆愬鎵樸�戙�愯瘎浼般�戞柊闇�姹�-鎷涙爣椤圭洰/璇环瀵瑰簲娴佹爣銆佸簾鏍囨敼鍠� fy end
+ else if(tempTender.OpportunityNum__c > 0){
+ //濡傛灉璇环鏁伴噺澶т簬0鐨勮瘽灏辨槸 璺熻繘涓�
+ tempTender.OpportunityStatus__c = '璺熻繘涓�';
+ }else{
+ //鍏朵粬閮芥槸 ''
+ tempTender.OpportunityStatus__c = '';
+ }
+ //<!---- 璇环鐘舵�� end --->
+
+ //2022-6-29 yjk 涓爣纭璧嬪�� start
+ if(bidNum > 0 && loseNum == 0){
+ tempTender.ConfirmationofAward__c = 'OLY涓爣';
+ }else if(loseNum > 0 && bidNum == 0){
+ tempTender.ConfirmationofAward__c = '绔炰簤瀵规墜涓爣';
+ }else if(bidNum > 0 && loseNum > 0){
+ tempTender.ConfirmationofAward__c = '閮ㄥ垎OLY涓爣';
+ }
+
+
+ //2022-6-29 yjk 涓爣纭璧嬪�� end
+
+ //<!------ 鐩稿叧鎬� 淇℃伅 start ---->
+ //瀹氫箟Map瀛樻斁褰撳墠鎷涙姇鏍囬」鐩殑浜斾釜鍖婚櫌
+ Map<String,String> fiveHospitalMap = new Map<String,String>();
+ // 鎷涙爣-璇环鍏宠仈淇敼 杩欓噷鏄笉鏄彲浠ョ洿鎺ヤ粠褰撳墠鎷涙爣閲屽垵濮嬪寲锛熻浠蜂笂涓嶅啀鍏宠仈鍗曚竴鐨勬嫑鏍囬」鐩簡 20210818 start
+ // fiveHospitalMap.put('Hospital__c',BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.Hospital__c);
+ // fiveHospitalMap.put('Hospital1__c',BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.Hospital1__c);
+ // fiveHospitalMap.put('Hospital2__c',BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.Hospital2__c);
+ // fiveHospitalMap.put('Hospital3__c',BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.Hospital3__c);
+ // fiveHospitalMap.put('Hospital4__c',BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.Hospital4__c);
+ fiveHospitalMap.put('Hospital__c', tempTender.Hospital__c);
+ fiveHospitalMap.put('Hospital1__c', tempTender.Hospital1__c);
+ fiveHospitalMap.put('Hospital2__c', tempTender.Hospital2__c);
+ fiveHospitalMap.put('Hospital3__c', tempTender.Hospital3__c);
+ fiveHospitalMap.put('Hospital4__c', tempTender.Hospital4__c);
+ // 鎷涙爣-璇环鍏宠仈淇敼 20210818 end
+
+ //濡傛灉鎷涙姇鏍囬」鐩殑 鏄惁鐩稿叧 瀛楁涓嶄负鍚� , 骞朵笖 鐩稿叧鍖婚櫌 鐩稿叧鎴樼暐绉戝 鐩稿叧鏅�氱瀹� 涓虹┖鏃�,鍒欐洿鏂� 涓鸿浠风殑 鍖婚櫌 鎴樼暐绉戝 瀹㈡埛鍚�
+ // 鎷涙爣-璇环鍏宠仈淇敼 鍚屼笂淇敼 浠庡綋鍓嶆嫑鏍囩殑鏁版嵁閲岃幏寰楀垽鏂潯浠� 20210818 start
+ // if(!'鍚�'.equals(BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.IsRelateProject__c)){
+ if(!'鍚�'.equals(tempTender.IsRelateProject__c)){
+ // 鎷涙爣-璇环鍏宠仈淇敼 20210818 end
+ //涓�.鍏宠仈鍖婚櫌
+ //閬嶅巻鎷涙姇鏍囬」鐩笅鎵�鏈夎浠风殑鍖婚櫌,缁欐嫑鎶曟爣椤圭洰鐨�5涓尰闄㈣祴鍊� ---start
+ //閬嶅巻鎷涙姇鏍囬」鐩笅鎵�鏈夎浠风殑鍖婚櫌
+ if(OppHospitalList.size()>0){
+ for(Integer i = 0; i<OppHospitalList.size();i++){
+ //褰撴嫑鎶曟爣椤圭洰鐨勪簲涓尰闄㈣祴鍊煎畬鎴愬悗涓嶅啀璧嬪��
+ Boolean HospitalIsNeedBreak = false;
+ for(String ApiName :fiveHospitalMap.keySet()){
+ HospitalIsNeedBreak = fiveHospitalMap.get(ApiName)==null?false:true;
+ }
+
+ if(HospitalIsNeedBreak){
+ break;
+ }
+
+ //缁欐嫑鎶曟爣椤圭洰鐨�5涓尰闄㈣鍊�
+ for(String ApiName : fiveHospitalMap.keySet()){
+ String tempTenderHospId = fiveHospitalMap.get(ApiName)==null?'':fiveHospitalMap.get(ApiName);
+ String oppHospId = OppHospitalList.get(i);
+ //濡傛灉鎷涙爣椤圭洰宸茬粡鏈夎鍖婚櫌灏卞垽鏂笅涓�涓浠风殑鍖婚櫌
+ if(tempTenderHospId.contains(oppHospId)){
+ break;
+ }
+
+ //鍖婚櫌涓虹┖,璧嬪�煎尰闄�(璧嬪�间箣鍚庤繘琛岃祴鍊间笅涓�涓尰闄�)
+ if(String.isBlank( fiveHospitalMap.get(ApiName) )){
+ fiveHospitalMap.put(ApiName,oppHospId);
+ break;
+ }
+ }
+
+ }
+ }
+
+ //璧嬪�煎尰闄�
+ tempTender.Hospital__c = fiveHospitalMap.get('Hospital__c');
+ tempTender.Hospital1__c = fiveHospitalMap.get('Hospital1__c');
+ tempTender.Hospital2__c = fiveHospitalMap.get('Hospital2__c');
+ tempTender.Hospital3__c = fiveHospitalMap.get('Hospital3__c');
+ tempTender.Hospital4__c = fiveHospitalMap.get('Hospital4__c');
+ //閬嶅巻鎷涙姇鏍囬」鐩笅鎵�鏈夎浠风殑鍖婚櫌,缁欐嫑鎶曟爣椤圭洰鐨�5涓尰闄㈣祴鍊� ---end
+
+ }
+
+ //濡傛灉 鏄惁鐩稿叧 瀛楁宸茬粡閫夋嫨鍚�, 灏变笉搴旇鏇存柊鐩稿叧鍙婄浉鍏崇殑鐩稿叧淇℃伅
+ // 鎷涙爣-璇环鍏宠仈淇敼 鍚屼笂淇敼 浠庡綋鍓嶆嫑鏍囩殑鏁版嵁閲岃幏寰楀垽鏂潯浠� 20210818 start
+ // if(!'鍚�'.equals(BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.IsRelateProject__c)
+ // &&!'鏄�'.equals(BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.IsRelateProject__c)){
+ // tempTender.IsRelateProject__c = '鏄�';
+ // }
+ if(!'鍚�'.equals(tempTender.IsRelateProject__c)
+ &&!'鏄�'.equals(tempTender.IsRelateProject__c)){
+ tempTender.IsRelateProject__c = '鏄�';
+ }
+ // 鎷涙爣-璇环鍏宠仈淇敼 20210818 end
+ //<!------ 鐩稿叧鎬� 淇℃伅 end ---->
+
+ //<!------ 搴旀爣 淇℃伅 start---->
+ //2021-08-09 mzy 鍏宠仈璇环鎴愬姛鍚�,涓嶉渶瑕佽缃槸鍚﹀簲鏍� 涓� 鏄�
+ //濡傛灉 鏄惁搴旀爣 瀛楁宸茬粡閫夋嫨鍚�,灏变笉搴旇鏇存柊搴旀爣鍙婄浉鍏崇殑鐩稿叧淇℃伅
+ //if(!'鍚�'.equals(BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.IsBid__c)
+ // &&!'鏄�'.equals(BiddingDownOppList.get(0).Bidding_Project_Name_Bid__r.IsBid__c)){
+ // tempTender.IsBid__c = '鏄�';
+ //}
+ //2021-08-09 mzy 鍏宠仈璇环鎴愬姛鍚�,涓嶉渶瑕佽缃槸鍚﹀簲鏍� 涓� 鏄�
+ //<!------ 搴旀爣 淇℃伅 end---->
+
+ }else {
+ //娓呯┖
+ tempTender.OpportunityStatus__c = '';
+ }
+ updateTenderList.add(tempTender);
+ }
+
+
+ return updateTenderList;
+
+ }
+
+
+ //鏌ヨ鎷涙爣椤圭洰涓嬬殑鎵�鏈夎浠�
+ //param : 闇�瑕佹煡璇㈢殑鎷涙爣椤圭洰Id
+ //return Map<鎷涙姇鏍囬」鐩甀d,List<璇环>>
+ public static Map<String,List<Opportunity>> findTenderRelativeOpp(Set<String> BiddingProjectID){
+ //瀹氫箟Map灏佽鏁版嵁
+ Map<String,List<Opportunity>> BiddingProjectOppMap = new Map<String,List<Opportunity>>();
+ //鏌ヨ鎷涙爣椤圭洰涓嬬殑鎵�鏈夎浠�
+ // 鎷涙爣-璇环鍏宠仈淇敼 澶氬澶氬叧绯诲搴� 浠庡叧鑱旇〃涓幏鍙栬浠� 20210818 start
+ List<Tender_Opportunity_Link__c> links = [SELECT Id, Tender_information__c, Opportunity__c FROM Tender_Opportunity_Link__c WHERE Tender_information__c in :BiddingProjectID];
+ List<String> oppIds = new List<String>();
+ for (Tender_Opportunity_Link__c link : links) {
+ // 澶氬澶氬叧绯� 闇�瑕佸幓閲�
+ if (oppIds.contains(link.Opportunity__c)) {
+ continue;
+ }
+ oppIds.add(link.Opportunity__c);
+ }
+ List<Opportunity> allRelativeOppList = [SELECT Id ,AccountId,Hospital__c,Department_Class__c,SAP_Send_OK__c,CreatedDate, Whether_Bidding__c,
+ Old_BiddingProject_Bid__c, OwnerId, StageName__c, Bidding_Project_Name_Bid__c, ConfirmationofAward__c
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 start
+ ,OlyNumberHosts__c, RivalHostsNumber__c, InquireNumberHosts__c
+ //20221010 lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 end
+ FROM Opportunity WHERE Id in :oppIds ORDER By createdDate ASC];
+ // List<Opportunity> allRelativeOppList = [SELECT Id ,AccountId,Hospital__c,Department_Class__c,SAP_Send_OK__c,CreatedDate, Whether_Bidding__c,
+ // Old_BiddingProject_Bid__c,Bidding_Project_Name_Bid__c ,StageName__c ,Bidding_Project_Name_Bid__r.Hospital__c,Bidding_Project_Name_Bid__r.Hospital1__c,
+ // Bidding_Project_Name_Bid__r.Hospital2__c,Bidding_Project_Name_Bid__r.Hospital3__c,Bidding_Project_Name_Bid__r.Hospital4__c,
+ // Bidding_Project_Name_Bid__r.OwnerId,OwnerId,
+ // Bidding_Project_Name_Bid__r.IsRelateProject__c ,Bidding_Project_Name_Bid__r.IsBid__c ,Bidding_Project_Name_Bid__r.department__c,
+ // Bidding_Project_Name_Bid__r.subDepartment1__c,Bidding_Project_Name_Bid__r.subDepartment2__c,Bidding_Project_Name_Bid__r.subDepartment3__c,
+ // Bidding_Project_Name_Bid__r.subDepartment4__c FROM Opportunity WHERE Bidding_Project_Name_Bid__c in :BiddingProjectID ORDER By createdDate ASC];
+
+ //閬嶅巻璇环闆嗗悎
+ //2.鎸夊垱寤烘椂闂存帓搴�(姝e簭),鍒涘缓map
+ for(Opportunity tempOp :allRelativeOppList){
+ // 寰幆link锛屾壘鍒拌浠峰搴旂殑鎷涙爣
+ for (Tender_Opportunity_Link__c link : links) {
+ if (link.Opportunity__c == tempOp.Id) {
+ String fifteenTenderId = String.valueOf(link.Tender_information__c).subString(0,15);
+ //Map閲岄潰娌℃湁淇濆瓨褰撳墠璇环鐨勬嫑鏍囬」鐩笅鐨勮浠�
+ if(!BiddingProjectOppMap.containsKey(fifteenTenderId)){
+ //绗竴娆″瓨鏀�
+ List<Opportunity> tempOppList = new List<Opportunity>();
+ tempOppList.add(tempOp);
+ BiddingProjectOppMap.put(fifteenTenderId,tempOppList);
+ }else {
+ //浠ュ悗瀛樻斁
+ List<Opportunity> tempOppListE = BiddingProjectOppMap.get(fifteenTenderId);
+ tempOppListE.add(tempOp);
+ BiddingProjectOppMap.put(fifteenTenderId,tempOppListE);
+ }
+ }
+ }
+ //鍒ゆ柇褰撳墠璇环鏄惁鏈夋嫑鏍囬」鐩�
+ // if(tempOp.Bidding_Project_Name_Bid__c!=null){
+ // String fifteenTenderId = String.valueOf(tempOp.Bidding_Project_Name_Bid__c).subString(0,15);
+ // //Map閲岄潰娌℃湁淇濆瓨褰撳墠璇环鐨勬嫑鏍囬」鐩笅鐨勮浠�
+ // if(!BiddingProjectOppMap.containsKey(fifteenTenderId)){
+ // //绗竴娆″瓨鏀�
+ // List<Opportunity> tempOppList = new List<Opportunity>();
+ // tempOppList.add(tempOp);
+ // BiddingProjectOppMap.put(fifteenTenderId,tempOppList);
+ // }else {
+ // //浠ュ悗瀛樻斁
+ // List<Opportunity> tempOppListE =BiddingProjectOppMap.get(fifteenTenderId);
+ // tempOppListE.add(tempOp);
+ // BiddingProjectOppMap.put(fifteenTenderId,tempOppListE);
+ // }
+ // }
+ }
+ //瀹屽杽Map : 璇环涓�0鐨勬嫑鎶曟爣椤圭洰搴旇涔熸湁涓�鍒�
+ for(String TenderId : BiddingProjectID){
+ String fifteenTenderId = TenderId.subString(0,15);
+ if(!BiddingProjectOppMap.containsKey(fifteenTenderId)){
+ List<Opportunity> tempOppList = new List<Opportunity>();
+ BiddingProjectOppMap.put(fifteenTenderId,tempOppList);
+ }
+ }
+
+ return BiddingProjectOppMap;
+ }
+
+
+ // 鍙戦�佹彁閱掗偖浠�
+ private void sendFieldEmail() {
+ PretechBatchEmailUtil be = new PretechBatchEmailUtil();
+ String[] toList = new String[] {UserInfo.getUserEmail()};
+ String title = '鎷涙爣椤圭洰璇环鐘舵�佸拰璇环鏁伴噺鏇存柊澶辫触';
+ //String[] ccList = new String[] {'Xiaochen_You@olympus.com.cn'};
+ String[] ccList = new String[] {'miaoziyang@prec-tech.com'};
+ if (System.Test.isRunningTest()) {
+ be.successMail('', 1);
+ }
+ if (emailMessages.size() > 0 && TenderfailedCount > 0) {
+ be.failedMail(toList, ccList, title, this.emailMessages.get(0)+'\n',
+ TendertotalCount, TendertotalCount - TenderfailedCount, TenderfailedCount,'',true);
+ if(!Test.isRunningTest()){
+ be.send();
+ }
+ }
+ }
+
+ public static void justForTest() {
+ Integer i = 0;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ i++;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/UpdateTenderInformationBatch.cls-meta.xml b/force-app/main/default/classes/UpdateTenderInformationBatch.cls-meta.xml
new file mode 100644
index 0000000..e3d1b51
--- /dev/null
+++ b/force-app/main/default/classes/UpdateTenderInformationBatch.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>45.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/loanerArrangedEmailController.cls b/force-app/main/default/classes/loanerArrangedEmailController.cls
new file mode 100644
index 0000000..bb34d2f
--- /dev/null
+++ b/force-app/main/default/classes/loanerArrangedEmailController.cls
@@ -0,0 +1,95 @@
+public with sharing class loanerArrangedEmailController {
+
+
+
+ public loanerArrangedEmailController() {
+ }
+
+ @AuraEnabled
+ public static InitData init(String recordId) {
+ String statusSting = Label.StatusProcessState;
+ List<String> status = statusSting.split(',');
+ InitData res = new InitData();
+ try {
+ Rental_Apply__c rac = [SELECT Id, Status__c, Campaign__c, RC_return_to_office__c, Repair_Final_Inspection_Date_F__c, Repair__c, Assigned_Not_Shipment__c, Demo_purpose1__c, Contract_pdf_updated__c, Wei_Assigned_Cnt__c from Rental_Apply__c where Id = :recordId];
+
+ if( rac.Campaign__c != null ){
+ //鑾峰彇瀛︿細瀵硅薄
+ Campaign camp = [select Id, Status, Rental_Apply_Flag__c,IF_Approved__c,Approved_Status__c, Meeting_Approved_No__c from Campaign where id = :rac.Campaign__c];
+ res.CampaignId = camp.Id;
+ res.CampaignStatus = camp.Status;
+ res.IFApproved = camp.IF_Approved__c;
+ res.MeetingApprovedNo = camp.Meeting_Approved_No__c;
+ res.ApprovedStatus = camp.Approved_Status__c;
+ }
+ res.Id = recordId;
+ res.RaStatus = rac.Status__c;
+ res.WeiAssignedCnt = Integer.valueOf(rac.Wei_Assigned_Cnt__c);
+ res.AssignedNotShipment = Integer.valueOf(rac.Assigned_Not_Shipment__c);
+ res.DemoPurpose1 = rac.Demo_purpose1__c;
+ res.ContractPdfUpdated = rac.Contract_pdf_updated__c;
+ res.RepairId = rac.Repair__c;
+ res.RepairFinalInspectionDateF = rac.Repair_Final_Inspection_Date_F__c;
+ res.RCReturnToOffice = rac.RC_return_to_office__c;
+ res.StatusList = status;
+ }
+ catch (Exception e) {
+ System.debug(LoggingLevel.INFO, '****e:' + e);
+ }
+ system.debug('res======'+res);
+ return res;
+ }
+
+
+ //鑾峰彇澶囧搧鍊熷嚭涓�鏍�
+ @AuraEnabled
+ public static Integer getRentalApplyEquipmentSet(String recordId) {
+ Rental_Apply__c tempRa = [SELECT Id, Bollow_Date__c from Rental_Apply__c where Id = :recordId];
+ List<Rental_Apply_Equipment_Set__c> tempRaEquipSetList = new List<Rental_Apply_Equipment_Set__c>();
+ Integer pageLength ;
+ if(tempRa.Bollow_Date__c != null) {
+ tempRaEquipSetList = [SELECT Id from Rental_Apply_Equipment_Set__c where Rental_Apply__c = :recordId AND Shippment_loaner_time__c != null and RAES_Status__c != '宸插垎閰�' and RAES_Status__c != '鍙栨秷鍒嗛厤'];
+ }else {
+ tempRaEquipSetList = [SELECT Id from Rental_Apply_Equipment_Set__c where Rental_Apply__c = :recordId AND RAES_Status__c != '宸插垎閰�' and RAES_Status__c != '鍙栨秷鍒嗛厤'];
+ }
+ //
+ if(tempRaEquipSetList.size()>0) {
+ Integer setLength = tempRaEquipSetList.size();
+ pageLength = Math.mod(setLength,10) == 0 ? setLength/10 : Math.round(setLength) + 1;
+ }
+ return pageLength;
+ }
+
+ public class InitData{
+ @AuraEnabled
+ public String Id;
+ @AuraEnabled
+ public String CampaignStatus; //瀛︿細鐘舵��
+ @AuraEnabled
+ public String CampaignId; //瀛︿細Id
+ @AuraEnabled
+ public String RaStatus; //澶囧搧鍊熷嚭鐢宠鐘舵��
+ @AuraEnabled
+ public Integer WeiAssignedCnt; //鏈垎閰嶄欢鏁� Wei_Assigned_Cnt__c
+ @AuraEnabled
+ public Integer AssignedNotShipment; //宸插垎閰嶆湭鍑哄簱鎸囩ず Assigned_Not_Shipment__c
+ @AuraEnabled
+ public String DemoPurpose1; //浣跨敤鐩殑1 Demo_purpose1__c
+ @AuraEnabled
+ public Boolean ContractPdfUpdated; //鍚堝悓涔﹀凡涓婁紶 Contract_pdf_updated__c
+ @AuraEnabled
+ public String RepairId; //瀛︿細.淇悊Id
+ @AuraEnabled
+ public Date RepairFinalInspectionDateF; //淇悊鏈�缁堟娴嬫棩F Repair_Final_Inspection_Date_F__c
+ @AuraEnabled
+ public Date RCReturnToOffice; //RC淇悊鍝佽繑閫佹棩 RC_return_to_office__c
+ @AuraEnabled
+ public Boolean IFApproved; //瀛︿細.鏄惁闇�瑕佺敵璇峰喅瑁�
+ @AuraEnabled
+ public String MeetingApprovedNo; //瀛︿細.浼氳鍐宠缂栫爜
+ @AuraEnabled
+ public String ApprovedStatus; //瀛︿細.鍐宠鐘舵�� Approved_Status__c
+ @AuraEnabled
+ public List<String> StatusList;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/loanerArrangedEmailController.cls-meta.xml b/force-app/main/default/classes/loanerArrangedEmailController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/loanerArrangedEmailController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/rentalApplyEquipmentRentalPDFController.cls b/force-app/main/default/classes/rentalApplyEquipmentRentalPDFController.cls
new file mode 100644
index 0000000..9959c74
--- /dev/null
+++ b/force-app/main/default/classes/rentalApplyEquipmentRentalPDFController.cls
@@ -0,0 +1,25 @@
+public with sharing class rentalApplyEquipmentRentalPDFController {
+ public rentalApplyEquipmentRentalPDFController() {
+
+ }
+ @AuraEnabled
+ public static InitData initJumptoPDFButton(String recordId) {
+ InitData res = new InitData();
+ try {
+ List<Rental_Apply_Equipment_Set__c> raeSet = [SELECT Id from Rental_Apply_Equipment_Set__c where Rental_Apply__c = :recordId and Yi_Shipment_request__c > 0 and RAES_Status__c != '鍙栨秷'];
+ Integer setLength = raeSet.size();
+ res.pageLength = Math.mod(setLength,10)== 0 ? setLength/10 : Math.round(setLength) +1 ;
+ }catch(Exception e){
+ System.debug(LoggingLevel.INFO, '****e:' + e);
+ }
+ return res;
+ }
+
+ public class InitData{
+ @AuraEnabled
+ public String Id;
+ @AuraEnabled
+ public Integer pageLength;
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/rentalApplyEquipmentRentalPDFController.cls-meta.xml b/force-app/main/default/classes/rentalApplyEquipmentRentalPDFController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/rentalApplyEquipmentRentalPDFController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.css b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.css
new file mode 100644
index 0000000..b606828
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.css
@@ -0,0 +1,11 @@
+.lexFinlibraryHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.html b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.html
new file mode 100644
index 0000000..aab9e0c
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.html
@@ -0,0 +1,4 @@
+<template>
+<div class="lexFinlibraryHolder" if:true={IsLoding}>
+<lightning-spinner alternative-text="Loading" size="medium"> </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js
new file mode 100644
index 0000000..febcdf5
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js
@@ -0,0 +1,55 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import getBulletinBoard from '@salesforce/apex/FinLibraryButtonController.getBulletinBoard';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+export default class lexFinLibrary extends LightningElement {
+
+ @api recordId;
+ IsLoading;
+ Bulletin_Board__c;
+
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference){
+ if(currentPageReference){
+ console.log(currentPageReference);
+ console.log("杩涘叆鑾峰彇page鍙傛暟")
+ const IdValue=currentPageReference.state.recordId;
+ if(IdValue){
+ let str=`${IdValue}`;
+ this.recordId=str;
+ console.log("recordId="+str);
+ }
+ }
+ }
+
+
+ connectedCallback(){
+ getBulletinBoard({recordId:this.recordId}).then(res=>{
+ if(res!=null){
+ this.IsLoading=false;
+ console.log("res");
+ console.log(res);
+ console.log("杩涘叆鍒濆鍖栧璞″叾浠栧睘鎬�");
+ this.Bulletin_Board__c=res;
+ console.log(this.Bulletin_Board__c);
+ this.FinLibrary();
+ }
+ else{
+ var a="娌¤繘鏂规硶";
+ console.log(a);
+ }
+ }).catch(error =>{
+ console.log("error");
+ console.log(error.message);
+ }).finally(()=>{
+
+ });
+ }
+
+ FinLibrary(){
+ window.open(this.Bulletin_Board__c.iPad_Finlibrary__c, 'FinLibrary', '_top');
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js-meta.xml b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js-meta.xml
new file mode 100644
index 0000000..79fced5
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary/lexFinLibrary.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexFinLibrary">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.css b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.css
new file mode 100644
index 0000000..bb273c4
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.css
@@ -0,0 +1,11 @@
+.lexFinlibraryHolder2{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.html b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.html
new file mode 100644
index 0000000..81373b2
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.html
@@ -0,0 +1,4 @@
+<template>
+<div class="lexFinlibraryHolder2" if:true={IsLoding}>
+<lightning-spinner alternative-text="Loading" size="medium"> </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js
new file mode 100644
index 0000000..3db3717
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js
@@ -0,0 +1,62 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import getBulletinBoard from '@salesforce/apex/FinLibraryButtonController2.getBulletinBoard';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+export default class lexFinLibrary2 extends LightningElement {
+
+
+ @api recordId;
+ IsLoading;
+ Bulletin_Board__c;
+
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference){
+ if(currentPageReference){
+ console.log(currentPageReference);
+ console.log("杩涘叆鑾峰彇page鍙傛暟")
+ const IdValue=currentPageReference.state.recordId;
+ if(IdValue){
+ let str=`${IdValue}`;
+ this.recordId=str;
+ console.log("recordId="+str);
+ }
+ }
+ }
+
+
+
+
+ connectedCallback(){
+ getBulletinBoard({recordId:this.recordId}).then(res=>{
+ if(res!=null){
+ this.IsLoading=false;
+ console.log("res");
+ console.log(res);
+ console.log("杩涘叆鍒濆鍖栧璞″叾浠栧睘鎬�");
+ this.Bulletin_Board__c=res;
+ console.log(this.Bulletin_Board__c);
+ this.FinLibrary2();
+ }
+ else{
+ var a="娌¤繘鏂规硶";
+ console.log(a);
+ }
+ }).catch(error =>{
+ console.log("error");
+ console.log(error.message);
+ }).finally(()=>{
+
+ });
+ }
+
+
+ FinLibrary2(){
+
+
+ window.open(this.Bulletin_Board__c.iPad_Finlibrary_2__c, 'FinLibrary', '_top');
+ this.dispatchEvent(new CloseActionScreenEvent());
+
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js-meta.xml b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js-meta.xml
new file mode 100644
index 0000000..f128d90
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary2/lexFinLibrary2.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexFinLibrary2">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.css b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.css
new file mode 100644
index 0000000..69ceae8
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.css
@@ -0,0 +1,11 @@
+.lexFinlibraryHolder3{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.html b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.html
new file mode 100644
index 0000000..2e542b1
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.html
@@ -0,0 +1,4 @@
+<template>
+<div class="lexFinlibraryHolder3" if:true={IsLoding}>
+<lightning-spinner alternative-text="Loading" size="medium"> </lightning-spinner> </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js
new file mode 100644
index 0000000..21eca75
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js
@@ -0,0 +1,58 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import getBulletinBoard from '@salesforce/apex/FinLibraryButtonController3.getBulletinBoard';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+export default class lexFinLibrary3 extends LightningElement {
+
+ @api recordId;
+ IsLoading;
+ Bulletin_Board__c;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference){
+ if(currentPageReference){
+ console.log(currentPageReference);
+ console.log("杩涘叆鑾峰彇page鍙傛暟")
+ const IdValue=currentPageReference.state.recordId;
+ if(IdValue){
+ let str=`${IdValue}`;
+ this.recordId=str;
+ console.log("recordId="+str);
+ }
+ }
+ }
+
+
+
+
+ connectedCallback(){
+ getBulletinBoard({recordId:this.recordId}).then(res=>{
+ if(res!=null){
+ this.IsLoading=false;
+ console.log("res");
+ console.log(res);
+ console.log("杩涘叆鍒濆鍖栧璞″叾浠栧睘鎬�");
+ this.Bulletin_Board__c=res;
+ console.log(this.Bulletin_Board__c);
+ this.FinLibrary3();
+ }
+ else{
+ var a="娌¤繘鏂规硶";
+ console.log(a);
+ }
+ }).catch(error =>{
+ console.log("error");
+ console.log(error.message);
+ }).finally(()=>{
+
+ });
+ }
+
+
+ FinLibrary3(){
+ window.open(this.Bulletin_Board__c.iPad_Finlibrary_3__c, 'FinLibrary', '_top');
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js-meta.xml b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js-meta.xml
new file mode 100644
index 0000000..5323374
--- /dev/null
+++ b/force-app/main/default/lwc/lexFinLibrary3/lexFinLibrary3.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexFinLibrary3">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.css b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+.container .uiContainerManager{
+ display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.html b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.html
new file mode 100644
index 0000000..3eff9e8
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="EquipmentRentalPDF" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js
new file mode 100644
index 0000000..3916190
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js
@@ -0,0 +1,102 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import init from '@salesforce/apex/loanerArrangedEmailController.init';
+import getRentalApplyEquipmentSet from '@salesforce/apex/loanerArrangedEmailController.getRentalApplyEquipmentSet';
+import approvalCheck from '@salesforce/apex/RentalApplyWebService.approvalCheck';
+import setShipment_request from '@salesforce/apex/RentalApplyWebService.approvalCheck';
+export default class lexLoanerArrangedEmail extends LightningElement {
+ @api recordId;
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if(currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if(urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback() {
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ console.log(this.recordId);
+ console.log('result==='+JSON.stringify(result));
+ if(result != null) {
+ if( result.WeiAssignedCnt > 0 ) {
+ alert("鐢宠鍗曞唴瀛樺湪鏈垎閰嶇殑閰嶅锛岃鍒嗛厤澶囧搧鎴栧垎鍓茬敵璇峰崟");
+ }else if(result.CampaignStatus == "鍙栨秷") {
+ alert("瀛︿細鍙栨秷锛屼笉鍙嚭搴撴寚绀�");
+ }else if (result.RaStatus == "宸插嚭搴撴寚绀�" && result.AssignedNotShipment == 0){
+ alert("鎵�鏈夌殑鍊熷嚭澶囧搧Set涓�瑙堥兘杩涜杩囧嚭搴撴寚绀轰簡");
+ }else if (result.AssignedNotShipment == 0) {
+ alert("娌℃湁鍙互鍑哄簱鎸囩ず鐨勬槑缁�");
+ }else if (result.DemoPurpose1 == "闀挎湡鍊熷嚭" && result.ContractPdfUpdated == 0){
+ alert("闀挎湡鍊熷嚭鏃讹紝蹇呴』鍏堜笂浼犲绾︿功");
+ }else if (result.RepairId != '' && (result.RepairFinalInspectionDateF != null && result.RepairFinalInspectionDateF != '') || (result.RCReturnToOffice != null && result.RCReturnToOffice != '')){
+ alert("淇悊鏈夋渶缁堟娴嬫棩鎴栦慨鐞嗗搧杩旈�佹棩锛屼笉鍙嚭搴撴寚绀�");
+ }else if (result.IFApproved == "true" && (result.MeetingApprovedNo == null || result.MeetingApprovedNo == "")){
+ alert("娌℃湁鍐宠鍙风殑锛屾殏涓嶈兘鍑哄��,璇锋洿鏂拌鍐充俊鎭��");
+ }else if (result.IFApproved == "true" && result.MeetingApprovedNo != "" && result.StatusList.indexOf(records[0].Approved_Status__c) != -1){
+ alert("宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢銆�");
+ }else {
+ approvalCheck({
+ rentalApplyId: this.recordId
+ }).then(res=>{
+ if (res != '1') {
+ alert(rs1);
+ } else {
+ //bp2 var rs2 = sforce.apex.execute("RentalApplyWebService", "reserve", {rentalApplyId: raid});
+ //bp2 if (rs2 != '1') {
+ //bp2 alert(rs2);
+ //bp2 } else {
+ //var rs1 = sforce.apex.execute("RentalApplyWebService", "setShipment_request", {raid : "{!Rental_Apply__c.Id}"});
+
+ setShipment_request({
+ raid: this.recordId
+ }).then(res=>{
+ if (res == "鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�") {
+ alert("鐘舵�佹洿鏂板埌宸插嚭搴撴寚绀�");
+ print();
+ setTimeout(function() {
+ location.href = "/{!Rental_Apply__c.Id}";
+ },100);
+ }else {
+ alert(res);
+ }
+ }).catch(e=>{
+ console.log('approvalCheck==='+e);
+ })
+ }
+ }).catch(e=>{
+ console.log('setShipment_request==='+e);
+ })
+ }
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ })
+ }
+
+ print() {
+ getRentalApplyEquipmentSet({
+ recordId: this.recordId
+ }).then(result => {
+ window.open("https://ocsm--partial.sandbox.lightning.force.com/apex/FixtureRentalPDF?raid=" + this.recordId + "&page=" + result);
+ })
+ }
+
+ fixDate(date){
+ var Month = fixTime(date.getMonth() + 1);
+ var Day = fixTime(date.getDate());
+ var UTC = date.toUTCString();
+ var Time = UTC.substring(UTC.indexOf(':')-2, UTC.indexOf(':')+6);
+ var Minutes = fixTime(date.getMinutes());
+ var Seconds = fixTime(date.getSeconds());
+ return date.getFullYear() + "-" + Month + "-" + Day + "T" + Time;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js-meta.xml b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js-meta.xml
new file mode 100644
index 0000000..e261be9
--- /dev/null
+++ b/force-app/main/default/lwc/lexLoanerArrangedEmail/lexLoanerArrangedEmail.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.css b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.css
new file mode 100644
index 0000000..79456f2
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+ border: 1px solid #D4D4D4;
+ border-radius : 5px;
+ border-top : 3px solid #565959;
+}
+.borderCss{
+ border: 1px solid #D4D4D4;
+ border-radius : 5px;
+ margin-bottom : 7px;
+ border-top : 3px solid #565959;
+}
+.headerDorderCss{
+ border-top: 1px solid #565959;
+ border-bottom: 1px solid #D4D4D4;
+ padding:3px;
+}
+.centerCss{
+ text-align: center;
+}
+.centerCss .left{
+ margin-left: 100px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.html b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="sisToOPDHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js
new file mode 100644
index 0000000..2c3c93c
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js
@@ -0,0 +1,105 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init from '@salesforce/apex/QISReportController.initForlexOCSMNoToReportLightingButton';
+import updateQis from '@salesforce/apex/QISReportController.updateQisForlexOCSMNoToReportLighting';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexOCSMNoToReportLighting extends LightningElement {
+ @api recordId;
+ IsLoading = true;
+ qisReportId;
+ OCSMAdministrativeReportNumber;
+ OCSMAdministrativeReportDate;
+ Awaredate;
+ err;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ console.log(111);
+ console.log(currentPageReference);
+
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ console.log("str");
+ console.log(str);
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback () {
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ this.IsLoading = false;
+ this.OCSMAdministrativeReportNumber = result.oCSMAdministrativeReportNumber;
+ this.OCSMAdministrativeReportDate = result.oCSMAdministrativeReportDate;
+ this.qisReportId = result.Id;
+ this.Awaredate = result.awaredate;
+ if (!confirm("涓嶈鎶ュ憡鍚庢棤娉曟挙鍥烇紝鏄惁缁х画锛�")) {
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }
+ if (this.OCSMAdministrativeReportDate != null || this.OCSMAdministrativeReportNumber != null) {
+ const evt = new ShowToastEvent({
+ title : '宸茬粡鎶ュ憡鐨凲IS锛屼笉鍙互鐐瑰嚮OCSM涓嶈鎶ュ憡',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }
+ if (this.Awaredate!=null) {
+ this.updateQisSubmit();
+ }else{
+ const evt = new ShowToastEvent({
+ title : '娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }
+ }).catch(error => {
+ console.log('error='+error);
+ }).finally(() => {
+
+ });
+ }
+
+ updateRecordView(recordId) {
+ updateRecord({fields: { Id: recordId }});
+ }
+
+ updateQisSubmit(){
+ updateQis({
+ recordId: this.recordId
+ }).then(result =>{
+ console.log('result'+result);
+ this.err = result;
+ if (result!='鎴愬姛') {
+ const evt = new ShowToastEvent({
+ title : '鏇存柊澶辫触',
+ message: this.err,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ }
+ this.dispatchEvent(new CloseActionScreenEvent());
+ this.updateRecordView(this.recordId);
+ }).catch(error => {
+ console.log('error='+error);
+ }).finally(() => {
+
+ });
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js-meta.xml b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js-meta.xml
new file mode 100644
index 0000000..791ff80
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMNoToReportLighting/lexOCSMNoToReportLighting.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCSMNoToReportLighting">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.css b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.css
new file mode 100644
index 0000000..0ca9d8e
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.css
@@ -0,0 +1,10 @@
+.toReportHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+.container .uiContainerManager{
+ display: none !important;
+}/* sample css file *//* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.html b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="sisToOPDHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js
new file mode 100644
index 0000000..fe89267
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js
@@ -0,0 +1,89 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init from '@salesforce/apex/QISReportController.initForlexOCSMToReportLightingButton';
+import updateQis from '@salesforce/apex/QISReportController.updateQisForlexOCSMToReportLighting';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexOCSMToReportLighting extends LightningElement {
+ @api recordId;
+ str;
+ err;
+ IsLoading = true;
+ qisReportId;
+ OCSMAdministrativeReportStatus;
+ Awaredate;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback() {
+ console.log(this.recordId);
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ console.log(result);
+ this.IsLoading = false;
+ this.OCSMAdministrativeReportStatus = result.oCSMAdministrativeReportStatus;
+ this.qisReportId = result.Id;
+ this.Awaredate = result.awaredate;
+ if (!confirm("涓嶈鎶ュ憡鍚庢棤娉曟挙鍥烇紝鏄惁缁х画锛�")) {
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }
+ if (this.OCSMAdministrativeReportStatus == null && this.Awaredate!=null) {
+ this.updateQisSubmit();
+ }else{
+ const evt = new ShowToastEvent({
+ title : '娌℃湁AwareDate鎴栧凡缁廜CSM琛屾斂鎶ュ憡锛岃纭',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }
+ }).catch(error => {
+ console.log(error);
+ }).finally(() => {
+
+ });
+ }
+ updateRecordView(recordId) {
+ updateRecord({fields: { Id: recordId }});
+ }
+
+ updateQisSubmit(){
+ updateQis({
+ recordId: this.recordId
+ }).then(result =>{
+ console.log('result'+result);
+ this.err = result;
+ if (result!='鎴愬姛') {
+ const evt = new ShowToastEvent({
+ title : '鏇存柊澶辫触',
+ message: this.err,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ }
+ this.dispatchEvent(new CloseActionScreenEvent());
+ this.updateRecordView(this.recordId);
+ }).catch(error => {
+ console.log('error='+error);
+ }).finally(() => {
+
+ });
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js-meta.xml b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js-meta.xml
new file mode 100644
index 0000000..b0e1001
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCSMToReportLighting/lexOCSMToReportLighting.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCSMToReportLighting">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js
index 0e82f06..515ea3e 100644
--- a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js
+++ b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js
@@ -2,6 +2,7 @@
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init from '@salesforce/apex/QISReportController.initForOSHSubmitButton';
import updateQis from '@salesforce/apex/QISReportController.updateQis1';
import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
@@ -44,27 +45,59 @@
console.log('this.OSHstaff='+this.OSHstaff);
console.log('this.OSHstaffEmail='+this.OSHstaffEmail);
if (this.qisStatus=='OSH妫�娴嬬敵璇�' && this.qisStatus=='瀹屾瘯') {
- alert('闇�瑕佸厛鐐瑰嚮锛籓SH妫�鏌ュ彈鐞嗭冀');
- return;
+ const evt = new ShowToastEvent({
+ title : '闇�瑕佸厛鐐瑰嚮锛籓SH妫�鏌ュ彈鐞嗭冀',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
}
if (this.qisStatus!='OSH妫�娴嬩腑') {
- alert('宸茬粡鎻愪氦瀹℃壒');
- return;
+ const evt = new ShowToastEvent({
+ title : '宸茬粡鎻愪氦瀹℃壒',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
}
if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
return;
}
if (this.OSHstaff==null||this.OSHstaffEmail==null) {
- alert("OSH鎷呭綋蹇呴』濉啓");
- return;
+ const evt = new ShowToastEvent({
+ title : 'OSH鎷呭綋蹇呴』濉啓',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
}
try{
this.updateQisSubmit();
}catch(err){
if(err.faultstring !=undefined && err.faultstring.indexOf('INVALID_SESSION_ID') != -1) {
- alert('褰撳墠缃戦〉宸茬櫥鍑猴紝璇锋偍閲嶆柊鐧诲綍鍚庡埛鏂拌缃戦〉锛�');
+ const evt = new ShowToastEvent({
+ title : '褰撳墠缃戦〉宸茬櫥鍑猴紝璇锋偍閲嶆柊鐧诲綍鍚庡埛鏂拌缃戦〉锛�',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
} else {
- alert(err.faultstring);
+ const evt = new ShowToastEvent({
+ title : err.faultstring,
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
}
return;
}
diff --git a/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.css b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+ border: 1px solid #D4D4D4;
+ border-radius : 5px;
+ border-top : 3px solid #565959;
+}
+.borderCss{
+ border: 1px solid #D4D4D4;
+ border-radius : 5px;
+ margin-bottom : 7px;
+ border-top : 3px solid #565959;
+}
+.headerDorderCss{
+ border-top: 1px solid #565959;
+ border-bottom: 1px solid #D4D4D4;
+ padding:3px;
+}
+.centerCss{
+ text-align: center;
+}
+.centerCss .left{
+ margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.html b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="sisToOPDHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js
new file mode 100644
index 0000000..2afabee
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js
@@ -0,0 +1,103 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { updateRecord } from 'lightning/uiRecordApi';
+import init from '@salesforce/apex/QISReportController.initForlexRCRecievedButton';
+import updateQis from '@salesforce/apex/QISReportController.updateQisForRCRecieved';
+
+export default class lexRCRecieved extends LightningElement {
+ @api recordId;
+ err;
+ IsLoading = true;
+ qisReportId;
+ qisStatus;
+ isAEProfile;
+ isPAEProfile;
+ isCNBuy;
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ console.log(111);
+ console.log(currentPageReference);
+
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ console.log("str");
+ console.log(str);
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback () {
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ this.IsLoading = false;
+ this.qisReportId = result.Id;
+ this.qisStatus = result.qIStatus;
+ this.isAEProfile = result.isAEProfile;
+ this.isPAEProfile = result.isPAEProfile;
+ this.isCNBuy = result.isCNBuy;
+ console.log('this.qisStatus='+this.qisStatus);
+ if (this.qisStatus!='RC妫�娴嬬敵璇�') {
+ const evt = new ShowToastEvent({
+ title : 'OCM鏈嶅姟鏈儴宸茬粡鏀跺埌瀹炵墿',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }else{
+ if (this.isAEProfile == null || this.isPAEProfile == null || this.isCNBuy != 'true') {
+ const evt = new ShowToastEvent({
+ title : '瀹夊叏淇℃伅鏈垽瀹氾紝璇疯仈绯昏川閲忔硶瑙勯儴',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }else{
+ this.updateQisSubmit();
+ }
+ }
+ }).catch(error => {
+ console.log('error='+error);
+ }).finally(() => {
+
+ });
+ }
+
+ updateRecordView(recordId) {
+ updateRecord({fields: { Id: recordId }});
+ }
+
+ updateQisSubmit(){
+ updateQis({
+ recordId: this.recordId
+ }).then(result =>{
+
+ console.log('result'+result);
+ this.err = result;
+ if (result!='鎴愬姛') {
+ const evt = new ShowToastEvent({
+ title : '鏇存柊澶辫触',
+ message: this.err,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ }
+ this.dispatchEvent(new CloseActionScreenEvent());
+ this.updateRecordView(this.recordId);
+ }).catch(error => {
+ console.log('error='+error);
+ }).finally(() => {
+
+ });
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js-meta.xml b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js-meta.xml
new file mode 100644
index 0000000..120b162
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCRecieved/lexRCRecieved.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRCRecieved">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendQIS/lexSendQIS.css b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+ border: 1px solid #D4D4D4;
+ border-radius : 5px;
+ border-top : 3px solid #565959;
+}
+.borderCss{
+ border: 1px solid #D4D4D4;
+ border-radius : 5px;
+ margin-bottom : 7px;
+ border-top : 3px solid #565959;
+}
+.headerDorderCss{
+ border-top: 1px solid #565959;
+ border-bottom: 1px solid #D4D4D4;
+ padding:3px;
+}
+.centerCss{
+ text-align: center;
+}
+.centerCss .left{
+ margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendQIS/lexSendQIS.html b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.html
new file mode 100644
index 0000000..c8bdbfc
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="sisToOPDHolder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js
new file mode 100644
index 0000000..f1ca368
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js
@@ -0,0 +1,121 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init from '@salesforce/apex/QISReportController.initForlexSendQISButton';
+import sendSPO from '@salesforce/apex/QISReportController.updateQisForSendQIS';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexSendQIS extends LightningElement {
+ @api recordId;
+ str;
+ err;
+ IsLoading = true;
+ qisReportId;
+ qisRecordTypeId;
+ qisRecordName;
+ ProfileName;
+ IsSendQIS;
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback() {
+ console.log(this.recordId);
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ console.log(result);
+ this.IsLoading = false;
+ this.qisRecordTypeId = result.qisRecordTypeId;
+ this.qisReportId = result.Id;
+ this.qisRecordName = result.qisRecordName;
+ this.ProfileName = result.profileName;
+ this.IsSendQIS = result.isSendQIS;
+ if (this.qisRecordName == '2.OCSM') {
+ const evt = new ShowToastEvent({
+ title : '涓嶈兘鎻愪氦鍒癝PO',
+ message: '璁板綍绫诲瀷涓�'+this.qisRecordName,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }
+
+ if (!(this.ProfileName == '绯荤粺绠$悊鍛�' || this.ProfileName == '2F4_鎶�鏈帹杩涢儴' || this.ProfileName == '2F1_鏈嶅姟绐楀彛')) {
+ const evt = new ShowToastEvent({
+ title : '娌℃湁鏉冮檺鎻愪氦锛岃鑱旂郴绯荤粺绠$悊鍛�',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }
+
+ if (this.IsSendQIS) {
+ const evt = new ShowToastEvent({
+ title : '宸叉彁浜ゅ埌SPO锛岃涓嶈閲嶅鎻愪氦',
+ message: '',
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }
+ this.send2SPO();
+ }).catch(error => {
+ console.log(error.getMessage());
+ }).finally(() => {
+
+ });
+ }
+ updateRecordView(recordId) {
+ updateRecord({fields: { Id: recordId }});
+ }
+
+ send2SPO(){
+ sendSPO({
+ recordId: this.recordId
+ }).then(result =>{
+ console.log('result'+result);
+ this.err = result;
+ if (result!='鎴愬姛') {
+ const evt = new ShowToastEvent({
+ title : '鏇存柊澶辫触',
+ message: this.err,
+ variant: 'error'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ return;
+ }else{
+ const evt = new ShowToastEvent({
+ title : '鎻愪氦鎴愬姛锛佽鍦⊿PO绯荤粺涓畬鎴愰��鎹㈣揣鐢宠',
+ message: '',
+ variant: 'success'
+ });
+ this.dispatchEvent(evt);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ this.updateRecordView(this.recordId);
+ window.location.replace("https://olympus.sharepoint.cn/sites/GSPWF/SitePages/HomePage.aspx");
+ }
+
+ }).catch(error => {
+ console.log('error='+error);
+ }).finally(() => {
+
+ });
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js-meta.xml b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js-meta.xml
new file mode 100644
index 0000000..814503e
--- /dev/null
+++ b/force-app/main/default/lwc/lexSendQIS/lexSendQIS.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSendQIS">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.css b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+.container .uiContainerManager{
+ display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.html b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.html
new file mode 100644
index 0000000..3eff9e8
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="EquipmentRentalPDF" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js
new file mode 100644
index 0000000..54846fe
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js
@@ -0,0 +1,67 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import init from '@salesforce/apex/SubmitExtensionApprovalProcessController.init';
+export default class lexSubmitExtensionApprovalProcess extends LightningElement {
+ @api
+ recordId;
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference){
+ if(currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if(urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback(){
+ init({
+ recordId:this.recordId
+ }).then(result=>{
+ var today = new Date();
+ //杩藉姞澶囧搧鐢宠鐘舵�佺‘璁わ紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜tatus__c
+ if(result.ExtensionStatus == '濉啓瀹屾瘯' || result.ExtensionStatus == '鐢宠涓�') {
+ alert('璇风‘璁ゅ欢鏈熺敵璇风姸鎬侊紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜�');
+ return;
+ }
+
+ var rs1 = sforce.apex.execute("RentalApplyWebService", "extension_approval_processCheck", {rentalApplyId: this.recordId});
+ if(rs1 != '1'){
+ if(rs1 == '2'){
+ //杩斿洖鍊间负2锛屽垽鏂叆鍙d负浠庡崟杩樻槸涓诲崟锛屽鏋滄槸浠庡崟锛岄偅涔堝氨闇�瑕佽烦鍘熸潵鐨勫崟涓欢鏈熼〉闈�
+ if(result.RootRentalApply == '' || result.RootRentalApply == null){
+ window.open("/apex/RentalApplyMultiPostpone?parentId=" + this.recordId);
+ }else {
+ window.open("/apex/RentalApplyExtensions?parentId=" + this.recordId);
+ }
+ }else{
+ alert(rs1);
+ return
+ }
+ }else{
+ if(result.demoPurpose2 == '鍗忚鍊熺敤'){
+ alert('璇峰湪[闄勪欢]鍐呬笂浼犳柊鐨勫悎鍚岄檮浠讹紝骞朵緷鎹悎鍚屽唴鏈熼檺杩涜鏃ユ湡濉啓锛屼箣鍚庢彁浜ゅ鎵�');
+ return;
+ }
+ if(result.AgreementBorrowingExtensionDate =='' || result.AgreementBorrowingExtensionDate == null){
+ alert('鍗忚鍊熺敤鐨勫欢鏈熺敵璇风殑銆愬崗璁�熺敤寤舵湡鏃ユ湡銆戜笉鑳戒负绌�');
+ return;
+ }
+ if(result.AgreementBorrowingExtensionDate <= result.ReturnDadelineFinal){
+ alert('鍗忚鍊熺敤鐨勫欢鏈熺敵璇风殑銆愬崗璁�熺敤寤舵湡鏃ユ湡銆戝繀椤诲ぇ浜庢渶鏂伴瀹氬綊杩樻棩');
+ return;
+ }
+ if(result.AgreementBorrowingExtensionDate <= today ){
+ alert('鍗忚鍊熺敤鐨勫欢鏈熺敵璇风殑銆愬崗璁�熺敤寤舵湡鏃ユ湡銆戝繀椤诲ぇ浜庝粖澶�');
+ return;
+ }
+ }
+ window.open("/apex/RentalApplyExtensions?parentId=" + this.recordId);
+ })
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js-meta.xml b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js-meta.xml
new file mode 100644
index 0000000..e261be9
--- /dev/null
+++ b/force-app/main/default/lwc/lexSubmitExtensionApprovalProcess/lexSubmitExtensionApprovalProcess.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.html b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.html
new file mode 100644
index 0000000..31d96b3
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="EnquiryButton" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js
new file mode 100644
index 0000000..24650e9
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js
@@ -0,0 +1,62 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import updateOpportunityInformation from '@salesforce/apex/UpdateTenderInformationBatch.updateOpportunityInformation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingEnquiryButton extends LightningElement {
+ @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+ id;//杩斿洖鍊肩殑id Tender_information__c鎷涙爣椤圭洰鐨刬d
+ IsLoading = true;
+ isRelateProject;//鍒ゆ柇鏄惁鍙嶅簲
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback(){
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ if (result != null) {
+ this.IsLoading = false;
+ this.id = result.Id;
+ this.isRelateProject = result.isRelateProject;
+ this.EnquiryButton();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ })
+ }
+ //鎷涙爣椤圭洰 鍙嶅簲璇环鐘舵��
+ EnquiryButton(){
+ if(this.isRelateProject == "鍚�"){
+ this.showToast('鎷涙姇鏍囬」鐩笉鐩稿叧鍚庝笉鑳藉弽搴旇浠风姸鎬�!','error');
+ return;
+ }
+ var listss = [];
+ listss.push(this.id);
+ updateOpportunityInformation({TenderIdList : listss}).then(result=>{
+ if(result != 'OK'){
+ this.showToast(result,'error');
+ }else {
+ this.showToast('鍙嶆槧瀹屼簡','success');
+ }
+ })
+ }
+
+ showToast(msg,type) {
+ const event = new ShowToastEvent({
+ message: msg,
+ variant: type
+ });
+ this.dispatchEvent(event);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingEnquiryButton/lexTenderingEnquiryButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.html b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.html
new file mode 100644
index 0000000..8e46b4b
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="IntentionButton" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js
new file mode 100644
index 0000000..f5f5d53
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js
@@ -0,0 +1,52 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingIntentionButton extends LightningElement {
+ @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+ id;//杩斿洖鍊肩殑id Tender_information__c鎷涙爣椤圭洰鐨刬d
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback(){
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ if (result != null) {
+ this.IsLoading = false;
+ this.id = result.Id;
+ this.IntentionButton();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+ })
+ }
+
+ //鎷涙爣椤圭洰鏂板缓鎰忓悜
+ IntentionButton(){
+ // alert('濉啓澶卞崟鎶ュ憡璇风洿鎺ョ偣鍑绘嫑鏍囬〉闈€�愬け鍗曘�戞寜閽�');
+ this.showToast('濉啓澶卞崟鎶ュ憡璇风洿鎺ョ偣鍑绘嫑鏍囬〉闈€�愬け鍗曘�戞寜閽�','success');
+ var url = '/apex/NewAndEditLead?' + '00N10000009HKS5=' + this.id
+ + '&LeadSource=鎷涙爣缃�' + '&RecordTypeId=01210000000QiRf' + '&retURL=%2F' + this.id ;
+ window.open(url);
+ }
+
+ showToast(msg,type) {
+ const event = new ShowToastEvent({
+ message: msg,
+ variant: type
+ });
+ this.dispatchEvent(event);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingIntentionButton/lexTenderingIntentionButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.html b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.html
new file mode 100644
index 0000000..0f47a3a
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="NoStandardButton" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js
new file mode 100644
index 0000000..b071b10
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js
@@ -0,0 +1,49 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingNoStandardButton extends LightningElement {
+ @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+ id;//杩斿洖鍊肩殑id Tender_information__c鎷涙爣椤圭洰鐨刬d
+ opportunityNum;
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+ connectedCallback(){
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ this.IsLoading = false;
+ this.id = result.Id;
+ this.opportunityNum = result.opportunityNum;
+ this.NoStandardButton();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ })
+ }
+ //鎷涙爣椤圭洰涓嶅簲鏍囩敵璇�
+ NoStandardButton(){
+ if(Number(this.opportunityNum) > 0) {
+ this.showToast('椤圭洰宸插叧鑱旇繃璇环锛岃鍒拌浠烽噷鍋氫笉搴旀爣鐢宠','error');
+ return;
+ }
+ window.open ('/apex/Bidding?id='+this.id, '', 'height=350, width=600, top=200, left=350,location=no');
+ }
+ showToast(msg,type) {
+ const event = new ShowToastEvent({
+ message: msg,
+ variant: type
+ });
+ this.dispatchEvent(event);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+}
diff --git a/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNoStandardButton/lexTenderingNoStandardButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.html b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.html
new file mode 100644
index 0000000..40c4113
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="NotarizeButton" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js
new file mode 100644
index 0000000..e7f76d4
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js
@@ -0,0 +1,72 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingNotarizeButton extends LightningElement {
+ @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+ id;//杩斿洖鍊肩殑id Tender_information__c鎷涙爣椤圭洰鐨刬d
+ status;//鐘舵��
+ profileId;//profileId id
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+
+
+ connectedCallback(){
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ this.IsLoading = false;
+ this.id = result.Id;
+ this.status = result.status;
+ this.profileId = result.profileId.slice(0,15);
+ this.NotarizeButton();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ })
+ }
+
+ //鎷涙爣椤圭洰 鐩稿叧鎬х‘璁�
+ NotarizeButton(){
+ if( this.ProfileId!= '00e1m000000MSci'
+ && this.ProfileId!= '00e10000000Y3o5'
+ && this.ProfileId!= '00e10000000xnpR' && this.ProfileId!= '00e10000000xyK6'
+ && this.ProfileId!= '00e10000000xnpW'
+ && this.ProfileId!= '00e10000000xnpb' && this.ProfileId!= '00e10000000xyKB'
+ && this.ProfileId!= '00e10000000a7NY'
+ && this.ProfileId!= '00e10000000s2fZ'
+ && this.ProfileId!= '00e10000000s3Jp'
+ ){
+ this.showToast("鍙湁鍔╃悊鎵嶈兘杩涜鐩稿叧鎬х‘璁わ紒","error");
+ return;
+ }
+ if(this.status== '01.寰呯‘璁�' ||
+ this.status== '02.涓嶇浉鍏�' ||
+ this.status == '03.涓嶅簲鏍�' ||
+ this.status== '04.寰呭叧鑱旇浠�'
+ ){
+ window.open (`/apex/Relevance?id=${this.id}`, '', 'height=500, width=800, top=200, left=250,location=no');
+ }
+ else{
+ this.showToast("鍏宠仈璇环鍚庝笉鑳借繘琛岀浉鍏虫�х‘璁わ紒","error");
+ }
+
+ }
+ showToast(msg,type) {
+ const event = new ShowToastEvent({
+ message: msg,
+ variant: type
+ });
+ this.dispatchEvent(event);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.html b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.html
new file mode 100644
index 0000000..71d8dbe
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="RelevancyButton" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js
new file mode 100644
index 0000000..977a883
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js
@@ -0,0 +1,60 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexTenderingRelevancyButton extends LightningElement {
+ @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+ id;//杩斿洖鍊肩殑id Tender_information__c鎷涙爣椤圭洰鐨刬d
+ ProfileId;
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+ connectedCallback(){
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ this.IsLoading = false;
+ this.id = result.Id;
+ this.ProfileId = result.profileId.slice(0,15);
+ this.RelevancyButton();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ })
+ }
+ //鎷涙爣椤圭洰 鍏宠仈宸叉湁璇环
+ RelevancyButton(){
+ if( this.ProfileId != '00e1m000000MSci'
+ && this.ProfileId != '00e10000000Y3o5'
+ && this.ProfileId != '00e10000000xnp2' && this.ProfileId != '00e10000000xzQ0'
+ && this.ProfileId != '00e10000000xnp7'&& this.ProfileId != '00e10000001220i'
+ && this.ProfileId != '00e10000000xnpH' && this.ProfileId != '00e10000000xzQA'
+ && this.ProfileId != '00e10000000hkas'
+ && this.ProfileId != '00e10000000xnpR' && this.ProfileId != '00e10000000xyK6'
+ && this.ProfileId != '00e10000000xnpW'
+ && this.ProfileId != '00e10000000Nb7i'
+ ){
+ this.showToast('鍙湁鎷呭綋鍜屽姪鐞嗘墠鑳藉叧鑱旇浠�','error');
+ return;
+ }
+ window.open ('/apex/Enquiry?id='+this.recordId, '_blank');
+ }
+
+ showToast(msg,type) {
+ const event = new ShowToastEvent({
+ message: msg,
+ variant: type
+ });
+ this.dispatchEvent(event);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingRelevancyButton/lexTenderingRelevancyButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.html b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.html
new file mode 100644
index 0000000..40c4113
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="NotarizeButton" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js
new file mode 100644
index 0000000..7c0e891
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js
@@ -0,0 +1,46 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/TenderingButtonController.initTenderingController';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class lexTenderingUsedAttachmentButton extends LightningElement {
+ @api recordId;//褰撳墠杩欐潯鏁版嵁鐨刬d
+ id;//杩斿洖鍊肩殑id Tender_information__c鎷涙爣椤圭洰鐨刬d
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback(){
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ this.IsLoading = false;
+ this.id = result.Id;
+ this.AttachmentButton();
+ this.dispatchEvent(new CloseActionScreenEvent());
+ })
+ }
+
+ //鎷涙爣椤圭洰 鏌ョ湅闄勪欢(鏃�)
+ AttachmentButton(){
+ window.open(`/apex/QLMAttachmentPreview?parentId=${this.id}`);
+ }
+
+ showToast(msg,type) {
+ const event = new ShowToastEvent({
+ message: msg,
+ variant: type
+ });
+ this.dispatchEvent(event);
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }
+}
diff --git a/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingUsedAttachmentButton/lexTenderingUsedAttachmentButton.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.css b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.css
new file mode 100644
index 0000000..ebb43d9
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+.container .uiContainerManager{
+ display: none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.html b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.html
new file mode 100644
index 0000000..3eff9e8
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="EquipmentRentalPDF" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js
new file mode 100644
index 0000000..12d6d76
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js
@@ -0,0 +1,44 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import {CurrentPageReference,NavigationMixin} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import init from '@salesforce/apex/rentalApplyEquipmentRentalPDFController.initJumptoPDFButton';
+
+export default class rentalApplyEquipmentRentalPDF extends LightningElement {
+ @api recordId;
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ console.log(currentPageReference);
+
+ if(currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if(urlValue) {
+ let str = `${urlValue}`;
+ console.log("str");
+ console.log(str);
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback() {
+ console.log('this.recordId' + this.recordId);
+ init({
+ recordId : this.recordId
+ }).then(result => {
+ if(result != null) {
+ this.IsLoading = false;
+ let num = result.pageLength;
+ console.log("======"+this.recordId + ' ' +num);
+ console.log("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/FixtureRentalPDF?raid=" + this.recordId + "&page=" + num)
+ window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/apex/FixtureRentalPDF?raid=" + this.recordId + "&page=" + num);
+ }
+ })
+ .catch( error =>{
+ console.log(error);
+ })
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js-meta.xml b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js-meta.xml
new file mode 100644
index 0000000..36ce96d
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyEquipmentRentalPDF/rentalApplyEquipmentRentalPDF.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>54.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__RecordPage</target>
+ <target>lightning__AppPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.css b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.css
new file mode 100644
index 0000000..af18c76
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.css
@@ -0,0 +1,11 @@
+.Holder{
+ position: relative;
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+}
+
+.container .uiContainerManager{
+ display : none !important;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.html b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.html
new file mode 100644
index 0000000..960b41d
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="Holder" if:true={IsLoading}>
+ <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js
new file mode 100644
index 0000000..91a23a0
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js
@@ -0,0 +1,659 @@
+import { LightningElement,api, track, wire } from 'lwc';
+import getUserId from '@salesforce/apex/RentalApplyControllerLWT.getUserId';
+import getProfileId from '@salesforce/apex/RentalApplyControllerLWT.getProfileId';
+import init from '@salesforce/apex/RentalApplyControllerLWT.initFromCancelSubmitButton';
+import selectRentalApplyEquipmentSetDetailByRacId from '@salesforce/apex/RentalApplyControllerLWT.selectRentalApplyEquipmentSetDetailByRacId';
+import selectQISReportById from '@salesforce/apex/RentalApplyControllerLWT.selectQISReportById';
+import selectRepairById from '@salesforce/apex/RentalApplyControllerLWT.selectRepairById';
+import selectCampaignById from '@salesforce/apex/RentalApplyControllerLWT.selectCampaignById';
+import selectRentalApplyEquipmentSetByRacId from '@salesforce/apex/RentalApplyControllerLWT.selectRentalApplyEquipmentSetByRacId';
+import selectRentalApplyById from '@salesforce/apex/RentalApplyControllerLWT.selectRentalApplyById';
+import selectUserById from '@salesforce/apex/RentalApplyControllerLWT.selectUserById';
+import selectQISreportById2 from '@salesforce/apex/RentalApplyControllerLWT.selectQISreportById2';
+import setSObjectShare from '@salesforce/apex/RentalApplyControllerLWT.setSObjectShare';
+import updateRentalApplyC from '@salesforce/apex/RentalApplyControllerLWT.updateRentalApplyC';
+import {CurrentPageReference} from 'lightning/navigation';
+import { CloseActionScreenEvent } from 'lightning/actions';
+import STATUS_PROCESS_STATE from '@salesforce/label/c.StatusProcessState';
+export default class rentalApplyLWT extends LightningElement {
+
+ contactFirstName = 'Yan';
+ contactLastName = 'Khang';
+ opportunityName = 'Possible deal';
+ clickedButtonLabel;
+
+ @api recordId;
+ @track StatusProcessState=STATUS_PROCESS_STATE;
+ Rental_Apply__c;
+ Status__c;
+ Id;
+ Yi_loaner_arranged__c;
+ RA_Status__c;
+ IsLoading=true;
+ demo_purpose2__c;
+ Follow_UP_Opp__c;
+ Statu_Achievements__c;
+ Statu_Achievements_ID__c;
+ Request_shipping_day__c;
+ Demo_purpose1__c;
+ Repair__c;
+ RecordTypeId;
+ SupplementCreated__c;
+ OPDPlan__c;
+ Campaign__c;
+ QIS_number__c;
+ RepairId__c;
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference){
+ console.log("杩涘叆椤甸潰");
+ console.log(currentPageReference);
+ if(currentPageReference){
+ const urvalue=currentPageReference.state.recordId;
+ if(urvalue){
+ let str=`${urvalue}`;
+ console.log('str');
+ console.log(str);
+ this.recordId=str;
+ }
+ }
+ }
+
+
+ async connectedCallback(){
+ console.log(this.recordId);
+ await init({recordId:this.recordId}).then(result=>{
+ console.log(result);
+ if(result!=null){
+ this.Rental_Apply__c=result;
+ this.Status__c=result.Status__c;
+ this.Yi_loaner_arranged__c=result.Yi_loaner_arranged__c;
+ this.Id=result.Id;
+ this.RA_Status__c=result.RA_Status__c;
+ // this.Rental_Apply__c.demo_purpose2__c=result.DemoPurpose2C;
+ // this..Follow_UP_Opp__c=result.FollowUPOppC;
+ // this.Rental_Apply__c.Statu_Achievements__c=result.StatuAchievementsC;
+ // this.Rental_Apply__c.Statu_Achievements_ID__c=result.StatuAchievementsIDC;
+ // this.Rental_Apply__c.Request_shipping_day__c=result.RequestShippingDayC;
+ // this.Rental_Apply__c.Demo_purpose1__c=result.DemoPurpose1C;
+ // this.Rental_Apply__c.Repair__c=result.RepairC;
+ // this.Rental_Apply__c.RecordTypeId=result.RecordTypeId;
+ // this.Rental_Apply__c.SupplementCreated__c=result.SupplementCreatedC;
+ // this.Rental_Apply__c.OPDPlan__c=result.OPDPlanC;
+ // this.Rental_Apply__c.Campaign__c=result.CampaignC;
+ // this.Rental_Apply__c.QIS_number__c=result.QISNumberC;
+
+ this.sumit().then(res=>{
+ console.log("鍏抽棴绐楀彛");
+ this.IsLoading=false;
+ this.dispatchEvent(new CloseActionScreenEvent());
+ }).catch(err=>{
+ console.log("error:");
+ console.log(err.message);
+ alert("鎿嶄綔澶辫触,閿欒淇℃伅:"+err.message);
+ });
+ console.log("end");
+ }
+ }).catch(err=>{
+ console.log("error:");
+ console.log(err.message);
+ console.log("鎶ラ敊缁撴潫");
+ }).finally(()=>{
+ console.log("finally");
+
+ });
+
+ }
+
+
+ handleClick(event) {
+ this.clickedButtonLabel = event.target.label;
+ }
+ handleContactFirstNameInputChange(event) {
+ this.contactFirstName = event.target.value;
+ }
+ cancelSubmit(){
+ console.log('djwaijd');
+ if (this.Rental_Apply__c.Status__c == "鍙栨秷") {
+ alert("宸茬粡鍙栨秷锛�");
+ console.log('1');
+ return;
+ }
+ if (this.Rental_Apply__c.Status__c == "鍒犻櫎") {
+ alert("宸茬粡鍒犻櫎锛�");
+ console.log('2');
+ return;
+ }
+ if(this.RA_Status__c == "宸插嚭搴�" || this.Yi_loaner_arranged__c > 0) {
+ alert("澶囧搧宸茬粡鍑哄簱锛屼笉鑳藉彇娑堬紒");
+ console.log('2');
+ return;
+ }
+ let raid = this.Id;
+ window.open("/apex/RentalApplyCancel?objId="+raid, 'RentalApplyCancel', 'width=500,height=250');
+ }
+
+
+
+ async sumit(){
+ let buttons = document.getElementsByName('submit_approval_process'.toLowerCase());
+ for (let i=0; i<buttons.length; i++) {
+ buttons[i].className = "btnDisabled";
+ buttons[i].disabled = true;
+ }
+ //kk
+ if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+ return;
+ }
+ //1540 you 璇曠敤锛堟棤璇环锛夌洰鐨勭殑澶囧搧鐢宠鍗曪紝涓嶈兘鍏宠仈璇环淇℃伅锛�
+ if(this.Rental_Apply__c.demo_purpose2__c == '璇曠敤锛堟棤璇环锛�' && this.Rental_Apply__c.Follow_UP_Opp__c !=null && this.Rental_Apply__c.Follow_UP_Opp__c != ''){
+ alert('璇曠敤锛堟棤璇环锛夌洰鐨勭殑澶囧搧鐢宠鍗曪紝涓嶈兘鍏宠仈璇环淇℃伅锛�');
+ return;
+ }
+ // 宸茶喘寰呰揣鐨勭敵璇峰崟瀹℃壒鏃讹紝闇�瑕乧heck娉ㄦ畫鐨勭姸鎬�
+ if (this.Rental_Apply__c.Statu_Achievements__c!=null&&this.Rental_Apply__c.Statu_Achievements__c!='') {
+
+ let SaID=this.Rental_Apply__c.Statu_Achievements_ID__c;
+ let rtn = sforce.apex.execute("RentalApplyWebService","RentalApplyCheckForSAoneEle",{SaID:SaID});
+ if(rtn!='Fin'){
+ alert(rtn);
+ return;
+ }
+ }
+ // 甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩-0418杩藉姞
+ let d=new Date();
+ if (this.Rental_Apply__c.Request_shipping_day__c < d ) {
+ alert('甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩');
+ return;
+ }
+ let raesdList = new Array();
+ await selectRentalApplyEquipmentSetDetailByRacId({recordId:this.recordId}).then(result=>{
+ console.log(result);
+ if(result!=null){
+ raesdList=result;
+ let modelSet = new Set();
+ let stoppedSet = new Set();
+ for(let i=0;i<raesdList.length;i++){
+ modelSet.add(raesdList[i].Fixture_Model_No_F__c);
+ if('false' == raesdList[i].Product_Status_Flag_F__c
+ && (this.Rental_Apply__c.demo_purpose2__c == '璇曠敤锛堟湁璇环锛�' || this.Rental_Apply__c.demo_purpose2__c == '璇曠敤锛堟棤璇环锛�')){
+ stoppedSet.add(raesdList[i].Fixture_Model_No_F__c);
+ }
+ }
+ if(stoppedSet.size> 0) {
+ alert( Array.from(stoppedSet).join('锛�') + ' 浜у搧娉ㄥ唽璇佺姸鎬佷负鍋滄锛屼笉鍙敵璇�');
+ return;
+ }
+ }
+ }).catch(err=>{
+ console.log("selectRentalApplyEquipmentSetDetailByRacId error:");
+ console.log(err.message);
+ console.log("鎶ラ敊缁撴潫");
+ }).finally(()=>{
+ });
+
+
+
+ if(this.Rental_Apply__c.demo_purpose2__c == '绱㈣禂QIS'){
+ let DeliveryGood = new Array();
+ await selectQISReportById({recordId:this.Rental_Apply__c.QIS_number__c}).then(result=>{
+ console.log(result);
+ DeliveryGood=result;
+ }).catch(err=>{
+ console.log("selectQISReportById error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+ console.log(DeliveryGood);
+ let records= DeliveryGood;
+ if(records.length == 0 || !modelSet.has(records[0].nonyushohin__r.Product2.Fixture_Model_No_T__c)){
+ alert('鐢宠鐨勫瀷鍙峰繀椤讳笌QIS鐢宠鍨嬪彿涓�鑷�');
+ return;
+ }
+ }
+ if(this.Rental_Apply__c.Repair__c==null){
+ console.log("Repair__c涓虹┖")
+ }else{
+ if( this.Rental_Apply__c.Repair__c != ''){
+ console.log("hhh7.1.1");
+ let DeliveryGood ;
+ let records;
+ await selectRepairById({recordId:this.Rental_Apply__c.Repair__c}).then(result=>{
+ console.log(result);
+ DeliveryGood=result;
+ records=result;
+ }).catch(err=>{
+ console.log("selectRepairById error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+ if(records==null||records.length==0){
+ console.log("records涓虹┖");
+ }else{
+ if(this.Rental_Apply__c.Demo_purpose1__c == '缁翠慨浠g敤' && this.Rental_Apply__c.demo_purpose2__c != '绱㈣禂QIS') {
+ if(!modelSet.has(records[0].Delivered_Product__r.Product2.Fixture_Model_No_T__c)){
+ alert('鐢宠鐨勫瀷鍙峰繀椤讳笌閫佷慨鐨勫瀷鍙蜂竴鑷�');
+ return;
+ }
+ }
+ if(this.Rental_Apply__c.Demo_purpose1__c==null){
+ console.log("Demo_purpose1__c涓虹┖");
+ }else if(this.Rental_Apply__c.Demo_purpose1__c == '缁翠慨浠g敤' && this.Rental_Apply__c.demo_purpose2__c == '涓�鑸敤鎴�' ){
+ if (records[0].Repair_Estimated_date_formula__c == null) {
+ alert('涓�鑸淮淇棤鎶ヤ环鏃ワ紝涓嶅彲鍊熺敤澶囧搧');
+ return;
+ }
+
+ else if (records[0].Repair_Estimated_date_formula__c < '2019-07-01' && records[0].Agreed_Date__c == null) {
+ alert('鎶ヤ环鏃ュ湪2019/7/1涔嬪墠涓旀埛鍚屾剰鏃ヤ负绌猴紝涓嶅彲鍊熺敤澶囧搧');
+ return;
+ }
+ //20210608 ljh SFDC-C3CCN4 start
+ if(records[0].Repair_Rank__c == '' || records[0].Repair_Rank__c == null){
+ alert('鎶ヤ环绛夌骇涓虹┖涓嶈兘鐢宠澶囧搧');
+ return;
+ }else{
+ if(records[0].DW_Sign_Txt__c == 'false' && records[0].Repair_Rank__c == 'DW'){
+ alert('DW鎶ヤ环绛夌骇涓嬫鍨嬪彿涓嶇鍚堝鍝佺敵璇峰�熺敤鏉′欢');
+ return;
+ }
+ if(records[0].Repair_Rank__c == 'D1'
+ ||records[0].Repair_Rank__c == 'D2'
+ ||records[0].Repair_Rank__c == 'D3'
+ ||records[0].Repair_Rank__c == 'E2'){
+ alert('鎶ヤ环绛夌骇涓嶇鍚堝鍝佺敵璇峰�熺敤鏉′欢');
+ return;
+ }
+ }
+ //20210608 ljh SFDC-C3CCN4 end
+ }
+ if(this.Rental_Apply__c.Demo_purpose1__c ==null){
+ console.log("Demo_purpose1__c涓虹┖");
+ }else if(this.Rental_Apply__c.Demo_purpose1__c == '缁翠慨浠g敤' && this.Rental_Apply__c.demo_purpose2__c == '甯傚満澶氬勾淇濅慨' ){
+ if (records[0].FSE_ApplyForRepair_Day__c == null) {
+ alert('甯傚満澶氬勾淇濅慨锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧');
+ return;
+ }
+ }
+ if(this.Rental_Apply__c.Demo_purpose1__c == '缁翠慨浠g敤' && this.Rental_Apply__c.demo_purpose2__c == '鏁呴殰鎺掓煡' ){
+ if (records[0].FSE_ApplyForRepair_Day__c == null) {
+ alert('鏁呴殰鎺掓煡锛屾病鏈塠FSE淇悊鐢宠鏃锛屼笉鍙�熺敤澶囧搧');
+ return;
+ }
+ if(records[0].Repair_Ordered_Date__c != null) {
+ alert('鏁呴殰鎺掓煡锛孾4.淇悊鍝丷C鍙楃悊鏃蹇呴』涓虹┖');
+ return;
+ }
+ if(records[0].IfCheckFixture__c == 'false'){
+ alert('涓嶆弧瓒虫晠闅滄帓鏌ョ洰鐨�');
+ return;
+ }
+ }
+ let profileId="";
+ await getProfileId().then(result=>{
+ console.log(result);
+ profileId=result;
+ }).catch(err=>{
+ console.log("getProfileId error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+ if(this.Rental_Apply__c.RecordTypeId==null){
+ console.log("RecordTypeId涓虹┖");
+ }else if (this.Rental_Apply__c.RecordTypeId != "01210000000RHIn"
+ && profileId != '00e10000000Y3o5'
+ && records[0].NewProductGuaranteeObject__c == '8: 甯傚満澶氬勾淇濅慨'
+ && this.Rental_Apply__c.demo_purpose2__c != '甯傚満澶氬勾淇濅慨') {
+ alert('鏃犲伩鍖哄埆鏍囧織涓�8: 甯傚満澶氬勾淇濅慨锛屽繀椤婚�夋嫨甯傚満澶氬勾淇濅慨銆�');
+ }
+ if(records[0].Repair_Final_Inspection_Date__c != null){
+ alert('瀛樺湪淇悊鏈�缁堟娴嬫棩锛屼笉鍙�熺敤澶囧搧');
+ return;
+ }
+ if(records[0].Repair_Shipped_Date__c != null){
+ alert('瀛樺湪RC淇悊杩旈�佹棩锛屼笉鍙�熺敤澶囧搧');
+ return;
+ }
+ if(records[0].Status1__c =='0.鍒犻櫎' ||records[0].Status1__c =='0.鍙栨秷' ||records[0].Status1__c =='5.瀹屾瘯' ){
+ alert('淇悊宸茬粡缁撴潫锛屼笉鑳界敵璇峰鍝�');
+ return;
+ }
+ if ( this.Rental_Apply__c.demo_purpose2__c == '鍐嶄慨鐞�' && records[0].ReRepairObject_F__c == 'false') {
+ alert('涓嶅睘浜庡啀鍙楃悊鍙傝�冨璞★紝涓嶅彲鍊熺敤澶囧搧');
+ return;
+ }
+ if (this.Rental_Apply__c.RecordTypeId != '01210000000RHIn'
+ && this.Rental_Apply__c.demo_purpose2__c != '淇濅慨鐢ㄦ埛'
+ && this.Rental_Apply__c.demo_purpose2__c != '甯傚満澶氬勾淇濅慨'
+ && records[0].Number_of_EffectiveContract__c == '鏈�' ) {
+ alert('鏈夌淮淇悎鍚�,蹇呴』閫夋嫨淇濅慨鐢ㄦ埛.');
+ return;
+ }
+ let AssetModelNo = records[0].Delivered_Product__r.Product2.Asset_Model_No__c;
+ if (this.Rental_Apply__c.RecordTypeId != '01210000000RHIn' && records[0].Number_of_EffectiveContract__c == '鏃�'
+ && (records[0].NewProductGuaranteeObject__c == '2: 鏈嶅姟澶氬勾淇濅慨'
+ && (AssetModelNo == 'LTF-190-10-3D' || AssetModelNo == 'LTF-S190-5' || AssetModelNo == 'CYF-VHA' || AssetModelNo == 'CYF-VA2' || AssetModelNo == 'CYF-5A'|| AssetModelNo == 'LTF-S190-10'|| AssetModelNo == 'OER-AW'|| AssetModelNo == 'URF-V'|| AssetModelNo == 'URF-V2'|| AssetModelNo == 'URF-P6'))
+ && this.Rental_Apply__c.demo_purpose2__c != '淇濅慨鐢ㄦ埛' ) {
+ alert('姝よ澶囧瀷鍙峰骞翠繚淇紝璇烽�夋嫨淇濅慨鐢ㄦ埛.');
+ return;
+ }
+
+ if (this.Rental_Apply__c.RecordTypeId != '01210000000RHIn'
+ && records[0].NewProductGuaranteeObject__c == '2: 鏈嶅姟澶氬勾淇濅慨'
+ && (AssetModelNo == 'CV-V1' || AssetModelNo == 'CV-V1(A)' || AssetModelNo == 'CV-V1(B)' || AssetModelNo == 'GIF-LV1' || AssetModelNo == 'CF-LV1L' || AssetModelNo == 'CF-LV1I' || AssetModelNo == 'MAJ-1910')
+ && (this.Rental_Apply__c.demo_purpose2__c == '涓�鑸敤鎴�' || this.Rental_Apply__c.demo_purpose2__c == '鍐嶄慨鐞�')
+ ) {
+ alert('濂ヨ緣璁惧锛屼繚淇湡鍐呬笉鎻愪緵澶囧搧.');
+ return;
+ }
+ }
+
+ }
+ }
+
+ if(this.Rental_Apply__c.SupplementCreated__c==null){
+ console.log("SupplementCreated__c涓虹┖");
+ }else if (this.Rental_Apply__c.SupplementCreated__c == '1' && this.Rental_Apply__c.OPDPlan__c != '') {
+ let raId = this.Id;
+ //kk
+ let raesCountCheck = sforce.apex.execute("OpdPlanWebService", "raesCountCheck", {rentalApplyId: raId});
+ if(raesCountCheck != 'OK'){
+ alert(raesCountCheck);
+ return;
+ }
+ }
+ console.log("hhh10");
+ if(this.Rental_Apply__c.Campaign__c==null){
+ console.log("Campaign__c涓虹┖");
+ }else if( this.Rental_Apply__c.Campaign__c != ''){
+ let DeliveryGood = new Array();
+ // 20220324 ljh obpm update start
+ //kk1
+ let statusSting = this.StatusProcessState;
+ let statusList = statusSting.split(',');
+ // DeliveryGood = sforce.connection.query("select Status, Rental_Apply_Flag__c from Campaign where id ='{!Rental_Apply__c.Campaign__c}'");
+ // DeliveryGood = await selectCampaignById(this.Rental_Apply__c.Campaign__c);
+ await selectCampaignById({recordId:this.Rental_Apply__c.Campaign__c}).then(result=>{
+ console.log(result);
+ DeliveryGood=result;
+ }).catch(err=>{
+ console.log("selectCampaignById error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+ // 20220324 ljh obpm update start
+ //kk
+ let records= DeliveryGood;
+
+ let interval = records[0].Status;
+ let records_Date = records[0].Rental_Apply_Flag__c;
+ if (interval==null ) {
+ alert("璇风‘璁ゅ浼氱姸鎬�");
+ return;
+ }
+ else if (interval == '鑽夋涓�') {
+ alert('瀛︿細鐘舵�佷负鑽夋涓紝涓嶈兘鎻愪氦');
+ return;
+ }
+ else if (interval == '鐢宠涓�') {
+ alert('瀛︿細鐘舵�佷负鐢宠涓紝涓嶈兘鎻愪氦');
+ return;
+ }
+ else if (interval == '宸茬粨鏉�') {
+ alert('瀛︿細鐘舵�佷负宸茬粨鏉燂紝涓嶈兘鎻愪氦');
+ return;
+ }
+ else if (interval == '宸叉彁浜ゆ姤鍛�') {
+ alert('瀛︿細鐘舵�佷负宸叉彁浜ゆ姤鍛婏紝涓嶈兘鎻愪氦');
+ return;
+ }
+ else if (interval == '鍙栨秷鐢宠涓�') {
+ alert('瀛︿細鐘舵�佷负鍙栨秷鐢宠涓紝涓嶈兘鎻愪氦');
+ return;
+ }
+ else if (interval == '鍙栨秷') {
+ alert('瀛︿細鐘舵�佷负鍙栨秷锛屼笉鑳芥彁浜�');
+ return;
+ }
+ //kk
+ if(this.Rental_Apply__c.Request_shipping_day__c==null){
+ alert("璇风‘璁ゅ笇鏈涘埌璐ф棩鏈�");
+ return;
+ }else{
+ if (d >= this.Rental_Apply__c.Request_shipping_day__c -7) {
+ alert("蹇呴』鎻愬墠浜庡笇鏈涘埌璐ф棩7澶╀互涓婃彁浜ょ敵璇�");
+ return;
+ }
+ // 20220324 ljh obpm add start
+ if (records != null && records[0].IF_Approved__c == "true" && (records[0].Meeting_Approved_No__c == null || records[0].Meeting_Approved_No__c == "") ) {
+ alert("娌℃湁鍐宠鍙风殑锛屾殏涓嶈兘鍑哄��,璇锋洿鏂拌鍐充俊鎭��");
+ return;
+ }
+ if (records != null && records[0].IF_Approved__c == "true" && records[0].Meeting_Approved_No__c != "" && statusList.indexOf(records[0].Approved_Status__c) != -1 && records[0].Approved_Status__c != '鑽夌' ) {
+ alert("宸茬敵璇峰喅瑁佷絾鍐宠鐘舵�佷笉绗﹀悎鏉′欢銆�");
+ return;
+ }
+ }
+
+ // 20220324 ljh obpm add end
+ }
+
+ if (this.Rental_Apply__c.QIS_number__c == null) {
+ console.log("QIS_number__c 鏄┖鐨�");
+ }else{
+ if( this.Rental_Apply__c.QIS_number__c != ''){
+ let DeliveryGood = new Array();
+ // DeliveryGood =await selectQISreportById2(this.Rental_Apply__c.QIS_ID_Line__c);
+ await selectQISreportById2({recordId:this.Rental_Apply__c.QIS_ID_Line__c}).then(result=>{
+ console.log(result);
+ DeliveryGood=result;
+ }).catch(err=>{
+ console.log("selectQISreportById2 error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+ let records= DeliveryGood;
+ let interval = records[0].next_action__c;
+ if (interval == '閫佸洖') {
+ alert("QIS 宸查�佸洖锛屼笉鑳藉啀鐢宠澶囧搧浜�");
+ return;
+ }
+ }
+ }
+ // share
+ let userAccess = new Array();
+ //kk
+ let t=this.Rental_Apply__c.applyUser__c+'_Edit';
+ userAccess.push(t);
+ let rtn ;
+ await setSObjectShare({sobjectName:'Rental_Apply__Share',rowCause:'ApplyUserShare__c',parentId:this.Rental_Apply__c.Id,userAccess:userAccess,ownerId:this.Rental_Apply__c.OwnerId}).then(result=>{
+ console.log(result);
+ rtn=result;
+ }).catch(err=>{
+ console.log("setSObjectShare error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+
+ if(rtn==null){
+ alert("rtn涓虹┖");
+ return;
+ }else{
+ if (rtn != 'OK') {
+ alert(rtn);
+ return;
+ }
+ }
+ if(this.Rental_Apply__c.Status__c == null){
+ alert('璇峰鍝佺敵璇风姸鎬佺‘璁わ紝涓嶈兘涓虹┖');
+ return;
+ }else{
+ if (this.Rental_Apply__c.Status__c == '濉啓瀹屾瘯' ||
+ this.Rental_Apply__c.Status__c == '鐢宠涓�' ||
+ this.Rental_Apply__c.Status__c == '宸叉壒鍑�' ||
+ //鐜板湪鐢宠涔︾殑Status__c宸茬粡娌℃湁寮曞綋瀹屼簡鐘舵�併�傛墍浠ヨ繖閲屼笉闇�瑕佸垽鏂�
+ //'{!Rental_Apply__c.Status__c}' == '寮曞綋瀹屼簡' ||
+ this.Rental_Apply__c.Status__c == '宸插嚭搴撴寚绀�' ||
+ this.Rental_Apply__c.Status__c == '鍒犻櫎' ||
+ this.Rental_Apply__c.Status__c == '鍙栨秷' ) {
+ alert('璇峰鍝佺敵璇风姸鎬佺‘璁わ紝宸茬粡鎻愪氦杩囩殑鐢宠锛屼笉鑳介噸澶嶆彁浜�');
+ return;
+ }
+ }
+ // 娌℃湁鏄庣粏鐨勪竴瑙坈heck
+ let raesList = new Array();
+ // raesList = selectRentalApplyEquipmentSetByRacId(this.recordId);
+ await selectRentalApplyEquipmentSetByRacId({recordId:this.recordId}).then(result=>{
+ console.log(result);
+ raesList=result;
+ }).catch(err=>{
+ console.log("selectRentalApplyEquipmentSetByRacId error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+ let records= raesList;
+
+ if(records.length > 0){
+ alert('鏈夋病鏈夋槑缁嗙殑鍊熷嚭澶囧搧閰嶅涓�瑙堬紝涓嶈兘鎻愪氦');
+ return;
+ }
+
+ let racs ;
+ await selectRentalApplyById({recordId:this.recordId}).then(result=>{
+ console.log(result);
+ racs=result;
+ }).catch(err=>{
+ console.log("selectRentalApplyById error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+ let racNew = racs[0];
+ let id=this.Rental_Apply__c.Id;
+ let Status__c="濉啓瀹屾瘯";
+ let userId;
+ await getUserId().then(result=>{
+ console.log(result);
+ userId=result;
+ }).catch(err=>{
+ console.log("getUserId error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+ let manageUsers;
+ await selectUserById({recordId:userId}).then(result=>{
+ console.log(result);
+ manageUsers=result;
+ }).catch(err=>{
+ console.log("selectUserById error:");
+ console.log(err.message);
+ }).finally(()=>{
+ });
+ let SalesManagerSubmit__c;
+ let OPDManagerApprover__c;
+ let BuchangApprovalManagerSalesSubmit__c;
+ let OPDBuchangApprover__c;
+ if(manageUsers[0].JingliEquipmentManager__c != null){
+ SalesManagerSubmit__c = manageUsers[0].JingliEquipmentManager__r.Name;
+ // 20220930 ljh SWAG-CJR8S7 start
+ if(racNew.OPDPlan__c != null){
+ OPDManagerApprover__c = SalesManagerSubmit__c == racNew.OPDPlan__r.SalesManager_Txt__c?SalesManagerSubmit__c:' ';
+ }
+ // 20220930 ljh SWAG-CJR8S7 end
+ }
+ if(manageUsers[0].Buzhang_Equipment_Manager__c != null){
+ BuchangApprovalManagerSalesSubmit__c = manageUsers[0].Buzhang_Equipment_Manager__r.Name; //2022-07-22 zyh
+ // 20220930 ljh SWAG-CJR8S7 start
+ if(racNew.OPDPlan__c != null){
+ OPDBuchangApprover__c = BuchangApprovalManagerSalesSubmit__c == racNew.OPDPlan__r.BuchangApprovalManagerSales_Txt__c?BuchangApprovalManagerSalesSubmit__c:' ';
+ }
+ // 20220930 ljh SWAG-CJR8S7 end
+ }
+ let resultt;
+ await updateRentalApplyC({
+ recordId:id,
+ SalesManagerSubmitC:SalesManagerSubmit__c,
+ StatusC:Status__c,
+ OPDManagerApproverC:OPDManagerApprover__c,
+ BuchangApprovalManagerSalesSubmitC:BuchangApprovalManagerSalesSubmit__c,
+ OPDBuchangApproverC:OPDBuchangApprover__c
+ }).then(res=>{
+ console.log(res);
+ if(res!=null&&res.success==false){
+ resultt=res;
+ let messages ="";
+ messages=resultt.errors[0].split(',')[1];
+ if (messages!=null&&messages!="") {
+ console.log("hhh26");
+ alert("鎿嶄綔澶辫触,閿欒淇℃伅:"+messages);
+ return;
+ }
+ }
+ }).catch(err=>{
+ console.log("updateRentalApplyC error:");
+ console.log(err.message);
+ }).finally(()=>{
+ console.log("finally");
+ console.log(resultt);
+ });
+
+ this.dispatchEvent(new CloseActionScreenEvent());
+ };
+
+ getConnectDMLErrorMessages (results) {
+ console.log("in 1");
+ console.log(results);
+ let messages = [];
+ let i = 0;
+ let len = results.length;
+ let r;
+ console.log("in 1.1");
+ for (; i < len; i++) {
+ console.log("in 1.2");
+ r = results[i];
+ console.log("in 1.3");
+ if (r.success==false) {
+ console.log("in 1.4");
+ messages = messages.concat(this.getConnectDMLMessagesOfAResult(r));
+ }
+ }
+ console.log("in 1");
+ console.log("1缁撴灉");
+ console.log(messages);
+ return messages;
+ };
+ getConnectDMLMessagesOfAResult(res) {
+ console.log("in 2");
+ console.log(res);
+ let messages = [];
+ let errors = res.errors;
+ let i = 0;
+ let len = errors.length;
+ let e;
+ for (; i < len; i++) {
+ e = errors[i];
+ console.log("in 2.1");
+ messages.push(e + " " + this.getConnectDMLErrorFields(errors));
+ console.log("3缁撴灉");
+ console.log(this.getConnectDMLErrorFields(errors));
+ console.log("in 2.2");
+ }
+ console.log("in 2");
+ console.log("2缁撴灉");
+ console.log(messages);
+ return messages;
+ };
+
+ getConnectDMLErrorFields (error) {
+ console.log("in 3");
+ console.log(error);
+ let fields = error;
+ if (fields.length > 0) {
+ console.log("in 3");
+ return "[" + fields + ",]"
+ }
+ else {
+ console.log("in 3");
+ return "";
+ }
+
+ };
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js-meta.xml b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js-meta.xml
new file mode 100644
index 0000000..9ac5a4a
--- /dev/null
+++ b/force-app/main/default/lwc/rentalApplyLWT/rentalApplyLWT.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="rentalApplyLWT">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
--
Gitblit v1.9.1