unknown
2023-05-17 d544a2990189d7fcc34b722cfe76064fd69b2d62
提交追加待审批(按钮)

提交追加待审批(按钮)
2个文件已修改
130 ■■■■■ 已修改文件
force-app/main/default/classes/AddSubmitApprovalProcessController.cls 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/AddSubmitApprovalProcessController.cls
@@ -1,7 +1,4 @@
public with sharing class AddSubmitApprovalProcessController {
    public AddSubmitApprovalProcessController() {
    }
    @AuraEnabled
    public static InitData init(String recordId){
@@ -40,9 +37,12 @@
            res.applyUserId = ra.applyUser__r.Id;
            res.ownerId = ra.OwnerId;
            res.rentalApplyStatus = ra.Status__c;
            res.demoRequestPastDataId = Schema.SObjectType.Rental_Apply__c.getRecordTypeInfosByName().get(LightingButtonConstant.RECORD_TYPE_NAME_BY_PastData).getRecordTypeId();
            List<Rental_Apply_Equipment_Set_Detail__c> raeSet = [SELECT Id from Rental_Apply_Equipment_Set_Detail__c WHERE Rental_Apply__c = :recordId AND Draft_Appended__c=1];
            res.detailSize = raeSet.size();
            res.addApprovalStatus = '草案中';
            res.detailSize = 1;
        }
        catch (Exception e) {
            System.debug(LoggingLevel.INFO, '****e:' + e);  
@@ -51,7 +51,24 @@
    }
    public Class InitData{
    //提交审批
    @AuraEnabled
    public static String submitApproval(String recordId){
        Savepoint sp = Database.setSavepoint();
        try {
            Approval.ProcessSubmitRequest req1 = new Approval.ProcessSubmitRequest();
            req1.setObjectId(recordId);
            Approval.ProcessResult submitResult = Approval.process(req1);
            return 'OK';
        }
        catch (Exception e) {
            Database.rollback(sp);
            return e.getMessage();
        }
    }
    private class InitData{
        @AuraEnabled
        public String rentalApplyId;        //备品借出申请Id
        @AuraEnabled
@@ -102,5 +119,7 @@
        public String ownerId;                      //备品借出申请.所有人Id
        @AuraEnabled
        public String rentalApplyStatus;            //备品借出申请.状态
        @AuraEnabled
        public String demoRequestPastDataId;        //备品申请 过去历史转移Id
    }
}
force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
@@ -5,7 +5,9 @@
import { updateRecord } from 'lightning/uiRecordApi';
import init from '@salesforce/apex/AddSubmitApprovalProcessController.init';
import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare'
import submitApproval from '@salesforce/apex/AddSubmitApprovalProcessController.submitApproval';
import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare';
export default class lexAddSubmitApprovalProcess extends LightningElement {
    @api recordId;
    IsLoading = true;
@@ -27,7 +29,7 @@
            recordId: this.recordId
        }).then(result=>{
            if(result.addApprovalStatus != '草案中' || result.detailSize == 0){
                this.ToastShow('没有需要审批的追加附属品');
                this.ToastShow('没有需要审批的追加附属品','warning');
                return;
            }
            if (!confirm("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")) {
@@ -39,53 +41,54 @@
            // alert('希望到货日不能早于申请提交日');
            // return;
            // } 
            console.log(JSON.stringify(result));
            if(result.repairId != null){
                if(result.demoPurpose1 == '维修代用' && result.demoPurpose2 == '一般用户'){
                    if(result.repairEstimatedDateFormula == null){
                        this.ToastShow('一般维修无报价日,不可借用备品');
                        this.ToastShow('一般维修无报价日,不可借用备品','warning');
                        return;
                    }else if(result.repairEstimatedDateFormula <'2019-07-01' && result.agreedDate == null){
                        this.ToastShow('报价日在2019/7/1之前且户同意日为空,不可借用备品');
                        this.ToastShow('报价日在2019/7/1之前且户同意日为空,不可借用备品','warning');
                        return;
                    }
                }
                if(result.recordTypeId !='01210000000RHIn' && result.newProductGuaranteeObject=='2: 服务多年保修' && (result.assetModelNo=='CV-V1' ||result.assetModelNo=='CV-V1(A)'||result.assetModelNo=='CV-V1(B)'||result.assetModelNo=='GIF-LV1'||result.assetModelNo=='CF-LV1L'||result.assetModelNo=='CF-LV1I'||result.assetModelNo=='MAJ-1910') &&(result.demoPurpose2=='一般用户'||result.demoPurpose2=='再修理')){
                    this.ToastShow('奥辉设备,保修期内不提供备品.');
                //备品申请 过去历史转移
                if(result.recordTypeId != result.demoRequestPastDataId && result.newProductGuaranteeObject=='2: 服务多年保修' && (result.assetModelNo=='CV-V1' ||result.assetModelNo=='CV-V1(A)'||result.assetModelNo=='CV-V1(B)'||result.assetModelNo=='GIF-LV1'||result.assetModelNo=='CF-LV1L'||result.assetModelNo=='CF-LV1I'||result.assetModelNo=='MAJ-1910') &&(result.demoPurpose2=='一般用户'||result.demoPurpose2=='再修理')){
                    this.ToastShow('奥辉设备,保修期内不提供备品.','warning');
                    return;
                }
            }
            if(result.campaignId!=null || result.campaignId!=''){
                if(result.rentalApplyFlag == '草案中'){
                    this.ToastShow('学会状态为草案中,不能提交');
                if(result.campaignStatus == '草案中'){
                    this.ToastShow('学会状态为草案中,不能提交','warning');
                    return;
                }
                if(result.rentalApplyFlag == '申请中'){
                    this.ToastShow('学会状态为申请中,不能提交');
                if(result.campaignStatus == '申请中'){
                    this.ToastShow('学会状态为申请中,不能提交','warning');
                    return;
                }
                if(result.rentalApplyFlag == '已结束'){
                    this.ToastShow('学会状态为已结束,不能提交');
                if(result.campaignStatus == '已结束'){
                    this.ToastShow('学会状态为已结束,不能提交','warning');
                    return;
                }
                if(result.rentalApplyFlag == '已提交报告'){
                    this.ToastShow('学会状态为已提交报告,不能提交');
                if(result.campaignStatus == '已提交报告'){
                    this.ToastShow('学会状态为已提交报告,不能提交','warning');
                    return;
                }
                if(result.rentalApplyFlag == '取消申请中'){
                    this.ToastShow('学会状态为取消申请中,不能提交');
                if(result.campaignStatus == '取消申请中'){
                    this.ToastShow('学会状态为取消申请中,不能提交','warning');
                    return;
                }
                if(result.rentalApplyFlag == '取消'){
                    this.ToastShow('学会状态为取消,不能提交');
                if(result.campaignStatus == '取消'){
                    this.ToastShow('学会状态为取消,不能提交','warning');
                    return;
                }
            }
            if(result.qISNumber!=null || result.qISNumber!=''){
                if(result.nextAction=='送回'){
                    this.ToastShow('QIS 已送回,不能再申请备品了');
                    this.ToastShow('QIS 已送回,不能再申请备品了','warning');
                    return;
                }
            }
@@ -112,48 +115,60 @@
                userAccess:userAccess,
                ownerId:result.ownerId
            }).then(res=>{
                if(res!='OK'){
                    this.ToastShow(res);
                console.log('setSObjectShareSuccess===='+res);
                if(res!='OK'){
                    this.ToastShow(res,'warning');
                    return;
                }
            }).catch(err=>{
                console.log('setSObjectShareErr====',err);
                console.log('setSObjectShareErr===='+err);
            })
            var request = new sforce.ProcessSubmitRequest();
            request.objectId = "{!Rental_Apply__c.Id}";
            var processResults = sforce.connection.process([request]);
            // var request = new sforce.ProcessSubmitRequest();
            // request.objectId = "{!Rental_Apply__c.Id}";
            // var processResults = sforce.connection.process([request]);
            if (processResults[0].errors != null) {
                var back = new sforce.SObject("Rental_Apply__c");
                back.Id = "{!Rental_Apply__c.Id}";
                back.Add_Approval_Status__c = "草案中";
                var backResult = sforce.connection.update([back]);
                backMessages = this.getConnectDMLErrorMessages(backResult);
                if (backMessages.length > 0) {
                alert(backMessages.join("\n"));
                return;
                }
            // if (processResults[0].errors != null) {
            //     var back = new sforce.SObject("Rental_Apply__c");
            //     back.Id = "{!Rental_Apply__c.Id}";
            //     back.Add_Approval_Status__c = "草案中";
            //     var backResult = sforce.connection.update([back]);
            //     backMessages = this.getConnectDMLErrorMessages(backResult);
            //     if (backMessages.length > 0) {
            //         this.showToast(backMessages.join("\n"),'error');
            //         return;
            //     }
                var errmsg = processResults[0].errors.message.toString();
                alert(errmsg);
                return;
            }
            //     var errmsg = processResults[0].errors.message.toString();
            //     this.showToast(errmsg,'error');
            //     return;
            // }
            //updateRecord({fields: { Id: this.recordId }});
            submitApproval({
                recordId: this.recordId
            }).then(res=>{
                console.log('submitApproval===='+res);
                if(res == 'OK'){
                    this.ToastShow('提交成功','success');
                }else{
                    this.ToastShow(res,'error');
                }
            })
            updateRecord({fields: { Id: this.recordId }});
            
        }).catch(err=>{
            console.log('sErr====',err);
            console.log('sErr====',err.message);
        })
    }
    ToastShow(msg){
    ToastShow(msg,type){
        const evt = new ShowToastEvent({
            title : msg,
            message: '',
            variant: 'warning'
            variant: type
        });
        this.dispatchEvent(evt);
        this.dispatchEvent(new CloseActionScreenEvent());