/// <summary> /// 同意表单 /// </summary> /// <param name="formNo"></param> /// <param name="item"></param> /// <param name="empNo"></param> /// <returns></returns> public bool Agree(string formNo, int item, string empNo) { //首先确认是否有权限签核; if (this.GetSignDataList(empNo).All(c => c.FormNo != formNo)) { return(false); } var formType = new BaseServices <Form>().LoadEntities(c => c.FormNo == formNo).First().FormType; //是否需要结案 var func = formType.IsColsed ? FormExtend.SetFormFinish(formType) : new Func <string, string, int, bool>((f, e, i) => true); string nextEmpNo; string addsignEmpNo; bool result = _signing.Agree(formNo, item, empNo, out nextEmpNo, out addsignEmpNo, func); if (!result) { return(false); } //有邮件发送 var emailForm = new BpmBll(formNo, empNo); //var emailForm = new EmailForm(formNo, empNo); if (string.IsNullOrEmpty(nextEmpNo)) { emailForm.Finlish(); } else if (!string.IsNullOrEmpty(addsignEmpNo)) { //是加签的 emailForm.AddSignerAfter(nextEmpNo, (int)FormSign.DirectEnum.After); } else { var signers = new List <string> { nextEmpNo }; //正常下一位签核人 emailForm.NoticeSigner(signers); emailForm.NoticeReplace(signers); } return(TemplateBll.SendBpm(emailForm)); }
/// <summary> /// 根据表单Id与前台提交的表单信息自动生成签核流程 /// </summary> /// <param name="model">表单信息</param> /// <param name="formId">表单ID</param> /// <param name="empNo">提交人</param> /// <returns></returns> public List <BaseEmployee> GetSignListByFormId(Dictionary <string, object> model, int formId, string empNo) { return(FormExtend.SetFormStart(formId, model, empNo)); }