示例#1
0
        public JsonResult Check(string UserName, int approveID, int status, string memo, string nextapprove, string company, string number, string ExpStatus)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    string           curName   = Server.UrlDecode(Request.Cookies["Name"].Value);
                    string           Nickname  = Server.UrlDecode(Request.Cookies["Nickname"].Value);
                    int              TotalStep = db.T_ExpenseApproveConfig.ToList().Count;
                    T_ExpenseApprove approve   = db.T_ExpenseApprove.SingleOrDefault(a => a.ID == approveID && a.ApproveStatus == -1 && (a.ApproveName == curName || a.ApproveName == Nickname));
                    if (approve == null)
                    {
                        return(Json(new { State = "Faile", Message = "该数据已审核" }, JsonRequestBehavior.AllowGet));
                    }
                    approve.ApproveStatus = status;
                    approve.ApproveDate   = DateTime.Now;
                    approve.Remark        = memo;
                    T_Expense model = db.T_Expense.Find(approve.Reunbursement_id);
                    if (nextapprove != null && nextapprove != "")
                    {
                        model.Cashier = nextapprove;
                    }
                    if (ExpStatus != null && ExpStatus != "")
                    {
                        model.ExpStatus = ExpStatus;
                    }
                    int Step = model.Step;
                    Step++;
                    if (status == 2)
                    {
                        model.Status = 2;
                        model.Step   = 0;
                        db.SaveChanges();
                    }
                    else
                    {
                        if (TotalStep == Step)
                        {
                            if (company == "==请选择==")
                            {
                                return(Json(new { State = "Faile", Message = "请选择公司" }, JsonRequestBehavior.AllowGet));
                            }
                            model.Status          = status;
                            model.SpendingCompany = company;
                            model.SpendingNumber  = number;
                            //实付
                            string codes1 = "KF-FK-";
                            string date1  = DateTime.Now.ToString("yyyyMMdd");
                            //查找当前已有的编号
                            List <T_PP> list1 = db.T_PP.Where(a => a.BillCode.Contains(date1)).OrderByDescending(c => c.ID).ToList();
                            if (list1.Count == 0)
                            {
                                codes1 += date1 + "-" + "0001";
                            }
                            else
                            {
                                string old     = list1[0].BillCode.Substring(15);
                                int    newcode = int.Parse(old) + 1;
                                codes1 += date1 + "-" + newcode.ToString().PadLeft(4, '0');
                            }

                            //实付
                            T_PP pp = new T_PP
                            {
                                BillCode     = codes1,
                                BillCompany  = model.Reun_Bank,
                                BillFromCode = model.Reun_Code,
                                BillMoney    = Convert.ToDouble(model.Reun_Cost),
                                BillType     = "报销申请",
                                CreateTime   = DateTime.Now,
                                CreatUser    = UserName,
                                PayMoney     = Convert.ToDouble("-" + model.Reun_Cost)
                            };
                            db.T_PP.Add(pp);
                            db.SaveChanges();
                        }
                        else
                        {
                            if (status != 2)
                            {
                                T_ExpenseApproveConfig ModelConFig = db.T_ExpenseApproveConfig.SingleOrDefault(a => a.Step == Step);


                                T_ExpenseApprove newApprove = new T_ExpenseApprove();
                                newApprove.ApproveStatus = -1;
                                if (Step == 4)
                                {
                                    newApprove.ApproveName = model.Cashier;
                                    nextapprove            = model.Cashier;
                                }
                                else
                                {
                                    newApprove.ApproveName = ModelConFig.ApproveUser;
                                    nextapprove            = ModelConFig.ApproveUser;
                                }

                                newApprove.ApproveDate      = null;
                                newApprove.Reunbursement_id = approve.Reunbursement_id;
                                db.T_ExpenseApprove.Add(newApprove);

                                T_User u = db.T_User.FirstOrDefault(a => a.Nickname.Equals(nextapprove));
                                model.ExpenseNextApprove = u.ID;
                                model.Status             = 0;
                            }
                        }
                        model.Step = Step;
                        db.SaveChanges();
                    }

                    ModularByZP();
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
示例#2
0
        public JsonResult Check(string UserName, int approveID, int status, string memo, string nextapprove, string BorrowerFrom, string company, string number)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    int             TotalStep = db.T_BorrowApproveConfig.ToList().Count;
                    string          curName   = Server.UrlDecode(Request.Cookies["Name"].Value);
                    string          Nickname  = Server.UrlDecode(Request.Cookies["Nickname"].Value);
                    T_BorrowApprove approve   = db.T_BorrowApprove.SingleOrDefault(a => a.ID == approveID && a.ApproveStatus == -1 && (a.ApproveName == curName || a.ApproveName == Nickname));
                    if (approve == null)
                    {
                        return(Json(new { State = "Faile", Message = "该数据已审核" }, JsonRequestBehavior.AllowGet));
                    }
                    approve.ApproveStatus = status;
                    approve.ApproveTime   = DateTime.Now;
                    approve.Memo          = memo;
                    T_Borrow model = db.T_Borrow.Find(approve.Pid);
                    if (!string.IsNullOrEmpty(BorrowerFrom))
                    {
                        model.BorrowerFrom = BorrowerFrom;
                    }
                    int Step = model.BorrowStep;
                    Step++;
                    if (status == 2)
                    {
                        model.BorrowState = 2;
                        model.BorrowStep  = Step;
                        db.SaveChanges();
                    }
                    else
                    {
                        if (TotalStep == Step)
                        {
                            model.BorrowState     = status;
                            model.SpendingCompany = company;
                            model.SpendingNumber  = number;
                            //应收
                            string codes = "KF-YS-";
                            string date  = DateTime.Now.ToString("yyyyMMdd");
                            //查找当前已有的编号
                            List <T_AR> list = db.T_AR.Where(a => a.BillCode.Contains(date)).OrderByDescending(c => c.ID).ToList();
                            if (list.Count == 0)
                            {
                                codes += date + "-" + "0001";
                            }
                            else
                            {
                                string old     = list[0].BillCode.Substring(15);
                                int    newcode = int.Parse(old) + 1;
                                codes += date + "-" + newcode.ToString().PadLeft(4, '0');
                            }

                            //应收
                            T_AR ar = new T_AR
                            {
                                BillCode     = codes,
                                BillCompany  = model.BorrowerFrom,
                                BillFromCode = model.BorrowCode,
                                BillMoney    = Convert.ToDouble(model.BorrowMoney),
                                BillType     = "借支申请",
                                CreateTime   = DateTime.Now,
                                CreatUser    = UserName,
                                ReceivedMony = Convert.ToDouble(model.BorrowMoney)
                            };

                            //实付
                            string codes1 = "KF-FK-";
                            string date1  = DateTime.Now.ToString("yyyyMMdd");
                            //查找当前已有的编号
                            List <T_PP> list1 = db.T_PP.Where(a => a.BillCode.Contains(date1)).OrderByDescending(c => c.ID).ToList();
                            if (list1.Count == 0)
                            {
                                codes1 += date1 + "-" + "0001";
                            }
                            else
                            {
                                string old     = list1[0].BillCode.Substring(15);
                                int    newcode = int.Parse(old) + 1;
                                codes1 += date1 + "-" + newcode.ToString().PadLeft(4, '0');
                            }

                            //实付
                            T_PP pp = new T_PP
                            {
                                BillCode     = codes1,
                                BillCompany  = model.BorrowerFrom,
                                BillFromCode = model.BorrowCode,
                                BillMoney    = Convert.ToDouble(model.BorrowMoney),
                                BillType     = "借支申请",
                                CreateTime   = DateTime.Now,
                                CreatUser    = model.BorrowName,
                                PayMoney     = Convert.ToDouble("-" + model.BorrowMoney)
                            };
                            db.T_PP.Add(pp);
                            db.T_AR.Add(ar);
                            db.SaveChanges();
                        }
                        else
                        {
                            T_BorrowApprove newApprove = new T_BorrowApprove();
                            newApprove.ApproveStatus = -1;
                            if (UserName == "子轩" && model.BorrowStep == 2)
                            {
                                newApprove.ApproveName = "三疯";
                                model.Cashier          = nextapprove;
                            }
                            else if (UserName == "三疯" && model.BorrowStep == 3)
                            {
                                newApprove.ApproveName = model.Cashier;
                                nextapprove            = model.Cashier;
                            }
                            else
                            {
                                newApprove.ApproveName = nextapprove;
                            }

                            newApprove.ApproveTime = null;
                            newApprove.Pid         = approve.Pid;
                            db.T_BorrowApprove.Add(newApprove);

                            T_User u = db.T_User.FirstOrDefault(a => a.Nickname.Equals(nextapprove));
                            model.BorrowNextApprove = u.ID;
                            model.BorrowState       = 0;
                        }
                        model.BorrowStep = Step;
                        db.SaveChanges();
                    }
                    List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "借支").ToList();
                    if (ModularNotaudited.Count > 0)
                    {
                        foreach (var item in ModularNotaudited)
                        {
                            db.T_ModularNotaudited.Remove(item);
                        }
                        db.SaveChanges();
                    }

                    ModularByZP();
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }