Example #1
0
        /// <summary>
        /// 仓库-查询
        /// </summary>
        /// <param name="FNumber">仓库编码</param>
        /// <param name="FName">仓库名称</param>
        /// <param name="FParentNumber">上级编码</param>
        /// <returns></returns>
        public EasResult <EasStock> ErpStockList(string FNumber, string FName, string FParentNumber)
        {
            string actionPath   = "/base/stockList";
            string postDataPath = Config.root + actionPath;
            string posData      = Hyt.Util.MyHttp.GetResponse(postDataPath, "{APP_Key:\"" + Config.APP_Key + "\",APP_scode:\"" + Config.APP_scode +
                                                              "\", FNumber:\"" + FName + "\",FNumber:\"" + FNumber + "\",FParentNumber:\"" + FParentNumber + "\"}", "utf-8");
            EasResult <EasStock> result = Hyt.Util.Serialization.JsonUtil.ToObject <EasResult <EasStock> >(posData);

            return(result);
        }
Example #2
0
        //public string actionPath = "/base/itemList";
        /// <summary>
        /// 查询商品信息
        /// </summary>
        /// <param name="FName">商品名称,为空是查询全部</param>
        /// <returns></returns>
        public EasResult <List <EasProduct> > SearchStockProductItemList(string FName = "")
        {
            //APP_Key:\"" + Config.APP_Key + "\",APP_scode:\"" + Config.APP_scode + "\",
            string actionPath   = "/base/itemList";
            string postDataPath = Config.root + actionPath;
            string posData      = Hyt.Util.MyHttp.PostJsonData(postDataPath, "{ \"FName\":\"" + FName + "\"}");
            EasResult <List <EasProduct> > result = Hyt.Util.Serialization.JsonUtil.ToObject <EasResult <List <EasProduct> > >(posData);

            return(result);
        }
        public EasResult <List <EasSearchSellOutStockItem> > ErpSellOutStockList(string FBillNo, DateTime?startTime, DateTime?endTime)
        {
            string actionPath   = "/base/StockOutList";
            string postDataPath = Config.root + actionPath;
            //\"APP_Key\":\"" + Config.APP_Key + "\",\"APP_scode\":\"" + Config.APP_scode +"\",
            string posData = Hyt.Util.MyHttp.PostJsonData(postDataPath, "{ \"Ftrantype\":\"21\",\"FBillNo\":\"" + FBillNo + "\",\"FStartDate\":\"" + (startTime == null ? "" : startTime.Value.ToString("yyyy-MM-dd")) + "\",\"FEndDate\":\"" + (endTime == null ? "" : endTime.Value.ToString("yyyy-MM-dd")) + "\"}");
            EasResult <List <EasSearchSellOutStockItem> > result = Hyt.Util.Serialization.JsonUtil.ToObject <EasResult <List <EasSearchSellOutStockItem> > >(posData);

            return(result);
        }
Example #4
0
        /// <summary>
        /// 查询仓库库存
        /// </summary>
        /// <param name="wareCode"></param>
        /// <param name="ErpCodeList"></param>
        /// <returns></returns>
        public Extra.Erp.Model.EasResult SearchInvList(string wareCode, string[] ErpCodeList)
        {
            //wareCode = "";
            Extra.Erp.Model.EasResult <List <EasStockProduct> > resultData = new EasResult <List <EasStockProduct> >();
            string actionPath   = "/base/InvList";
            string postDataPath = Config.root + actionPath;
            string posData      = Hyt.Util.MyHttp.PostJsonData(postDataPath, "{ \"FNumberS\":\"" + string.Join(",", ErpCodeList) + "\",\"FStockID\":\"" + wareCode + "\",\"FNumberE\":\"\",\"FKFDate\":\"\",\"FBatchNo\":\"\"}");

            resultData = Hyt.Util.Serialization.JsonUtil.ToObject <Extra.Erp.Model.EasResult <List <EasStockProduct> > >(posData);
            return(resultData);
        }
Example #5
0
        /// <summary>
        /// 删除仓库
        /// </summary>
        /// <param name="StockSysNo"></param>
        /// <returns></returns>
        public Extra.Erp.Model.Result ErpStockDelete(int StockSysNo)
        {
            Extra.Erp.Model.Result result = new Model.Result();
            string        actionPath      = "/base/stockDel";
            CBWhWarehouse warehouse       = IWhWarehouseDao.Instance.GetWarehouse(StockSysNo);
            string        postDataPath    = Config.root + actionPath;
            string        posData         = Hyt.Util.MyHttp.GetResponse(postDataPath, "{APP_Key:\"" + Config.APP_Key + "\",APP_scode:\"" + Config.APP_scode + "\", FNumber:\"" + warehouse.ErpRmaCode + "\"}", "utf-8");
            EasResult     easResult       = Hyt.Util.Serialization.JsonUtil.ToObject <EasResult>(posData);

            result.Status  = easResult.success;
            result.Message = easResult.message;
            return(result);
        }
Example #6
0
        /// <summary>
        /// 查询调拨单记录
        /// </summary>
        /// <param name="FBillNo"></param>
        /// <param name="FStartDate"></param>
        /// <param name="FEndDate"></param>
        /// <returns></returns>
        public EasResult <List <EasTransfers> > GetTransList(string FBillNo, DateTime?FStartDate, DateTime?FEndDate)
        {
            string actionPath   = "/base/TransList";
            string postDataPath = Config.root + actionPath;
            EasResult <List <EasTransfers> > result = new EasResult <List <EasTransfers> >();

            try
            {
                string posData = Hyt.Util.MyHttp.PostJsonData(postDataPath, "{ \"Ftrantype\":\"41\",\"FBillNo\":\"" + FBillNo + "\",\"FStartDate\":\"" + (FStartDate == null ? "" : FStartDate.Value.ToString("yyyy-MM-dd")) + "\",\"FEndDate\":\"" + (FEndDate == null ? "" : FEndDate.Value.ToString("yyyy-MM-dd")) + "\"}");
                result = Hyt.Util.Serialization.JsonUtil.ToObject <EasResult <List <EasTransfers> > >(posData);
                //result.success = true;
            }catch (Exception e)
            {
                result.success = false;
                result.message = e.Message;
            }
            return(result);
        }
Example #7
0
        /// <summary>
        /// 商品ERP上的商品
        /// </summary>
        /// <param name="ProductSysNo">商品编号</param>
        /// <param name="StockSysNo">商品所在的仓库</param>
        /// <returns></returns>
        public Extra.Erp.Model.Result StockProductItemDelete(int ProductSysNo, int StockSysNo)
        {
            Extra.Erp.Model.Result result = new Model.Result();
            string          actionPath    = "/base/itemDel";
            ERPStockProduct erpProduct    = IERPStockProductDao.Instance.GetMod(ProductSysNo, StockSysNo);

            if (erpProduct != null)
            {
                string    postDataPath = Config.root + actionPath;
                string    posData      = Hyt.Util.MyHttp.PostJsonData(postDataPath, "{ \"FName\":\"" + erpProduct.ERPProductName + "\",\"FNumber\":\"" + erpProduct.ProductCode + "\"}");
                EasResult easResult    = Hyt.Util.Serialization.JsonUtil.ToObject <EasResult>(posData);

                result.Status  = easResult.success;
                result.Message = easResult.message;

                if (result.Status)
                {
                    IERPStockProductDao.Instance.DeleteMod(erpProduct.SysNo);
                }
            }

            return(result);
        }
Example #8
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);
        }
        public Extra.Erp.Model.Result ErpSellOutStockAdd(int orderSysNo, int ActionType = 0)
        {
            Extra.Erp.Model.Result result = new Model.Result();
            try
            {
                var         stockout  = Hyt.DataAccess.Warehouse.IOutStockDao.Instance.GetModel(orderSysNo);
                WhWarehouse wareHouse = Hyt.DataAccess.Warehouse.IWhWarehouseDao.Instance.GetWarehouse(stockout.WarehouseSysNo);
                SoOrder     odrder    = Hyt.DataAccess.Order.ISoOrderDao.Instance.GetEntity(stockout.OrderSysNO);
                odrder.ReceiveAddress = ISoReceiveAddressDao.Instance.GetOrderReceiveAddress(odrder.ReceiveAddressSysNo);
                string actionPath = "/base/StockOutAdd";
                //if (ActionType == 1)
                //{
                //    actionPath = "/bill/stockModi";
                //}

                string          postDataPath = Config.root + actionPath;
                EasSellOutStock mod          = new EasSellOutStock();
                mod.FBillNo      = odrder.OrderNo;
                mod.FEntryID     = "1";
                mod.Fdate        = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                mod.FConsignee   = odrder.ReceiveAddress.Name;
                mod.FDeptID      = "";
                mod.FEmpID       = "";
                mod.FExplanation = "";
                mod.FFetchAdd    = odrder.ReceiveAddress.StreetAddress;
                mod.FFManagerID  = "";
                mod.FSaleStyle   = "网单销售";
                mod.FSManagerID  = "";
                mod.FCustID      = FCustID;
                mod.FDCStockID   = wareHouse.ErpCode;
                mod.FROB         = "1";
                List <Hyt.Model.Transfer.CBSoOrderItem> orderItems = Hyt.DataAccess.Order.ISoOrderDao.Instance.GetOrderItemsByOrderId(new int[] { odrder.SysNo });
                int indx = 1;
                foreach (var itemMod in orderItems)
                {
                    WhStockOutItem outStockItem = stockout.Items.First(p => p.ProductSysNo == itemMod.ProductSysNo);
                    if (outStockItem != null)
                    {
                        EasSellOutStockItem item = new EasSellOutStockItem()
                        {
                            FItemID        = itemMod.ErpCode,
                            Fauxqty        = outStockItem.ProductQuantity.ToString(),
                            FItemName      = itemMod.ProductName,
                            FDCStockID     = wareHouse.ErpCode,
                            FUnitID        = "kg",
                            FConsignPrice  = itemMod.SalesUnitPrice.ToString("0.00"),
                            FConsignAmount = itemMod.SalesAmount.ToString("0.00")
                        };
                        mod.item.Add(item);
                    }
                }
                string strProduct = Hyt.Util.Serialization.JsonUtil.ToJson(mod);
                strProduct = strProduct.Replace("\"APP_Key\":\"\",\"APP_scode\":\"\",", "");
                string posData = Hyt.Util.MyHttp.PostJsonData(postDataPath, strProduct);
                if (posData.IndexOf("没有对应") != -1)
                {
                    result.Status  = false;
                    result.Message = posData;
                }
                else
                {
                    EasResult easResult = Hyt.Util.Serialization.JsonUtil.ToObject <EasResult>(posData);
                    result.Status  = easResult.success;
                    result.Message = easResult.message;
                }
            }
            catch (Exception e)
            {
                result.Status  = false;
                result.Message = e.Message;
            }
            return(result);
        }