Пример #1
0
        /// <summary>
        /// 作废
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public JsonResult ViewPaymentInvalid(int id)
        {
            try
            {
                T_Payment model = db.T_Payment.Find(id);
                model.Status = 3;
                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();
                //}

                return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #2
0
        public ActionResult PaymentAdd()
        {
            ViewData["Company"] = Com.DirectoryList("公司");
            //绑定部门
            ViewData["ReportDepartment"] = Com.DepartMent();
            string code = "FK-DE-";
            string date = DateTime.Now.ToString("yyyyMMdd");
            //查找当前已有的编号
            List <T_Payment> lists = db.T_Payment.Where(a => a.Reun_Code.Contains(date)).OrderByDescending(c => c.ID).ToList();

            if (lists.Count == 0)
            {
                code += date + "-" + "0001";
            }
            else
            {
                string old     = lists[0].Reun_Code.Substring(15);
                int    newcode = int.Parse(old) + 1;
                code += date + "-" + newcode.ToString().PadLeft(4, '0');
            }
            T_Payment model = new T_Payment();

            model.Reun_Code = code;
            model.PostUser  = UserModel.Name;

            model.Department = UserModel.DepartmentId;
            return(View(model));
        }
Пример #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            T_Payment t_Payment = db.T_Payment.Find(id);

            db.T_Payment.Remove(t_Payment);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #4
0
 public ActionResult Edit([Bind(Include = "Payment_Id,Payment_Amount,Payment_Desc,Payment_Mode,Transaction_Refrence_Id,TransactionDate,Amount_Transfer,To,From,Transaction_status,Remarks,CreatedBy,ModifiedBy,CreateDate,ModifiedDate,Active")] T_Payment t_Payment)
 {
     if (ModelState.IsValid)
     {
         db.Entry(t_Payment).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Payment_Mode = new SelectList(db.M_MasterTable, "MasterID", "MasterVale", t_Payment.Payment_Mode);
     return(View(t_Payment));
 }
Пример #5
0
        public ContentResult ViewPaymentCheckedList(Lib.GridPager pager, string user, string createDate, string endDate)
        {
            List <T_Payment> expenseList       = new List <T_Payment>();
            IQueryable <T_PaymentApprove> list = db.T_PaymentApprove.Where(s => s.ApproveName.Equals(UserModel.Nickname) && s.ApproveDate.HasValue);

            if (!string.IsNullOrWhiteSpace(createDate))
            {
                DateTime creat = DateTime.Parse(createDate + " 00:00:00");
                list = list.Where(s => s.ApproveDate >= creat);
            }
            if (!string.IsNullOrWhiteSpace(endDate))
            {
                DateTime end = DateTime.Parse(endDate + " 23:59:59");
                list = list.Where(s => s.ApproveDate <= end);
            }
            List <int> itemIds = new List <int>();

            foreach (var item in list.Select(s => new { itemId = s.Reunbursement_id }).GroupBy(s => s.itemId))
            {
                itemIds.Add(item.Key);
            }

            foreach (var item in itemIds)
            {
                T_Payment model = db.T_Payment.SingleOrDefault(s => s.ID == item && s.IsDelete == 0 && s.Status != 3);
                if (model != null)
                {
                    expenseList.Add(model);
                }
            }
            if (!string.IsNullOrWhiteSpace(user))
            {
                expenseList = expenseList.Where(s => s.PostUser.Contains(user)).ToList();
            }
            pager.totalRows = list.Count();
            List <ExpenseCost> footerList = new List <ExpenseCost>();
            ExpenseCost        footer     = new ExpenseCost();

            footer.Car_Number = "总计:";
            if (list.Count() > 0)
            {
                footer.Reun_Cost = expenseList.Sum(s => s.Reun_Cost);
            }
            else
            {
                footer.Reun_Cost = 0;
            }
            footerList.Add(footer);
            List <T_Payment> querData = expenseList.OrderByDescending(s => s.ID).Skip((pager.page - 1) * pager.rows).Take(pager.rows).ToList();
            string           json     = "{\"total\":" + pager.totalRows + ",\"rows\":" + JsonConvert.SerializeObject(querData, Lib.Comm.setTimeFormat()) + ",\"footer\":" + JsonConvert.SerializeObject(footerList, Lib.Comm.setTimeFormat()) + "}";

            return(Content(json));
        }
Пример #6
0
        // GET: T_Payment/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            T_Payment t_Payment = db.T_Payment.Find(id);

            if (t_Payment == null)
            {
                return(HttpNotFound());
            }
            return(View(t_Payment));
        }
Пример #7
0
 /// <summary>
 /// 修改打印次数
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public JsonResult UpdateprintCountByID(int id)
 {
     try
     {
         T_Payment model = db.T_Payment.Find(id);
         model.PrintCount += 1;
         db.SaveChanges();
         return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(Json(new { State = "Faile", Message = ex.Message }));
     }
 }
Пример #8
0
        // GET: T_Payment/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            T_Payment t_Payment = db.T_Payment.Find(id);

            if (t_Payment == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Payment_Mode = new SelectList(db.M_MasterTable, "MasterID", "MasterVale", t_Payment.Payment_Mode);
            return(View(t_Payment));
        }
Пример #9
0
        public JsonResult ViewPaymentDelete(int id)
        {
            try
            {
                T_Payment model = db.T_Payment.Find(id);
                model.IsDelete = 1;
                db.SaveChanges();

                return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #10
0
        public ActionResult ViewPaymentPrint(int id, int page = 1)
        {
            ViewData["CompanyList"] = Com.DirectoryList("公司");
            ViewData["Bid"]         = id;
            T_Payment model = db.T_Payment.Find(id);

            ViewData["jine"]       = model.Reun_Cost;
            ViewData["code"]       = model.Reun_Code;
            ViewData["PrintCount"] = model.PrintCount;
            ViewData["borrowCode"] = string.IsNullOrWhiteSpace(model.MatchBorrowNumber) ? "" : "借支批号:" + model.MatchBorrowNumber;
            if (!string.IsNullOrEmpty(Request.QueryString["page"]))
            {
                try
                {
                    page = Convert.ToInt32(Request.QueryString["page"]);
                }
                catch (Exception)
                {
                    throw;
                }
            }
            ViewData["page"] = page;
            string href = "";
            IQueryable <T_PaymentProduct> list = db.T_PaymentProduct.Where(a => a.ReunId == id);
            int totalRows = list.Count();
            int P         = 0;

            if (totalRows % 5 != 0)
            {
                P = totalRows / 5 + 1;
            }
            else
            {
                P = totalRows / 5;
            }
            for (int i = 1; i <= P; i++)
            {
                href += "<a href=\"?page=" + i + "&id=" + id + "\">   " + i + "   </a>";
            }
            ViewData["pager"] = href;
            ViewData["total"] = P;
            ViewData["id"]    = id;
            return(View(model));
        }
Пример #11
0
        public JsonResult Check(int approveID, int status, string memo, string nextapprove, string company, string number)
        {
            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_PaymentApprove approve   = db.T_PaymentApprove.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_Payment model = db.T_Payment.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;
                        }
                        else
                        {
                            if (status != 2)
                            {
                                T_PaymentApproveConfig ModelConFig = db.T_PaymentApproveConfig.SingleOrDefault(a => a.Step == Step);


                                T_PaymentApprove newApprove = new T_PaymentApprove();
                                newApprove.ApproveStatus = -1;
                                if (Step == 4)//步奏是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_PaymentApprove.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();
                    }

                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
Пример #12
0
        public JsonResult PaymentAddSave(T_Payment model, string jsonStr, string jsonStr1, string picUrls)
        {
            if (string.IsNullOrWhiteSpace(jsonStr))
            {
                return(Json(new { State = "Faile", Message = "请添加报销明细" }));
            }
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    List <T_PaymentProduct> details = Com.Deserialize <T_PaymentProduct>(jsonStr);
                    string expensecode = "FK-DE-";
                    string expensedate = DateTime.Now.ToString("yyyyMMdd");
                    //查找当前已有的编号
                    List <T_Payment> lists = db.T_Payment.Where(a => a.Reun_Code.Contains(expensedate)).OrderByDescending(c => c.ID).ToList();
                    if (lists.Count == 0)
                    {
                        expensecode += expensedate + "-" + "0001";
                    }
                    else
                    {
                        string old     = lists[0].Reun_Code.Substring(15);
                        int    newcode = int.Parse(old) + 1;
                        expensecode += expensedate + "-" + newcode.ToString().PadLeft(4, '0');
                    }
                    model.Reun_Code = expensecode;
                    //主表数据
                    model.CrateDate = DateTime.Now;
                    model.Status    = -1;
                    //model.IsBlending = 0;
                    model.IsExpenseMatch = false;
                    model.IsDelete       = 0;
                    int departId = int.Parse(model.Department);
                    model.Department  = db.T_Department.Find(departId).Name;
                    model.Reun_Cost   = details.Sum(s => s.Price * s.Num);
                    model.Step        = 0;
                    model.Pz_BXStatus = 0;
                    model.PostUser    = UserModel.Name;
                    model.PrintCount  = 0;
                    if (!string.IsNullOrWhiteSpace(model.Shop))
                    {
                        model.Shop = db.T_ShopFromGY.FirstOrDefault(s => s.number.Equals(model.Shop)).name;
                    }
                    if (!string.IsNullOrWhiteSpace(picUrls))
                    {
                        model.IsExpenseEnclosure = 1;
                    }
                    else
                    {
                        model.IsExpenseEnclosure = 0;
                    }

                    db.T_Payment.Add(model);
                    db.SaveChanges();
                    //审核记录
                    T_PaymentApprove Approvemodel = new T_PaymentApprove
                    {
                        ApproveName      = Com.GetNickName(model.ExpenseNextApprove),
                        ApproveStatus    = -1,
                        Reunbursement_id = model.ID
                    };
                    db.T_PaymentApprove.Add(Approvemodel);
                    db.SaveChanges();
                    //添加详情
                    foreach (var item in details)
                    {
                        item.ReunId = model.ID;
                        db.T_PaymentProduct.Add(item);
                    }
                    db.SaveChanges();

                    //附件保存
                    if (!string.IsNullOrWhiteSpace(picUrls))
                    {
                        string[] picArr = picUrls.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                        // List<T_ExpenseEnclosure> Enclosure = Com.Deserialize<T_ExpenseEnclosure>(picUrls);
                        foreach (string item in picArr)
                        {
                            T_PaymentEnclosure Enclosure = new T_PaymentEnclosure();
                            Enclosure.Scdate    = DateTime.Now;
                            Enclosure.ExpenseId = model.ID;
                            Enclosure.Url       = item;
                            Enclosure.Path      = item;
                            string[] ss = item.Split('/');
                            Enclosure.ScName = ss[ss.Length - 1];
                            Enclosure.Size   = "0";

                            db.T_PaymentEnclosure.Add(Enclosure);
                        }
                        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));
                }
            }
        }
Пример #13
0
        /// <summary>
        /// 获取报销打印数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public JsonResult GetPaymentPrint(int id)
        {
            T_Payment model = db.T_Payment.Find(id);

            return(Json(model, JsonRequestBehavior.AllowGet));
        }