Ejemplo n.º 1
0
        public object GetProductDataBySysNo(int ProSysNo, int levelSysNo, string hostName)
        {
            CBPdProduct         product   = Hyt.BLL.Product.PdProductBo.Instance.GetProduct(ProSysNo);
            Origin              orgin     = Hyt.BLL.Basic.OriginBo.Instance.GetEntity(product.OriginSysNo);
            PdProductStatistics statisMod = Hyt.BLL.Product.PdProductStatisticsBo.Instance.Get(ProSysNo);

            PdPrice BaseCusPrice = new PdPrice();

            BaseCusPrice = product.PdPrice.Value.First(p => p.PriceSource == 0 && p.SourceSysNo == 0);
            PdPrice SaleCusPrice = new PdPrice();

            if (levelSysNo > 0)
            {
                SaleCusPrice = product.PdPrice.Value.First(p => p.PriceSource == 10 && p.SourceSysNo == levelSysNo);
            }
            else
            {
                SaleCusPrice = BaseCusPrice;
            }
            List <object> Statistics = new List <object>();

            Statistics.Add(new { type = "文字", text = "销量", valueText = statisMod.Sales });
            Statistics.Add(new { type = "文字", text = "积分", valueText = Convert.ToInt32(SaleCusPrice.Price) });
            Statistics.Add(new { type = "图文", text = "http://m.yoyo2o.com/theme/images/icon-momey.png", valueText = "分享赚" });
            var           article       = Hyt.BLL.Front.FeArticleBo.Instance.GetModel(75);
            List <object> ProductDetail = new List <object>();

            ProductDetail.Add(new { title = "图文详情", selected = true, content = (product.ProductDesc) });
            ProductDetail.Add(new { title = "购买须知", selected = false, content = (article != null ? article.Content : "") });



            if (product != null)
            {
                foreach (var img in product.PdProductImage.Value)
                {
                    img.ImageUrl = img.ImageUrl.Replace("{0}", "http://" + hostName + "/").Replace("{1}", "Base");
                }
                List <object> adImages = new List <object>();
                var           imgList  = product.PdProductImage.Value;
                foreach (var imgMod in imgList)
                {
                    adImages.Add(new
                    {
                        Id      = imgMod.SysNo,
                        Url     = imgMod.ImageUrl,
                        Content = "",
                        Type    = "",
                        LinkUrl = ""
                    });
                }
                return(new {
                    ProductName = product.ProductName,
                    OrginImage = orgin.Origin_Img.ToLower().IndexOf("http://") == -1 ? "http://" + hostName + "/" + orgin.Origin_Img : orgin.Origin_Img,
                    SalePrice = SaleCusPrice.Price,
                    BasePrice = BaseCusPrice.Price,
                    TipsData = (SaleCusPrice.Price != BaseCusPrice.Price ? (SaleCusPrice.Price / BaseCusPrice.Price * 10).ToString("0.0") + "折" : ""),
                    Statistics = Statistics,
                    ProductImages = adImages,
                    ProductDetail = ProductDetail
                });
            }
            return(new { });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 添加商品档案
        /// </summary>
        /// <param name="ProductSysNo">商品编码</param>
        /// <param name="StockSysNo">库存编码</param>
        /// <param name="StockSysName">仓库名称</param>
        /// <param name="actionType">操作编码 0-新增;1-修改;2-删除</param>
        /// <returns></returns>
        public Extra.Erp.Model.Result StockProductItemAdd(int ProductSysNo, int StockSysNo, string StockSysName, int actionType = 0)
        {
            Extra.Erp.Model.Result result = new Model.Result();

            try
            {
                string actionPath = "/base/itemAdd";
                if (actionType == 1)
                {
                    actionPath = "/base/itemModi";
                }
                else if (actionType > 1)
                {
                    result.Status  = false;
                    result.Message = "actionType 操作编码有误,请核实";
                    return(result);
                }
                string         postDataPath = Config.root + actionPath;
                CBPdProduct    product      = IPdProductDao.Instance.GetProduct(ProductSysNo);
                EasProduct     easProduct   = new EasProduct();
                PdProductStock productStock = IPdProductStockDao.Instance.GetEntityByWP(StockSysNo, ProductSysNo);
                if (productStock == null)
                {
                    productStock = new PdProductStock();
                }
                easProduct.APP_Key      = Config.APP_Key;
                easProduct.APP_scode    = Config.APP_scode;
                easProduct.FDefaultLoc  = StockSysName;
                easProduct.FNumber      = product.ErpCode;
                easProduct.FName        = "[" + StockSysNo + "]" + "[" + product.ErpCode + "]" + product.EasName;
                easProduct.FUnitName    = product.SalesMeasurementUnit;
                easProduct.FSecInv      = productStock.StockQuantity;
                easProduct.FSalePrice   = product.PdPrice.Value.First(p => p.PriceSource == 0 && p.SourceSysNo == 0).Price;
                easProduct.FOrderPrice  = product.CostPrice;
                easProduct.FGrossWeight = product.GrosWeight;
                easProduct.FNetWeight   = product.NetWeight;
                easProduct.FSize        = product.VolumeValue;
                easProduct.isParent     = 10;

                string strProduct = Hyt.Util.Serialization.JsonUtil.ToJson(easProduct);
                strProduct = strProduct.Replace("\"APP_Key\":\"\",\"APP_scode\":\"\",", "");
                string posData = Hyt.Util.MyHttp.PostJsonData(postDataPath,
                                                              strProduct
                                                              );

                EasResult easResult = Hyt.Util.Serialization.JsonUtil.ToObject <EasResult>(posData);
                if (easResult.success)
                {
                    result.Status  = true;
                    result.Message = easResult.message;
                    ERPStockProduct erpStockProduct = new ERPStockProduct()
                    {
                        ERPProductName = easProduct.FName,
                        FKFPeriod      = easProduct.FKFPeriod,
                        ProductCode    = easProduct.FNumber,
                        ProductSysNo   = ProductSysNo,
                        StockSysNo     = StockSysNo,
                        StockNum       = easProduct.FSecInv
                    };
                    ERPStockProduct erpProduct = IERPStockProductDao.Instance.GetMod(ProductSysNo, StockSysNo);
                    if (erpProduct == null)
                    {
                        IERPStockProductDao.Instance.InsertMod(erpStockProduct);
                    }
                    else
                    {
                        erpStockProduct.SysNo = erpProduct.SysNo;
                        IERPStockProductDao.Instance.UpdateMod(erpStockProduct);
                    }
                }
                else
                {
                    if (easResult.message.IndexOf("同名称的商品已经存在") != -1)
                    {
                        ERPStockProduct erpStockProduct = new ERPStockProduct()
                        {
                            ERPProductName = easProduct.FName,
                            FKFPeriod      = easProduct.FKFPeriod,
                            ProductCode    = easProduct.FNumber,
                            ProductSysNo   = ProductSysNo,
                            StockSysNo     = StockSysNo,
                            StockNum       = easProduct.FSecInv
                        };
                        ERPStockProduct erpProduct = IERPStockProductDao.Instance.GetMod(ProductSysNo, StockSysNo);
                        if (erpProduct == null)
                        {
                            IERPStockProductDao.Instance.InsertMod(erpStockProduct);
                        }
                        else
                        {
                            erpStockProduct.SysNo = erpProduct.SysNo;
                            IERPStockProductDao.Instance.UpdateMod(erpStockProduct);
                        }
                        result.Status  = true;
                        result.Message = easResult.message;
                    }
                    else
                    {
                        result.Status  = false;
                        result.Message = easResult.message;
                    }
                }
            }catch (Exception e)
            {
                result.Status  = false;
                result.Message = e.Message;
            }
            result.StatusCode = ProductSysNo.ToString();
            return(result);
        }