public class UpdAccountExamineController { public String processId; public String AccId; public ProcessInstance objProcessInstance; public Account_Delay_Apply__c objAcc {get; set;} public string Comments {get;set;} public string ApprovalAction {get;set;} public PageReference redirectPage; public String testlink {get; set;} // 登陆用户 public User loginUser { get; set; } //初始化 public UpdAccountExamineController() { loginUser = [Select Id, Salesdepartment__c, Province__c, ProfileId, Job_Category__c, Sales_Speciality__c From User where Id = :Userinfo.getUserId()]; testlink = ApexPages.currentPage().getParameters().get('testlink'); //当前节点名字 processId = ApexPages.currentPage().getParameters().get('id'); //获取当前的工作流ID AccId = ApexPages.currentPage().getParameters().get('AccId'); //获取当前case ID system.debug(processId+'-----lt123-----'+AccId); objAcc = [select Name, Is_Active__c, InstitutionalType__c, WhetherRiskPassing__c, HospitalType__c from Account_Delay_Apply__c where id =:AccId]; redirectPage = new PageReference('/'+AccId); } //审批 public PageReference Approval(){ try { System.debug('lt123---ApprovalAction:'+ApprovalAction); System.debug('lt123---testlink审批节点:'+testlink); if(ApprovalAction == 'Approve' || ApprovalAction == 'Reject'){ if(testlink.contains('营业窗口审批')){ if(ApprovalAction == 'Reject'){ objAcc.Is_Active__c = '草案中'; } }else if(testlink.contains('医院新建审批_营业支援部') ){ System.debug('lt123---testlink审批节点1进来啦----------------:'); //接受 if(ApprovalAction == 'Approve'){ // if(objAcc.RejectionReason__c != null){ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '您已填写驳回理由,批准不需要驳回理由。')); // return null; // } if(objAcc.InstitutionalType__c == null){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '批准前,机构类型必填。')); return null; } if(objAcc.InstitutionalType__c == '非医疗机构' && objAcc.HospitalType__c == null){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '非医疗机构请选择医院类型。')); return null; } if(objAcc.InstitutionalType__c == '医疗机构' && objAcc.HospitalType__c != null){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '医疗机构不需要选择医院类型。')); return null; } if(objAcc.InstitutionalType__c == '医疗机构'){ objAcc.Is_Active__c = '审批通过'; objAcc.Approved_Confirm_Date__c = Date.today(); } } // 拒绝 if(ApprovalAction == 'Reject'){ if(objAcc.InstitutionalType__c == null){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '拒绝前,机构类型必填。')); return null; } if(objAcc.InstitutionalType__c == '医疗机构'){ objAcc.Is_Active__c = '驳回'; }else if(objAcc.InstitutionalType__c == '非医疗机构'){ objAcc.Is_Active__c = '草案中'; } } }else if(testlink.contains('质量法规二级部长') ){ if(ApprovalAction == 'Approve'){ if(objAcc.InstitutionalType__c == '非医疗机构' && objAcc.HospitalType__c == '高等院校'){ objAcc.Is_Active__c = '审批通过'; objAcc.Approved_Confirm_Date__c = Date.today(); } } if(ApprovalAction == 'Reject'){ objAcc.Is_Active__c = '驳回'; } }else if(testlink.contains('经销商管理部一级审批')){ System.debug('lt123---testlink审批节点66666进来啦----------------:'); if(ApprovalAction == 'Approve'){ if(objAcc.WhetherRiskPassing__c == null){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '是否为有风险通过 必填。')); return null; } if(objAcc.InstitutionalType__c == '非医疗机构' && objAcc.HospitalType__c == '企业集团' && objAcc.WhetherRiskPassing__c == '否'){ objAcc.Is_Active__c = '审批通过'; objAcc.Approved_Confirm_Date__c = Date.today(); } } if(ApprovalAction == 'Reject'){ objAcc.Is_Active__c = '驳回'; } }else if(testlink.contains('总经理审批')){ if(ApprovalAction == 'Approve'){ objAcc.Is_Active__c = '审批通过'; objAcc.Approved_Confirm_Date__c = Date.today(); } if(ApprovalAction == 'Reject'){ objAcc.Is_Active__c = '驳回'; } }else{ if(ApprovalAction == 'Reject'){ objAcc.Is_Active__c = '驳回'; } } System.debug('you1----------------:'+objAcc.Is_Active__c); Approval.ProcessWorkitemRequest approvalNode = new Approval.ProcessWorkitemRequest(); approvalNode.setComments(Comments); approvalNode.setAction(ApprovalAction); approvalNode.setWorkitemId(processId); system.debug('lt123---processID'+processId); system.debug('更新结果1'+objAcc); objAcc.CustomizePageFlg__c = true; update objAcc; system.debug('更新结果2'+objAcc); Approval.ProcessResult result = Approval.process(approvalNode); system.debug('lt123---result:'+result.isSuccess()); } else { //system.debug('ApprovalAction:'+this.ApprovalAction); } } catch(Exception ex) { system.debug('Ex:'+ex.getMessage()); } return redirectPage; } }