From 1240f80db0d6d7c08d5c7699402f4c03554e718b Mon Sep 17 00:00:00 2001
From: zhangchunxu <1842059105@qq.com>
Date: 星期一, 07 八月 2023 19:48:40 +0800
Subject: [PATCH] 上传 “签收单”关联进口单证和机身编号“关联数据”

---
 force-app/main/default/classes/ESignController.cls                                             |   12 +
 force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js          |   72 ++++++++++++
 force-app/main/default/classes/SetFrameNumManageWebService.cls                                 |  137 ++++++++++++++++++++++
 force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js                    |   62 ++++++++++
 force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js-meta.xml           |   11 +
 force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.html        |   12 ++
 force-app/main/default/classes/SetFrameNumManageWebService.cls-meta.xml                        |    5 
 force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js-meta.xml |   11 +
 force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.html                  |   12 ++
 9 files changed, 333 insertions(+), 1 deletions(-)

diff --git a/force-app/main/default/classes/ESignController.cls b/force-app/main/default/classes/ESignController.cls
index bdb7e66..d1a2df1 100644
--- a/force-app/main/default/classes/ESignController.cls
+++ b/force-app/main/default/classes/ESignController.cls
@@ -1,9 +1,16 @@
+/*
+ * @Author: zhangchunxu
+ * @Date: 2023-07-17 10:21:05
+ * @LastEditors: zhangchunxu
+ * @LastEditTime: 2023-08-07 19:44:59
+ * 
+ */
 public class ESignController {
     @AuraEnabled
     public static InitData ESignController (String recordId){
         InitData res = new initData();
         try{
-            eSignForm__c report = [SELECT Id,Group_purchase_PCL__c,OCM_man_province_cus__c,HPSignUpStatus__c,Sales_Root_Formula__c,HPSignUpDate__c,agencyAutoSignUpStatus__c,agencySignUpDate__c  FROM eSignForm__c WHERE Id = :recordId LIMIT 1];
+            eSignForm__c report = [SELECT Id,Group_purchase_PCL__c,OCM_man_province_cus__c,HPSignUpStatus__c,Sales_Root_Formula__c,HPSignUpDate__c,agencyAutoSignUpStatus__c,agencySignUpDate__c,Statu_Achievements_DN__c  FROM eSignForm__c WHERE Id = :recordId LIMIT 1];
             res.Id = report.Id;
             res.GrouppurchasePCL = report.Group_purchase_PCL__c;
             res.OCMManProvinceCus = report.OCM_man_province_cus__c;
@@ -16,6 +23,7 @@
             res.userId = UserInfo.getUserId();
             res.systemProfileId = getProfileIdByName(LightingButtonConstant.SYSTEM_PROFILE_NAME);
             res.OBA4_sinFor = getProfileIdByName(LightingButtonConstant.OBA4_sinFor);
+            res.StatuAchievementsDNId = report.Statu_Achievements_DN__c;
             System.debug(LoggingLevel.INFO, '*** res: ' + res);
         }catch(Exception e){
             System.debug(LoggingLevel.INFO, '*** e: ' + e);
@@ -75,5 +83,7 @@
         public String systemProfileId;
         @AuraEnabled
         public String OBA4_sinFor;
+        @AuraEnabled
+        public String StatuAchievementsDNId;
     }
 }
\ No newline at end of file
diff --git a/force-app/main/default/classes/SetFrameNumManageWebService.cls b/force-app/main/default/classes/SetFrameNumManageWebService.cls
new file mode 100644
index 0000000..0f06c00
--- /dev/null
+++ b/force-app/main/default/classes/SetFrameNumManageWebService.cls
@@ -0,0 +1,137 @@
+/*
+ * @Author: zhangchunxu
+ * @Date: 2023-07-14 14:23:13
+ * @LastEditors: zhangchunxu
+ * @LastEditTime: 2023-07-20 13:49:56
+ * 
+ */
+/**
+     * @Author    lijinhuan
+     * @DateTime  2022-12-28T18:25:42+0800
+     * 娴嬭瘯绫伙細FrameNumUploadControllerTest 
+*/
+global class  SetFrameNumManageWebService {
+    /**
+     * @fuction   [AuraEnabled]
+     * @Author    zhangchunxu
+     * @DateTime  2023-07-20T13:50:1+0800
+     */
+    @AuraEnabled
+    /**
+     * @fuction   [鍏宠仈鏁版嵁]
+     * @Author    lijinhuan
+     * @DateTime  2023-01-10T11:06:10+0800
+     */ 
+    WebService static String updateFrameNumManag(String Id) {
+        Id execBTId = Database.executeBatch(new SetFrameNumManageBatch(Id), 1);
+        return '1';
+    }
+    /**
+     * @fuction   [AuraEnabled]
+     * @Author    zhangchunxu
+     * @DateTime  2023-07-31T13:50:1+0800
+     */
+    @AuraEnabled
+    /**
+     * @fuction   [鎵归噺鍒犻櫎]
+     * @Author    lijinhuan
+     * @DateTime  2023-01-10T11:06:10+0800
+     */
+    WebService static String BatchDelete(List<String> idList) {
+        Savepoint sp = Database.setSavepoint();
+        try{
+            //sf鍒犻櫎
+            Database.delete(idList); 
+            return 'success';
+        }catch(Exception e){
+            Database.rollback(sp);
+            System.debug('澶辫触鍘熷洜鏄� : ' + e.getMessage());
+            return '澶辫触鍘熷洜鏄� : ' + e.getMessage();
+        }
+    }
+    /**
+     * @fuction   [AuraEnabled]
+     * @Author    zhangchunxu
+     * @DateTime  2023-07-17T13:27:1+0800
+     */
+    @AuraEnabled
+    /**
+     * @fuction   [鐢熸垚鏈鸿韩鍙风鐞嗗璞℃暟鎹甝
+     * @Author    lijinhuan0
+     * @DateTime  2023-02-07T11:06:1+0800
+     */
+    WebService static String insertFrameNumManag(String Id,String esId) {
+        // return Id+';'+esId;
+        Map<String,Statu_Achievements_DN_details__c> sandMap = new Map<String,Statu_Achievements_DN_details__c>();
+        Map<String,Statu_Achievements_DN_details__c> UpdateSandMap = new Map<String,Statu_Achievements_DN_details__c>();
+        Map<String,String> UpdateFIdMap = new Map<String,String>();
+        try{
+             // 鏌ヨ鏄庣粏 鍦ㄦ満韬彿绠$悊涓湁娌★紝娌℃湁鐢熸垚,鏈夋洿鏂� 绛炬敹鍗曘�佸彂璐N鏄庣粏銆佷繚鏈夎澶�
+            for(Statu_Achievements_DN_details__c dn:[SELECT Id,SerialNumber__c,asset__c,
+                                                        Statu_Achievements_DN__c,SerialNoorLotNo_Raw__c,TracingCode_Raw__c,
+                                                        OTCode_Raw__c,asset__r.Name,QTY__c,Statu_Achievements_DN__r.Name
+                                                        FROM Statu_Achievements_DN_details__c
+                                                        WHERE Statu_Achievements_DN__c =:Id ]){
+                sandMap.put(dn.TracingCode_Raw__c,dn);
+            }
+            for(FrameNumManage__c f:[SELECT Id,ManagementCode__c  FROM FrameNumManage__c WHERE ManagementCode__c in :sandMap.keySet()]){
+                // 鏇存柊鏈鸿韩鍙风鐞�
+                UpdateSandMap.put(f.ManagementCode__c,sandMap.get(f.ManagementCode__c));
+                UpdateFIdMap.put(f.ManagementCode__c, f.Id);
+                sandMap.remove(f.ManagementCode__c);
+            }
+            if(sandMap.size() > 0 || UpdateSandMap.size() > 0){
+                List<FrameNumManage__c> infnmList = new List<FrameNumManage__c>();
+                for (Statu_Achievements_DN_details__c s:sandMap.values()) {
+                    FrameNumManage__c temp = new FrameNumManage__c();
+                    temp.Name = s.TracingCode_Raw__c;
+                    temp.ManagementCode__c = s.TracingCode_Raw__c;
+                    temp.SerialNumberS__c = s.SerialNoorLotNo_Raw__c+'('+s.TracingCode_Raw__c+')';
+                    temp.SerialNumber__c = s.SerialNoorLotNo_Raw__c;
+                    temp.Num__c = s.QTY__c;
+                    temp.CheckOutNo__c  = s.Statu_Achievements_DN__r.Name.subString(2);//鍙戣揣DN 鐨刵ame鍘绘帀鍓嶄袱浣嶇殑 00
+ 
+                    temp.Statu_Achievements_DN_details__c = s.Id;
+                    temp.Asset__c = s.asset__c;
+                    temp.signInForm__c = esId;
+
+                    temp.Material__c = s.OTCode_Raw__c;
+                    temp.MaterialDepict__c = s.asset__r.Name;
+
+                    
+                    infnmList.add(temp);
+                }
+                if(infnmList.size() > 0){
+                    insert infnmList;
+                    // Database.executeBatch(new SetFrameNumManageBatch(), 100);
+                }
+                if(UpdateSandMap.size() > 0){
+                    List<FrameNumManage__c> upfnmList = new List<FrameNumManage__c>();
+                    for (Statu_Achievements_DN_details__c s:UpdateSandMap.values()) {
+                        if(UpdateFIdMap.get(s.TracingCode_Raw__c) != null ){
+                            FrameNumManage__c temp = new FrameNumManage__c();
+                            temp.id = UpdateFIdMap.get(s.TracingCode_Raw__c);
+                            temp.Statu_Achievements_DN_details__c = s.Id;
+                            temp.Asset__c = s.asset__c;
+                            temp.signInForm__c = esId;
+                            upfnmList.add(temp);
+                        }
+                    }
+                    if(upfnmList.size() > 0 ){
+                        update upfnmList;
+                    }
+                }
+                // return '1';
+            }
+            return '1';
+            // else{
+            //     return '鏁版嵁宸茬粡鍏宠仈锛屾病鏈夐渶瑕佸叧鑱旂殑鏁版嵁';
+            // }
+               
+        }catch(Exception e){
+            // Database.rollback(sp);
+            System.debug('澶辫触鍘熷洜鏄� : ' + e.getMessage());
+            return '澶辫触鍘熷洜鏄� : ' + e.getMessage();
+        }
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/SetFrameNumManageWebService.cls-meta.xml b/force-app/main/default/classes/SetFrameNumManageWebService.cls-meta.xml
new file mode 100644
index 0000000..db9bf8c
--- /dev/null
+++ b/force-app/main/default/classes/SetFrameNumManageWebService.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>48.0</apiVersion>
+    <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.html b/force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.html
new file mode 100644
index 0000000..5f385b3
--- /dev/null
+++ b/force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.html
@@ -0,0 +1,12 @@
+<!--
+ * @Author: zhangchunxu
+ * @Date: 2023-07-17 10:18:04
+ * @LastEditors: zhangchunxu
+ * @LastEditTime: 2023-07-18 09:49:35
+ * 
+-->
+<template>
+    <div class="InsertFrameNumManag" 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/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js b/force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js
new file mode 100644
index 0000000..cbd30a4
--- /dev/null
+++ b/force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js
@@ -0,0 +1,72 @@
+/*
+ * @Author: zhangchunxu
+ * @Date: 2023-07-17 10:18:04
+ * @LastEditors: zhangchunxu
+ * @LastEditTime: 2023-08-07 17:29:17
+ * 
+ */
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import  init  from '@salesforce/apex/ESignController.ESignController';
+import insertFrameNumManag from '@salesforce/apex/SetFrameNumManageWebService.insertFrameNumManag';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class lexESignInsertFrameNumManag extends LightningElement {
+	@api recordId;
+    id;
+	IsLoading = true;
+    StatuAchievementsDNId;
+
+	@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.StatuAchievementsDNId = result.StatuAchievementsDNId;
+            this.id = result.Id;
+            this.FrameNumManag()
+            // this.dispatchEvent(new CloseActionScreenEvent());
+        })
+    }
+    FrameNumManag(){
+        var sId = this.StatuAchievementsDNId;
+        var esId = this.id;
+        insertFrameNumManag({Id: sId,esId:esId}).then(res=>{
+            if (res == '1') {
+            // alert('鏇存柊鏁版嵁涓紝璇风瓑寰呮墽琛屽畬姣曘��');
+            this.showToast('鏇存柊鏁版嵁涓紝璇风瓑寰呮墽琛屽畬姣曘��',"success");
+            } else {
+            // alert(rtn);
+            this.showToast(res,"error");
+            }
+        }).catch( error =>{
+            if (error.faultcode == 'sf:INSUFFICIENT_ACCESS') {
+            // alert('娌℃湁鎵ц鏉冮檺銆�');
+            this.showToast('娌℃湁鎵ц鏉冮檺銆�',"success");
+            } else {
+            this.showToast(error,"error");
+            // alert(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/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js-meta.xml b/force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.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/lexUpdateFrameNumManag/lexUpdateFrameNumManag.html b/force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.html
new file mode 100644
index 0000000..5f385b3
--- /dev/null
+++ b/force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.html
@@ -0,0 +1,12 @@
+<!--
+ * @Author: zhangchunxu
+ * @Date: 2023-07-17 10:18:04
+ * @LastEditors: zhangchunxu
+ * @LastEditTime: 2023-07-18 09:49:35
+ * 
+-->
+<template>
+    <div class="InsertFrameNumManag" 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/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js b/force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js
new file mode 100644
index 0000000..9d6fa83
--- /dev/null
+++ b/force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js
@@ -0,0 +1,62 @@
+/*
+ * @Author: zhangchunxu
+ * @Date: 2023-07-20 13:38:10
+ * @LastEditors: zhangchunxu
+ * @LastEditTime: 2023-08-07 15:53:19
+ * 
+ */
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import updateFrameNumManag from '@salesforce/apex/SetFrameNumManageWebService.updateFrameNumManag';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+
+export default class LexUpdateFrameNumManag 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 () {
+        this.UpdateFrameNumManag();
+    }
+    UpdateFrameNumManag(){
+        this.IsLoading = false;
+        var sId = this.recordId
+        updateFrameNumManag({Id: sId}).then(res=>{
+            console.log(res);
+            if (res == '1') {
+            // alert('鏇存柊鏁版嵁涓紝璇风瓑寰呮墽琛屽畬姣曘��');
+            this.showToast('寮�濮嬫墽琛宐atch锛岃绛夊緟鎵ц瀹屾瘯銆�',"success");
+            } else {
+            // alert(rtn);
+            this.showToast(res,"error");
+            }
+        }).catch( error =>{
+            if (error.faultcode == 'sf:INSUFFICIENT_ACCESS') {
+            // alert('娌℃湁鎵ц鏉冮檺銆�');
+            this.showToast('娌℃湁鎵ц鏉冮檺銆�',"error");
+            } else {
+            this.showToast(error,"error");
+            // alert(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/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js-meta.xml b/force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js-meta.xml
new file mode 100644
index 0000000..2b7649d
--- /dev/null
+++ b/force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.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

--
Gitblit v1.9.1