import { LightningElement, wire, api } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import { CloseActionScreenEvent } from 'lightning/actions'; import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init'; import updateColunm from '@salesforce/apex/MaintenanceContractSetColunmWebService.updateColunm'; import updateFirstContract from '@salesforce/apex/updateFirstServiceContractWebService.updateFirstContract'; import Check_plan from '@salesforce/apex/MaintenanceContractWebService.Check_plan'; import up2sap from '@salesforce/apex/MaintenanceContractWebService.up2sap'; export default class LexUploadToSap extends LightningElement { @api recordId; str; IsLoading = true; MCApprovalStatusC; MaintenanceContractNoC; uploadToSapTimeC; oldIsRecognitionModelC; uploadToRMTimeC; IsRecognitionModelTrueC; Id; URFContractFC; urfFlag; rtn1; rtn; @wire(CurrentPageReference) getStateParameters(currentPageReference) { if (currentPageReference) { const urlValue = currentPageReference.state.recordId; if (urlValue) { let str = `${urlValue}`; this.recordId = str; } } } connectedCallback() { console.log(this.recordId); init({ recordId: this.recordId }).then(result => { console.log(result); if (result != null) { this.IsLoading = false; this.MCApprovalStatusC = result.MCApprovalStatusC; this.MaintenanceContractNoC = result.MaintenanceContractNoC; this.uploadToSapTimeC = result.uploadToSapTimeC; this.oldIsRecognitionModelC = result.oldIsRecognitionModelC; this.uploadToRMTimeC = result.uploadToRMTimeC; this.IsRecognitionModelTrueC = result.IsRecognitionModelTrueC; this.Id = result.Id; this.URFContractFC = result.URFContractFC; this.uploadToSap(); this.dispatchEvent(new CloseActionScreenEvent()); } }).catch(error => { console.log(error); }).finally(() => { }); } uploadToSap() { if (this.MCApprovalStatusC != 'Pass') { alert("合同复核批准后才可以上传SAP。"); } else if (this.MaintenanceContractNoC == undefined) { alert('维修合同管理编码为空,不能上传SAP。'); } else if (this.uploadToSapTimeC != undefined) { alert('已经上传SAP,不能重复上传。'); } else { //update wangweipeng 2021/11/20 start //判断是否需要先上传认款合同吗,如果需要那么判断他是否已经上传,如果上传,那么判断他是否完成认款,如果都满足,那么才能正常走接口上传SAP //判断是认款合同吗 if (this.oldIsRecognitionModelC) { //判断是否已经上传认款合同 if (this.uploadToRMTimeC == undefined) { console.log("a"); alert('当前维修合同的经销商是先款对象,需要先【上传认款合同】,然后完成认款以后才能上传SAP。'); return; } else { //判断是否完成认款 if (!this.IsRecognitionModelTrueC) { console.log("b"); alert('当前维修合同没有完成认款,不能上传SAP。'); return; } } } //update wangweipeng 2021/11/20 end // sforce.connection.sessionId = this.api.sessionId; // var mcid = this.Id; // var result = sforce.apex.execute("MaintenanceContractSetColunmWebService", "updateColunm", { // mcid: mcid // }); updateColunm({ mcid: this.Id }).then(result=>{ console.log("updateColunm" + result); if (result != '1') { console.log("c"); alert('上传SAP失败,因为 来年合同相关信息修改失败'); //location.href = "/" + this.Id; } }); //首次服务合同赋值 // var updateResult = sforce.apex.execute("updateFirstServiceContractWebService", "updateFirstContract", { // mcid: mcid // }); updateFirstContract({ mcid: this.Id }).then(result=>{ console.log("updateFirstContract:" + result); if (result != '1') { alert(result); } }); //URF限次合同2期 LY 20220811 start this.urfFlag = this.URFContractFC; this.rtn1 = '1'; this.rtn = '1'; if (this.urfFlag == 'false') { // rtn1 = sforce.apex.execute("MaintenanceContractWebService", "Check_plan", { // mcidList: mcid // }); Check_plan({ mcidList: this.Id }).then(result=>{ console.log("Check_plan:" + result); this.rtn1 = result; }); } console.log("rtn1" + this.rtn1); //URF限次合同2期 LY 20220811 end if (this.rtn1 == '1') { // var rtn = sforce.apex.execute("MaintenanceContractWebService", "up2sap", { // mcid: mcid // }); up2sap({ mcid: this.Id }).then(result=>{ console.log("up2sap:" + result); this.rtn = result; }); console.log("rtn" + this.rtn); if (this.rtn == '1') { alert("上传SAP成功"); window.location.replace("https://ocsm--partial.sandbox.lightning.force.com/lightning/r/Maintenance_Contract__c/" + this.recordId + "/view"); //window.location.href = "/" + this.Id; } else { alert(this.rtn); } } else { alert(this.rtn1); } } } }