예제 #1
0
        public byte AuditApplicationEvection(EvectionApplies evectionApplies)//(string BillTypeNumber,int id)
        {
            /*访问单据性质,看是否是自动审核*/
            var item = (from p in db.BillProperties where p.Type == evectionApplies.BillType select p).ToList().FirstOrDefault();

            if (item.IsAutoAudit == 1) //自动审核是1
            {                          //如果为0 代表不能自动审核 如果为1  代表可以自动审核
                return(3);             //代表自动审核
            }

            if (item.IsAutoAudit == 2)//手动审核是2
            {
                //手动审核,也写到db.AditApplications这个表中但是不走process?
                return(6);//手动审核
            }

            if (item.IsAutoAudit == 3)
            { //如果不自动审核,就要走人工审核流程。即,把信息写入db.AditApplications这个表中
                AuditApplication auditApplication = new AuditApplication();
                auditApplication.BType      = item.Type;
                auditApplication.TypeName   = item.TypeName;
                auditApplication.CreateDate = DateTime.Now;

                var template = (from p in db.AuditTemplates
                                where (
                                    (evectionApplies.BillType == p.BType) && (DateTime.Now > p.StartTime) && (DateTime.Now < p.ExpireTime)
                                    )
                                select p).ToList().FirstOrDefault();

                if (template != null)//如果没有用于审批的模板 那么这里没法运行
                {
                    Staff tmpStaff = db.Staffs.Where(p => p.StaffNumber.Equals(evectionApplies.StaffNumber)).ToList().First();
                    auditApplication.BNumber     = evectionApplies.BillNumber;
                    auditApplication.TId         = template.Id;
                    auditApplication.Creator     = this.UserName;
                    auditApplication.CreatorName = this.Name;
                    auditApplication.State       = 0;//代表等待审核
                    auditApplication.Info        =
                        "单据名称:" + db.BillProperties.Where(p => p.Type.Equals(evectionApplies.BillType)).ToList().First().TypeName + ";" +
                        "工      号:" + evectionApplies.StaffNumber + ";" +
                        "姓      名:" + tmpStaff.Name + ";" +
                        "所在部门:" + db.Departments.Where(p => p.DepartmentId.Equals(tmpStaff.Department)).ToList().First().Name + ";" +
                        "性       别:" + tmpStaff.Gender + ";" +
                        "职      位:" + tmpStaff.Position + ";" +
                        "用工性质:" + tmpStaff.WorkProperty + ";" +
                        "出差时间:" + evectionApplies.StartDateTime + ";" +
                        "结束时间:" + evectionApplies.EndDateTime + ";" +
                        "出差天数:" + evectionApplies.Days + ";" +
                        "出差事由:" + evectionApplies.Reason + ";" +
                        "出差地点:" + evectionApplies.Location + ";" +
                        "备注:" + evectionApplies.Remark + ";";
                    db.AuditApplications.Add(auditApplication);
                    db.SaveChanges();

                    AuditStep step = db.AuditSteps.Find(template.FirstStepSId);
                    if (step == null)
                    {
                        return(7);
                    }
                    else
                    {
                        AuditProcess auditProcess = new AuditProcess();
                        auditProcess.AId      = auditApplication.Id;
                        auditProcess.SId      = step.SId;
                        auditProcess.TId      = step.TId;
                        auditProcess.BType    = auditApplication.BType;
                        auditProcess.BNumber  = auditApplication.BNumber;
                        auditProcess.TypeName = auditApplication.TypeName;
                        auditProcess.Info     = auditApplication.Info + "提交人员:" + auditApplication.CreatorName + "-" + auditApplication.Creator + ";" +
                                                "提交日期:" + auditApplication.CreateDate + ";";
                        auditProcess.AuditDate    = DateTime.Now;
                        auditProcess.CreateDate   = auditApplication.CreateDate;
                        auditProcess.Result       = 0;                               //待审
                        auditProcess.DeadlineDate = DateTime.Now.AddDays(step.Days); //记录一下该节点最晚的审核时间;
                        auditProcess.Approver     = step.Approver;
                        db.AuditProcesses.Add(auditProcess);
                        db.SaveChanges();
                    }
                    db.SaveChanges();
                    return(0);//待审
                }
                else
                {
                    return(7);//待审(未能进入审核流程)
                }
            }
            return(0);//待审
        }
예제 #2
0
        public byte AuditApplication(StaffApplication staffApplication)//(string BillTypeNumber,int id)
        {
            /*访问单据性质,看是否是自动审核*/
            var item = (from p in db.BillProperties where p.Type == staffApplication.BillTypeNumber select p).ToList().FirstOrDefault();

            if (item.IsAutoAudit == 1) //自动审核是1
            {                          //如果为0 代表不能自动审核 如果为1  代表可以自动审核
                return(3);             //代表自动审核
            }

            if (item.IsAutoAudit == 2)//手动审核是2
            {
                //手动审核,也写到db.AditApplications这个表中但是不走process?
                return(6);//手动审核
            }

            if (item.IsAutoAudit == 3)
            { //如果不自动审核,就要走人工审核流程。即,把信息写入db.AditApplications这个表中
                AuditApplication auditApplication = new AuditApplication();
                auditApplication.BType      = item.Type;
                auditApplication.TypeName   = item.TypeName;
                auditApplication.CreateDate = DateTime.Now;

                var template = (from p in db.AuditTemplates
                                where (
                                    (staffApplication.BillTypeNumber == p.BType) && (DateTime.Now > p.StartTime) && (DateTime.Now < p.ExpireTime)
                                    )
                                select p).ToList().FirstOrDefault();

                if (template != null)//如果没有用于审批的模板 那么这里没法运行
                {
                    Staff    staff              = db.Staffs.Where(c => c.StaffNumber.Equals(staffApplication.StaffNumber)).ToList().Single();
                    string   departmentName     = (from p in db.Departments where p.DepartmentId == staff.Department select p.Name).SingleOrDefault();
                    DateTime entryDate_dateTime = (DateTime)staff.Entrydate;
                    DateTime leaveDate_dateTime = (DateTime)staffApplication.HopeLeaveDate;

                    auditApplication.BNumber = staffApplication.BillNumber;
                    auditApplication.TId     = template.Id;
                    auditApplication.Creator = this.UserName;
                    auditApplication.State   = 0;//代表等待审
                    auditApplication.Info    =
                        "单据名称:" + staffApplication.BillTypeName + ";" +
                        "工       号:" + staffApplication.StaffNumber + ";" +
                        "员工名称:" + staffApplication.StaffName + ";" +
                        "所在部门:" + departmentName + ";" +
                        "性       别:" + staff.Gender + ";" +
                        "职       位:" + staff.Position + ";" +
                        "用工性质:" + staff.WorkProperty + ";" +
                        "入职日期:" + entryDate_dateTime.Date.ToString("yyyy/MM/dd") + ";" +
                        "离职日期:" + leaveDate_dateTime.ToString("yyyy/MM/dd") + ";" +
                        "离职类型:" + staffApplication.LeaveType + ";" +
                        "离职原因:" + staffApplication.LeaveReason + ";" +
                        "备       注:" + staffApplication.Remark + ";" +
                        //"单别:" + staffApplication.BillTypeNumber + ";" +
                        //"单号:" + staffApplication.BillNumber + ";" +
                        //"员工工号:" + staffApplication.StaffNumber + ";" +
                        //"姓名:" + staffApplication.StaffName + ";" +
                        //"期望离职日期" + staffApplication.HopeLeaveDate + ";" +
                        //"离职类别" + staffApplication.LeaveType + ";" +
                        //"离职原因" + staffApplication.LeaveReason + ";" +
                        //"备注:" + staffApplication.Remark + ";" +
                        //"单据类别编号:" + staffApplication.BillTypeNumber + ";" +
                        //"创建日期:" + staffApplication.RecordTime + ";" +
                        //"录入人员:" + staffApplication.RecordPerson + ";";
                        db.AuditApplications.Add(auditApplication);
                    db.SaveChanges();

                    AuditStep step = db.AuditSteps.Find(template.FirstStepSId);
                    if (step == null)
                    {
                        return(7);
                    }
                    else
                    {
                        AuditProcess auditProcess = new AuditProcess();
                        auditProcess.AId      = auditApplication.Id;
                        auditProcess.SId      = step.SId;
                        auditProcess.TId      = step.TId;
                        auditProcess.BType    = auditApplication.BType;
                        auditProcess.BNumber  = auditApplication.BNumber;
                        auditProcess.TypeName = auditApplication.TypeName;
                        auditProcess.Info     = auditApplication.Info;
                        //auditProcess.Info = auditApplication.Info + "提交人员:" + auditApplication.CreatorName + "-" + auditApplication.Creator + ";" +
                        //    "提交日期:" + auditApplication.CreateDate + ";";
                        auditProcess.AuditDate    = DateTime.Now;
                        auditProcess.CreateDate   = auditApplication.CreateDate;
                        auditProcess.Result       = 0;                               //待审
                        auditProcess.DeadlineDate = DateTime.Now.AddDays(step.Days); //记录一下该节点最晚的审核时间;
                        auditProcess.Approver     = step.Approver;
                        db.AuditProcesses.Add(auditProcess);
                        db.SaveChanges();
                    }
                    db.SaveChanges();
                    return(0);//待审
                }
                else
                {
                    return(7);//待审(未能进入审核流程)
                }
            }
            return(0);//待审
        }
예제 #3
0
        //private BonsaiiDbContext db = new BonsaiiDbContext();
        public byte AuditApplicationContract(Contract contract)//(string BillTypeNumber,int id)
        {
            /*访问单据性质,看是否是自动审核*/
            var item = (from p in db.BillProperties where p.Type == contract.BillTypeNumber select p).ToList().FirstOrDefault();

            if (item.IsAutoAudit == 1) //自动审核是1
            {                          //如果为0 代表不能自动审核 如果为1  代表可以自动审核
                return(3);             //代表自动审核
            }

            if (item.IsAutoAudit == 2)//手动审核是2
            {
                //手动审核,也写到db.AditApplications这个表中但是不走process?
                return(6);//手动审核
            }

            if (item.IsAutoAudit == 3)
            { //如果不自动审核,就要走人工审核流程。即,把信息写入db.AditApplications这个表中
                AuditApplication auditApplication = new AuditApplication();
                auditApplication.BType      = item.Type;
                auditApplication.TypeName   = item.TypeName;
                auditApplication.CreateDate = DateTime.Now;

                var template = (from p in db.AuditTemplates
                                where (
                                    (contract.BillTypeNumber == p.BType) && (DateTime.Now >= p.StartTime) && (DateTime.Now < p.ExpireTime)
                                    )
                                select p).ToList().FirstOrDefault();

                if (template != null)//如果没有用于审批的模板 那么这里没法运行
                {
                    var    tmpBillType    = (from p in db.BillProperties where p.Type == contract.BillTypeNumber select p.TypeFullName).ToList().Single();
                    Staff  staff          = db.Staffs.Where(c => c.StaffNumber.Equals(contract.SecondParty)).ToList().Single();
                    string departmentName = (from p in db.Departments where p.DepartmentId == contract.SecondParty select p.Name).SingleOrDefault();
                    auditApplication.BNumber     = contract.BillNumber;
                    auditApplication.TId         = template.Id;
                    auditApplication.Creator     = this.UserName;
                    auditApplication.CreatorName = this.Name;
                    auditApplication.State       = 0;//代表等待审核
                    auditApplication.Info        =
                        "单据名称:" + tmpBillType + ";" +
                        "工       号:" + contract.SecondParty + ";" +
                        "姓       名:" + contract.SecondParty + ";" +
                        "所在部门:" + departmentName + ";" +
                        "性       别:" + staff.Gender + ";" +
                        "职       位:" + staff.Position + ";" +
                        "用工性质:" + staff.WorkProperty + ";" +
                        "合同标题:" + contract.ContractObject + ";" +
                        "合同编号:" + contract.ContractNumber + ";" +
                        "签订时间:" + contract.SignDate + ";" +
                        "到期时间:" + contract.DueDate + ";" +
                        "合同金额:" + contract.Amount + ";" +
                        "备注:" + contract.Remark + ";" +

                        db.AuditApplications.Add(auditApplication);
                    db.SaveChanges();

                    AuditStep    step         = db.AuditSteps.Find(template.FirstStepSId);
                    AuditProcess auditProcess = new AuditProcess();
                    auditProcess.AId      = auditApplication.Id;
                    auditProcess.SId      = step.SId;
                    auditProcess.TId      = step.TId;
                    auditProcess.BType    = auditApplication.BType;
                    auditProcess.BNumber  = auditApplication.BNumber;
                    auditProcess.TypeName = auditApplication.TypeName;
                    auditProcess.Info     = auditApplication.Info;
                    //auditProcess.Info = auditApplication.Info + "提交人员:" + auditApplication.CreatorName + "-" + auditApplication.Creator + ";" +
                    //    "提交日期:" + auditApplication.CreateDate + ";";
                    auditProcess.AuditDate    = DateTime.Now;
                    auditProcess.CreateDate   = auditApplication.CreateDate;
                    auditProcess.Result       = 0;                               //待审
                    auditProcess.DeadlineDate = DateTime.Now.AddDays(step.Days); //记录一下该节点最晚的审核时间;
                    auditProcess.Approver     = step.Approver;
                    db.AuditProcesses.Add(auditProcess);

                    db.SaveChanges();
                    return(0);//待审
                }
                else
                {
                    return(7);//待审(未能进入审核流程)
                }
            }
            return(0);//待审
        }
예제 #4
0
        public ActionResult Create(AuditTemplate auditTemplate)
        {
            auditTemplate.CreateDate = DateTime.Now;
            auditTemplate.Creator    = this.UserName;
            if (ModelState.IsValid)
            {
                if (auditTemplate.LongTime == true)
                {
                    auditTemplate.ExpireTime = DateTime.MaxValue.Date;
                }
                else
                {
                    if (auditTemplate.ExpireTime == null)
                    {
                        ModelState.AddModelError("", "请输入过期时间!");
                        return(View(auditTemplate));
                    }
                }
                if (auditTemplate.StartTime >= auditTemplate.ExpireTime)
                {
                    ModelState.AddModelError("", "日期范围不正确!");
                    return(View(auditTemplate));
                }

                var item      = (from p in db.AuditTemplates where p.BType == auditTemplate.BType select p).ToList();
                int flagWrong = 0;
                foreach (var p in item)
                {
                    if (p.StartTime > auditTemplate.ExpireTime || p.ExpireTime < auditTemplate.StartTime)
                    {
                        //  flagRight = 0;
                    }
                    else
                    {
                        flagWrong++;

                        //ModelState.AddModelError("", "日期范围不正确!");
                    }
                }
                if (flagWrong != 0)
                {
                    ModelState.AddModelError("", "该日期范围已被占用!");
                    return(View(auditTemplate));
                }
                //if ((auditTemplate.StartTime < auditTemplate.CreateDate))
                //{
                //    ModelState.AddModelError("", "请选择正确的生效时间!");
                //}

                //if ((auditTemplate.ExpireTime < auditTemplate.CreateDate) || (auditTemplate.ExpireTime < auditTemplate.StartTime))
                //{
                //    ModelState.AddModelError("", "请选择正确的过期时间!");
                //}

                auditTemplate.FirstStepSId = -1;
                db.AuditTemplates.Add(auditTemplate);
                db.SaveChanges();
                /*插入节点*/
                for (int i = 0; i < auditTemplate.StepCount; i++)
                {
                    AuditStep auditstep = new AuditStep();
                    auditstep.TId = auditTemplate.Id;
                    int n = i + 1;
                    auditstep.Name             = "第" + n + "个步骤";
                    auditstep.Days             = 1;
                    auditstep.ApprovedToSId    = -1;
                    auditstep.NotApprovedToSId = -1;
                    db.AuditSteps.Add(auditstep);
                    db.SaveChanges();
                }
                var shit = (from p in db.AuditSteps where p.TId == auditTemplate.Id select p.SId).FirstOrDefault();
                /*修改*/
                auditTemplate.FirstStepSId = shit;
                db.SaveChanges();
                //创建成功后进入第二步:修改审批节点
                // return RedirectToAction("Index");
                return(RedirectToActionPermanent("AuditStepIndex", "AuditTemplate", new { id = auditTemplate.Id }));
                //return RedirectToAction("AuditStepIndex","AuditTemplate",id=auditTemplate.Id);
            }

            return(View(auditTemplate));
        }
예제 #5
0
        // GET: AuditTemplates/AuditStepEdit/5
        public ActionResult AuditStepEdit(int?id, int?id2)
        {
            ViewBag.TemplateId = id2;
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AuditStep auditSteps = db.AuditSteps.Find(id);

            if (auditSteps == null)
            {
                return(HttpNotFound());
            }

            //实现下拉列表:下一步骤
            List <SelectListItem> itemNext = db.AuditSteps.Where(p => (p.TId == id2) || p.SId == -1).ToList().Select(c => new SelectListItem
            {
                Value = c.SId.ToString(), //保存的值
                Text  = c.Name            //显示的值
            }).ToList();

            //传值到页面
            ViewBag.ListNext = itemNext;

            //实现下拉列表:上一步骤
            List <SelectListItem> itemLast = db.AuditSteps.Where(p => (p.TId == id2) || p.SId == -1).ToList().Select(c => new SelectListItem
            {
                Value = c.SId.ToString(), //保存的值
                Text  = c.Name            //显示的值
            }).ToList();

            //传值到页面
            ViewBag.ListLast = itemLast;
            SystemDbContext       db2   = new SystemDbContext();
            List <SelectListItem> item2 = db2.Users.Where(p => p.CompanyId == this.CompanyId).ToList().Select(c => new SelectListItem
            {
                Value = c.UserName,
                Text  = c.UserName
            }).ToList();
            //增加一个null选项
            SelectListItem i = new SelectListItem();

            i.Value    = "";
            i.Text     = "-请选择-";
            i.Selected = true;
            item2.Add(i);
            ViewBag.List2 = item2;

            SystemDbContext sysdb = new SystemDbContext();

            var staffDbs                     = (from s in db.Staffs where s.AuditStatus == 3 && s.ArchiveTag == false select s).ToList();
            var staffBindingCodes            = (from p in sysdb.BindCodes where p.CompanyId == this.CompanyId select p).ToList();
            List <StaffModel> staffModelList = new List <StaffModel>();

            foreach (var staffBindingCode in staffBindingCodes)
            {
                //var tempStaff=(from p in sysdb.BindCodes join r in sysdb.Users on p.StaffNumber equals r.StaffNumber
                //            where staffDb.StaffNumber ==sysdb.Staff
                string position = (from p in staffDbs
                                   where p.StaffNumber == staffBindingCode.StaffNumber
                                   select p.Position).ToList().SingleOrDefault();



                StaffModel staffModel = new StaffModel();
                if (staffBindingCode.BindTag == true)
                {
                    staffModel.text = staffBindingCode.StaffNumber + "-" + staffBindingCode.RealName + "-" + position + "(" + "已绑定APP" + ")";
                    string username = (from p in sysdb.Users where p.CompanyId == this.CompanyId && p.StaffNumber == staffBindingCode.StaffNumber select p.UserName).ToList().Single();
                    staffModel.value = username + "-" + staffBindingCode.StaffNumber + "-" + staffBindingCode.RealName;
                }
                else
                {
                    staffModel.text  = staffBindingCode.StaffNumber + "-" + staffBindingCode.RealName + "-" + position + "(" + "未绑定APP" + ")";
                    staffModel.value = staffBindingCode.StaffNumber + "-" + staffBindingCode.RealName;
                }


                staffModel.department = (from p in staffDbs
                                         join q in db.Departments on p.Department equals q.DepartmentId
                                         where p.StaffNumber == staffBindingCode.StaffNumber
                                         select q.DepartmentId).ToList().SingleOrDefault();
                staffModelList.Add(staffModel);
            }
            //var staff = (from p in sysdb.BindCodes
            //              join q in staffs
            //                  on p.StaffNumber equals q.StaffNumber
            //              join r in sysdb.Users on p.StaffNumber equals r.StaffNumber
            //              where r.CompanyId == this.CompanyId
            //              where q.AuditStatus == 3 && q.ArchiveTag == false
            //              where p.BindTag == true && p.IsAvail == true
            //              select new StaffModel
            //              {
            //                  department = q.Department,
            //                  text = q.StaffNumber + "-" + q.Name + "(" + p.BindTag + ")",
            //                  value = q.StaffNumber + "-" + q.Name
            //              }).ToList();

            var group = (from d in db.Departments
                         select new StaffModel {
                department = d.DepartmentId, name = d.Name
            }).ToList();

            Dictionary <string, int> sum = new Dictionary <string, int>();

            foreach (var g in group)
            {
                int count = 0;
                foreach (var s in staffModelList)
                {
                    if (s.department == g.department)
                    {
                        count++;
                    }
                }
                sum.Add(g.department, count);
            }

            ViewBag.Count    = sum;
            ViewBag.Receiver = staffModelList;
            ViewBag.Group    = group;

            return(View(auditSteps));
        }
예제 #6
0
        public static bool AddAuditStep(AuditStep model)
        {
            string sql = string.Format("insert into {0}([DepartId],[Step],[UserId],[CompanyId],[CompanyName],[CreateDate])  values(@DepartId,@Step,@UserId,@CompanyId,@CompanyName,getdate())", TableName);

            return(DBAccess.ExecuteSqlWithEntity(sql, model));
        }
예제 #7
0
        public byte AuditApplicationStaffSkill(StaffSkill staffSkill)//(string BillTypeNumber,int id)
        {
            /*访问单据性质,看是否是自动审核*/
            var item = (from p in db.BillProperties where p.Type == staffSkill.BillTypeNumber select p).ToList().FirstOrDefault();

            if (item.IsAutoAudit == 1)
            {              //如果为0 代表不能自动审核 如果为1  代表可以自动审核
                return(3); //代表自动审核
            }

            if (item.IsAutoAudit == 2)
            {
                //手动审核,也写到db.AditApplications这个表中但是不走process?
                return(6);//手动审核
            }

            if (item.IsAutoAudit == 3)
            { //如果不自动审核,就要走人工审核流程。即,把信息写入db.AditApplications这个表中
                AuditApplication auditApplication = new AuditApplication();
                auditApplication.BType      = item.Type;
                auditApplication.TypeName   = item.TypeName;
                auditApplication.CreateDate = DateTime.Now;

                var template = (from p in db.AuditTemplates where (
                                    (staffSkill.BillTypeNumber == p.BType) && (DateTime.Now > p.StartTime) && (DateTime.Now < p.ExpireTime)
                                    )
                                select p).ToList().FirstOrDefault();
                if (template != null)
                {
                    // Staff staff = db.Staffs.Where(c => c.StaffNumber.Equals(staffSkill.StaffNumber)).ToList().Single();
                    Staff staff         = (from p in db.Staffs where p.StaffNumber == staffSkill.StaffNumber && p.AuditStatus == 3 && p.ArchiveTag == false select p).ToList().Single();
                    var   tmpDepartment = (from p in db.Departments where p.DepartmentId == staff.Department select p.Name).ToList().Single();
                    var   tmpBillType   = (from p in db.BillProperties where p.Type == staffSkill.BillTypeNumber select p.TypeFullName).ToList().Single();
                    auditApplication.Info =
                        "单据名称:" + tmpBillType + ";" +
                        "工       号:" + staffSkill.StaffNumber + ";" +
                        "员工名称:" + staff.Name + ";" +
                        "所在部门:" + tmpDepartment + ";" +
                        "性       别:" + staff.Gender + ";" +
                        "职       位:" + staff.Position + ";" +
                        "用工性质:" + staff.WorkProperty + ";";
                    //"单别:" + staffSkill.BillTypeNumber + ";" +
                    //"单号:" + staffSkill.BillNumber + ";" +
                    //"员工:" + staffSkill.StaffNumber + ";" +
                    //"技能编号:" + staffSkill.SkillNumber + ";" +
                    //"备注:" + staffSkill.SkillRemark + ";" +
                    //"单据类别编号:" + staffSkill.BillTypeNumber + ";" +
                    //"生效日期:" + staffSkill.ValidDate + ";" +
                    //"创建日期:" + staffSkill.RecordTime + ";" +
                    //"录入人员:" + staffSkill.RecordPerson + ";";

                    auditApplication.BNumber     = staffSkill.BillNumber;
                    auditApplication.TId         = template.Id;
                    auditApplication.Creator     = this.UserName;
                    auditApplication.CreatorName = this.Name;
                    auditApplication.State       = 0;//代表等待审核
                    db.AuditApplications.Add(auditApplication);
                    db.SaveChanges();

                    AuditStep step = db.AuditSteps.Find(template.FirstStepSId);
                    if (step == null)
                    {
                        return(7);
                    }
                    else
                    {
                        AuditProcess auditProcess = new AuditProcess();
                        auditProcess.AId      = auditApplication.Id;
                        auditProcess.SId      = step.SId;
                        auditProcess.TId      = step.TId;
                        auditProcess.BType    = auditApplication.BType;
                        auditProcess.BNumber  = auditApplication.BNumber;
                        auditProcess.TypeName = auditApplication.TypeName;
                        auditProcess.Info     = auditApplication.Info;
                        //auditProcess.Info = auditApplication.Info + "提交人员:" + auditApplication.CreatorName + "-" + auditApplication.Creator + ";" +
                        //   "提交日期:" + auditApplication.CreateDate + ";";
                        auditProcess.AuditDate    = DateTime.Now;
                        auditProcess.CreateDate   = auditApplication.CreateDate;
                        auditProcess.Result       = 0;                               //待审
                        auditProcess.DeadlineDate = DateTime.Now.AddDays(step.Days); //记录一下该节点最晚的审核时间;
                        auditProcess.Approver     = step.Approver;
                        db.AuditProcesses.Add(auditProcess);
                        db.SaveChanges();
                    }
                    db.SaveChanges();
                    return(0);//待审
                }
                else
                {
                    return(7);//待审(未能进入审核流程)
                }
            }
            return(0);//待审
        }
예제 #8
0
        public byte AuditApplicationStaffSkill(TrainStart staffSkill)//(string BillTypeNumber,int id)
        {
            /*访问单据性质,看是否是自动审核*/
            var item = (from p in db.BillProperties where p.Type == staffSkill.BillTypeNumber select p).ToList().FirstOrDefault();

            if (item.IsAutoAudit == 1) //自动审核是1
            {                          //如果为0 代表不能自动审核 如果为1  代表可以自动审核
                return(3);             //代表自动审核
            }

            if (item.IsAutoAudit == 2)//手动审核是2
            {
                //手动审核,也写到db.AditApplications这个表中但是不走process?
                return(6);//手动审核
            }

            if (item.IsAutoAudit == 3)
            { //如果不自动审核,就要走人工审核流程。即,把信息写入db.AditApplications这个表中
                AuditApplication auditApplication = new AuditApplication();
                auditApplication.BType      = item.Type;
                auditApplication.TypeName   = item.TypeName;
                auditApplication.CreateDate = DateTime.Now;

                var template = (from p in db.AuditTemplates
                                where (
                                    (staffSkill.BillTypeNumber == p.BType) && (DateTime.Now > p.StartTime) && (DateTime.Now < p.ExpireTime)
                                    )
                                select p).ToList().FirstOrDefault();

                if (template != null)//如果没有用于审批的模板 那么这里没法运行
                {
                    auditApplication.BNumber     = staffSkill.BillNumber;
                    auditApplication.TId         = template.Id;
                    auditApplication.Creator     = this.UserName;
                    auditApplication.CreatorName = this.Name;
                    auditApplication.State       = 0;//代表等待审
                    auditApplication.Info        =
                        "单据名称:" + staffSkill.BillTypeNumber + ";" +
                        "培训类型:" + staffSkill.TrainType + ";" +
                        "培训主题:" + staffSkill.TrainTheme + ";" +
                        "培训讲师:" + staffSkill.TrainPerson + ";" +
                        "培训地址:" + staffSkill.TrainPlace + ";" +
                        "开始时间:" + staffSkill.StartDate + ";" +
                        "结束时间:" + staffSkill.EndDate + ";" +
                        "培训费用:" + staffSkill.TrainCost + "元" + ";" +
                        "联系电话:" + staffSkill.TellNumber + ";" +
                        "参加人员:" + staffSkill.JoinPerson + ";" +
                        "列席人员:" + staffSkill.TrainManage + ";" +
                        "培训内容:" + staffSkill.TrainContent + ";" +
                        db.AuditApplications.Add(auditApplication);
                    db.SaveChanges();

                    AuditStep step = db.AuditSteps.Find(template.FirstStepSId);
                    if (step == null)
                    {
                        return(7);
                    }
                    else
                    {
                        AuditProcess auditProcess = new AuditProcess();
                        auditProcess.AId      = auditApplication.Id;
                        auditProcess.SId      = step.SId;
                        auditProcess.TId      = step.TId;
                        auditProcess.BType    = auditApplication.BType;
                        auditProcess.BNumber  = auditApplication.BNumber;
                        auditProcess.TypeName = auditApplication.TypeName;
                        auditProcess.Info     = auditApplication.Info;
                        //auditProcess.Info = auditApplication.Info + "提交人员:" + auditApplication.CreatorName + "-" + auditApplication.Creator + ";" +
                        //    "提交日期:" + auditApplication.CreateDate + ";";
                        auditProcess.AuditDate    = DateTime.Now;
                        auditProcess.CreateDate   = auditApplication.CreateDate;
                        auditProcess.Result       = 0;                               //待审
                        auditProcess.DeadlineDate = DateTime.Now.AddDays(step.Days); //记录一下该节点最晚的审核时间;
                        auditProcess.Approver     = step.Approver;
                        db.AuditProcesses.Add(auditProcess);
                        db.SaveChanges();
                    }
                    db.SaveChanges();
                    return(0);//待审
                }
                else
                {
                    return(7);//待审(未能进入审核流程)
                }
            }
            return(0);//待审
        }