unknown
2023-07-20 909d5c09ab28f87964cd8993cde3c1242c3414b0
force-app/main/default/lwc/lexAddSubmitApprovalProcess/lexAddSubmitApprovalProcess.js
@@ -4,10 +4,10 @@
import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
import { updateRecord } from 'lightning/uiRecordApi';
import LightningConfirm from 'lightning/confirm';
import init from '@salesforce/apex/AddSubmitApprovalProcessController.init';
import submitApproval from '@salesforce/apex/AddSubmitApprovalProcessController.submitApproval';
import init from '@salesforce/apex/LexAddSubmitApprovalProcessController.init';
import submitApproval from '@salesforce/apex/LexAddSubmitApprovalProcessController.submitApproval';
import setSObjectShare from '@salesforce/apex/ControllerUtil.setSObjectShare';
import changeAddApprovalStatus from '@salesforce/apex/AddSubmitApprovalProcessController.changeAddApprovalStatus';
import changeAddApprovalStatus from '@salesforce/apex/LexAddSubmitApprovalProcessController.changeAddApprovalStatus';
export default class lexAddSubmitApprovalProcess extends LightningElement {
   @api recordId;
@@ -29,6 +29,12 @@
      init({
         recordId: this.recordId
      }).then(result=>{
         console.log('result==='+JSON.stringify(result));
         if(JSON.stringify(result) == '{}'){
            this.ToastShow('没有查到需要的数据','warning');
            return;
         }
         if(result.addApprovalStatus != '草案中' || result.detailSize == 0){
            this.ToastShow('没有需要审批的追加附属品','warning');
                return;
@@ -37,143 +43,143 @@
         //    this.dispatchEvent(new CloseActionScreenEvent());
         //    return;
         // }
         const SUBMIT = LightningConfirm.open({
         LightningConfirm.open({
               message: "一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?",
               variant: 'headerless',
               label: '提示信息',
               // setting theme would have no effect
           });
           }).then(submit=>{
              if(!submit){
                 this.dispatchEvent(new CloseActionScreenEvent());
                 return;
              }else{
           if(SUBMIT==false){
              this.dispatchEvent(new CloseActionScreenEvent());
              return;
           }
         // 希望到货日不能早于申请提交日-0418追加
         //if ('{!Rental_Apply__c.Request_shipping_day__c}' < '{!TODAY()}') {
         // alert('希望到货日不能早于申请提交日');
         // return;
         // }
         console.log(JSON.stringify(result));
         if(result.repairId != null){
            if(result.demoPurpose1 == '维修代用' && result.demoPurpose2 == '一般用户'){
               if(result.repairEstimatedDateFormula == null){
                  this.ToastShow('一般维修无报价日,不可借用备品','warning');
                      return;
               }else if(result.repairEstimatedDateFormula <'2019-07-01' && result.agreedDate == null){
                  this.ToastShow('报价日在2019/7/1之前且户同意日为空,不可借用备品','warning');
                      return;
               }
            }
            //备品申请 过去历史转移
            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.campaignStatus == '草案中'){
               this.ToastShow('学会状态为草案中,不能提交','warning');
               return;
            }
            if(result.campaignStatus == '申请中'){
               this.ToastShow('学会状态为申请中,不能提交','warning');
               return;
            }
            if(result.campaignStatus == '已结束'){
               this.ToastShow('学会状态为已结束,不能提交','warning');
               return;
            }
            if(result.campaignStatus == '已提交报告'){
               this.ToastShow('学会状态为已提交报告,不能提交','warning');
               return;
            }
            if(result.campaignStatus == '取消申请中'){
               this.ToastShow('学会状态为取消申请中,不能提交','warning');
               return;
            }
            if(result.campaignStatus == '取消'){
               this.ToastShow('学会状态为取消,不能提交','warning');
               return;
            }
         }
         if(result.qISNumber!=null || result.qISNumber!=''){
            if(result.nextAction=='送回'){
               this.ToastShow('QIS 已送回,不能再申请备品了','warning');
               return;
            }
         }
         //share
         var userAccess = new Array();
         userAccess.push(result.applyUserId + '_Edit');
         //SWAG-BZMA8W 去掉 服务经理部长共享 start
         //update lxy DLIU-BZNBG9 去掉服务经理部长共享
         //userAccess.push('{!Rental_Apply__c.JingliApprovalManagerId__c}_Read');
         //userAccess.push('{!Rental_Apply__c.SalesManagerId__c}_Read');//20210727 ljh SFDC-C54C33 update 共享触发器完成
         //update lxy DLIU-BZNBG9 去掉服务经理部长共享
         //userAccess.push('{!Rental_Apply__c.BuchangApprovalManagerId__c}_Read');
         //SWAG-BZMA8W 去掉 服务经理部长共享 end
         //userAccess.push('{!Rental_Apply__c.BuchangApprovalManagerSalesId__c}_Read');//20210727 ljh SFDC-C54C33 update 共享触发器完成
         //userAccess.push('{!Rental_Apply__c.ZongjianApprovalManagerId__c}_Read');//20210727 ljh SFDC-C54C33 update 共享触发器完成
         //userAccess.push('{!Rental_Apply__c.Status__c}_Read');
         console.log('参数==='+result.rentalApplyId+' '+userAccess+' '+result.ownerId);
         setSObjectShare({
            sobjectName:'Rental_Apply__Share',
            rowCause:'ApplyUserShare__c',
            parentId:result.rentalApplyId,
            userAccess:userAccess,
            ownerId:result.ownerId
         }).then(res=>{
            if(res!='OK'){
               this.ToastShow(res,'warning');
               return;
            }else{
               console.log('setSObjectShareSuccess====OK');
               //追加备品申请状态确认,已经提交过的申请,不能重复提交Status__c
               if (result.rentalApplyStatus != '已批准' && result.rentalApplyStatus != '已出库指示') {
                  this.ToastShow('请备品申请状态确认,申请状态已批准后才可以提交追加审批','warning');
                  return;
               // 希望到货日不能早于申请提交日-0418追加
               //if ('{!Rental_Apply__c.Request_shipping_day__c}' < '{!TODAY()}') {
               // alert('希望到货日不能早于申请提交日');
               // return;
               // }
               console.log(JSON.stringify(result));
               if(result.repairId != null){
                  if(result.demoPurpose1 == '维修代用' && result.demoPurpose2 == '一般用户'){
                     if(result.repairEstimatedDateFormula == null){
                        this.ToastShow('一般维修无报价日,不可借用备品','warning');
                            return;
                     }else if(result.repairEstimatedDateFormula <'2019-07-01' && result.agreedDate == null){
                        this.ToastShow('报价日在2019/7/1之前且户同意日为空,不可借用备品','warning');
                            return;
                     }
                  }
                  //备品申请 过去历史转移
                  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;
                  }
               }
               changeAddApprovalStatus({
                  recordId: this.recordId,
                  status: '填写完毕'
               }).then(changeResult=>{
                  if(changeResult == '更新成功'){
                     submitApproval({
                        recordId: this.recordId
                     }).then(submitApprovalRes=>{
                        if(submitApprovalRes == 'OK'){
                           this.ToastShow('提交追加待审批','success');
                           this.updateRecordView(this.recordId);
                        }else{
                           this.ToastShow('追加待审批失败','ERROR');
                        }
                     })
               if(result.campaignId!=null || result.campaignId!=''){
                  if(result.campaignStatus == '草案中'){
                     this.ToastShow('学会状态为草案中,不能提交','warning');
                     return;
                  }
                  if(result.campaignStatus == '申请中'){
                     this.ToastShow('学会状态为申请中,不能提交','warning');
                     return;
                  }
                  if(result.campaignStatus == '已结束'){
                     this.ToastShow('学会状态为已结束,不能提交','warning');
                     return;
                  }
                  if(result.campaignStatus == '已提交报告'){
                     this.ToastShow('学会状态为已提交报告,不能提交','warning');
                     return;
                  }
                  if(result.campaignStatus == '取消申请中'){
                     this.ToastShow('学会状态为取消申请中,不能提交','warning');
                     return;
                  }
                  if(result.campaignStatus == '取消'){
                     this.ToastShow('学会状态为取消,不能提交','warning');
                     return;
                  }
               }
               if(result.qISNumber!=null || result.qISNumber!=''){
                  if(result.nextAction=='送回'){
                     this.ToastShow('QIS 已送回,不能再申请备品了','warning');
                     return;
                  }
               }
               //share
               var userAccess = new Array();
               userAccess.push(result.applyUserId + '_Edit');
               //SWAG-BZMA8W 去掉 服务经理部长共享 start
               //update lxy DLIU-BZNBG9 去掉服务经理部长共享
               //userAccess.push('{!Rental_Apply__c.JingliApprovalManagerId__c}_Read');
               //userAccess.push('{!Rental_Apply__c.SalesManagerId__c}_Read');//20210727 ljh SFDC-C54C33 update 共享触发器完成
               //update lxy DLIU-BZNBG9 去掉服务经理部长共享
               //userAccess.push('{!Rental_Apply__c.BuchangApprovalManagerId__c}_Read');
               //SWAG-BZMA8W 去掉 服务经理部长共享 end
               //userAccess.push('{!Rental_Apply__c.BuchangApprovalManagerSalesId__c}_Read');//20210727 ljh SFDC-C54C33 update 共享触发器完成
               //userAccess.push('{!Rental_Apply__c.ZongjianApprovalManagerId__c}_Read');//20210727 ljh SFDC-C54C33 update 共享触发器完成
               //userAccess.push('{!Rental_Apply__c.Status__c}_Read');
               console.log('参数==='+result.rentalApplyId+' '+userAccess+' '+result.ownerId);
               setSObjectShare({
                  sobjectName:'Rental_Apply__Share',
                  rowCause:'ApplyUserShare__c',
                  parentId:result.rentalApplyId,
                  userAccess:userAccess,
                  ownerId:result.ownerId
               }).then(res=>{
                  if(res!='OK'){
                     this.ToastShow(res,'warning');
                     return;
                  }else{
                     this.ToastShow(changeResult,'error');
                  }
                     console.log('setSObjectShareSuccess====OK');
                     //追加备品申请状态确认,已经提交过的申请,不能重复提交Status__c
                     if (result.rentalApplyStatus != '已批准' && result.rentalApplyStatus != '已出库指示') {
                        this.ToastShow('请备品申请状态确认,申请状态已批准后才可以提交追加审批','warning');
                        return;
                     }
                     changeAddApprovalStatus({
                        recordId: this.recordId,
                        status: '填写完毕'
                     }).then(changeResult=>{
                        if(changeResult == '更新成功'){
                           submitApproval({
                              recordId: this.recordId
                           }).then(submitApprovalRes=>{
                              if(submitApprovalRes == 'OK'){
                                 this.ToastShow('提交追加待审批成功','success');
                                 this.updateRecordView(this.recordId);
                              }else{
                                 this.ToastShow('追加待审批失败','ERROR');
                              }
                           })
                        }else{
                           this.ToastShow(changeResult,'error');
                        }
                     })
                  }
               }).catch(err=>{
                  console.log('setSObjectShareErr===='+err);
               })
            }
         }).catch(err=>{
            console.log('setSObjectShareErr===='+err);
         })
             }
           })
      }).catch(err=>{
         console.log('====1111====',err);
      })
      })
   }
   ToastShow(msg,type){
      const evt = new ShowToastEvent({
            title : msg,
            message: '',
            //title : msg,
            message: msg,
            variant: type
        });
        this.dispatchEvent(evt);
@@ -183,4 +189,17 @@
   updateRecordView(recordId) {
        updateRecord({fields: { Id: recordId }});
    }
    async handleConfirmClick(msg) {
        const result = await LightningConfirm.open({
            message: msg,
            variant: 'headerless',
            label: 'this is the aria-label value'
        });
        if (result) {
            this.ll();
        } else {
            window.history.go(-1);
        }
    }
}