From 254db78983d7b620903575b4e13d53bcd3791a28 Mon Sep 17 00:00:00 2001
From: zz <1842059105@qq.com>
Date: 星期一, 10 四月 2023 16:02:05 +0800
Subject: [PATCH] 提交 招标项目逻辑删除和反逻辑删除

---
 force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js            |    2 
 force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js                    |    7 -
 force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js          |   52 +++++++++++++
 force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js                  |   39 +++++++++
 force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js-meta.xml |   11 ++
 force-app/main/default/classes/TenderWebService.cls-meta.xml                                   |    5 +
 force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.html                |    5 +
 force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js        |    8 -
 force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js-meta.xml         |   11 ++
 force-app/main/default/classes/TenderWebService.cls                                            |   83 ++++++++++++++++++++
 force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.html        |    5 +
 11 files changed, 217 insertions(+), 11 deletions(-)

diff --git a/force-app/main/default/classes/TenderWebService.cls b/force-app/main/default/classes/TenderWebService.cls
new file mode 100644
index 0000000..65fb530
--- /dev/null
+++ b/force-app/main/default/classes/TenderWebService.cls
@@ -0,0 +1,83 @@
+global class TenderWebService {
+	public TenderWebService() {
+
+	}
+	@AuraEnabled
+	//鎷涙姇鏍囧弽閫昏緫鍒犻櫎
+	WebService static String ContraryLogicalDel(String DTenId) {
+		Tender_information__c DTenInfo = [Select Id, InfoId__c, Logical_delete__c, ProjectId__c, Retain_Tender__c From Tender_information__c Where id = : DTenId];
+		// 鏇存柊鍒犻櫎鎷涙姇鏍�
+		List<Tender_information__c> updateTenInfoList = new List<Tender_information__c>();
+		// 鏇存柊淇濈暀鎷涙姇鏍�
+		// List<Tender_information__c> updateBTenList = new List<Tender_information__c>();
+		if (String.isNotBlank(DTenInfo.Retain_Tender__c)) {
+			// System.debug('11111111' + TenInfo.Retain_Tender__c);
+			//瑕佷繚鐣欑殑鎷涙姇鏍�
+			Tender_information__c BTen =  [select Id, InfoId__c From Tender_information__c
+			                               Where Id = : DTenInfo.Retain_Tender__c];
+
+			// 鍒犻櫎鎷涙姇鏍囧叧鑱旂殑璇环
+			// List<Tender_Opportunity_Link__c> DTenLinkList = [select Opportunity__c
+			//         from Tender_Opportunity_Link__c
+			//         where Tender_information__c = :DTenId and IsRelated__c = true];
+			// System.debug('---------2---------' + DTenLinkList);
+			// Set<Id> DTenLinkOppIdSet = new Set<Id>();
+			// if (DTenLinkList.size() > 0) {
+			// 	for (Tender_Opportunity_Link__c DTenlink : DTenLinkList) {
+			// 		DTenLinkOppIdSet.add(DTenlink.Opportunity__c);
+			// 	}
+			// 	System.debug('---------3---------' + DTenLinkOppIdSet);
+			// 	// 鍒犻櫎椤圭洰鍏宠仈骞朵笖涓庝繚鐣欓」鐩叧鑱旂殑璇环鍏宠仈淇℃伅
+			// 	List<Tender_Opportunity_Link__c> DelD_BTenLinkList = [select id, Opportunity__c, Tender_information__c
+			// 	        from Tender_Opportunity_Link__c
+			// 	        where Tender_information__c = :BTen.Id and Opportunity__c in : DTenLinkOppIdSet];
+			// 	System.debug('---------1---------' + DelD_BTenLinkList);
+			// 	if (DelD_BTenLinkList.size() > 0) {
+			// 		Delete DelD_BTenLinkList;
+			// 	}
+			// }
+
+			// 淇濈暀椤圭洰閫氳繃杞垹闄ら�昏緫鍏宠仈鏉ョ殑璇环
+			List<Tender_Opportunity_Link__c> DelD_BTenLinkList = [select id, Opportunity__c, Tender_information__c
+				        from Tender_Opportunity_Link__c
+				        where Tender_information__c = :BTen.Id and IsRelated__c = true];
+			// 鍒ゆ柇link鏄惁涓虹┖
+			if (DelD_BTenLinkList != null && DelD_BTenLinkList.size() > 0) {
+				// 閫昏緫鏈夊ぇ鍧� 鏆傛椂鍙妸鎵撴爣璁扮殑鍒犳帀 涓嶅仛鍥炲啓鐨勬搷浣滀簡
+				// List<Tender_Opportunity_Link__c> add_list = new List<Tender_Opportunity_Link__c>();
+				// for (Tender_Opportunity_Link__c link : DelD_BTenLinkList) {
+				// 	Tender_Opportunity_Link__c add_link = new Tender_Opportunity_Link__c();
+				// 	add_link.Tender_information__c = DTenInfo.Id;
+				// 	add_link.Opportunity__c = link.Opportunity__c;
+				// 	add_link.Tender_Opportunity_Uniq__c = DTenInfo.Id + '' + link.Opportunity__c;
+				// 	add_link.IsRelated__c = false;
+				// 	add_list.add(add_link);
+				// }
+				// 鍒犳帀淇濈暀椤圭洰涓婄殑鍏宠仈璇环
+				delete DelD_BTenLinkList;
+				// 鍒犻櫎椤圭洰涓婄殑鍏宠仈鍔犲洖鏉�
+				// if (add_list.size() > 0) {
+				// 	insert add_list;
+				// }
+			}
+
+			// 浜掓崲淇濈暀鎷涙姇鏍囦笌鍒犻櫎鎷涙姇鏍囩殑淇℃伅Id
+			DTenInfo.Retain_Tender__c = BTen.Id;
+			String BTenInfo = BTen.InfoId__c;
+			BTen.InfoId__c = DTenInfo.InfoId__c;//淇濈暀鎷涙姇鏍囩殑淇℃伅Id璧嬬粰鍒犻櫎鎷涙姇鏍囩殑淇℃伅Id
+			DTenInfo.InfoId__c = BTenInfo;//鍒犻櫎鎷涙姇鏍囩殑淇℃伅Id璧嬬粰淇濈暀鎷涙姇鏍囩殑淇℃伅Id
+			// 鐐瑰嚮淇濆瓨鍚� 鍒犻櫎鎷涙姇鏍囦笂鐨勯�昏緫鍒犻櫎瀛楁鍙樹负true
+			DTenInfo.Logical_delete__c = false;
+			// update TenInfo;
+			// 涓�璧锋洿鏂板氨琛屼簡
+			updateTenInfoList.add(DTenInfo);
+			updateTenInfoList.add(BTen);
+			update updateTenInfoList;
+
+			// updateBTenList.add(BTen);
+			// update updateBTenList;
+
+		}
+		return 'OK';
+	}
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/TenderWebService.cls-meta.xml b/force-app/main/default/classes/TenderWebService.cls-meta.xml
new file mode 100644
index 0000000..e3d1b51
--- /dev/null
+++ b/force-app/main/default/classes/TenderWebService.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/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.html b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.html
new file mode 100644
index 0000000..81a3516
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="AntiLogicButton" 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/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js
new file mode 100644
index 0000000..1220eb0
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.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  ContraryLogicalDel  from '@salesforce/apex/TenderWebService.ContraryLogicalDel';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+export default class LexTenderingAntiLogicButton 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.AntiLogicButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+        })   
+    }
+
+    //鎷涙爣椤圭洰鍙嶉�昏緫鍒犻櫎
+    AntiLogicButton(){
+        ContraryLogicalDel({DTenId : this.id}).then(result =>{
+            if(result == 'OK'){
+                this.showToast("鍙嶉�昏緫鍒犻櫎鎴愬姛","success");
+            }
+            this.dispatchEvent(new CloseActionScreenEvent());
+        })
+    }
+
+    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/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingAntiLogicButton/lexTenderingAntiLogicButton.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/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js b/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js
index 81c44a0..c9f5295 100644
--- a/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js
+++ b/force-app/main/default/lwc/lexTenderingAttachmentButton/lexTenderingAttachmentButton.js
@@ -27,14 +27,10 @@
             this.id = result.Id;
             this.AttachmentButton();
             this.dispatchEvent(new CloseActionScreenEvent());
-        }).catch(() => {
-
-        }).finally(() => {
-            
-        });        
+        })       
     }
     
-    //鏌ョ湅闄勪欢
+    //鎷涙爣椤圭洰鏌ョ湅闄勪欢
     AttachmentButton(){
         window.open(`/apex/TenderInformationUploadPdf?id=${this.id}`);
     }
diff --git a/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js b/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js
index 5ad29ea..e577335 100644
--- a/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js
+++ b/force-app/main/default/lwc/lexTenderingHospitalButton/lexTenderingHospitalButton.js
@@ -36,7 +36,7 @@
         });        
     }
 
-    //鏂板缓鍖婚櫌
+    //鎷涙爣椤圭洰鏂板缓鍖婚櫌
     HospitalButton(){
         var url = this.Environment_Url+'001/e?CF00N10000009I0o7='+encodeURIComponent(this.name)
         +'&CF00N10000009I0o7_lkid='+encodeURIComponent(this.id)
diff --git a/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.html b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.html
new file mode 100644
index 0000000..e7eb872
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="LogicButton" 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/lexTenderingLogicButton/lexTenderingLogicButton.js b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js
new file mode 100644
index 0000000..288794e
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js
@@ -0,0 +1,39 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/TenderingButtonController.initTenderingController';
+export default class Logic 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.LogicButton();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        })        
+    }
+    
+    //鎷涙爣椤圭洰閫昏緫鍒犻櫎
+    LogicButton(){
+        window.open (`/apex/TenderDeletePagelwc?id=${this.id}`, '', 'height=350, width=600, top=200, left=350');
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js-meta.xml b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexTenderingLogicButton/lexTenderingLogicButton.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/lexTenderingLostButton/lexTenderingLostButton.js b/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js
index cb7beef..ff5d294 100644
--- a/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js
+++ b/force-app/main/default/lwc/lexTenderingLostButton/lexTenderingLostButton.js
@@ -33,12 +33,10 @@
                 this.profileId = result.profileId.slice(0,15);
                 this.LoseButton();
                 this.dispatchEvent(new CloseActionScreenEvent());
-        }).catch(() => {
-        }).finally(() => {
-        });        
+        })        
     }
 
-    //澶卞崟
+    //鎷涙爣椤圭洰澶卞崟
     LoseButton(){
         sqlResult({id: this.id}).then(result=>{
             //绠�妗f潈闄� 2S1_閿�鍞尰闄㈡媴褰� 2S4_閿�鍞鐞嗚�� 绯荤粺绠$悊鍛�
@@ -68,5 +66,6 @@
             variant: type
         });
         this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1