예제 #1
0
        /// <summary>
        /// 添加b2b品牌
        /// </summary>
        /// <param name="model">品牌实体信息</param>
        /// <returns>返回新建记录的sysno</returns>
        /// <remarks>2017-10-10 罗勤瑶 创建</remarks>
        public override int CreateToB2B(PdBrand model)
        {
            int id = ContextB2B.Insert <PdBrand>("pdbrand", model)
                     .AutoMap(x => x.SysNo)
                     .ExecuteReturnLastId <int>("Sysno");

            return(id);
        }
예제 #2
0
        /// <summary>
        /// 根据品牌ID更新品牌信息
        /// </summary>
        /// <param name="model">品牌实体信息,不包括状态,排序</param>
        /// <returns>成功返回true,失败返回false</returns>
        /// <remarks>2013-06-25 唐永勤 创建</remarks>
        public override bool Update(PdBrand model)
        {
            int effect = Context.Update <PdBrand>("pdbrand", model)
                         .AutoMap(x => x.SysNo, x => x.DisplayOrder, x => x.Status)
                         .Where("sysno", model.SysNo)
                         .Execute();

            return(effect > 0);
        }
예제 #3
0
        /// <summary>
        /// 获取指定名称的品牌信息
        /// </summary>
        /// <param name="name">品牌名称</param>
        /// <returns>品牌实体信息</returns>
        /// <remarks>2015-09-10 王耀发 创建</remarks>
        public override PdBrand GetEntityByName(string Name)
        {
            PdBrand entity = Context.Select <PdBrand>("*")
                             .From("PdBrand")
                             .Where("Name = @Name")
                             .Parameter("Name", Name)
                             .QuerySingle();

            return(entity);
        }
예제 #4
0
        /// <summary>
        /// 获取指定编号的品牌信息
        /// </summary>
        /// <param name="brandSysNo">品牌编号</param>
        /// <returns>品牌实体信息</returns>
        /// <remarks>2013-06-25 唐永勤 创建</remarks>
        public override PdBrand GetEntity(int brandSysNo)
        {
            PdBrand entity = Context.Select <PdBrand>("*")
                             .From("PdBrand")
                             .Where("sysno = @sysno")
                             .Parameter("sysno", brandSysNo)
                             .QuerySingle();

            return(entity);
        }
예제 #5
0
        /// <summary>
        /// 保存品牌信息,添加或修改
        /// </summary>
        /// <param name="model">品牌实体数据</param>
        /// <returns>保存结果对象</returns>
        /// <remarks>2013-07-03 唐永勤 创建</remarks>
        public Result BrandSave(PdBrand model)
        {
            Result result = new Result();

            if (string.IsNullOrEmpty(model.Name))
            {
                result.StatusCode = -1;
            }
            else
            {
                //数据重复性检测
                bool isExists = IPdBrandDao.Instance.IsExists(model.Name, model.SysNo);
                if (isExists)
                {
                    result.StatusCode = -2;
                    result.Message    = "品牌名称已存在";
                    return(result);
                }

                //数据操作
                if (model.SysNo > 0)
                {
                    result.Status = IPdBrandDao.Instance.Update(model);
                }
                else
                {
                    model.SysNo = IPdBrandDao.Instance.Create(model);
                    if (model.SysNo > 0)
                    {
                        result.Status = true;
                    }
                }
                if (result.Status)
                {
                    result.StatusCode = 1;
                    result.Message    = "品牌信息保存成功";
                }
            }
            return(result);
        }
예제 #6
0
        /// <summary>
        /// 判断重复数据--品牌
        /// </summary>
        /// <param name="name">品牌名称</param>
        /// <param name="brandSysNo">品牌编号</param>
        /// <returns>存在返回true,不存在返回flase</returns>
        /// <remarks>2013-07-03 唐永勤 创建</remarks>
        public override bool IsExists(string name, int brandSysNo)
        {
            bool    result = false;
            PdBrand entity = Context.Select <PdBrand>("*")
                             .From("PdBrand")
                             .Where("name= @name")
                             .Parameter("name", name)
                             .QuerySingle();

            if (entity != null && entity.SysNo > 0)
            {
                result = true;
                if (brandSysNo > 0)
                {
                    if (brandSysNo == entity.SysNo)
                    {
                        result = false;
                    }
                }
            }
            return(result);
        }
예제 #7
0
        /// <summary>
        /// 入库个别商品信息
        /// </summary>
        /// <param name="supplyCode">供应链代码</param>
        /// <param name="sysNos">商品系统编号,逗号分隔</param>
        /// <returns></returns>
        /// <remarks>2016-4-22 王耀发 创建</remarks>
        public override Result <string> StockInSupplyProduct(string sysNos)
        {
            var result = new Result <string>()
            {
                Status     = false,
                StatusCode = -1,
                Message    = "未知错误"
            };

            lock (lockHelper)//防止多人同时操作造成产品重复添加
            {
                try
                {
                    //是否有仓库
                    WhWarehouse Warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetAllWarehouseList().FirstOrDefault(w => w.Supply == (int)Code && w.Status == (int)Model.WorkflowStatus.WarehouseStatus.仓库状态.启用);
                    if (Warehouse == null)
                    {
                        result.Message = string.Format("尚未创建{0}专用仓库,如果已创建请更新后台缓存!", Code.ToString());
                        return(result);
                    }

                    string[] sysNoArray = sysNos.Split(',');
                    int      UserSysNo  = AdminAuthenticationBo.Instance.Current.Base.SysNo;
                    for (var i = 0; i < sysNoArray.Length; i++)
                    {
                        int       SysNo   = int.Parse(sysNoArray[i]);
                        ScProduct Product = IScProductDao.Instance.GetScProductInfo(SysNo);
                        //未入库的商品可入库
                        if (Product.ProductSysNo == 0)
                        {
                            using (var tran = new System.Transactions.TransactionScope())
                            {
                                var jsonObject = JObject.Parse(Product.Receipt);
                                //PdProductList PdData = new PdProductList();
                                string ErpCode      = jsonObject["SkuId"].ToString();
                                string ProductName  = jsonObject["Name"].ToString();
                                string EasName      = jsonObject["Name"].ToString();
                                string DefaultImage = jsonObject["DefaultImage"].ToString();
                                string Remark       = jsonObject["Remark"].ToString();

                                //商品类目
                                var           CategoryName = jsonObject["CategoryName"].ToString();
                                PdCategorySql PdCmodel     = new PdCategorySql();
                                PdCmodel.ParentSysNo    = 0;
                                PdCmodel.CategoryName   = CategoryName;
                                PdCmodel.Code           = "";
                                PdCmodel.SeoTitle       = CategoryName;
                                PdCmodel.SeoKeyword     = CategoryName;
                                PdCmodel.SeoDescription = CategoryName;
                                PdCmodel.TemplateSysNo  = 0;
                                PdCmodel.IsOnline       = 1;
                                PdCmodel.Status         = 1;
                                PdCmodel.CreatedBy      = 1;
                                PdCmodel.CreatedDate    = DateTime.Now;
                                PdCmodel.LastUpdateBy   = 1;
                                PdCmodel.LastUpdateDate = DateTime.Now;

                                PdCategoryAssociation PdCAmodel = new PdCategoryAssociation();
                                PdCAmodel.IsMaster       = 1;
                                PdCAmodel.CreatedBy      = 1;
                                PdCAmodel.CreatedDate    = DateTime.Now;
                                PdCAmodel.LastUpdateBy   = 1;
                                PdCAmodel.LastUpdateDate = DateTime.Now;
                                //品牌
                                //品牌
                                int     BrandSysNo;
                                var     BrandName = jsonObject["BrandName"].ToString();
                                PdBrand pEnity    = PdBrandBo.Instance.GetEntityByName(BrandName);
                                //判断商品品牌是否存在
                                if (pEnity != null)
                                {
                                    BrandSysNo = pEnity.SysNo;
                                }
                                else
                                {
                                    var pmodel = new PdBrand();
                                    pmodel.Name   = BrandName;
                                    pmodel.Status = 1;
                                    BrandSysNo    = IPdBrandDao.Instance.Create(pmodel);
                                }

                                string GrosWeight = jsonObject["Weight"].ToString();
                                string Price      = jsonObject["Price"].ToString();
                                var    prmodel    = SetPriceModel(Decimal.Parse(Price), (int)Hyt.Model.WorkflowStatus.ProductStatus.产品价格来源.基础价格, 0);  // new PdPrice();
                                var    sprmodel   = SetPriceModel(Decimal.Parse(Price), (int)Hyt.Model.WorkflowStatus.ProductStatus.产品价格来源.会员等级价, 1); // new PdPrice();
                                var    sspmodel   = SetPriceModel(Decimal.Parse(Price), (int)Hyt.Model.WorkflowStatus.ProductStatus.产品价格来源.门店销售价, 0); // new PdPrice();

                                //绑定原产地
                                var    orginSysNo = 0;
                                var    orginName  = "其他";
                                Origin Origin     = BLL.Basic.OriginBo.Instance.GetEntityByName(orginName);
                                orginSysNo = Origin != null ? Origin.SysNo : DataAccess.Basic.IOriginDao.Instance.Insert(new Origin()
                                {
                                    Origin_Name = orginName, CreatedBy = UserSysNo, CreatedDate = DateTime.Now, LastUpdateBy = UserSysNo, LastUpdateDate = DateTime.Now
                                });

                                var currentInfo = BLL.Authentication.AdminAuthenticationBo.Instance.Current;
                                int agentSysNo  = 1;
                                int dealerSysNo = 0;
                                if (currentInfo.Dealer != null)
                                {
                                    dealerSysNo = currentInfo.Dealer.SysNo;
                                    agentSysNo  = currentInfo.DealerCreatedBy;
                                }
                                int TradeMode = 0;
                                switch (jsonObject["TradeMode"].ToString())
                                {
                                case "3":
                                    TradeMode = (int)Model.WorkflowStatus.ProductStatus.商品类型.完税商品;
                                    break;

                                case "2":
                                    TradeMode = (int)Model.WorkflowStatus.ProductStatus.商品类型.直邮商品;
                                    break;

                                default:
                                    TradeMode = (int)Model.WorkflowStatus.ProductStatus.商品类型.普通商品;
                                    break;
                                }

                                //创建商品
                                var excellst = new List <PdProductList>();
                                var model    = new PdProductList
                                {
                                    ErpCode               = ErpCode,                   //商品编号
                                    ProductName           = ProductName,               //商品名称
                                    EasName               = EasName,                   //商品名称
                                    BrandSysNo            = BrandSysNo,                //品牌
                                    ProductType           = TradeMode,                 //商品类型(模式)
                                    OriginSysNo           = orginSysNo,                //国家
                                    Barcode               = "",
                                    GrosWeight            = Decimal.Parse(GrosWeight), //重量
                                    Tax                   = "0",
                                    PriceRate             = 0M,
                                    PriceValue            = 0M,
                                    TradePrice            = 0M,
                                    PdPrice               = prmodel,
                                    PdSalePrice           = sprmodel,
                                    PdStoreSalePrice      = sspmodel,
                                    PdCategorySql         = PdCmodel,
                                    PdCategoryAssociation = PdCAmodel,
                                    DealerSysNo           = dealerSysNo,
                                    AgentSysNo            = agentSysNo,//默认为总部代理商
                                    CreatedBy             = 1,
                                    CreatedDate           = DateTime.Now,
                                    LastUpdateBy          = 1,
                                    LastUpdateDate        = DateTime.Now,
                                    SalesMeasurementUnit  = "g",
                                    ProductDesc           = System.Web.HttpUtility.UrlEncode(Remark, System.Text.Encoding.GetEncoding("UTF-8")).Replace("+", " ")//描述
                                };
                                excellst.Add(model);
                                try
                                {
                                    //新增商品
                                    IPdProductDao.Instance.CreatePdProduct(excellst);
                                    //根据编号获取商品
                                    PdProduct Entity = IPdProductDao.Instance.GetEntityByErpCode(ErpCode);
                                    if (Entity != null)
                                    {
                                        List <string> imageslist = new List <string>();
                                        string        images     = jsonObject["ImageList"].ToString();
                                        imageslist = JsonConvert.DeserializeObject <List <string> >(images);
                                        for (var j = 0; j < imageslist.Count; j++)
                                        {
                                            if (j < 5)
                                            {
                                                var productImage = new PdProductImage();
                                                productImage.ProductSysNo = Entity.SysNo;
                                                productImage.DisplayOrder = j;
                                                productImage.ImageUrl     = imageslist[j].ToString();
                                                if (j == 0)
                                                {
                                                    productImage.Status = (int)Hyt.Model.WorkflowStatus.ProductStatus.商品图片状态.显示;
                                                }
                                                else
                                                {
                                                    productImage.Status = (int)Hyt.Model.WorkflowStatus.ProductStatus.商品图片状态.隐藏;
                                                }
                                                int res = IPdProductImageDao.Instance.Insert(productImage);
                                            }
                                        }

                                        //更新商品临时表的ProductSysNo
                                        ScProductBo.Instance.UpdateProductSysNo(SysNo, Entity.SysNo);
                                        //创建商品库存
                                        ScProductBo.Instance.ProCreateSupplyStock((int)Code, Entity.SysNo, decimal.Parse(jsonObject["StockQuantity"].ToString()), UserSysNo);
                                    }
                                    else
                                    {
                                        result.Message = "获取商品数据错误";
                                        result.Status  = false;
                                        return(result);
                                    }
                                }
                                catch (Exception ex)
                                {
                                    result.Message = string.Format("数据错误:{0}", ex.Message);
                                    result.Status  = false;
                                    return(result);
                                }
                                tran.Complete();
                            }
                        }
                        result.Status = true;
                    }
                }
                catch (Exception ex)
                {
                    result.Message    = ex.Message;
                    result.Status     = false;
                    result.StatusCode = -2;
                }
                return(result);
            }
        }
예제 #8
0
        private void AddBaseTaskObjectToList(List <BaseTask> listObject)
        {
            BaseTask bsAT                    = new BsArea();
            BaseTask bsDP                    = new BsDeliveryPayment();
            BaseTask bsPT                    = new BsPaymentType();
            BaseTask bsCode                  = new BsCode();
            BaseTask bsOrganization          = new BsOrganization();
            BaseTask bsOrganizationWarehouse = new BsOrganizationWarehouse();

            BaseTask crCustomer = new CrCustomer();
            BaseTask crCL       = new CrCustomerLevel();
            BaseTask crCQ       = new CrCustomerQuestion();
            BaseTask crRA       = new CrReceiveAddress();

            BaseTask dsMallType      = new DsMallType();
            BaseTask dsDealerLevel   = new DsDealerLevel();
            BaseTask feArticle       = new FeArticle();
            BaseTask feAC            = new FeArticleCategory();
            BaseTask feCS            = new FeCommentSupport();
            BaseTask fepc            = new FeProductComment();
            BaseTask fePCI           = new FeProductCommentImage();
            BaseTask fePCR           = new FeProductCommentReply();
            BaseTask feSearchKeyword = new FeSearchKeyword();
            BaseTask feadvertgroup   = new FeAdvertGroup();
            BaseTask feadvertitem    = new FeAdvertItem();
            BaseTask feproductgroup  = new FeProductGroup();
            BaseTask feproductitem   = new FeProductItem();

            BaseTask fnIT      = new FnInvoiceType();
            BaseTask fninvoice = new FnInvoice();

            BaseTask fnpv = new  FnReceiptVoucher();
            BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem();
            BaseTask fnop                 = new FnOnlinePayment();
            BaseTask fnPaymentVoucher     = new FnPaymentVoucher();
            BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem();

            BaseTask lgDelivery              = new LgDelivery();
            BaseTask lgDI                    = new LgDeliveryItem();
            BaseTask lgDS                    = new LgDeliveryScope();
            BaseTask lgDT                    = new LgDeliveryType();
            BaseTask lgDUC                   = new LgDeliveryUserCredit();
            BaseTask lgPT                    = new LgPickupType();
            BaseTask lgsettlement            = new LgSettlement();
            BaseTask lgSI                    = new LgSettlementItem();
            BaseTask lgDeliveryPrintTemplate = new LgDeliveryPrintTemplate();
            BaseTask pdAttribute             = new PdAttribute();
            BaseTask pdAG                    = new PdAttributeGroup();
            BaseTask pdAGA                   = new PdAttributeGroupAssociation();
            BaseTask pdAO                    = new PdAttributeOption();
            BaseTask pdBrand                 = new PdBrand();
            BaseTask pdCGA                   = new PdCatAttributeGroupAso();
            BaseTask pdCategory              = new PdCategory();
            BaseTask pdCA                    = new PdCategoryAssociation();
            BaseTask pdPrice                 = new PdPrice();
            BaseTask pdProduct               = new PdProduct();
            BaseTask pdPA                    = new PdProductAssociation();
            BaseTask pdProductAttribute      = new PdProductAttribute();
            BaseTask pdPI                    = new PdProductImage();
            BaseTask pdTemplate              = new PdTemplate();
            BaseTask pdProductStatistics     = new PdProductStatistics();

            BaseTask soOrder         = new SoOrder();
            BaseTask soOrderItem     = new SoOrderItem();
            BaseTask soRA            = new SoReceiveAddress();
            BaseTask SyUG            = new SyUserGroup();
            BaseTask syGU            = new SyGroupUser();
            BaseTask syMenu          = new SyMenu();
            BaseTask syMenuPrivilege = new SyMenuPrivilege();
            BaseTask syPrivilege     = new SyPrivilege();
            BaseTask syRole          = new SyRole();
            BaseTask syRoleMenu      = new SyRoleMenu();
            BaseTask syRolePrivilege = new SyRolePrivilege();
            BaseTask syPermission    = new SyPermission();
            BaseTask syUser          = new SyUser();
            BaseTask syUW            = new SyUserWarehouse();
            BaseTask syMyMenu        = new SyMyMenu();

            BaseTask spcombo                  = new SpCombo();
            BaseTask spComboItem              = new SpComboItem();
            BaseTask spcopon                  = new spcoupon();
            BaseTask sqpromotion              = new SPpromotion();
            BaseTask spromotiongift           = new SPpromotiongift();
            BaseTask sppromotionoverlay       = new SPpromotionoverlay();
            BaseTask sppromotionrule          = new SPpromotionrule();
            BaseTask sppromotionrulecondition = new SPpromotionrulecondition();
            BaseTask sppromotionrulekeyvalue  = new SPpromotionrulekeyvalue();
            BaseTask syTaskConfig             = new SyTaskConfig();

            BaseTask whStockOut     = new WhStockOut();
            BaseTask whStockOutItem = new WhstockOutItem();
            BaseTask whwarehouse    = new WhWarehouse();
            BaseTask whwa           = new WHwarehousearea();
            BaseTask whwdy          = new WHwarehouseDeliveryType();
            BaseTask whWPT          = new WhWarehousePickupType();
            BaseTask whstockin      = new WhStockIn();
            BaseTask whstockinItem  = new WHStockinItem();
            BaseTask rcReturn       = new RCReturn();
            BaseTask rcReturnItem   = new RcReturnItem();

            listObject.Add(bsAT);
            listObject.Add(bsDP);
            listObject.Add(bsPT);
            listObject.Add(bsCode);
            listObject.Add(bsOrganization);
            listObject.Add(bsOrganizationWarehouse);

            listObject.Add(crCustomer);
            listObject.Add(crCL);
            listObject.Add(crCQ);
            listObject.Add(crRA);
            listObject.Add(dsMallType);
            listObject.Add(dsDealerLevel);
            listObject.Add(feArticle);
            listObject.Add(feAC);
            listObject.Add(feCS);
            listObject.Add(fePCI);
            listObject.Add(fePCR);
            listObject.Add(fepc);
            listObject.Add(feSearchKeyword);
            listObject.Add(feadvertgroup);
            listObject.Add(feadvertitem);
            listObject.Add(feproductgroup);
            listObject.Add(feproductitem);

            listObject.Add(fnIT);
            listObject.Add(fnpv);
            listObject.Add(fnReceiptVoucherItem);
            listObject.Add(fnop);
            listObject.Add(fninvoice);

            listObject.Add(fnPaymentVoucher);
            listObject.Add(fnPaymentVoucherItem);

            listObject.Add(lgDelivery);
            listObject.Add(lgDI);
            listObject.Add(lgDS);
            listObject.Add(lgDT);
            listObject.Add(lgPT);
            listObject.Add(lgsettlement);
            listObject.Add(lgSI);
            listObject.Add(lgDeliveryPrintTemplate);

            listObject.Add(pdAttribute);
            listObject.Add(pdAG);
            listObject.Add(pdAGA);
            listObject.Add(pdAO);
            listObject.Add(pdBrand);
            listObject.Add(pdCGA);
            listObject.Add(pdCategory);
            listObject.Add(pdCA);
            listObject.Add(pdPrice);
            listObject.Add(pdProduct);
            listObject.Add(pdPA);
            listObject.Add(pdProductAttribute);
            listObject.Add(pdTemplate);
            listObject.Add(pdProductStatistics);

            listObject.Add(soOrder);
            listObject.Add(soOrderItem);

            listObject.Add(spcombo);
            listObject.Add(spComboItem);
            listObject.Add(spcopon);
            listObject.Add(sqpromotion);
            listObject.Add(spromotiongift);
            //listObject.Add(sppromotionoverlay);
            listObject.Add(sppromotionrule);
            listObject.Add(sppromotionrulecondition);
            listObject.Add(sppromotionrulekeyvalue);

            listObject.Add(syGU);
            listObject.Add(syUW);
            listObject.Add(SyUG);
            listObject.Add(syMenu);
            listObject.Add(syUser);
            listObject.Add(syPermission);

            listObject.Add(syMenuPrivilege);
            listObject.Add(syPrivilege);
            listObject.Add(syRole);
            listObject.Add(syRoleMenu);
            listObject.Add(syRolePrivilege);
            listObject.Add(syMyMenu);
            listObject.Add(syTaskConfig);

            listObject.Add(whStockOut);
            listObject.Add(whStockOutItem);
            listObject.Add(whwarehouse);
            listObject.Add(whwa);
            listObject.Add(whwdy);
            listObject.Add(whWPT);
            listObject.Add(whstockin);
            listObject.Add(whstockinItem);
            listObject.Add(rcReturn);
            listObject.Add(rcReturnItem);
            listObject.Add(lgDUC);
            listObject.Add(pdPI);
            listObject.Add(soRA);
        }
예제 #9
0
 /// <summary>
 /// 根据品牌编号更新品牌信息
 /// </summary>
 /// <param name="model">品牌实体信息</param>
 /// <returns>成功返回true,失败返回false</returns>
 /// <remarks>2013-06-25 唐永勤 创建</remarks>
 public abstract bool Update(PdBrand model);
예제 #10
0
 /// <summary>
 /// 添加b2b品牌
 /// </summary>
 /// <param name="model">品牌实体信息</param>
 /// <returns>返回新建记录的sysno</returns>
 /// <remarks>2017-10-10 罗勤瑶 创建</remarks>
 public abstract int CreateToB2B(PdBrand model);
예제 #11
0
 /// <summary>
 /// 添加品牌
 /// </summary>
 /// <param name="model">品牌实体信息</param>
 /// <returns>返回新建记录的sysno</returns>
 /// <remarks>2013-06-25 唐永勤 创建</remarks>
 public abstract int Create(PdBrand model);
예제 #12
0
        /// <summary>
        /// 商品入库到平台
        /// </summary>
        /// <remarks> 2016-5-4 刘伟豪 实现 </remarks>
        public override Result <string> StockInSupplyProduct(string sysNos)
        {
            var result = new Result <string>()
            {
                Status     = false,
                StatusCode = -1,
                Message    = "未知错误"
            };

            lock (lockHelper)//防止多人同时操作造成产品重复添加
            {
                try
                {
                    //是否有仓库
                    WhWarehouse Warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetAllWarehouseList().FirstOrDefault(w => w.Supply == (int)Code && w.Status == (int)Model.WorkflowStatus.WarehouseStatus.仓库状态.启用);
                    if (Warehouse == null)
                    {
                        result.Message = string.Format("尚未创建{0}专用仓库,如果已创建请更新后台缓存!", Code.ToString());
                        return(result);
                    }

                    foreach (var c in sysNos.Split(','))
                    {
                        int       id        = int.Parse(c);
                        int       UserSysNo = Hyt.BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo;
                        ScProduct Product   = BLL.Supply.ScProductBo.Instance.GetScProductInfo(id);
                        //未入库的商品可入库
                        if (Product.ProductSysNo == 0)
                        {
                            using (var tran = new System.Transactions.TransactionScope())
                            {
                                var       json   = JObject.Parse(Product.Receipt);
                                PdProduct PdData = new PdProduct();

                                //绑定品牌
                                var     brandSysNo = 0;
                                var     brandName  = json["ProClass"].ToString().Trim();
                                PdBrand PdBrand    = BLL.Product.PdBrandBo.Instance.GetEntityByName(brandName);
                                brandSysNo = PdBrand != null ? PdBrand.SysNo : DataAccess.Product.IPdBrandDao.Instance.Create(new PdBrand()
                                {
                                    Name = brandName, DisplayOrder = 0, Status = (int)Model.WorkflowStatus.ProductStatus.品牌状态.启用
                                });
                                PdData.BrandSysNo = brandSysNo;

                                //绑定原产地
                                var    orginSysNo = 0;
                                var    orginName  = "其他";
                                Origin Origin     = BLL.Basic.OriginBo.Instance.GetEntityByName(orginName);
                                orginSysNo = Origin != null ? Origin.SysNo : DataAccess.Basic.IOriginDao.Instance.Insert(new Origin()
                                {
                                    Origin_Name = orginName, CreatedBy = UserSysNo, CreatedDate = DateTime.Now, LastUpdateBy = UserSysNo, LastUpdateDate = DateTime.Now
                                });
                                PdData.OriginSysNo = orginSysNo;

                                PdData.ErpCode     = PdData.Barcode = Product.SKU;
                                PdData.EasName     = string.Format("({0}产品){1}", Code.ToString(), Product.ProductName);
                                PdData.ProductName = PdData.SeoTitle = PdData.SeoKeyword = PdData.SeoDescription = Product.ProductName;
                                PdData.ViewCount   = PdData.DisplayOrder = 0;
                                var weight = 0.00m;
                                decimal.TryParse(json["ProWeight"].ToString(), out weight);
                                PdData.GrosWeight           = weight * 0.001m;
                                PdData.NetWeight            = 0.00m;
                                PdData.SalesMeasurementUnit = "kg";
                                PdData.ValueUnit            = "CNY";
                                PdData.VolumeUnit           = "m";
                                PdData.Tax         = PdData.Freight = PdData.VolumeValue = PdData.Rate = PdData.PriceRate = PdData.PriceValue = PdData.DealerPriceValue = PdData.TradePrice = 0.00m;
                                PdData.CostPrice   = Product.Price;
                                PdData.FreightFlag = "Y";

                                PdData.AgentSysNo  = 1;
                                PdData.DealerSysNo = 0;

                                //各状态
                                PdData.ProductType      = (int)Model.WorkflowStatus.ProductStatus.商品类型.普通商品;
                                PdData.CanFrontEndOrder = (int)Model.WorkflowStatus.ProductStatus.商品是否前台下单.是;
                                PdData.IsFrontDisplay   = (int)Model.WorkflowStatus.ProductStatus.前台显示.是;
                                PdData.Status           = (int)Model.WorkflowStatus.ProductStatus.商品状态.架;

                                PdData.CreatedBy   = PdData.LastUpdateBy = UserSysNo;
                                PdData.CreatedDate = PdData.LastUpdateDate = PdData.Stamp = DateTime.Now;

                                //创建商品
                                int productSysNo = BLL.Product.PdProductBo.Instance.CreateProduct(PdData);
                                if (productSysNo > 0)
                                {
                                    //创建商品基础价
                                    PdPrice BasicModel = new PdPrice();
                                    BasicModel.ProductSysNo = productSysNo;
                                    BasicModel.Price        = Product.Price;
                                    BasicModel.PriceSource  = (int)Model.WorkflowStatus.ProductStatus.产品价格来源.基础价格;
                                    BasicModel.SourceSysNo  = 0;
                                    BasicModel.Status       = (int)Model.WorkflowStatus.ProductStatus.产品价格状态.效;
                                    Hyt.BLL.Product.PdPriceBo.Instance.Create(BasicModel);
                                    //创建商品会员价
                                    PdPrice SaleModel = new PdPrice();
                                    SaleModel.ProductSysNo = productSysNo;
                                    SaleModel.Price        = Product.Price;
                                    SaleModel.PriceSource  = (int)Model.WorkflowStatus.ProductStatus.产品价格来源.会员等级价;
                                    SaleModel.SourceSysNo  = 1;
                                    SaleModel.Status       = (int)Model.WorkflowStatus.ProductStatus.产品价格状态.效;
                                    Hyt.BLL.Product.PdPriceBo.Instance.Create(SaleModel);
                                    //更新商品临时表的ProductSysNo
                                    Hyt.BLL.Supply.ScProductBo.Instance.UpdateProductSysNo(id, productSysNo);
                                    //创建商品库存
                                    var stock = GetProSkuStock(Product.SKU);
                                    Hyt.BLL.Supply.ScProductBo.Instance.ProCreateSupplyStock((int)Code, productSysNo, stock, UserSysNo);
                                }
                                tran.Complete();
                            }
                        }
                        else
                        {
                            var PdData = BLL.Product.PdProductBo.Instance.GetProductNoCache(Product.ProductSysNo);
                            var stock  = GetProSkuStock(Product.SKU);
                            Hyt.BLL.Supply.ScProductBo.Instance.ProCreateSupplyStock((int)Code, Product.ProductSysNo, stock, UserSysNo);
                        }
                    }
                    result.Message    = "入库成功!";
                    result.Status     = true;
                    result.StatusCode = 1;
                }
                catch (Exception ex)
                {
                    result.Message    = ex.Message;
                    result.Status     = false;
                    result.StatusCode = -2;
                }

                return(result);
            }
        }
예제 #13
0
        /// <summary>
        /// 二期基础数据
        /// </summary>
        /// <param name="listObject"></param>
        private void AddBaseTaskObject2ToList1(List <BaseTask> listObject)
        {
            BaseTask bsAT = new BsArea();

            BaseTask crCustomer = new CrCustomer();
            BaseTask crCL       = new CrCustomerLevel();
            BaseTask crCQ       = new CrCustomerQuestion();
            BaseTask crRA       = new CrReceiveAddress();

            BaseTask feArticle = new FeArticle();
            BaseTask feAC      = new FeArticleCategory();
            BaseTask feCS      = new FeCommentSupport();
            BaseTask fepc      = new FeProductComment();
            BaseTask fePCI     = new FeProductCommentImage();
            BaseTask fePCR     = new FeProductCommentReply();

            BaseTask lgDS  = new LgDeliveryScope();
            BaseTask lgDUC = new LgDeliveryUserCredit();

            BaseTask pdAttribute        = new PdAttribute();
            BaseTask pdAG               = new PdAttributeGroup();
            BaseTask pdAGA              = new PdAttributeGroupAssociation();
            BaseTask pdAO               = new PdAttributeOption();
            BaseTask pdBrand            = new PdBrand();
            BaseTask pdCGA              = new PdCatAttributeGroupAso();
            BaseTask pdCategory         = new PdCategory();
            BaseTask pdCA               = new PdCategoryAssociation();
            BaseTask pdPrice            = new PdPrice();
            BaseTask pdProduct          = new PdProduct();
            BaseTask pdPA               = new PdProductAssociation();
            BaseTask pdProductAttribute = new PdProductAttribute();
            //BaseTask pdPI = new PdProductImage();
            BaseTask pdTemplate = new PdTemplate();

            BaseTask soRA = new SoReceiveAddress();

            BaseTask syUser = new SyUser();
            BaseTask syUW   = new SyUserWarehouse();

            BaseTask whwarehouse = new WhWarehouse();
            BaseTask whwa        = new WHwarehousearea();

            listObject.Add(bsAT);

            listObject.Add(crCustomer);
            listObject.Add(crCL);
            listObject.Add(crCQ);
            listObject.Add(crRA);

            listObject.Add(feArticle);
            listObject.Add(feAC);
            listObject.Add(feCS);
            listObject.Add(fepc);
            listObject.Add(fePCI);
            listObject.Add(fePCR);

            listObject.Add(lgDS);
            listObject.Add(lgDUC);

            listObject.Add(pdAttribute);
            listObject.Add(pdAG);
            listObject.Add(pdAGA);
            listObject.Add(pdAO);
            listObject.Add(pdBrand);
            listObject.Add(pdCGA);
            listObject.Add(pdCategory);
            listObject.Add(pdCA);
            listObject.Add(pdPrice);
            listObject.Add(pdProduct);
            listObject.Add(pdPA);
            listObject.Add(pdProductAttribute);
            listObject.Add(pdTemplate);
            //listObject.Add(pdPI);

            listObject.Add(soRA);

            listObject.Add(syUW);
            listObject.Add(syUser);

            listObject.Add(whwarehouse);
            listObject.Add(whwa);
        }
예제 #14
0
        public override Result AddOrderTrade(int orderSysno)
        {
            Result result = new Result();

            try
            {
                SoOrder order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysno);
                if (order == null)
                {
                    result.Message = "该订单不存在";
                    return(result);
                }
                order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo);
                order.OrderItemList  = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo);
                ParaVoucherFilter voucherFilter = new ParaVoucherFilter();
                voucherFilter.SourceSysNo = order.SysNo;
                CBFnReceiptVoucher recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault();
                recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo);
                // 收货人 区 市 省
                BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo);
                BsArea receiverCity     = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo);
                BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo);
                // 发货人 市
                CBWhWarehouse warehouse   = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo);
                BsArea        shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo);

                DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo);

                LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo);

                EasycrossOrder newOrder = new EasycrossOrder();
                newOrder.OrderHead             = new OrderHead();
                newOrder.OrderList             = new List <OrderList>();
                newOrder.OrderPaymentLogistics = new OrderPaymentLogistics();

                newOrder.OrderHead.accessType         = "1";
                newOrder.OrderHead.agentCode          = "4404580006";
                newOrder.OrderHead.agentName          = "珠海易跨境电子商务服务有限公司";
                newOrder.OrderHead.appStatus          = "2";
                newOrder.OrderHead.appTime            = DateTime.Now.ToString("yyyyMMddHHmmss");
                newOrder.OrderHead.appUid             = "1105910159";
                newOrder.OrderHead.appUname           = "东方口岸";
                newOrder.OrderHead.batchNumbers       = "";
                newOrder.OrderHead.cbeCode            = "D00236";
                newOrder.OrderHead.cbeName            = "珠海爱勤电子科技有限公司";
                newOrder.OrderHead.charge             = order.OrderAmount.ToString();
                newOrder.OrderHead.consignee          = order.ReceiveAddress.Name;
                newOrder.OrderHead.consigneeAddress   = order.ReceiveAddress.StreetAddress;
                newOrder.OrderHead.consigneeCountry   = "";
                newOrder.OrderHead.consigneeTelephone = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber)
                    ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber;
                newOrder.OrderHead.currency         = "142";
                newOrder.OrderHead.customer         = order.ReceiveAddress.Name;
                newOrder.OrderHead.customerId       = order.ReceiveAddress.IDCardNo;
                newOrder.OrderHead.ecpCode          = "W0098";
                newOrder.OrderHead.ecpName          = "珠海爱勤电子科技有限公司";
                newOrder.OrderHead.freight          = order.FreightAmount.ToString();
                newOrder.OrderHead.goodsValue       = order.ProductAmount.ToString();
                newOrder.OrderHead.idType           = "1";
                newOrder.OrderHead.ieType           = "I";
                newOrder.OrderHead.modifyMark       = "1";
                newOrder.OrderHead.note             = "";
                newOrder.OrderHead.orderNo          = order.SysNo.ToString();
                newOrder.OrderHead.other            = "";
                newOrder.OrderHead.shipper          = BLL.Stores.StoresBo.Instance.GetStoreById(0).ErpName;
                newOrder.OrderHead.shipperAddress   = "";
                newOrder.OrderHead.shipperCountry   = "142";
                newOrder.OrderHead.shipperTelephone = "";
                newOrder.OrderHead.tax = order.TaxFee.ToString();
                newOrder.OrderHead.totalLogisticsNo = "";
                newOrder.OrderHead.tradeCountry     = "";
                newOrder.OrderHead.wrapType         = "";
                foreach (SoOrderItem item in order.OrderItemList)
                {
                    PdProduct      product      = BLL.Product.PdProductBo.Instance.GetProduct(item.SysNo);
                    PdProductStock productStock = BLL.Warehouse.PdProductStockBo.Instance.GetEntityByWP(order.DefaultWarehouseSysNo, item.ProductSysNo);

                    string  brandName = "无";
                    PdBrand brand     = BLL.Product.PdBrandBo.Instance.GetEntity(product.BrandSysNo);
                    if (brand != null)
                    {
                        brandName = brand.Name;
                    }

                    OrderList orderList = new OrderList();
                    orderList.barCode        = "";
                    orderList.brand          = brandName;
                    orderList.codeTs         = "";
                    orderList.country        = "";
                    orderList.currency       = "142";
                    orderList.describe       = "";
                    orderList.discount       = "";
                    orderList.giftFlag       = "";
                    orderList.goodsModel     = "";
                    orderList.goodsName      = item.ProductName;
                    orderList.goodsNo        = productStock.ProductSku;
                    orderList.itemNo         = "";
                    orderList.note           = "";
                    orderList.packNum        = "";
                    orderList.price          = item.SalesUnitPrice.ToString();
                    orderList.priceTotal     = item.SalesAmount.ToString();
                    orderList.purposeCode    = "";
                    orderList.quantity       = item.Quantity.ToString();
                    orderList.shelfGoodsName = item.ProductName;
                    orderList.taxCode        = "";
                    orderList.unit           = "007";
                    orderList.wasteMaterials = "1";
                    orderList.wrapType       = "";
                    newOrder.OrderList.Add(orderList);
                }
                //newOrder.OrderPaymentLogistics.logisticsCode = "";
                newOrder.OrderPaymentLogistics.logisticsName = deliveryType.DeliveryTypeName;
                //newOrder.OrderPaymentLogistics.logisticsNo = "";
                //newOrder.OrderPaymentLogistics.paymentCode = "";
                //newOrder.OrderPaymentLogistics.paymentName = "";
                //newOrder.OrderPaymentLogistics.paymentNo = "";
                //newOrder.OrderPaymentLogistics.paymentType = "";
                //newOrder.OrderPaymentLogistics.trackNo = "";

                XmlSerializerNamespaces xmlNs = new XmlSerializerNamespaces();
                xmlNs.Add("nousexmlns", "http://www.chinaport.gov.cn/ecss");
                string xmlData = this.XmlSerialize <EasycrossOrder>(newOrder, xmlNs);
                xmlData = xmlData.Replace(":nousexmlns", "");
                xmlData = xmlData.Replace("encoding=\"utf-16\"", "encoding=\"utf-8\"");

                // 上传文件
                FtpUtil ftp         = new FtpUtil(FTPUri, FTPName, FTPPassword);
                string  ftpResponse = "";
                ftp.UploadFile(FTPUri, "Testfilename.xml", Encoding.UTF8.GetBytes(xmlData), out ftpResponse);
            }
            catch (Exception ex)
            {
                result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace;
                return(result);
            }

            return(result);
        }
예제 #15
0
        /// <summary>
        /// 入库个别商品信息
        /// </summary>
        /// <param name="supplyCode">供应链代码</param>
        /// <param name="sysNos">商品系统编号,逗号分隔</param>
        /// <returns></returns>
        /// <remarks>2016-4-22 王耀发 创建</remarks>
        public override Result <string> StockInSupplyProduct(string sysNos)
        {
            var result = new Result <string>()
            {
                Status     = false,
                StatusCode = -1,
                Message    = "未知错误"
            };

            lock (lockHelper)//防止多人同时操作造成产品重复添加
            {
                try
                {
                    //是否有仓库
                    WhWarehouse Warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetAllWarehouseList().FirstOrDefault(w => w.Supply == (int)Code && w.Status == (int)Model.WorkflowStatus.WarehouseStatus.仓库状态.启用);
                    if (Warehouse == null)
                    {
                        result.Message = string.Format("尚未创建{0}专用仓库,如果已创建请更新后台缓存!", Code.ToString());
                        return(result);
                    }

                    string[] sysNoArray = sysNos.Split(',');
                    int      UserSysNo  = AdminAuthenticationBo.Instance.Current.Base.SysNo;
                    for (var i = 0; i < sysNoArray.Length; i++)
                    {
                        int       SysNo   = int.Parse(sysNoArray[i]);
                        ScProduct Product = IScProductDao.Instance.GetScProductInfo(SysNo);
                        //未入库的商品可入库
                        if (Product.ProductSysNo == 0)
                        {
                            using (var tran = new System.Transactions.TransactionScope())
                            {
                                var       jsonObject = JObject.Parse(Product.Receipt);
                                PdProduct PdData     = new PdProduct();
                                PdData.ErpCode     = jsonObject["skuid"].ToString();
                                PdData.ProductName = jsonObject["goodsname"].ToString();
                                PdData.EasName     = jsonObject["goodsname"].ToString();
                                if (jsonObject["barcode"] != null)
                                {
                                    PdData.Barcode = jsonObject["barcode"].ToString();
                                }
                                if (jsonObject["cess"] != null)
                                {
                                    PdData.Tax = decimal.Parse(jsonObject["cess"].ToString());
                                }
                                PdData.CanFrontEndOrder = 1;
                                PdData.AgentSysNo       = 1;
                                PdData.DealerSysNo      = 0;
                                //默认品牌为其他
                                var     brandSysNo = 0;
                                var     brandName  = "其他";
                                PdBrand PdBrand    = BLL.Product.PdBrandBo.Instance.GetEntityByName(brandName);
                                brandSysNo = PdBrand != null ? PdBrand.SysNo : DataAccess.Product.IPdBrandDao.Instance.Create(new PdBrand()
                                {
                                    Name = brandName, DisplayOrder = 0, Status = 1
                                });
                                PdData.BrandSysNo = brandSysNo;
                                //绑定原产地
                                var    orginSysNo = 0;
                                var    orginName  = "其他";
                                Origin Origin     = BLL.Basic.OriginBo.Instance.GetEntityByName(orginName);
                                orginSysNo = Origin != null ? Origin.SysNo : DataAccess.Basic.IOriginDao.Instance.Insert(new Origin()
                                {
                                    Origin_Name = orginName, CreatedBy = UserSysNo, CreatedDate = DateTime.Now, LastUpdateBy = UserSysNo, LastUpdateDate = DateTime.Now
                                });
                                PdData.OriginSysNo = orginSysNo;

                                PdData.CreatedBy      = UserSysNo;
                                PdData.CreatedDate    = DateTime.Now;
                                PdData.LastUpdateBy   = UserSysNo;
                                PdData.LastUpdateDate = DateTime.Now;
                                //创建商品
                                int ProductSysNo = PdProductBo.Instance.CreateProduct(PdData);
                                if (ProductSysNo > 0)
                                {
                                    //创建商品基础价
                                    PdPrice BasicModel = new PdPrice();
                                    BasicModel.ProductSysNo = ProductSysNo;
                                    BasicModel.Price        = decimal.Parse(jsonObject["price"].ToString());
                                    BasicModel.PriceSource  = 0;
                                    BasicModel.SourceSysNo  = 0;
                                    BasicModel.Status       = 1;
                                    PdPriceBo.Instance.Create(BasicModel);
                                    //创建商品会员价
                                    PdPrice SaleModel = new PdPrice();
                                    SaleModel.ProductSysNo = ProductSysNo;
                                    SaleModel.Price        = decimal.Parse(jsonObject["price"].ToString());
                                    SaleModel.PriceSource  = 10;
                                    SaleModel.SourceSysNo  = 1;
                                    SaleModel.Status       = 1;
                                    PdPriceBo.Instance.Create(SaleModel);
                                    //更新商品临时表的ProductSysNo
                                    ScProductBo.Instance.UpdateProductSysNo(SysNo, ProductSysNo);
                                    //创建商品库存
                                    ScProductBo.Instance.ProCreateSupplyStock((int)Code, ProductSysNo, decimal.Parse(jsonObject["number"].ToString()), UserSysNo);
                                }
                                tran.Complete();
                            }
                        }
                        result.Status = true;
                    }
                }
                catch (Exception ex)
                {
                    result.Message    = ex.Message;
                    result.Status     = false;
                    result.StatusCode = -2;
                }
                return(result);
            }
        }