Esempio n. 1
0
        public ActionResult Add(string obj)
        {
            BaseResult br = new BaseResult();

            try
            {
                Hashtable   param = JSON.Deserialize <Hashtable>(obj) ?? new Hashtable();
                ParamVessel p     = new ParamVessel();
                p.Add("orderData", String.Empty, HandleType.ReturnMsg);   // 订单来源
                p.Add("invoiceFlag", String.Empty, HandleType.ReturnMsg); // 发票类型
                p.Add("soure", (long)3, HandleType.DefaultValue);         // 订单来源 App端 购物车
                param = param.Trim(p);

                Td_Sale_Order_Head_Query model = JSON.Deserialize <Td_Sale_Order_Head_Query>(param["orderData"].ToString());
                if (string.IsNullOrEmpty(model.id_gys.ToString()))
                {
                    br.Success = false;
                    br.Message.Add("校验失败!请重新刷新页面。");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "none";
                    return(Json(br));
                }

                if (model.order_body.Count <= 0)
                {
                    br.Success = false;
                    br.Message.Add("商品不能为空!");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "sku";
                    return(Json(br));
                }
                if (string.IsNullOrEmpty(model.shr))
                {
                    br.Success = false;
                    br.Message.Add("收货人不能为空!");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "shr";
                    return(Json(br));
                }
                if (string.IsNullOrEmpty(model.phone))
                {
                    br.Success = false;
                    br.Message.Add("联系号码不能为空!");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "phone";
                    return(Json(br));
                }

                // 单号 赋值
                br = BusinessFactory.Utilety.GetNextDH(model, typeof(Td_Sale_Order_Head));

                if (!br.Success)
                {
                    return(Json(br));
                }

                // 发票类型
                string invoiceFlag = param["invoiceFlag"].ToString();
                switch (invoiceFlag)
                {
                case "2":
                    model.invoiceFlag = InvoiceFlag.General;
                    break;

                case "3":
                    model.invoiceFlag = InvoiceFlag.Vat;
                    break;

                default:
                    model.invoiceFlag = InvoiceFlag.None;
                    break;
                }

                // 订单来源
                int soure = Convert.ToInt32(param["soure"]);

                model.id_cgs         = GetLoginInfo <long>("id_buyer");
                model.id_user_bill   = GetLoginInfo <long>("id_user");
                model.id_user_master = GetLoginInfo <long>("id_user_master");

                model.id_create = GetLoginInfo <long>("id_user");
                model.id_edit   = GetLoginInfo <long>("id_user");

                //订单入参
                Hashtable param2 = new Hashtable();
                param2.Clear();
                param2.Add("id_user", GetLoginInfo <long>("id_user"));
                param2.Add("model", model);

                switch (soure)
                {
                case (int)OrderSourceFlag.AppClone:
                    param2.Add("OrderSource", OrderSourceFlag.AppClone);
                    break;

                default:
                    param2.Add("OrderSource", OrderSourceFlag.AppCart);
                    break;
                }

                br = BusinessFactory.Order.Add(param2);

                if (br.Success)
                {
                    br.Data = model.dh;
                    WriteDBLog(LogFlag.Bill, br.Message);
                }
            }
            catch (CySoftException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Json(br));
        }
Esempio n. 2
0
        public ActionResult GetItem(string obj)
        {
            BaseResult br = new BaseResult();

            try
            {
                Hashtable   param = JSON.Deserialize <Hashtable>(obj) ?? new Hashtable();
                ParamVessel p     = new ParamVessel();
                p.Add("id_gys", (long)0, HandleType.ReturnMsg); // 订单来源
                param = param.Trim(p);

                long id_gys = Convert.ToInt64(param["id_gys"]);
                long id_cgs = GetLoginInfo <long>("id_buyer");

                Td_Sale_Order_Head_Query model = new Td_Sale_Order_Head_Query();

                model.id_gys = id_gys;
                model.id_cgs = id_cgs;

                #region 清单列表
                param.Clear();
                param.Add("id_gys", id_gys);
                param.Add("id_cgs", id_cgs);
                param.Add("baseurl", Request.Url.Scheme + "://" + Request.Url.Authority);
                br = BusinessFactory.GoodsCart.GetAll(param);
                if (br.Data != null)
                {
                    List <Td_Sale_Cart_Query> list = br.Data as List <Td_Sale_Cart_Query>;
                    model.order_body = new List <Td_Sale_Order_Body_Query>();
                    foreach (var item in list)
                    {
                        Td_Sale_Order_Body_Query body = new Td_Sale_Order_Body_Query();

                        body.dj         = item.dj;
                        body.dj_base    = item.dj_base;
                        body.bm         = item.bm_Interface;
                        body.formatname = string.Format("{1}【{2}】", item.bm_Interface, item.mc, item.gg.TrimEnd(','));
                        body.id_sku     = item.id_sku.Value;
                        body.id_sp      = item.id_sp.Value;
                        body.sl         = item.sl.Value;
                        body.sl_dh_min  = item.sl_dh_min;
                        body.unit       = item.unit;
                        body.photo      = item.photo;
                        model.je_hs    += item.dj * item.sl.Value;
                        model.je_pay   += item.dj * item.sl.Value;
                        model.order_body.Add(body);
                    }
                }
                #endregion

                #region 供应商发票类型 / 采购商发票信息

                //param.Clear();
                //param.Add("id", id_gys);
                //br = BusinessFactory.Supplier.Get(param);

                //Tb_Gys_Edit tb_gys = br.Data as Tb_Gys_Edit;
                //if (tb_gys != null)
                //{

                //    model.tax = tb_gys.tax; // 普通税
                //    model.vat = tb_gys.vat; // 增值税
                //}

                param.Clear();
                param.Add("id", id_cgs);
                br = BusinessFactory.Buyer.Get(param);
                Tb_Cgs tb_cgs = br.Data as Tb_Cgs;
                if (!br.Success || tb_cgs == null)
                {
                    br.Success = false;
                    br.Message.Add("采购商不存在!");
                    br.Level = ErrorLevel.Warning;
                    return(Json(br));
                }
                model.title_invoice = tb_cgs.title_invoice;
                model.account_bank  = tb_cgs.account_bank;
                model.name_bank     = tb_cgs.name_bank;
                model.no_tax        = tb_cgs.no_tax;
                #endregion

                #region 获取 采购商收货地址
                br = BusinessFactory.Buyer.RecieverAddress(Convert.ToInt32(id_cgs));
                List <Tb_Cgs_Shdz_Query> list_shdz = br.Data as List <Tb_Cgs_Shdz_Query>;
                if (list_shdz != null && list_shdz.Count > 0)
                {
                    Tb_Cgs_Shdz_Query Shdz = list_shdz.Where(m => m.flag_default == YesNoFlag.Yes).FirstOrDefault();
                    if (Shdz != null)
                    {
                        model.shr           = Shdz.shr;
                        model.phone         = Shdz.phone;
                        model.id_province   = Shdz.id_province;
                        model.id_city       = Shdz.id_city;
                        model.id_county     = Shdz.id_county;
                        model.address       = Shdz.address;
                        model.province_name = Shdz.province_name;
                        model.city_name     = Shdz.city_name;
                        model.county_name   = Shdz.county_name;
                    }
                    else
                    {
                        if (list_shdz.Count == 1)
                        {
                            Shdz = list_shdz.FirstOrDefault();

                            model.shr           = Shdz.shr;
                            model.phone         = Shdz.phone;
                            model.id_province   = Shdz.id_province;
                            model.id_city       = Shdz.id_city;
                            model.id_county     = Shdz.id_county;
                            model.address       = Shdz.address;
                            model.province_name = Shdz.province_name;
                            model.city_name     = Shdz.city_name;
                            model.county_name   = Shdz.county_name;
                        }
                    }
                }
                #endregion

                br.Success = true;
                br.Data    = model;
            }
            catch (CySoftException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Json(br));
        }
Esempio n. 3
0
        public ActionResult Submit()
        {
            BaseResult br = new BaseResult();

            try
            {
                Hashtable param    = GetParameters();
                int       cgs_send = Convert.ToInt32(param["cgs_send"]);
                param.Remove("id_cgs_send");
                ParamVessel p = new ParamVessel();
                p.Add("invoiceFlag", String.Empty, HandleType.ReturnMsg);
                p.Add("orderData", String.Empty, HandleType.ReturnMsg);
                param = param.Trim(p);

                Hashtable param2 = new Hashtable();
                //备份原入参
                param2.Add("orderData", param["orderData"]);
                param2.Add("invoiceFlag", param["invoiceFlag"]);
                param2.Add("soure", param["soure"]);

                Td_Sale_Order_Head_Query model = JSON.Deserialize <Td_Sale_Order_Head_Query>(param["orderData"].ToString());
                if (string.IsNullOrEmpty(model.id_cgs.ToString()))
                {
                    br.Success = false;
                    br.Message.Add("校验失败!请重新刷新页面。");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "none";
                    return(Json(br));
                }

                if (model.order_body.Count <= 0)
                {
                    br.Success = false;
                    br.Message.Add("商品不能为空!");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "sku";
                    return(Json(br));
                }
                if (string.IsNullOrEmpty(model.shr))
                {
                    br.Success = false;
                    br.Message.Add("收货人不能为空!");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "shr";
                    return(Json(br));
                }
                if (string.IsNullOrEmpty(model.phone))
                {
                    br.Success = false;
                    br.Message.Add("联系号码不能为空!");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "phone";
                    return(Json(br));
                }

                // 详细地址
                //if (string.IsNullOrEmpty(model.address))
                //{
                //    br.Success = false;
                //    br.Message.Add("收货地址不能为空!");
                //    br.Data = "address";
                //    return Json(br);
                //}

                model.id_gys         = GetLoginInfo <long>("id_supplier");
                model.id_user_bill   = GetLoginInfo <long>("id_user");
                model.id_user_master = GetLoginInfo <long>("id_user_master");
                model.id_create      = GetLoginInfo <long>("id_user");
                model.id_edit        = GetLoginInfo <long>("id_user");

                // 单号 赋值
                br = BusinessFactory.Utilety.GetNextDH(model, typeof(Td_Sale_Order_Head));

                if (!br.Success)
                {
                    return(Json(br));
                }

                // 发票类型
                string invoiceFlag = param["invoiceFlag"].ToString();
                switch (invoiceFlag)
                {
                case "2":
                    model.invoiceFlag = InvoiceFlag.General;
                    break;

                case "3":
                    model.invoiceFlag = InvoiceFlag.Vat;
                    break;

                default:
                    model.invoiceFlag = InvoiceFlag.None;
                    break;
                }

                if (model.invoiceFlag == InvoiceFlag.General && model.slv == 0)
                {
                    model.slv = GetLoginInfo <decimal>("tax");
                }
                if (model.invoiceFlag == InvoiceFlag.Vat && model.slv == 0)
                {
                    model.slv = GetLoginInfo <decimal>("vat");
                }
                long newOrderLogId = BusinessFactory.Utilety.GetNextKey(typeof(Ts_Sale_Order_Log));


                param2.Add("newOrderLogId", newOrderLogId);
                param2.Add("id_user", GetLoginInfo <long>("id_user"));
                param2.Add("model", model);
                param2.Add("OrderSource", OrderSourceFlag.PcNew);

                br = BusinessFactory.SaleOrder.Add(param2);
                if (br.Success)
                {
                    br.Data = model.dh;
                    WriteDBLog(LogFlag.Bill, br.Message);
                    param.Clear();
                    BaseResult br1 = new BaseResult();

                    long id_info = BusinessFactory.Utilety.GetNextKey(typeof(Info));//获取下一个Id自增值
                    param.Add("cgs_send", cgs_send);
                    param.Add("id", id_info);
                    param.Add("Title", GetLoginInfo <string>("companyname") + "代您下单了," + model.dh);
                    param.Add("content", "order," + model.dh);
                    param.Add("filename", "");
                    param.Add("fileSize", "");
                    param.Add("id_info_type", 0);
                    param.Add("id_create", GetLoginInfo <long>("id_user"));
                    param.Add("id_master", GetLoginInfo <long>("id_user_master"));
                    param.Add("flag_from", "pc");
                    param.Add("bm", "business");
                    br1 = BusinessFactory.Info.Add(param);
                }
            }
            catch (CySoftException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Json(br));
        }
Esempio n. 4
0
        public ActionResult Item(string obj)
        /// 出库/出货记录详
        /// cxb
        {
            BaseResult br      = new BaseResult();
            Hashtable  paramli = new Hashtable();

            try
            {
                Hashtable param = JSON.Deserialize <Hashtable>(obj);
                //param.Add("dh", "DH20150504000020");
                Hashtable model = new Hashtable();
                //ParamVessel p = new ParamVessel();
                //p.Add("dh", String.Empty, HandleType.ReturnMsg);
                //param = param.Trim(p);
                br = BusinessFactory.Order.Get(param);
                Td_Sale_Order_Head_Query list0 = (Td_Sale_Order_Head_Query)br.Data;
                list0.order_body = new List <Td_Sale_Order_Body_Query>();
                //获取订单单体
                param["sort"]             = "sl_ck";
                param["dir"]              = "desc";
                br                        = BusinessFactory.Order.GetAll(param);
                ViewData["OrderbodyList"] = br.Data;
                List <Td_Sale_Order_Body_Query> list1      = (List <Td_Sale_Order_Body_Query>)br.Data;
                List <Td_Sale_Order_Body_Query> body_list0 = list1.Where(e => e.dh == list0.dh).ToList();
                list0.order_body = body_list0;
                if (list0.ToString() == "")
                {
                    model["order"] = "{}";
                }
                else
                {
                    model["order"] = list0;
                }
                //获取出库单头
                paramli["dh_order"]       = param["dh"];
                paramli["sort"]           = "flag_state asc, rq_fh desc  , rq_create";
                paramli["dir"]            = "desc";
                paramli["not_flag_state"] = OrderFlag.Deleted;
                br = BusinessFactory.ShippingRecord.Get(paramli);
                List <Td_Sale_Out_Head_Query> list2 = (List <Td_Sale_Out_Head_Query>)br.Data;


                //获取出库单单体
                paramli["sort"] = "dh";
                br = BusinessFactory.ShippingRecord.GetAll(paramli);
                List <Td_Sale_Out_Body_Query> list3 = (List <Td_Sale_Out_Body_Query>)br.Data;
                foreach (Td_Sale_Out_Head_Query item in list2)
                {
                    List <Td_Sale_Out_Body_Query> body_list = list3.Where(e => e.dh == item.dh).ToList();
                    foreach (Td_Sale_Out_Body_Query item0 in body_list)
                    {
                        item.out_body.Add(item0);
                    }
                }
                model["out"] = list2;
                br.Data      = model;
            }
            catch (CySoftException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Json(br.Data));
        }
Esempio n. 5
0
        public ActionResult GetBody()
        {
            BaseResult br = new BaseResult();

            try
            {
                Hashtable   param = GetParameters();
                ParamVessel p     = new ParamVessel();
                p.Add("source", "PcNew", HandleType.DefaultValue);
                p.Add("dh", String.Empty, HandleType.Remove);
                param = param.Trim(p);
                JqGrid model = new JqGrid();

                OrderSourceFlag Source = (OrderSourceFlag)Enum.Parse(typeof(OrderSourceFlag), param["source"].ToString(), true);
                switch (Source)
                {
                case OrderSourceFlag.PcClone:
                    Hashtable param2 = new Hashtable();
                    param2.Add("dh", param["dh"]);
                    br = BusinessFactory.Order.Get(param2);

                    if (br.Data != null)
                    {
                        Td_Sale_Order_Head_Query        orderHead     = br.Data as Td_Sale_Order_Head_Query;
                        List <Td_Sale_Order_Body_Query> orderBodyList = BusinessFactory.Order.GetAll(param).Data as List <Td_Sale_Order_Body_Query>;
                        model.rows = new List <JqGrid_Body>();
                        if (orderBodyList != null)
                        {
                            foreach (var item in orderBodyList)
                            {
                                JqGrid_Body jqBody = new JqGrid_Body();

                                jqBody.dj        = item.dj;
                                jqBody.dj_base   = item.dj_base;
                                jqBody.dj_old    = item.dj;
                                jqBody.gg        = string.Format("{0} {1}【{2}】", item.bm, item.GoodsName, item.formatname.TrimEnd(','));
                                jqBody.id_cgs    = orderHead.id_cgs.Value;
                                jqBody.id_gys    = orderHead.id_gys.Value;
                                jqBody.id_sku    = item.id_sku.Value;
                                jqBody.id_sp     = item.id_sp.Value;
                                jqBody.sl        = item.sl.Value;
                                jqBody.sl_dh_min = item.sl_dh_min;
                                jqBody.unit      = item.unit;
                                jqBody.xj        = item.sl.Value * item.dj;
                                model.rows.Add(jqBody);
                            }

                            model.rows.Add(new JqGrid_Body());
                            model.page    = 1;
                            model.total   = 1;
                            model.records = orderBodyList.Count;
                        }
                    }

                    break;

                default:
                    model.total   = 3;
                    model.records = 3;
                    var none_list = new List <JqGrid_Body>();
                    none_list.Add(new JqGrid_Body());
                    none_list.Add(new JqGrid_Body());
                    none_list.Add(new JqGrid_Body());
                    model.rows = none_list;
                    break;
                }

                return(Json(model));
            }
            catch (CySoftException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            //return Content(jsonStr);
        }