From 600af396ba134ee34b09f732c6b899eee8e7f984 Mon Sep 17 00:00:00 2001
From: KKbes <1620284052@qq.com>
Date: 星期三, 26 七月 2023 16:06:57 +0800
Subject: [PATCH] 任务

---
 force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAuraController.js |    5 
 force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.js-meta.xml           |   11 +
 force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.cmp          |    8 +
 force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.css          |    2 
 force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAuraHelper.js     |    5 
 force-app/main/default/classes/LexInquiryController.cls-meta.xml                       |    5 
 force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.html                  |    5 
 force-app/main/default/classes/LexInquiryController.cls                                |  105 +++++++++++++++++
 force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.cmp-meta.xml |    5 
 force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.js                    |  199 +++++++++++++++++++++++++++++++++
 10 files changed, 350 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.cmp b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.cmp
new file mode 100644
index 0000000..9d6c40c
--- /dev/null
+++ b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.cmp
@@ -0,0 +1,8 @@
+<aura:component implements="flexipage:availableForAllPageTypes,force:lightningQuickActionWithoutHeader,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable" access="global"> 
+    <aura:attribute name="recordId" type="String" />
+    <aura:handler name="render" value="{!this}"  action="{!c.closeModal}" />
+    <aura:attribute name="isDoneRendering" type="Boolean" default="false"/>
+    <div class="exampleHolder">
+        <c:lexExistingInquiry recordId="{!v.recordId}" />
+    </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.cmp-meta.xml b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.cmp-meta.xml
new file mode 100644
index 0000000..632b900
--- /dev/null
+++ b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.cmp-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AuraDefinitionBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+    <description>A Lightning Component Bundle</description>
+</AuraDefinitionBundle>
diff --git a/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.css b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAura.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAuraController.js b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAuraController.js
new file mode 100644
index 0000000..bb1e8ab
--- /dev/null
+++ b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAuraController.js
@@ -0,0 +1,5 @@
+({
+	myAction : function(component, event, helper) {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAuraHelper.js b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAuraHelper.js
new file mode 100644
index 0000000..24be77e
--- /dev/null
+++ b/force-app/main/default/aura/lexExistingInquiryAura/lexExistingInquiryAuraHelper.js
@@ -0,0 +1,5 @@
+({
+	helperMethod : function() {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexInquiryController.cls b/force-app/main/default/classes/LexInquiryController.cls
new file mode 100644
index 0000000..4d1621f
--- /dev/null
+++ b/force-app/main/default/classes/LexInquiryController.cls
@@ -0,0 +1,105 @@
+//author 锛�  kkbes
+public with sharing class LexInquiryController {
+
+
+    @AuraEnabled
+    public static Task init(String recordId){
+        Task res = new Task();
+
+        try{
+            res=[SELECT Id,Related_Opportunity1__c,QuoteIraiId__c ,Status FROM  Task  WHERE Id = : recordId ];
+        }
+        catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+
+        return res;
+    }
+
+
+    @AuraEnabled
+    public static List<Opportunity> getOpportunityIds(String RelatedOpportunity1){
+        List<Opportunity> res = new List<Opportunity>();
+        try{
+            res=[SELECT id FROM  Opportunity    WHERE  Opportunity_No__c  =  : RelatedOpportunity1];
+        }
+        catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+        return res;
+    }
+
+
+    @AuraEnabled
+    public static QuoteIrai__c  getQuoteIrai(String QuoteIraiId){
+        QuoteIrai__c res = new QuoteIrai__c();
+        try{
+            res=[SELECT Id,Lead__c  FROM  QuoteIrai__c  
+            WHERE Id = : QuoteIraiId ];
+        }
+        catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+
+        return res;
+    }
+
+
+
+    @AuraEnabled
+    public static String makeAndUpdateLead(String leadId,String Id,String QuoteIraiId){
+        Lead res = new Lead();
+        try{
+            res.Id =  leadId;
+            res.Opp_Name_Search__c =  Id;
+                if(QuoteIraiId != ''){
+                    res.LatestQuotationEntrustment__c=QuoteIraiId;
+                }
+            update res;
+            return 'success';
+        }
+        catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+            String a =  e.getMessage()+' And '+e.getCause();
+            return a;
+        }
+
+    }
+
+    @AuraEnabled
+    public static String makeAndUpdateTask(String Status,String Id){
+        Task res = new Task();
+        try{
+            res.Id =  Id;
+            res.Status = Status;
+            res.Quotation_request_completed_time__c = System.now();
+            update res;
+            return 'success';
+        }
+        catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+            return e.getMessage();
+        }
+
+    }
+
+    @AuraEnabled
+    public static String makeAndUpdateQuoteIrai(String QuoteIraiStatus,String Id){
+        QuoteIrai__c res = new QuoteIrai__c();
+        try{
+            res.Id =  Id;
+            res.QuoteIrai_Status__c = QuoteIraiStatus;
+            update res;
+            return 'success';
+        }
+        catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+            return e.getMessage();
+        }
+
+    }
+
+
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexInquiryController.cls-meta.xml b/force-app/main/default/classes/LexInquiryController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/LexInquiryController.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/lexExistingInquiry/lexExistingInquiry.html b/force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.html
new file mode 100644
index 0000000..c444cc3
--- /dev/null
+++ b/force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="Attachment" 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/lexExistingInquiry/lexExistingInquiry.js b/force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.js
new file mode 100644
index 0000000..bd43c23
--- /dev/null
+++ b/force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.js
@@ -0,0 +1,199 @@
+//author : kk   
+//self  review  鏇存柊澶辫触杩斿洖鐨勯敊璇俊鎭病鏈変箣鍓峜lass鐨勫ソ銆傜粰鍑虹殑閮芥槸鎰忎箟涓嶆槑鐨勬姤閿�
+
+import { LightningElement, track, wire , api  } from 'lwc';
+
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init from '@salesforce/apex/LexInquiryController.init';
+import getOpportunityIds from '@salesforce/apex/LexInquiryController.getOpportunityIds';
+import getQuoteIrai from '@salesforce/apex/LexInquiryController.getQuoteIrai';
+import makeAndUpdateLead from '@salesforce/apex/LexInquiryController.makeAndUpdateLead';
+import makeAndUpdateTask from '@salesforce/apex/LexInquiryController.makeAndUpdateTask';
+import makeAndUpdateQuoteIrai from '@salesforce/apex/LexInquiryController.makeAndUpdateQuoteIrai';
+
+
+
+
+
+  const event1 = new ShowToastEvent({
+            message:
+                '璇峰~鍐欒浠风殑缂栫爜',
+            variant : 'error'
+        });
+
+  const event2 = new ShowToastEvent({
+            message:
+                '鏇存柊宸插畬鎴�',
+            variant : 'success'
+        });
+
+  const event3 = new ShowToastEvent({
+            message:
+                '鎶ヤ环濮旀墭鏈叧鑱旀剰鍚�',
+            variant : 'error'
+        });
+
+  const event4 = new ShowToastEvent({
+            message:
+                '缂栫爜鏈夎!璇风‘璁ゆ纭殑缂栫爜',
+            variant : 'error'
+        });
+  const event5 = new ShowToastEvent({
+            message:
+                '浠诲姟宸茬粨鏉燂紝濡傞渶淇敼璇疯仈绯荤鐞嗗憳',
+            variant : 'error'
+        });
+export default class lexExistingInquiry extends LightningElement {
+
+    @api recordId;
+    Task;
+    QuoteIrai;
+    Opportunity;
+    NewLead;
+    NewTask;
+    NewQuoteIrai;
+    IsLoading=true;
+
+
+
+
+    @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);
+            if (result != null) {
+                this.Task = result;
+                this.ExistingInquiry().then(result=>{
+                    IsLoading=false;
+                    this.dispatchEvent(new CloseActionScreenEvent());
+                });
+            }
+        }).catch(error => {
+            console.log("error");
+            console.log(error);
+        });
+
+    }
+
+
+
+
+    async  ExistingInquiry(){
+        var judage = 0;
+        if( this.Task.Status == '鏈潃鎵�'|| this.Task.Status  == '閫茶涓�'){
+            if(this.Task.Related_Opportunity1__c == undefined || this.Task.Related_Opportunity1__c ==''){
+                this.dispatchEvent(event1);
+            }
+            else{
+                await getOpportunityIds({ RelatedOpportunity1 : this.Task.Related_Opportunity1__c
+                }).then(res =>{
+                    this.Opportunity=res;
+
+                });
+                if(this.Opportunity.length>0){
+                    await getQuoteIrai({QuoteIraiId : this.Task.QuoteIraiId__c
+                    }).then(res=>{
+                        this.NewTask=res;
+                    }).catch(err=>{
+                        console.log("err:",err.message);
+                    });
+
+                    if(this.NewTask.Lead__c){
+                         // Lead浣滄垚骞舵洿
+                        await makeAndUpdateLead({ Lead_c : this.Opportunity.Lead__c, Id : this.NewTask.Id, 
+                               QuoteIraiId__c : this.Task.QuoteIraiId__c
+                        }).then(res=>{
+                            if(res !='success'){
+                                const event6 = new ShowToastEvent({
+                                    message:
+                                    res+',Lead鏇存柊閿欒',
+                                    variant : 'error'
+                                });
+                                judage +=1;
+                                this.dispatchEvent(event6);
+                                }
+                        });
+                        if(judage!=0){
+                            return;
+                        }
+                        // 鍒ゆ柇鎶ヤ环濮旀墭
+                            if( this.Task.QuoteIraiId__c != '') {
+                                // 鎶ヤ环濮旀墭浣滄垚
+                                await makeAndUpdateQuoteIrai({ QuoteIraiStatus : "宸叉湁璇环", Id : this.Task.QuoteIraiId__c 
+                                }).then(res=>{
+                                    if(res!= 'success'){
+                                        const event8 = new ShowToastEvent({
+                                            message:
+                                            res+',QuoteIrai鏇存柊閿欒',
+                                            variant : 'error'
+                                        });
+                                         this.dispatchEvent(event8);
+                                        judage +=1;
+                                        }
+                                });
+                                if(judage!=0){
+                                    return;
+                                }
+
+                            }
+                        // Task鍋氭垚骞舵洿鏂�
+                        await makeAndUpdateTask({ 
+                            Status : "宸叉湁璇环", Id : this.Task.Id
+                        }).then(res=>{
+                            if(res !='success'){
+                                const event7 = new ShowToastEvent({
+                                    message:
+                                    res+',Task鏇存柊閿欒',
+                                    variant : 'error'
+                                });
+                             this.dispatchEvent(event7);
+                              judage +=1;
+                            }
+                            else{
+                                this.dispatchEvent(event2);
+                                //鍙戦�佹垚鍔熷悗锛屽笇鏈涜嚜鍔ㄥ埛鏂扮敾闈€��
+                                location.reload();   
+                            }
+                            if(judage!=0){
+                               return;
+                            }
+
+                        });
+                        }
+                    else{
+                        this.dispatchEvent(event3);
+                    }
+                }
+                else{
+                       this.dispatchEvent(event4);
+                }
+            }
+        }
+    
+        else{
+            this.dispatchEvent(event5);
+        }   
+     
+    }
+    
+
+
+}
diff --git a/force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.js-meta.xml b/force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.js-meta.xml
new file mode 100644
index 0000000..5286b86
--- /dev/null
+++ b/force-app/main/default/lwc/lexExistingInquiry/lexExistingInquiry.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexExistingInquiry">
+    <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