zhangchunxu
2023-08-07 1240f80db0d6d7c08d5c7699402f4c03554e718b
上传 “签收单”关联进口单证和机身编号“关联数据”
1个文件已修改
8个文件已添加
334 ■■■■■ 已修改文件
force-app/main/default/classes/ESignController.cls 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/SetFrameNumManageWebService.cls 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/SetFrameNumManageWebService.cls-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.html 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.html 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}
force-app/main/default/classes/SetFrameNumManageWebService.cls
New file
@@ -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{
             // 查询明细 在机身号管理中有没,没有生成,有更新 签收单、发货DN明细、保有设备
            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 的name去掉前两位的 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();
        }
    }
}
force-app/main/default/classes/SetFrameNumManageWebService.cls-meta.xml
New file
@@ -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>
force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.html
New file
@@ -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>
force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js
New file
@@ -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());
    }
}
force-app/main/default/lwc/lexESignInsertFrameNumManag/lexESignInsertFrameNumManag.js-meta.xml
New file
@@ -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>
force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.html
New file
@@ -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>
force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js
New file
@@ -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('开始执行batch,请等待执行完毕。',"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());
    }
}
force-app/main/default/lwc/lexUpdateFrameNumManag/lexUpdateFrameNumManag.js-meta.xml
New file
@@ -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>