Beispiel #1
0
        public JsonResult Check(int id, int approveId, int status, string memo, string companyOut, string paymentBank, string paymentNumber, string CurUser)
        {
            T_User MOD_User = db.T_User.FirstOrDefault(a => a.Nickname == CurUser);
            //真名
            string name    = MOD_User.Name;
            var    Approve = db.T_FundApprove.Find(approveId);
            var    fund    = db.T_FundAllot.FirstOrDefault(s => s.ID == Approve.ItemId);
            int    step    = fund.Step;

            var configNextModel = db.T_FundConfig.FirstOrDefault(s => s.Step > step);


            Approve.ApproveTime = DateTime.Now;
            Approve.Memo        = memo;
            try
            {
                //同意
                if (status == 1)
                {
                    Approve.Status = 1;
                    //是否存在下一级
                    if (configNextModel != null)
                    {
                        fund.Step   = configNextModel.Step;
                        fund.Status = 0;
                        var approveModel = new T_FundApprove();
                        approveModel.ApproveName = configNextModel.ApproveUser;
                        approveModel.Status      = -1;
                        approveModel.ItemId      = fund.ID;
                        db.T_FundApprove.Add(approveModel);
                    }
                    else
                    {
                        fund.Status         = 1;
                        fund.CompanyOut     = companyOut;
                        fund.ThePaymentBank = paymentBank;
                        fund.PaymentNumber  = paymentNumber;
                        var time = DateTime.Now;
                        //调入记录
                        T_FundRecord modelIn = new T_FundRecord
                        {
                            Type     = "资金调入",
                            Number   = fund.FundAllotCode,
                            ShopName = fund.CompanyIn,
                            Account  = fund.AccountNumber,
                            Cost     = Convert.ToDecimal(fund.theMoney),
                            Time     = time
                        };
                        db.T_FundRecord.Add(modelIn);
                        //调出记录
                        T_FundRecord modelOut = new T_FundRecord
                        {
                            Type     = "资金调出",
                            Number   = fund.FundAllotCode,
                            ShopName = fund.CompanyOut,
                            Account  = fund.PaymentNumber,
                            Cost     = Convert.ToDecimal("-" + fund.theMoney),
                            Time     = time
                        };
                        db.T_FundRecord.Add(modelOut);
                    }
                }
                //不同意
                else
                {
                    Approve.Status = 2;
                    fund.Status    = 2;
                    fund.Step      = db.T_FundConfig.OrderBy(s => s.Step).First().Step;
                }


                var i = db.SaveChanges();


                string         RetreatAppRoveSql   = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_FundApprove where  ItemId in ( select id from T_FundAllot where IsDelete=0) and  Status=-1 and ApproveTime is null GROUP BY ApproveName ";
                List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
                string         Nickname            = CurUser;
                for (int e = 0; e < RetreatAppRoveQuery.Count; e++)
                {
                    string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;

                    T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资金调拨未审核" && a.PendingAuditName == PendingAuditName);
                    if (NotauditedModel != null)
                    {
                        NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                    }
                    else
                    {
                        T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                        ModularNotauditedModel.ModularName      = "资金调拨未审核";
                        ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                        ModularNotauditedModel.ToupdateDate     = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname;
                        db.T_ModularNotaudited.Add(ModularNotauditedModel);
                    }
                    db.SaveChanges();
                }

                if (i > 0)
                {
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { State = "Faile", Message = "操作失败" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #2
0
        //详情数据加载
        public JsonResult GetDetail(int ID, string UserName)
        {
            T_User MOD_User = db.T_User.FirstOrDefault(a => a.Nickname == UserName);
            //真名
            string name   = MOD_User.Name;
            string result = "";
            //主表
            T_FundAllot mod  = db.T_FundAllot.Find(ID);
            mainItem    list = new mainItem();

            list.ID               = mod.ID;
            list.PostUser         = mod.PostUser;
            list.Department       = mod.Department;
            list.TheReceivingBank = mod.TheReceivingBank;
            list.CompanyIn        = mod.CompanyIn;
            list.AccountNumber    = mod.AccountNumber;
            list.CompanyOut       = mod.CompanyOut;
            list.ThePaymentBank   = mod.ThePaymentBank;
            list.PaymentNumber    = mod.PaymentNumber;
            list.Status           = mod.Status;
            list.UseOfProceeds    = mod.UseOfProceeds;
            list.PostTime         = mod.PostTime;
            list.Step             = mod.Step;
            list.theMoney         = Convert.ToDouble(mod.theMoney);
            list.PostTime         = mod.PostTime;
            list.Status           = mod.Status;
            list.FundAllotCode    = mod.FundAllotCode;
            list.IsPzStatus       = mod.IsPzStatus;

            string modJson = JsonConvert.SerializeObject(list, Lib.Comm.setTimeFormat());

            //审核记录
            IQueryable <T_FundApprove> mod_Approve = db.T_FundApprove.Where(a => a.ItemId == ID);
            string approve = JsonConvert.SerializeObject(mod_Approve, Lib.Comm.setTimeFormat());

            T_FundApprove Approve = db.T_FundApprove.FirstOrDefault(s => !s.ApproveTime.HasValue && s.ItemId == ID);

            if (Approve == null)
            {
                Approve = db.T_FundApprove.FirstOrDefault(s => s.ApproveTime.HasValue && s.ItemId == ID);
            }


            //用于判断是不是我审核 0不是 1是
            int           myCheck   = 0;
            T_FundApprove MyApprove = db.T_FundApprove.FirstOrDefault(a => a.ItemId == ID && a.ApproveName == name && a.ApproveTime == null);

            if (MyApprove != null)
            {
                myCheck = 1;
            }
            //财务主管?
            int Cashier = 0;
            int curStep = int.Parse(mod.Step.ToString());

            //支付帐号
            if (name == "殷治云")
            {
                Cashier = 1;
            }

            //付款账号
            string PayNumber = JsonConvert.SerializeObject(Com.PayNumber(), Lib.Comm.setTimeFormat());
            //资金调拨调出单位
            string CompanyOut = JsonConvert.SerializeObject(Com.CompanyOut(), Lib.Comm.setTimeFormat());
            //付款银行
            List <SelectListItem> listPayBank = Lib.Comm.PayBank;
            string ThePaymentBank             = JsonConvert.SerializeObject(listPayBank, Lib.Comm.setTimeFormat());

            result += "{\"Main\":[" + modJson + "],\"Approve\":" + approve + ",\"myCheck\":" + myCheck + ",\"Cashier\":" + Cashier + ",\"CompanyOut\":" + CompanyOut + ",\"PayNumber\":" + PayNumber + ",\"ThePaymentBank\":" + ThePaymentBank + ",\"approveId\":" + Approve.ID + "}";
            return(Json(result, JsonRequestBehavior.AllowGet));
        }