Esempio n. 1
0
        //审核
        public JsonResult WDTHandOrderCheckCheck(T_WDTHandOrder model, string status, string Memo)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                int            ID           = model.ID;
                T_WDTHandOrder Invoicemodel = db.T_WDTHandOrder.SingleOrDefault(a => a.ID == ID && a.Isdelete == 0);
                if (Invoicemodel == null)
                {
                    return(Json("数据可能被删除", JsonRequestBehavior.AllowGet));
                }

                T_WDTHandOrderApprove modelApprove = db.T_WDTHandOrderApprove.FirstOrDefault(a => a.Pid == ID && a.ApproveTime == null);
                string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value);

                string result = "";
                modelApprove.ApproveName   = Nickname;
                modelApprove.Memo          = Memo;
                modelApprove.ApproveTime   = DateTime.Now;
                modelApprove.ApproveStatus = int.Parse(status);
                db.Entry <T_WDTHandOrderApprove>(modelApprove).State = System.Data.EntityState.Modified;
                int    i    = db.SaveChanges();
                string Upde = "0";
                if (i > 0)
                {
                    if (status == "1")
                    {
                        T_WDTHandOrderApprove newApprove = new T_WDTHandOrderApprove();
                        int step = int.Parse(Invoicemodel.Step.ToString());
                        step++;
                        IQueryable <T_WDTHandOrderConfig> config = db.T_WDTHandOrderConfig.AsQueryable();
                        int stepLength = config.Count();//总共步骤
                        if (step < stepLength)
                        {
                            Invoicemodel.Status = 0;
                            T_WDTHandOrderConfig stepMod = db.T_WDTHandOrderConfig.SingleOrDefault(a => a.Step == step);
                            string nextName = stepMod.Name;
                            newApprove.Memo          = "";
                            newApprove.Pid           = ID;
                            newApprove.ApproveStatus = -1;

                            if (nextName != null)
                            {
                                newApprove.ApproveName = nextName;
                                newApprove.ApproveUser = stepMod.ApproveType;
                            }
                            else
                            {
                                newApprove.ApproveName = stepMod.ApproveType;
                                newApprove.ApproveUser = stepMod.ApproveType;
                            }
                            db.T_WDTHandOrderApprove.Add(newApprove);
                            db.SaveChanges();
                        }
                        else
                        {
                            Upde = UpToGY(Invoicemodel.ID);
                            Invoicemodel.Status = int.Parse(status);
                        }
                        Invoicemodel.Step = step;
                        db.Entry <T_WDTHandOrder>(Invoicemodel).State = System.Data.EntityState.Modified;
                        int j = db.SaveChanges();
                        if (Upde == "1" && j > 0)
                        {
                            sc.Complete();
                            result = "保存成功";
                        }
                        else
                        {
                            if (Upde == "0")
                            {
                                result = "上传旺店通失败导致保存失败";
                            }
                            else
                            {
                                result = "保存失败";
                            }
                        }
                    }
                    else
                    {
                        //不同意
                        Invoicemodel.Step   = 0;
                        Invoicemodel.Status = 2;
                        db.Entry <T_WDTHandOrder>(Invoicemodel).State = System.Data.EntityState.Modified;
                        int j = db.SaveChanges();
                        //审核流程结束 申请人编辑后插入下一条记录
                        sc.Complete();
                        if (j > 0)
                        {
                            result = "保存成功";
                        }
                        else
                        {
                            result = "保存失败";
                        }
                    }
                }
                else
                {
                    result = "保存失败";
                }


                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 2
0
        public JsonResult WDTHOrderAdd(T_WDTHandOrder model, string jsonStr, string province, string city, string area)
        {
            //如果进入数据库失败就全部回滚
            using (TransactionScope sc = new TransactionScope())
            {
                //监控插入语句的异常
                try
                {
                    string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value);
                    //给主表T_WDTHandOrder缺少值的字段赋值
                    string orderNum = "7" + DateTime.Now.ToString("yyyyMMddHHmmssffff");
                    model.OrderID          = orderNum;
                    model.SingleShotTime   = DateTime.Now;
                    model.deliverGoodsTime = DateTime.Now;
                    if (province == null)
                    {
                        province = "";
                    }
                    if (city == null)
                    {
                        city = "";
                    }
                    if (area == "")
                    {
                        area = "";
                    }
                    model.ProvinceAddress = province;
                    model.CityAddress     = city;
                    model.AreaAddress     = area;
                    model.CreateTime      = DateTime.Now;
                    model.CreateName      = Nickname;
                    model.Isdelete        = 0;
                    model.Status          = -1;
                    model.Step            = 0;
                    decimal cost = 0;

                    List <T_WDTHandOrderDetail> details = App_Code.Com.Deserialize <T_WDTHandOrderDetail>(jsonStr);
                    foreach (var item in details)
                    {
                        decimal num   = decimal.Parse(item.num.ToString());
                        decimal Price = decimal.Parse(item.UnitPrice.ToString());
                        cost = (num * Price) + cost;

                        item.PorderID = model.OrderID;
                        db.T_WDTHandOrderDetail.Add(item);
                    }

                    cost += decimal.Parse(model.PostAmount.ToString());
                    //把计算的总金额赋值
                    model.Cost = cost;
                    db.T_WDTHandOrder.Add(model);
                    int i = db.SaveChanges();
                    if (i > 0)
                    {
                        T_WDTHandOrderConfig modelconfig = db.T_WDTHandOrderConfig.SingleOrDefault(a => a.Step == 0 && a.Reson == 1);

                        T_WDTHandOrderApprove AppRoveModel = new T_WDTHandOrderApprove();
                        AppRoveModel.ApproveStatus = -1;

                        if (modelconfig.Name == null || modelconfig.Name == "")
                        {
                            AppRoveModel.ApproveName = modelconfig.ApproveType;
                        }
                        else
                        {
                            AppRoveModel.ApproveName = modelconfig.Name;
                        }
                        AppRoveModel.ApproveUser = modelconfig.ApproveType;
                        AppRoveModel.Pid         = model.ID;
                        db.T_WDTHandOrderApprove.Add(AppRoveModel);
                        db.SaveChanges();
                    }
                    else
                    {
                        return(Json(new { State = "Faile" }, JsonRequestBehavior.AllowGet));
                    }
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }