Exemplo n.º 1
0
 public JsonResult MethodAdd(string method, int cashier)
 {
     using (TransactionScope sc = new TransactionScope())
     {
         T_CashbackMethod MOD_Method = new T_CashbackMethod();
         //查出最后一个流程的序号 加1 作为当前新增流程的序号
         List <T_CashbackMethod> MOD = db.Database.SqlQuery <T_CashbackMethod>("select top 1 * from T_CashbackMethod ORDER by Method DESC").ToList();
         int _method = 1;
         if (MOD.Count() != 0)
         {
             _method = int.Parse(MOD[0].Method.ToString()) + 1;
         }
         string[] methodArry = method.Split(',');
         int      t          = 0;
         for (int i = 0; i < methodArry.Length; i++)
         {
             MOD_Method.Name   = methodArry[i];
             MOD_Method.Step   = i;
             MOD_Method.Method = _method;
             if (i == cashier)
             {
                 //设置出纳
                 MOD_Method.Cashier = 1;
             }
             db.T_CashbackMethod.Add(MOD_Method);
             t = db.SaveChanges();
         }
         sc.Complete();
         string result = "保存失败";
         if (t > 0)
         {
             result = "保存成功";
         }
         return(Json(result, JsonRequestBehavior.AllowGet));
     }
 }
Exemplo n.º 2
0
        //审核
        public JsonResult Check(int id, int status, string memo, string method, int cashier, string backfrom, string CurUser)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                //当前用户
                string curUser = CurUser;
                //审核主记录
                T_CashBack MOD_Cash = db.T_CashBack.Find(id);
                if (MOD_Cash == null)
                {
                    return(Json("找不到该记录", JsonRequestBehavior.AllowGet));
                }
                int _Method = int.Parse(MOD_Cash.Method.ToString());       //当前审核方法
                int _Step   = int.Parse(MOD_Cash.Step.ToString());         //当前审核步骤
                T_CashBackApprove cur_Approve = db.T_CashBackApprove.FirstOrDefault(a => a.Oid == id && a.ApproveTime == null);
                if (cur_Approve == null)
                {
                    return(Json("该记录已审核", JsonRequestBehavior.AllowGet));
                }
                if (cur_Approve.ApproveName != curUser)
                {
                    return(Json("当前不是你审核,或者你的帐号在别处登录了", JsonRequestBehavior.AllowGet));
                }
                List <T_CashbackMethod> MOD_Method = db.T_CashbackMethod.Where(a => a.Method == _Method).ToList();
                int methodLength = MOD_Method.Count();  //该方法总步骤数
                //修改审核记录
                T_CashBackApprove MOD_Approve = db.T_CashBackApprove.FirstOrDefault(a => a.Oid == id && a.ApproveTime == null);
                MOD_Approve.Status      = status;
                MOD_Approve.Note        = memo;
                MOD_Approve.ApproveTime = DateTime.Now;
                db.Entry <T_CashBackApprove>(MOD_Approve).State = System.Data.EntityState.Modified;
                db.SaveChanges();
                //同意
                if (status == 1)
                {
                    //不是最后一步
                    if (_Step < methodLength - 1)
                    {
                        _Step++;                                                                                                            //步骤加1
                        T_CashbackMethod MOD_Nextapprove = db.T_CashbackMethod.FirstOrDefault(a => a.Method == _Method && a.Step == _Step); //当前流程的步骤
                        //审核同意而且,插入新的审核记录
                        T_CashBackApprove CashApprove = new T_CashBackApprove();
                        CashApprove.Oid         = id;
                        CashApprove.Note        = "";
                        CashApprove.Status      = -1;
                        CashApprove.ApproveName = MOD_Nextapprove.Name;
                        db.T_CashBackApprove.Add(CashApprove);
                        db.SaveChanges();
                        //主表状态为0 =>审核中
                        MOD_Cash.Status = 0;
                    }
                    else
                    {
                        //最后一步 修改主表的状态
                        MOD_Cash.Status = status;
                    }
                    //判断是否是出纳,出纳返现资金
                    if (cashier == 1)
                    {
                        //主表支出帐号
                        MOD_Cash.BackFrom = backfrom;
                        //修改订单
                        //查询是否还有该订单返现数据
                        //修改订单字段
                        //T_OrderList MOD_Order = db.T_OrderList.Find(MOD_Cash.OrderId);
                        //if (MOD_Order.Status_CashBack != 2)
                        //{
                        //    MOD_Order.Status_CashBack = 2;
                        //    db.Entry<T_OrderList>(MOD_Order).State = System.Data.EntityState.Modified;
                        //    int o = db.SaveChanges();
                        //    if (o == 0)
                        //    {
                        //        return Json("审核失败", JsonRequestBehavior.AllowGet);
                        //    }
                        //}
                    }
                }
                if (status == 2)
                {
                    //不同意
                    MOD_Cash.Status = status;
                    _Step           = 0;
                    //审核流程结束 申请人编辑后插入下一条记录
                    //驳回 发短信
                    T_User user = db.T_User.FirstOrDefault(a => a.Nickname == MOD_Cash.PostUser);
                    if (user != null)
                    {
                        if (!string.IsNullOrEmpty(user.Tel))
                        {
                            string[] msg = new string[] { "返现", "不同意" };
                            string   res = Lib.SendSMS.Send(msg, user.Tel);
                        }
                    }
                }

                MOD_Cash.Step = _Step;
                db.Entry <T_CashBack>(MOD_Cash).State = System.Data.EntityState.Modified;   //修改主表
                int    i      = db.SaveChanges();
                string result = "审核失败";
                if (i > 0)
                {
                    result = "审核成功";
                }
                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();
                }
                string         RetreatAppRoveSql   = "  select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_CashBackApprove where  Oid in ( select ID from T_CashBack where For_Delete=0 and Status!=3 ) and  Status=-1 and ApproveTime is null GROUP BY ApproveName  ";
                List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList();
                string         Nickname            = Server.UrlDecode(Request.Cookies["Nickname"].Value);
                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.RejectNumber     = 0;
                        ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber;
                        ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName;
                        ModularNotauditedModel.ToupdateDate     = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname;
                        db.T_ModularNotaudited.Add(ModularNotauditedModel);
                    }
                    db.SaveChanges();
                }

                //增加驳回数据
                string         RejectNumberSql   = "select PostUser as PendingAuditName,COUNT(*) as NotauditedNumber from T_CashBack where Status='2' GROUP BY PostUser";
                List <Modular> RejectNumberQuery = db.Database.SqlQuery <Modular>(RejectNumberSql).ToList();

                for (int e = 0; e < RejectNumberQuery.Count; e++)
                {
                    //   string Name = RejectNumberQuery[e].PendingAuditName;
                    string PendingAuditName = RejectNumberQuery[e].PendingAuditName;


                    T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "返现" && a.PendingAuditName == PendingAuditName);
                    if (NotauditedModel != null)
                    {
                        NotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber;
                        db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified;
                    }
                    else
                    {
                        T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited();
                        ModularNotauditedModel.ModularName      = "返现";
                        ModularNotauditedModel.NotauditedNumber = 0;
                        ModularNotauditedModel.RejectNumber     = RejectNumberQuery[e].NotauditedNumber;
                        // string Name = RejectNumberQuery[e].PendingAuditName;
                        ModularNotauditedModel.PendingAuditName = PendingAuditName;
                        ModularNotauditedModel.ToupdateDate     = DateTime.Now;
                        ModularNotauditedModel.ToupdateName     = Nickname;
                        db.T_ModularNotaudited.Add(ModularNotauditedModel);
                    }
                    db.SaveChanges();
                }


                sc.Complete();
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 3
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_CashBack mod  = db.T_CashBack.Find(ID);
            mainItem   list = new mainItem();

            list.ID            = mod.ID;
            list.PostUser      = mod.PostUser;
            list.OrderNum      = mod.OrderNum;
            list.VipName       = mod.VipName;
            list.ShopName      = mod.ShopName;
            list.WangWang      = mod.WangWang;
            list.Reason        = mod.Reason;
            list.BackMoney     = mod.BackMoney;
            list.ApproveName   = mod.ApproveName;
            list.OrderMoney    = mod.OrderMoney;
            list.AlipayName    = mod.AlipayName;
            list.AlipayAccount = mod.AlipayAccount;
            list.Note          = mod.Note;
            list.PostTime      = mod.PostTime;
            list.Status        = mod.Status;
            list.Repeat        = mod.Repeat;
            list.Method        = mod.Method;
            list.BackFrom      = mod.BackFrom;
            string modJson = JsonConvert.SerializeObject(list, Lib.Comm.setTimeFormat());

            //审核记录
            IQueryable <T_CashBackApprove> mod_Approve = db.T_CashBackApprove.Where(a => a.Oid == ID);
            string approve = JsonConvert.SerializeObject(mod_Approve, Lib.Comm.setTimeFormat());
            //用于判断是不是我审核 0不是 1是
            int myCheck = 0;
            T_CashBackApprove MyApprove = db.T_CashBackApprove.FirstOrDefault(a => a.Oid == ID && a.ApproveName == UserName && a.ApproveTime == null);

            if (MyApprove != null)
            {
                myCheck = 1;
            }
            //财务出纳?
            int Cashier = 0;
            int curStep = int.Parse(mod.Step.ToString());
            //支付帐号
            IQueryable <T_CashBackFrom> BackFrom   = db.T_CashBackFrom.AsQueryable();
            T_CashbackMethod            MOD_method = db.T_CashbackMethod.FirstOrDefault(a => a.Method == mod.Method && a.Step == curStep);

            if (MOD_method.Cashier == 1)
            {
                using (TransactionScope sc = new TransactionScope())
                {
                    if (UserName == MOD_method.Name)
                    {
                        //string order = mod.OrderNum;
                        //T_OrderList MOD_Order = db.T_OrderList.FirstOrDefault(a => a.platform_code == order);
                        //int cash = int.Parse(MOD_Order.Status_CashBack.ToString());
                        //int retreat = int.Parse(MOD_Order.Status_Retreat.ToString());
                        //string repeatString = "返现状态:";
                        //switch (cash)
                        //{
                        //    case 0:
                        //        repeatString += "未申请";
                        //        break;
                        //    case 1:
                        //        repeatString += "申请中";
                        //        break;
                        //    case 2:
                        //        repeatString += "已返现";
                        //        break;
                        //}
                        //repeatString += ",退货退款:";
                        //switch (retreat)
                        //{
                        //    case 0:
                        //        repeatString += "未退款";
                        //        break;
                        //    case 1:
                        //        repeatString += "未退款";
                        //        break;
                        //    case 2:
                        //        repeatString += "已退款";
                        //        break;
                        //}
                        Cashier = 1; //是财务出纳
                        //mod.Repeat = repeatString;
                        //db.Entry<T_CashBack>(mod).State = System.Data.EntityState.Modified;
                        //db.SaveChanges();
                    }
                    sc.Complete();
                }
                //是财务出纳 刷新 是否返现/退款 字段
            }
            string sBackFrom = JsonConvert.SerializeObject(BackFrom, Lib.Comm.setTimeFormat());

            result += "{\"Main\":[" + modJson + "],\"Approve\":" + approve + ",\"myCheck\":" + myCheck + ",\"Cashier\":" + Cashier + ",\"BackFrom\":" + sBackFrom + "}";
            return(Json(result, JsonRequestBehavior.AllowGet));
        }