Ejemplo n.º 1
0
        public ActionResult PaymenReportCheck(int id)
        {
            if (id == 0)
            {
                return(HttpNotFound());
            }
            var    history = db.T_PaymentApprove.Where(a => a.Reunbursement_id == id);
            var    model   = db.T_Payment.Find(id);
            string table   = "<table class=\"fromEditTable setTextWidth300\"> <tbody><tr><td>审核人</td><td>审核结果</td><td>审核时间</td><td>备注</td></tr>";
            string tr      = "";

            foreach (var item in history)
            {
                string s = "";
                if (item.ApproveStatus == -1)
                {
                    s = "<font color=blue>未审核</font>";
                }
                if (item.ApproveStatus == 1)
                {
                    s = "<font color=green>已同意</font>";
                }
                if (item.ApproveStatus == 2)
                {
                    s = "<font color=red>不同意</font>";
                }
                tr += string.Format("<tr><td><label>{0}</label></td><td>{1}</td><td>{2}</td><td>{3}</td></tr>", item.ApproveName, s, item.ApproveDate, item.Remark);
            }
            ViewData["history"]   = table + tr + "</tbody></table>";
            ViewData["expenseId"] = id;
            //获取审核表中的 审核记录ID
            T_PaymentApprove approve = db.T_PaymentApprove.FirstOrDefault(a => !a.ApproveDate.HasValue && a.Reunbursement_id == id);

            if (approve != null)
            {
                ViewData["approveid"] = approve.ID;
            }
            else
            {
                ViewData["approveid"] = 0;
            }
            BindApproveName(model.Step + 1);
            int Step = db.T_ExpenseApproveConfig.ToList().Count;

            ViewData["Step"]      = Step;
            ViewData["comPanyIn"] = Com.ExpenseCompany();
            //  ViewData["ExpStatusList"] = Com.ExpenseStatus();
            return(View(model));
        }
Ejemplo n.º 2
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));
                }
            }
        }
Ejemplo n.º 3
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));
                }
            }
        }