Example #1
0
        public ContentResult GetStockOutstorage(Lib.GridPager pager, string queryStr, string WarehouseCode)
        {
            IQueryable <T_StockOutstorage> queryData = db.T_StockOutstorage.AsQueryable();

            if (!string.IsNullOrEmpty(queryStr))
            {
                queryData = queryData.Where(a => a.Code != null && a.Code.Contains(queryStr) || a.Name != null && a.Name.Contains(queryStr));
            }
            if (!string.IsNullOrEmpty(WarehouseCode))
            {
                queryData = queryData.Where(a => a.WarehouseCode.Contains(WarehouseCode));
            }
            pager.totalRows = queryData.Count();
            //分页
            queryData = queryData.OrderByDescending(c => c.ID).Skip((pager.page - 1) * pager.rows).Take(pager.rows);
            List <T_StockOutstorage> list = new List <T_StockOutstorage>();

            foreach (var item in queryData)
            {
                T_StockOutstorage i = new T_StockOutstorage();
                item.WarehouseCode = WarehouseByName(item.WarehouseCode);
                i = item;
                list.Add(i);
            }
            // List<T_ManualBilling> list = queryData.OrderByDescending(c => c.ID).Skip((pager.page - 1) * pager.rows).Take(pager.rows).ToList();
            string json = "{\"total\":" + pager.totalRows + ",\"rows\":" + JsonConvert.SerializeObject(list, Lib.Comm.setTimeFormat()) + "}";

            return(Content(json));
        }
        public JsonResult StockDetailAdd(T_StockStorage Model, string jsonStr)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value);
                    Model.Type      = "退货";
                    Model.ApplyName = Nickname;
                    Model.ApplyDate = DateTime.Now;
                    db.T_StockStorage.Add(Model);
                    db.SaveChanges();
                    List <T_StockDetail> details = App_Code.Com.Deserialize <T_StockDetail>(jsonStr);


                    foreach (var item in details)
                    {
                        item.Oid = Model.ID;
                        db.T_StockDetail.Add(item);
                        db.SaveChanges();
                        string  code          = item.Code;
                        string  WarehouseCode = Model.WarehouseCode;
                        T_Stock Smodel        = db.T_Stock.SingleOrDefault(a => a.Code == code && a.WarehouseName == WarehouseCode);
                        if (Smodel != null)
                        {
                            Smodel.Qty += item.Qty;
                            db.Entry <T_Stock>(Smodel).State = System.Data.Entity.EntityState.Modified;
                            db.SaveChanges();
                        }
                        else
                        {
                            T_Stock StModel = new T_Stock();
                            StModel.Qty           = item.Qty;
                            StModel.Name          = item.Name;
                            StModel.Code          = item.Code;
                            StModel.WarehouseName = WarehouseCode;
                            db.T_Stock.Add(StModel);
                            db.SaveChanges();
                        }

                        T_StockOutstorage StorageModel = new T_StockOutstorage();
                        StorageModel.Code          = item.Code;
                        StorageModel.Name          = item.Name;
                        StorageModel.WarehouseCode = WarehouseCode;
                        StorageModel.number        = Model.ID.ToString();
                        StorageModel.Qty           = item.Qty;
                        StorageModel.Type          = "入库";
                        db.T_StockOutstorage.Add(StorageModel);
                        db.SaveChanges();
                    }
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
Example #3
0
        //[Description("新增保存")]
        public JsonResult StockDetailAdd(T_StockStorage Model, string jsonStr, string CurUser)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try
                {
                    string Nickname = "";
                    if (!string.IsNullOrWhiteSpace(CurUser))
                    {
                        Nickname = CurUser;
                    }
                    else
                    {
                        Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value);
                    }
                    Model.Type      = "入库";
                    Model.ApplyName = Nickname;
                    Model.ApplyDate = DateTime.Now;
                    db.T_StockStorage.Add(Model);
                    db.SaveChanges();
                    List <T_StockDetail> details = App_Code.Com.Deserialize <T_StockDetail>(jsonStr);


                    foreach (var item in details)
                    {
                        item.Oid = Model.ID;
                        db.T_StockDetail.Add(item);
                        db.SaveChanges();
                        string  code          = item.Code;
                        string  WarehouseCode = Model.WarehouseCode;
                        T_Stock Smodel        = db.T_Stock.SingleOrDefault(a => a.Code == code && a.WarehouseName == WarehouseCode);
                        if (Smodel != null)
                        {
                            Smodel.Qty += item.Qty;
                            db.Entry <T_Stock>(Smodel).State = System.Data.Entity.EntityState.Modified;
                            db.SaveChanges();
                        }
                        else
                        {
                            T_Stock StModel = new T_Stock();
                            StModel.Qty           = item.Qty;
                            StModel.Name          = item.Name;
                            StModel.Code          = item.Code;
                            StModel.WarehouseName = WarehouseCode;
                            db.T_Stock.Add(StModel);
                            db.SaveChanges();
                        }

                        T_StockOutstorage StorageModel = new T_StockOutstorage();
                        StorageModel.Code          = item.Code;
                        StorageModel.Name          = item.Name;
                        StorageModel.WarehouseCode = WarehouseCode;
                        StorageModel.number        = Model.ID.ToString();
                        StorageModel.Qty           = item.Qty;
                        StorageModel.Type          = "入库";
                        db.T_StockOutstorage.Add(StorageModel);
                        db.SaveChanges();
                    }
                    string cpcode = "";
                    for (int z = 0; z < details.Count; z++)
                    {
                        if (z == details.Count - 1)
                        {
                            cpcode += "{\"barcode\":\"" + details[z].Code + "\",\"qty\":" + details[z].Qty + "}";
                        }
                        else
                        {
                            cpcode += "{\"barcode\":\"" + details[z].Code + "\",\"qty\":" + details[z].Qty + "},";
                        }
                    }
                    EBMS.App_Code.GY gy  = new App_Code.GY();
                    string           cmd = "";
                    cmd = "{" +
                          "\"appkey\":\"171736\"," +
                          "\"method\":\"gy.erp.new.purchase.arrive.add\"," +
                          "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"," +
                          "\"warehouse_code\":\"" + Model.WarehouseCode + "\"," +
                          "\"supplier_code\":\"" + Model.SupplierName + "\"," +
                          "\"order_type\":\"001\"," +
                          "\"detail_list\":[" + cpcode + "]" +
                          "}";
                    string sign    = gy.Sign(cmd);
                    string comcode = "";
                    comcode = "{" +
                              "\"appkey\":\"171736\"," +
                              "\"method\":\"gy.erp.new.purchase.arrive.add\"," +
                              "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"," +
                              "\"sign\":\"" + sign + "\"," +
                              "\"warehouse_code\":\"" + Model.WarehouseCode + "\"," +
                              "\"supplier_code\":\"" + Model.SupplierName + "\"," +
                              "\"order_type\":\"001\"," +
                              "\"detail_list\":[" + cpcode + "]" +
                              "}";
                    string   ret      = gy.DoPost("http://api.guanyierp.com/rest/erp_open", comcode);
                    JsonData jsonData = null;
                    jsonData = JsonMapper.ToObject(ret);

                    if (jsonData.Count == 6)
                    {
                        return(Json(new { State = "Faile", Message = "写入管易失败,请联系管理员" }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        sc.Complete();
                        return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                    }
                }
                catch (Exception ex)
                {
                    return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }
Example #4
0
        public JsonResult Save(T_Deliver model, string jsonStr, string CurUser, string TiaoMa, string type)
        {
            using (TransactionScope sc = new TransactionScope())
            {
                try {
                    // 查询发货表 订单是否发货
                    T_Deliver deliverFlag = db.T_Deliver.FirstOrDefault(a => a.MailNo == model.MailNo);
                    if (deliverFlag != null)
                    {
                        return(Json(new { State = "Faile", Message = "该单据编号已经发货" }, JsonRequestBehavior.AllowGet));
                    }
                    T_Warehouses warehouseMod = db.T_Warehouses.SingleOrDefault(a => a.name == model.WarehouseCode);
                    //发货记录表增加发货记录
                    string curUser = "";
                    if (!string.IsNullOrWhiteSpace(CurUser))
                    {
                        curUser = CurUser;
                    }
                    else
                    {
                        curUser = Server.UrlDecode(Request.Cookies["NickName"].Value);
                    }

                    string    IP  = Request.UserHostAddress;
                    T_Deliver MOD = new T_Deliver();
                    MOD.PostTime      = DateTime.Now;
                    MOD.PostName      = curUser;
                    MOD.OrderNum      = model.OrderNum;
                    MOD.MailNo        = model.MailNo;
                    MOD.WarehouseCode = warehouseMod.code;
                    MOD.IP            = IP;
                    MOD.Note          = model.Note;
                    db.T_Deliver.Add(MOD);
                    db.SaveChanges();

                    /*
                     * 解析jsonStr
                     * 修改库存表发货详情记录表
                     * 库存表是否有该商品的库存信息?直接修改库存数量:新增一条库存信息qty为负数
                     */
                    List <AddMod> detail = Com.Deserialize <AddMod>(jsonStr);

                    if (type == "1")
                    {
                        List <TiaoMaAddMod> TiaoMaAddModList = new List <TiaoMaAddMod>();
                        string[]            tiaomaList       = TiaoMa.Split('\n');
                        int Qty = 0;

                        for (int i = 0; i < detail.Count; i++)
                        {
                            Qty += int.Parse(detail[i].qty.ToString());
                            int tiaomalistQty = 0;
                            int detailcount   = int.Parse(detail[i].qty.ToString());
                            for (int z = 0; z < tiaomaList.Length; z++)
                            {
                                if (tiaomaList[z] == "")
                                {
                                    break;
                                }

                                string tiaomazz = "";
                                //if (z == tiaomaList.Length - 1)
                                //{
                                //     tiaomazz = tiaomaList[z].Substring(0, tiaomaList[z].Length);

                                //}
                                //else
                                //{
                                //     tiaomazz = tiaomaList[z].Substring(0, tiaomaList[z].Length - 1);
                                //}
                                tiaomazz = tiaomaList[z].Substring(0, tiaomaList[z].Length - 1);
                                if (detail[i].tiaoma == tiaomazz)
                                {
                                    tiaomalistQty++;
                                }
                            }
                            if (detailcount != tiaomalistQty)
                            {
                                TiaoMaAddMod TiaoMaAddModModel = new TiaoMaAddMod();
                                TiaoMaAddModModel.tiaoma = detail[i].tiaoma;
                                TiaoMaAddModList.Add(TiaoMaAddModModel);
                            }
                        }



                        if (TiaoMaAddModList.Count > 0)
                        {
                            string nottiaoma = "";
                            for (int i = 0; i < TiaoMaAddModList.Count; i++)
                            {
                                if (i == TiaoMaAddModList.Count - 1)
                                {
                                    nottiaoma += TiaoMaAddModList[i].tiaoma;
                                }
                                else
                                {
                                    nottiaoma += TiaoMaAddModList[i].tiaoma + ",";
                                }
                            }
                            return(Json(new { State = "Faile", Message = "该" + nottiaoma + "数量与详情不符合", stype = "0" }, JsonRequestBehavior.AllowGet));
                        }
                        int tiaomaQty = 0;
                        for (int i = 0; i < tiaomaList.Length; i++)
                        {
                            if (tiaomaList[i] != "")
                            {
                                tiaomaQty++;
                            }
                        }
                        if (Qty != tiaomaQty)
                        {
                            return(Json(new { State = "Faile", Message = "存在多发货物", stype = "0" }, JsonRequestBehavior.AllowGet));
                        }
                    }

                    for (int i = 0; i < detail.Count; i++)
                    {
                        //操作库存表
                        string  _code   = detail[i].item_code;
                        T_Stock StocMOD = db.T_Stock.SingleOrDefault(a => a.Code == _code);
                        if (StocMOD != null)
                        {
                            int _qty = int.Parse(detail[i].qty.ToString());
                            StocMOD.Qty -= _qty;
                            db.Entry <T_Stock>(StocMOD).State = System.Data.Entity.EntityState.Modified;
                            db.SaveChanges();
                        }
                        else
                        {
                            T_Stock createMod = new T_Stock();
                            createMod.Name          = detail[i].item_name;
                            createMod.Code          = detail[i].item_code;
                            createMod.Qty           = -int.Parse(detail[i].qty.ToString());
                            createMod.WarehouseName = warehouseMod.code;
                            db.T_Stock.Add(createMod);
                            db.SaveChanges();
                        }
                        //操作发货详情记录表
                        T_DeliverDetail detailMOD = new T_DeliverDetail();
                        detailMOD.Code = detail[i].item_code;
                        detailMOD.Name = detail[i].item_name;
                        detailMOD.Qty  = detail[i].qty;
                        detailMOD.Oid  = MOD.ID;
                        db.T_DeliverDetail.Add(detailMOD);
                        db.SaveChanges();


                        T_StockOutstorage StorageModel = new T_StockOutstorage();
                        StorageModel.Code          = detail[i].item_code;
                        StorageModel.Name          = detail[i].item_name;
                        StorageModel.WarehouseCode = model.WarehouseCode;
                        StorageModel.number        = model.MailNo;
                        StorageModel.Qty           = detail[i].qty;
                        StorageModel.Type          = "出库";
                        db.T_StockOutstorage.Add(StorageModel);
                        db.SaveChanges();
                    }
                    sc.Complete();
                    return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception e)
                {
                    return(Json(new { State = "Faile", Message = e.Message }, JsonRequestBehavior.AllowGet));
                }
            }
        }