From 99537f14288ecc5502dfd653f986c76d7c40700d Mon Sep 17 00:00:00 2001
From: KKbes <1620284052@qq.com>
Date: 星期三, 26 七月 2023 16:10:43 +0800
Subject: [PATCH] 学会

---
 force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp          |   10 ++
 force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraHelper.js     |    5 +
 force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.html                  |    5 +
 force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.css          |    2 
 force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js-meta.xml           |   11 ++
 force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraController.js |    5 +
 force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js                    |   88 ++++++++++++++++++++++
 force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp-meta.xml |    5 +
 force-app/main/default/classes/LexSubmitCampaignController.cls                     |   88 +++++++++++++++++++++
 9 files changed, 216 insertions(+), 3 deletions(-)

diff --git a/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp
new file mode 100644
index 0000000..8e91f3a
--- /dev/null
+++ b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp
@@ -0,0 +1,10 @@
+<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">
+S
+        <c:lexAddToCalender recordId="{!v.recordId}" />
+        
+    </div>
+</aura:component>
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp-meta.xml b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.cmp-meta.xml
new file mode 100644
index 0000000..632b900
--- /dev/null
+++ b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.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/lexAddToCalenderAura/lexAddToCalenderAura.css b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.css
new file mode 100644
index 0000000..a5839d4
--- /dev/null
+++ b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAura.css
@@ -0,0 +1,2 @@
+.THIS {
+}
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraController.js b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraController.js
new file mode 100644
index 0000000..bb1e8ab
--- /dev/null
+++ b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraController.js
@@ -0,0 +1,5 @@
+({
+	myAction : function(component, event, helper) {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraHelper.js b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraHelper.js
new file mode 100644
index 0000000..24be77e
--- /dev/null
+++ b/force-app/main/default/aura/lexAddToCalenderAura/lexAddToCalenderAuraHelper.js
@@ -0,0 +1,5 @@
+({
+	helperMethod : function() {
+		
+	}
+})
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexSubmitCampaignController.cls b/force-app/main/default/classes/LexSubmitCampaignController.cls
index cb77566..a63c04f 100644
--- a/force-app/main/default/classes/LexSubmitCampaignController.cls
+++ b/force-app/main/default/classes/LexSubmitCampaignController.cls
@@ -100,8 +100,8 @@
         }
         catch (Exception e) {
              System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
-        }
-        return res;        
+             return null;
+        }       
     }
 
     @AuraEnabled
@@ -118,11 +118,93 @@
              System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
              return e.getMessage();
         }
-        return 'success';
+    }
+    //鏃堕棿淇敼鐢宠鎸夐挳
+    @AuraEnabled
+    public static Campaign initUpdateTimeReply(String recordId){
+        Campaign  res = [SELECT Id,Status_Service__c,ServiceDesignDep__c
+            FROM Campaign 
+                WHERE Id = : recordId];
+        return res; 
     }
 
+    @AuraEnabled
+    public static String getUserNameById(String Id){
+        User  res = [SELECT Name From User WHERE Id = : Id ];
+
+        return res.Name;
+    }
+    //鍚戞櫤鎱у尰鐤楀彂閫佹椿鍔ㄤ俊鎭�
+    @AuraEnabled
+    public static Campaign initSendToComPlat(String recordId){
+        Campaign  res = [SELECT Id,IF_Submit__c
+            FROM Campaign 
+                WHERE Id = : recordId];
+        return res; 
+    }
+
+    @AuraEnabled
+    public static String SendToComPlatUpdate(String Id , Boolean IF_Submit){
+        Campaign res= new Campaign();
+        try {
+            res.Id=Id;
+            res.IF_Submit__c=IF_Submit;
+            UPDATE res;
+            return 'success';
+        }
+        catch (Exception e) {
+            System.debug('lexSubmitCampaign,method:initCancle   error: '+e.getMessage());
+            return e.getMessage();
+        }        
+    }
+    //娣诲姞鍒版棩鍘嗘寜閽�
+    @AuraEnabled
+    public static Campaign initAddToCalender(String recordId){
+        Campaign res = new Campaign();
+        try {
+                res = [SELECT Name,Id,StartDate,EndDate
+                    FROM Campaign
+                        WHERE Id = : recordId];
+                return res;
+        }
+        catch (Exception e) {
+            System.debug('lexSubmitCampaign,method:initAddToCalender   error: '+e.getMessage());
+            return null;
+        }
+    }
+
+    @AuraEnabled
+    public static List<Event> getCampaignEvent(String Id, String userId){
+        try {
+            List<Event> res = [SELECT Id FROM Event WHERE whatId = :Id and WS_flg__c = true and OwnerId = :userId];
+            return res;
+        }
+        catch (Exception e) {
+            System.debug('lexSubmitCampaign,method:getCampaignEvent   error: '+e.getMessage());
+            return null;
+        }
     
+    }
 
+    @AuraEnabled
+    public static String addCampaignEvent(Date StartDateTime,Date EndDateTime,String whatid,String Subject){
+        try {
+            Event event = new Event();
+            event.WS_flg__c = true;
+            event.IsAllDayEvent = true;
+            event.StartDateTime = StartDateTime;
+            event.EndDateTime = EndDateTime;
+            event.whatid = whatid;
+            event.Subject = Subject;
+            INSERT event;
+            return 'success';
+        }
+        catch (Exception e) {
+            System.debug('lexSubmitCampaign,method:addCampaignEvent   error: '+e.getMessage());
+            return e.getMessage();
+        }
+        
 
+    }
 
 }
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.html b/force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.html
new file mode 100644
index 0000000..c444cc3
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.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/lexAddToCalender/lexAddToCalender.js b/force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js
new file mode 100644
index 0000000..391e999
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js
@@ -0,0 +1,88 @@
+import { LightningElement, track, wire,api } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import USER_ID from '@salesforce/user/Id';
+const event1 = new ShowToastEvent({
+	            	message:
+	                "You have already added this Campaign!",
+	                variant : 'error'
+});
+const event2 = new ShowToastEvent({
+	            	message:
+	                "success",
+	                variant : 'success'
+});
+import init  from '@salesforce/apex/LexSubmitCampaignController.initAddToCalender';
+import getCampaignEvent  from '@salesforce/apex/LexSubmitCampaignController.getCampaignEvent';
+
+import addCampaignEvent  from '@salesforce/apex/LexSubmitCampaignController.addCampaignEvent';
+
+export default class lexAddToCalender extends LightningElement {
+	@api recordId;
+	IsLoading=true;
+	Campaign;
+
+	@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.Campaign = result;
+                this.addToCalender().then(result=>{
+               	this.IsLoading=false;
+            	this.dispatchEvent(new CloseActionScreenEvent());
+            });
+            }
+        }).catch(error => {
+			const eventInItError = new ShowToastEvent({
+	           	message:
+	            error.message,
+	            variant : 'error'
+        	});
+        	this.dispatchEvent(eventInItError);
+        });
+
+    }
+
+    async addToCalender(){
+		var startDay__0 = new Date(this.Campaign.StartDate);
+		var startDay = new Date(startDay__0.getTime() + (24 * 60 * 60 * 1000));
+		var endDay__0 = new Date(this.Campaign.EndDate);
+		var endDay = new Date(endDay__0.getTime() + (24 * 60 * 60 * 1000));
+		await getCampaignEvent({ Id: this.recordId,userId:USER_ID}).then(result =>{
+			if(result.length>0){
+				this.dispatchEvent(event1);
+			}
+			else{
+				addCampaignEvent({StartDateTime :startDay,EndDateTime:endDay,
+					whatid:this.Campaign.Id,Subject:this.Campaign.Name}).then(result=>{
+						if(result=='success'){
+							this.dispatchEvent(event2);
+							location.href = "/"+this.Campaign.Id;
+						}
+						else{
+							const event3 = new ShowToastEvent({
+								message : "failed to create:" + result,
+								variant : 'error'
+							})
+							this.dispatchEvent(event3);
+						}
+					})
+			}
+		})
+
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js-meta.xml b/force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js-meta.xml
new file mode 100644
index 0000000..254cace
--- /dev/null
+++ b/force-app/main/default/lwc/lexAddToCalender/lexAddToCalender.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexAddToCalender">
+    <apiVersion>51.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

--
Gitblit v1.9.1