pre_contract_submit_new online button javascript 合同复核 onClickJavaScript false {!RequireScript("/soap/ajax/51.0/connection.js")} {!RequireScript("/soap/ajax/51.0/apex.js")} {!RequireScript("/resource/CommonUtilJs")} //zhangzhengmei 20230629 start var excuteFoo =function () { var decideEstimationId = '{!MaintanceContractPack__c.Estimation_Id__c}'; if(decideEstimationId ) { var decideEstimationSql = "select Id,Decide__c from MaintanceContractPackEstimate__c where Name='" + decideEstimationId + "' and Decide__c=true" ; var decideEstimationResult = sforce.connection.query(decideEstimationSql ); var decideEstimationRecords = decideEstimationResult.getArray("records"); if(decideEstimationRecords.length==0) { alert('没有决定的报价组合,不能进行合同复核。'); return; } } else { alert('没有决定的报价组合,不能进行合同复核。'); return; } var dateMsg = '请先填写'; console.log('mcp.OCM_Print_request__c typeof:'+typeof('{!MaintanceContractPack__c.OCM_Print_request__c}')); if(!'{!MaintanceContractPack__c.OCM_Print_request__c}') { dateMsg += '【OCM盖章申請】'; } if(!'{!MaintanceContractPack__c.HP_Dealer_print__c}') { dateMsg += ' 【医院(经销商)印】'; } if(!'{!MaintanceContractPack__c.Contract_print_completed__c}'){ dateMsg += ' 【合同盖章完毕】'; } if(!'{!MaintanceContractPack__c.Submit_contract_to_Financial_dept__c}') { dateMsg += ' 【财务提交日】'; } if(!'{!MaintanceContractPack__c.Contract_Conclusion_Date__c}') { dateMsg += ' 【合同日】'; } if(dateMsg!='请先填写') { alert(dateMsg); return; } var mcpid = '{!MaintanceContractPack__c.Id}'; console.log('mcpid ='+mcpid); var sql = "select Id,Name,Decided_Estimation__c,Status__c,MC_approval_status__c,Is_Recognition_Model_True__c,Contract_print_completed__c,Contract_quotation_or_not__c,Maintenance_Contract_No__c,upload_to_sap_time__c,upload_to_RM_time__c,old_Is_RecognitionModel__c,Payment_Plan_Sum_First__c from Maintenance_Contract__c where MaintanceContractPack__c='" + mcpid + "'"; var sqlResult = sforce.connection.query(sql); var records = sqlResult.getArray("records"); //判断小合同是否符合合同复核条件 var msg = ''; for(var i=0;i<records.length;i++) { console.log('result'+records[i]); mc = records[i]; //判断是否是引合中 console.log('mc.Status__c'+mc.Status__c) if(mc.Status__c!='引合中') { alert(mc.Name +'\n 合同状态不是引合中,不能进行复核。'); return; } if(!mc.Decided_Estimation__c) { alert(mc.Name +'\n 合同报价还没有decide,不能进行复核。'); return; } //update wangweipeng 2022/01/04 start //判断是否需要先上传认款合同吗,如果需要那么判断他是否已经上传,如果上传,那么判断他是否完成认款,如果都满足,那么才能正常走接口上传SAP //判断是认款合同吗 if(mc.old_Is_RecognitionModel__c==true ||mc.old_Is_RecognitionModel__c=='true'){ if(!mc.upload_to_RM_time__c ){//判断是否已经上传认款合同 alert(mc.Name +'\n 当前维修合同的经销商是先款对象,需要先【上传认款合同】,然后完成认款以后才能复核。'); return; }else{ //判断是否完成认款 if(mc.Is_Recognition_Model_True__c==false||mc.Is_Recognition_Model_True__c=='false'){ alert(mc.Name +'\n 当前维修合同没有完成认款,不能进行复核。'); return; } } } var status = mc.MC_approval_status__c; console.log(status); if (status != 'Draft' && status != 'Reject' && status != '' && status != null) { alert(mc.Name +'\n 复核已经提交,请确认状态。'); return; } } if(!confirm('一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?')){ return; } //大合同的相关日期更新到小合同上 for(var i=0;i<records.length;i++) { console.log('date:'+new Date('{!MaintanceContractPack__c.OCM_Print_request__c}')); var mcUpdate = new sforce.SObject("Maintenance_Contract__c"); mcUpdate.OCM_Print_request__c = new Date('{!MaintanceContractPack__c.OCM_Print_request__c}'); mcUpdate.HP_Dealer_print__c = new Date('{!MaintanceContractPack__c.HP_Dealer_print__c}'); mcUpdate.Contract_print_completed__c = new Date('{!MaintanceContractPack__c.Contract_print_completed__c}'); mcUpdate.Submit_contract_to_Financial_dept__c = new Date('{!MaintanceContractPack__c.Submit_contract_to_Financial_dept__c}'); mcUpdate.Contract_Conclusion_Date__c= new Date('{!MaintanceContractPack__c.Contract_Conclusion_Date__c}'); mcUpdate.Id = records[i].Id; var result = sforce.connection.update([mcUpdate]); console.log(result); } var request = new sforce.ProcessSubmitRequest(); request.objectId = mcpid; var processResults = sforce.connection.process([request]); if (processResults[0].errors != null) { var errmsg = processResults[0].errors.message.toString(); alert('{!MaintanceContractPack__c.Name}'+'更新失败。\n'+errmsg+'_sys'); return; } alert('合同复核提交申请成功!'); window.location.reload(); } excuteFoo(); //zhangzhengmei 20230629 end