From d544a2990189d7fcc34b722cfe76064fd69b2d62 Mon Sep 17 00:00:00 2001
From: unknown <sunxia@prec-tech.com>
Date: 星期三, 17 五月 2023 16:12:24 +0800
Subject: [PATCH] 提交追加待审批(按钮)

---
 force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js |  103 +++++++++++++++++++--------------
 force-app/main/default/classes/AddSubmitApprovalProcessController.cls                 |   27 +++++++-
 2 files changed, 82 insertions(+), 48 deletions(-)

diff --git a/force-app/main/default/classes/AddSubmitApprovalProcessController.cls b/force-app/main/default/classes/AddSubmitApprovalProcessController.cls
index 1694ba1..016eb2c 100644
--- a/force-app/main/default/classes/AddSubmitApprovalProcessController.cls
+++ b/force-app/main/default/classes/AddSubmitApprovalProcessController.cls
@@ -1,7 +1,4 @@
 public with sharing class AddSubmitApprovalProcessController {
-    public AddSubmitApprovalProcessController() {
-        
-    }
 
     @AuraEnabled
     public static InitData init(String recordId){
@@ -40,9 +37,12 @@
             res.applyUserId = ra.applyUser__r.Id;
             res.ownerId = ra.OwnerId;
             res.rentalApplyStatus = ra.Status__c;
+            res.demoRequestPastDataId = Schema.SObjectType.Rental_Apply__c.getRecordTypeInfosByName().get(LightingButtonConstant.RECORD_TYPE_NAME_BY_PastData).getRecordTypeId();
 
             List<Rental_Apply_Equipment_Set_Detail__c> raeSet = [SELECT Id from Rental_Apply_Equipment_Set_Detail__c WHERE Rental_Apply__c = :recordId AND Draft_Appended__c=1];
             res.detailSize = raeSet.size();
+            res.addApprovalStatus = '鑽夋涓�';
+            res.detailSize = 1;
         }
         catch (Exception e) {
             System.debug(LoggingLevel.INFO, '****e:' + e);  
@@ -51,7 +51,24 @@
     }
 
 
-    public Class InitData{
+    //鎻愪氦瀹℃壒
+    @AuraEnabled
+    public static String submitApproval(String recordId){
+        Savepoint sp = Database.setSavepoint();
+        try {
+            Approval.ProcessSubmitRequest req1 = new Approval.ProcessSubmitRequest();
+            req1.setObjectId(recordId);
+            Approval.ProcessResult submitResult = Approval.process(req1);
+            return 'OK';
+        }
+        catch (Exception e) {
+            Database.rollback(sp);
+            return e.getMessage();
+        }
+    }
+
+
+    private class InitData{
         @AuraEnabled
         public String rentalApplyId;        //澶囧搧鍊熷嚭鐢宠Id
         @AuraEnabled
@@ -102,5 +119,7 @@
         public String ownerId;                      //澶囧搧鍊熷嚭鐢宠.鎵�鏈変汉Id
         @AuraEnabled
         public String rentalApplyStatus;            //澶囧搧鍊熷嚭鐢宠.鐘舵��
+        @AuraEnabled
+        public String demoRequestPastDataId;        //澶囧搧鐢宠 杩囧幓鍘嗗彶杞ЩId
     }
 }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
index 54e7d73..eb9baa5 100644
--- a/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
+++ b/force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
@@ -5,7 +5,9 @@
 import { updateRecord } from 'lightning/uiRecordApi';
 
 import init from '@salesforce/apex/AddSubmitApprovalProcessController.init';
-import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare'
+import submitApproval from '@salesforce/apex/AddSubmitApprovalProcessController.submitApproval';
+import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare';
+
 export default class lexAddSubmitApprovalProcess extends LightningElement {
 	@api recordId;
 	IsLoading = true;
@@ -27,7 +29,7 @@
 			recordId: this.recordId
 		}).then(result=>{
 			if(result.addApprovalStatus != '鑽夋涓�' || result.detailSize == 0){
-				this.ToastShow('娌℃湁闇�瑕佸鎵圭殑杩藉姞闄勫睘鍝�');
+				this.ToastShow('娌℃湁闇�瑕佸鎵圭殑杩藉姞闄勫睘鍝�','warning');
                 return;
 			}
 			if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
@@ -39,53 +41,54 @@
 			// alert('甯屾湜鍒拌揣鏃ヤ笉鑳芥棭浜庣敵璇锋彁浜ゆ棩');
 			// return;
 			// } 
+			console.log(JSON.stringify(result));
 			if(result.repairId != null){
 				if(result.demoPurpose1 == '缁翠慨浠g敤' && result.demoPurpose2 == '涓�鑸敤鎴�'){
 					if(result.repairEstimatedDateFormula == null){
-						this.ToastShow('涓�鑸淮淇棤鎶ヤ环鏃ワ紝涓嶅彲鍊熺敤澶囧搧');
+						this.ToastShow('涓�鑸淮淇棤鎶ヤ环鏃ワ紝涓嶅彲鍊熺敤澶囧搧','warning');
 	                	return;
 					}else if(result.repairEstimatedDateFormula <'2019-07-01' && result.agreedDate == null){
-						this.ToastShow('鎶ヤ环鏃ュ湪2019/7/1涔嬪墠涓旀埛鍚屾剰鏃ヤ负绌猴紝涓嶅彲鍊熺敤澶囧搧');
+						this.ToastShow('鎶ヤ环鏃ュ湪2019/7/1涔嬪墠涓旀埛鍚屾剰鏃ヤ负绌猴紝涓嶅彲鍊熺敤澶囧搧','warning');
 	                	return;
 					}
 				}
-
-				if(result.recordTypeId !='01210000000RHIn' && result.newProductGuaranteeObject=='2: 鏈嶅姟澶氬勾淇濅慨' && (result.assetModelNo=='CV-V1' ||result.assetModelNo=='CV-V1(A)'||result.assetModelNo=='CV-V1(B)'||result.assetModelNo=='GIF-LV1'||result.assetModelNo=='CF-LV1L'||result.assetModelNo=='CF-LV1I'||result.assetModelNo=='MAJ-1910') &&(result.demoPurpose2=='涓�鑸敤鎴�'||result.demoPurpose2=='鍐嶄慨鐞�')){
-					this.ToastShow('濂ヨ緣璁惧锛屼繚淇湡鍐呬笉鎻愪緵澶囧搧.');
+				//澶囧搧鐢宠 杩囧幓鍘嗗彶杞Щ
+				if(result.recordTypeId != result.demoRequestPastDataId && result.newProductGuaranteeObject=='2: 鏈嶅姟澶氬勾淇濅慨' && (result.assetModelNo=='CV-V1' ||result.assetModelNo=='CV-V1(A)'||result.assetModelNo=='CV-V1(B)'||result.assetModelNo=='GIF-LV1'||result.assetModelNo=='CF-LV1L'||result.assetModelNo=='CF-LV1I'||result.assetModelNo=='MAJ-1910') &&(result.demoPurpose2=='涓�鑸敤鎴�'||result.demoPurpose2=='鍐嶄慨鐞�')){
+					this.ToastShow('濂ヨ緣璁惧锛屼繚淇湡鍐呬笉鎻愪緵澶囧搧.','warning');
                 	return;
 				}
 			}
 
 			if(result.campaignId!=null || result.campaignId!=''){
-				if(result.rentalApplyFlag == '鑽夋涓�'){
-					this.ToastShow('瀛︿細鐘舵�佷负鑽夋涓紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '鑽夋涓�'){
+					this.ToastShow('瀛︿細鐘舵�佷负鑽夋涓紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '鐢宠涓�'){
-					this.ToastShow('瀛︿細鐘舵�佷负鐢宠涓紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '鐢宠涓�'){
+					this.ToastShow('瀛︿細鐘舵�佷负鐢宠涓紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '宸茬粨鏉�'){
-					this.ToastShow('瀛︿細鐘舵�佷负宸茬粨鏉燂紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '宸茬粨鏉�'){
+					this.ToastShow('瀛︿細鐘舵�佷负宸茬粨鏉燂紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '宸叉彁浜ゆ姤鍛�'){
-					this.ToastShow('瀛︿細鐘舵�佷负宸叉彁浜ゆ姤鍛婏紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '宸叉彁浜ゆ姤鍛�'){
+					this.ToastShow('瀛︿細鐘舵�佷负宸叉彁浜ゆ姤鍛婏紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '鍙栨秷鐢宠涓�'){
-					this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷鐢宠涓紝涓嶈兘鎻愪氦');
+				if(result.campaignStatus == '鍙栨秷鐢宠涓�'){
+					this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷鐢宠涓紝涓嶈兘鎻愪氦','warning');
 					return;
 				}
-				if(result.rentalApplyFlag == '鍙栨秷'){
-					this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷锛屼笉鑳芥彁浜�');
+				if(result.campaignStatus == '鍙栨秷'){
+					this.ToastShow('瀛︿細鐘舵�佷负鍙栨秷锛屼笉鑳芥彁浜�','warning');
 					return;
 				}
 			}
 
 			if(result.qISNumber!=null || result.qISNumber!=''){
 				if(result.nextAction=='閫佸洖'){
-					this.ToastShow('QIS 宸查�佸洖锛屼笉鑳藉啀鐢宠澶囧搧浜�');
+					this.ToastShow('QIS 宸查�佸洖锛屼笉鑳藉啀鐢宠澶囧搧浜�','warning');
 					return;
 				}
 			}
@@ -112,48 +115,60 @@
 				userAccess:userAccess,
 				ownerId:result.ownerId
 			}).then(res=>{
-				if(res!='OK'){
-					this.ToastShow(res);
+				console.log('setSObjectShareSuccess===='+res);
+				if(res!='OK'){			
+					this.ToastShow(res,'warning');
 					return;
 				}
 			}).catch(err=>{
-				console.log('setSObjectShareErr====',err);
+				console.log('setSObjectShareErr===='+err);
 			})
 
-
-			var request = new sforce.ProcessSubmitRequest();
-			request.objectId = "{!Rental_Apply__c.Id}";
-			var processResults = sforce.connection.process([request]); 
+			// var request = new sforce.ProcessSubmitRequest();
+			// request.objectId = "{!Rental_Apply__c.Id}";
+			// var processResults = sforce.connection.process([request]); 
 
 
-			if (processResults[0].errors != null) {
-				var back = new sforce.SObject("Rental_Apply__c");
-				back.Id = "{!Rental_Apply__c.Id}";
-				back.Add_Approval_Status__c = "鑽夋涓�";
-				var backResult = sforce.connection.update([back]);
-				backMessages = this.getConnectDMLErrorMessages(backResult);
-				if (backMessages.length > 0) {
-				alert(backMessages.join("\n"));
-				return;
-				}
+			// if (processResults[0].errors != null) {
+			// 	var back = new sforce.SObject("Rental_Apply__c");
+			// 	back.Id = "{!Rental_Apply__c.Id}";
+			// 	back.Add_Approval_Status__c = "鑽夋涓�";
+			// 	var backResult = sforce.connection.update([back]);
+			// 	backMessages = this.getConnectDMLErrorMessages(backResult);
+			// 	if (backMessages.length > 0) {
+			// 		this.showToast(backMessages.join("\n"),'error');
+			// 		return;
+			// 	}
 
-				var errmsg = processResults[0].errors.message.toString();
-				alert(errmsg);
-				return;
-			}
+			// 	var errmsg = processResults[0].errors.message.toString();
+			// 	this.showToast(errmsg,'error');
+			// 	return;
+			// }
 
+		    //updateRecord({fields: { Id: this.recordId }});
+
+		    submitApproval({
+		    	recordId: this.recordId
+		    }).then(res=>{
+		    	console.log('submitApproval===='+res);
+		    	if(res == 'OK'){
+		    		this.ToastShow('鎻愪氦鎴愬姛','success');
+		    	}else{
+		    		this.ToastShow(res,'error');
+		    	}
+		    })
 		    updateRecord({fields: { Id: this.recordId }});
 		    
 		}).catch(err=>{
-			console.log('sErr====',err);
+			console.log('sErr====',err.message);
 		})
 	}
 
-	ToastShow(msg){
+	ToastShow(msg,type){
 		const evt = new ShowToastEvent({
             title : msg,
             message: '',
-            variant: 'warning'
+            variant: type
         });
         this.dispatchEvent(evt);
         this.dispatchEvent(new CloseActionScreenEvent());

--
Gitblit v1.9.1