Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
 /// <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));
 }