Beispiel #1
0
 public ReturnType AddStockDetail(StockDetail stockdetail)
 {
     try
     {
         using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
         {
             alading.AddToStockDetail(stockdetail);
             if (alading.SaveChanges() == 1)
             {
                 return(ReturnType.Success);
             }
             else
             {
                 return(ReturnType.PropertyExisted);
             }
         }
     }
     catch (SqlException sex)
     {
         return(ReturnType.ConnFailed);
     }
     catch (Exception ex)
     {
         return(ReturnType.OthersError);
     }
 }
Beispiel #2
0
 public ReturnType AddInOutAndDetails(StockInOut stockInOut, PayCharge payChage, List <StockDetail> sdList, List <StockHouseProduct> shpList, List <View_StockItemProduct> vsipList)
 {
     System.Data.Common.DbTransaction tran = null;
     using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
     {
         try
         {
             alading.Connection.Open();
             tran = alading.Connection.BeginTransaction();
             alading.AddToPayCharge(payChage);
             alading.AddToStockInOut(stockInOut);
             foreach (StockDetail sd in sdList)
             {
                 alading.AddToStockDetail(sd);
             }
             foreach (StockHouseProduct shp in shpList)
             {
                 StockHouseProduct tmpshp = alading.StockHouseProduct.FirstOrDefault(c => c.HouseProductCode == shp.HouseProductCode);
                 if (tmpshp != null)
                 {
                     tmpshp.Num = shp.Num;
                 }
                 else
                 {
                     alading.AddToStockHouseProduct(shp);
                 }
             }
             foreach (View_StockItemProduct vsip in vsipList)
             {
                 StockItem    stockItem    = alading.StockItem.FirstOrDefault(s => s.OuterID == vsip.OuterID);
                 StockProduct stockProduct = alading.StockProduct.FirstOrDefault(s => s.SkuOuterID == vsip.SkuOuterID);
                 stockItem.TotalQuantity     = Math.Round(vsip.TotalQuantity, 3);
                 stockProduct.SkuQuantity    = vsip.SkuQuantity;
                 stockProduct.LastStockPrice = vsip.LastStockPrice;
                 stockProduct.AvgStockPrice  = vsip.AvgStockPrice;
             }
             alading.SaveChanges();
             tran.Commit();
             return(ReturnType.Success);
         }
         catch (System.Exception ex)
         {
             if (tran != null)
             {
                 tran.Rollback();
             }
             return(ReturnType.SaveFailed);
         }
         finally
         {
             if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed)
             {
                 alading.Connection.Close();
             }
         }
     }
 }
Beispiel #3
0
        public ReturnType AddStockInOutDetail(List <Alading.Entity.StockInOut> stockInOutList, List <StockDetail> stockDetailList)
        {
            try
            {
                using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
                {
                    StockInOut stock = alading.StockInOut.FirstOrDefault(i => i.InOutCode == stockInOutList[0].InOutCode);
                    if (stock == null)
                    {
                        return(ReturnType.PropertyExisted);
                    }
                    foreach (StockInOut stockinout in stockInOutList)
                    {
                        alading.AddToStockInOut(stockinout);
                    }

                    foreach (StockDetail stockDetail in stockDetailList)
                    {
                        StockHouseProduct stockProduct = alading.StockHouseProduct.FirstOrDefault(i => i.SkuOuterID == stockDetail.ProductSkuOuterId && i.HouseCode == stockDetail.StockHouseCode && i.LayoutCode == stockDetail.StockLayOutCode);
                        if (stockProduct != null)
                        {
                            if (stockDetail.DetailType == (int)DetailType.AllocateIn)
                            {
                                stockProduct.Num += stockDetail.Quantity;
                            }
                            else if (stockDetail.DetailType == (int)DetailType.AllocateOut)
                            {
                                stockProduct.Num -= stockDetail.Quantity;
                            }
                        }
                        else
                        {
                            //从一个仓库调拨到另一个仓库中,此仓库没有此product
                            StockHouseProduct newProduct = new StockHouseProduct();
                            newProduct.HouseName        = stockDetail.HouseName;
                            newProduct.HouseCode        = stockDetail.StockHouseCode;
                            newProduct.HouseProductCode = Guid.NewGuid().ToString();
                            newProduct.LayoutCode       = stockDetail.StockLayOutCode;
                            newProduct.LayoutName       = stockDetail.LayoutName;
                            newProduct.Num        = stockDetail.Quantity;
                            newProduct.SkuOuterID = stockDetail.ProductSkuOuterId;
                            alading.AddToStockHouseProduct(newProduct);
                        }
                        alading.AddToStockDetail(stockDetail);
                    }
                    alading.SaveChanges();
                    return(ReturnType.Success);
                }
            }
            catch (Exception ex)
            {
                return(ReturnType.OthersError);
            }
        }
 public ReturnType InitInput(StockItem stockItem, List <StockProduct> stockProductList, List <StockDetail> stockDetailList, List <StockHouseProduct> houseProductList)
 {
     System.Data.Common.DbTransaction tran = null;
     using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
     {
         try
         {
             alading.Connection.Open();
             tran = alading.Connection.BeginTransaction();
             alading.AddToStockItem(stockItem);
             foreach (StockProduct sp in stockProductList)
             {
                 alading.AddToStockProduct(sp);
             }
             foreach (StockDetail sd in stockDetailList)
             {
                 alading.AddToStockDetail(sd);
             }
             foreach (StockHouseProduct sh in houseProductList)
             {
                 alading.AddToStockHouseProduct(sh);
             }
             alading.SaveChanges();
             tran.Commit();
             return(ReturnType.Success);
         }
         catch (System.Exception ex)
         {
             if (tran != null)
             {
                 tran.Rollback();
             }
             return(ReturnType.SaveFailed);
         }
         finally
         {
             if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed)
             {
                 alading.Connection.Close();
             }
         }
     }
 }
Beispiel #5
0
 public ReturnType AddStockDetail(List <StockDetail> stockdetailList)
 {
     try
     {
         using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
         {
             foreach (StockDetail stockdetail in stockdetailList)
             {
                 alading.AddToStockDetail(stockdetail);
             }
             alading.SaveChanges();
             return(ReturnType.Success);
         }
     }
     catch (SqlException sex)
     {
         return(ReturnType.ConnFailed);
     }
     catch (Exception ex)
     {
         return(ReturnType.OthersError);
     }
 }
        public ReturnType UpdateTradeRefund(List <TradeRefund> tradeRefundList, List <StockProduct> stockProductList, List <StockHouseProduct> houseProList
                                            , List <StockInOut> stockInOutList, List <StockDetail> stockDetailList, PayCharge payCharge, List <string> refundIdList
                                            , List <string> outerSkuIdList, List <string> outerIdList)
        {
            try
            {
                using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
                {
                    /*更新TradeRefund*/
                    var refundResult = alading.TradeRefund.Where(BuildWhereInExpression <TradeRefund, string>(v => v.refund_id, refundIdList));
                    if (refundResult == null)
                    {
                        return(ReturnType.NotExisted);
                    }

                    foreach (TradeRefund tradeRefund in tradeRefundList)//需要更新的新数据
                    {
                        TradeRefund oldRefund = refundResult.Where(c => c.refund_id == tradeRefund.refund_id).FirstOrDefault();
                        //TradeRefundCopydata(oldRefund, tradeRefund);
                        oldRefund.IsRecieved  = tradeRefund.IsRecieved;
                        oldRefund.LocalPrivyC = tradeRefund.LocalPrivyC;
                    }

                    /*更新StockProduct 和 StockItem*/
                    var stockProductResult = alading.StockProduct.Where(BuildWhereInExpression <StockProduct, string>(v => v.SkuOuterID, outerSkuIdList));
                    var stockItemResult    = alading.StockItem.Where(BuildWhereInExpression <StockItem, string>(v => v.OuterID, outerIdList));
                    if (stockProductResult == null || stockItemResult == null)
                    {
                        return(ReturnType.NotExisted);
                    }

                    foreach (StockProduct stockProduct in stockProductList)
                    {
                        //获取StockProduct的原始数据
                        StockProduct oldStockProduct = stockProductResult.Where(c => c.SkuOuterID == stockProduct.SkuOuterID).FirstOrDefault();
                        //获取StockItem的原始数据
                        StockItem oldStockItem = stockItemResult.Where(c => c.OuterID == stockProduct.OuterID).FirstOrDefault();
                        if (oldStockProduct != null && oldStockItem != null)
                        {
                            //获取StockProduct的相关原始数据的商品数量
                            oldStockProduct.SkuQuantity = oldStockProduct.SkuQuantity + stockProduct.SkuQuantity;
                            //获取oldStockItem的相关原始数据的商品数量
                            oldStockItem.TotalQuantity = oldStockItem.TotalQuantity + stockProduct.SkuQuantity;
                        }
                        else
                        {
                            return(ReturnType.NotExisted);
                        }
                    }

                    /*添加或更新StockHouseProduct*/
                    var stockHouseProResult = alading.StockHouseProduct.Where(BuildWhereInExpression <StockHouseProduct, string>(v => v.SkuOuterID, outerSkuIdList));
                    foreach (StockHouseProduct stockHousePro in houseProList)
                    {
                        StockHouseProduct oldPro = stockHouseProResult.Where(c => c.SkuOuterID == stockHousePro.SkuOuterID &&
                                                                             c.HouseCode == stockHousePro.HouseCode && c.LayoutCode == stockHousePro.LayoutCode).FirstOrDefault();
                        if (oldPro != null)
                        {
                            oldPro.Num += stockHousePro.Num;
                        }
                        else
                        {
                            stockHousePro.HouseProductCode = Guid.NewGuid().ToString();
                            alading.AddToStockHouseProduct(stockHousePro);
                        }
                    }

                    /*添加StockInOut*/
                    foreach (StockInOut stockInOut in stockInOutList)
                    {
                        alading.AddToStockInOut(stockInOut);
                    }

                    /*添加StockDetail*/
                    foreach (StockDetail stockDetail in stockDetailList)
                    {
                        alading.AddToStockDetail(stockDetail);
                    }

                    alading.AddToPayCharge(payCharge);

                    alading.SaveChanges();
                    return(ReturnType.Success);
                }
            }

            catch (SqlException sex)
            {
                return(ReturnType.ConnFailed);
            }
            catch (Exception ex)
            {
                return(ReturnType.OthersError);
            }
        }
        public ReturnType AddStockCheckAndDetails(StockCheck stockCheck, List <StockCheckDetail> CheckDetails)
        {
            try
            {
                using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
                {
                    alading.AddToStockCheck(stockCheck);
                    foreach (StockCheckDetail detail in CheckDetails)
                    {
                        alading.AddToStockCheckDetail(detail);

                        #region StockInOut
                        Alading.Entity.StockInOut stockInOut = new Alading.Entity.StockInOut();
                        stockInOut.AmountTax      = 0;
                        stockInOut.DiscountFee    = 0;
                        stockInOut.DueFee         = 0;
                        stockInOut.FreightCode    = string.Empty;
                        stockInOut.FreightCompany = string.Empty;
                        stockInOut.InOutCode      = Guid.NewGuid().ToString();
                        stockInOut.InOutTime      = DateTime.Now;
                        if (detail.ProfitType == (int)ProfitType.PROFIT)
                        {
                            stockInOut.InOutType = (int)InOutType.ProfitIn;
                        }
                        else
                        {
                            stockInOut.InOutType = (int)InOutType.LossOut;
                        }
                        stockInOut.TradeOrderCode = string.Empty;

                        stockInOut.OperatorCode = stockCheck.OperatorCode;
                        stockInOut.OperatorName = string.Empty;
                        stockInOut.PayType      = (int)PayType.CASH;

                        stockInOut.IsSettled   = true;
                        stockInOut.PayTerm     = 0;
                        stockInOut.IncomeTime  = DateTime.MinValue;
                        stockInOut.PayThisTime = 0;
                        #endregion

                        #region StockDetail
                        StockDetail stockDetailOut = new StockDetail();
                        stockDetailOut.ProductSkuOuterId = detail.SkuOuterID;
                        stockDetailOut.DetailRemark      = string.Empty;
                        stockDetailOut.DetailType        = (int)DetailType.AllocateOut;
                        stockDetailOut.DurabilityDate    = DateTime.Now;
                        stockDetailOut.InOutCode         = stockInOut.InOutCode;
                        stockDetailOut.Price             = 0;
                        stockDetailOut.Quantity          = detail.CheckQuantity;
                        stockDetailOut.StockDetailCode   = Guid.NewGuid().ToString();
                        stockDetailOut.StockHouseCode    = stockCheck.StockHouseCode;
                        stockDetailOut.StockLayOutCode   = detail.LayoutCode;
                        stockDetailOut.Tax      = string.Empty;
                        stockDetailOut.TotalFee = 0;
                        #endregion

                        StockProduct product = alading.StockProduct.FirstOrDefault(i => i.SkuOuterID == detail.SkuOuterID);
                        if (product != null)
                        {
                            product.SkuQuantity = detail.Quantity;//归档
                        }
                        alading.AddToStockInOut(stockInOut);
                        alading.AddToStockDetail(stockDetailOut);
                    }

                    alading.SaveChanges();
                    return(ReturnType.Success);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public ReturnType UpdateStock(List <StockProduct> stockProductList, List <StockHouseProduct> stockHouseProList, List <StockInOut> stockInOutList
                                      , List <StockDetail> stockDetailList, PayCharge payCharge, List <string> outerSkuIdList, List <string> outerIdList)//zxl
        {
            try
            {
                using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
                {
                    #region 更新StockProduct 和 StockItem
                    var stockProductResult = alading.StockProduct.Where(BuildWhereInExpression <StockProduct, string>(v => v.SkuOuterID, outerSkuIdList));
                    var stockItemResult    = alading.StockItem.Where(BuildWhereInExpression <StockItem, string>(v => v.OuterID, outerIdList));
                    if (stockProductResult == null || stockItemResult == null)
                    {
                        return(ReturnType.NotExisted);
                    }

                    foreach (StockProduct stockProduct in stockProductList)
                    {
                        //获取StockProduct的原始数据
                        StockProduct oldStockProduct = stockProductResult.Where(c => c.SkuOuterID == stockProduct.SkuOuterID).FirstOrDefault();
                        //获取StockItem的原始数据
                        StockItem oldStockItem = stockItemResult.Where(c => c.OuterID == stockProduct.OuterID).FirstOrDefault();
                        //获取StockProduct的相关原始数据的商品数量
                        oldStockProduct.SkuQuantity += stockProduct.SkuQuantity;
                        //获取oldStockItem的相关原始数据的商品数量
                        oldStockItem.TotalQuantity += stockProduct.SkuQuantity;
                    }
                    #endregion

                    #region 添加或更新StockHouseProduct
                    var stockHouseProResult = alading.StockHouseProduct.Where(BuildWhereInExpression <StockHouseProduct, string>(v => v.SkuOuterID, outerSkuIdList));
                    foreach (StockHouseProduct stockHousePro in stockHouseProList)
                    {
                        StockHouseProduct oldPro = stockHouseProResult.Where(c => c.SkuOuterID == stockHousePro.SkuOuterID &&
                                                                             c.HouseCode == stockHousePro.HouseCode && c.LayoutCode == stockHousePro.LayoutCode).FirstOrDefault();
                        if (oldPro != null)
                        {
                            oldPro.Num += stockHousePro.Num;
                        }
                        else
                        {
                            stockHousePro.HouseProductCode = Guid.NewGuid().ToString();
                            alading.AddToStockHouseProduct(stockHousePro);
                        }
                    }
                    #endregion

                    #region 添加StockInOut
                    foreach (StockInOut stockInOut in stockInOutList)
                    {
                        alading.AddToStockInOut(stockInOut);
                    }
                    #endregion

                    #region 添加StockDetail
                    foreach (StockDetail stockDetail in stockDetailList)
                    {
                        alading.AddToStockDetail(stockDetail);
                    }
                    #endregion

                    #region 添加PayCharge
                    alading.AddToPayCharge(payCharge);
                    #endregion
                    alading.SaveChanges();
                    return(ReturnType.Success);
                }
            }

            catch (SqlException sex)
            {
                return(ReturnType.ConnFailed);
            }
            catch (Exception ex)
            {
                return(ReturnType.OthersError);
            }
        }
Beispiel #9
0
        public ReturnType Check(int num, List <StockDetail> stockDetailList, StockDetail checkDetail, StockCheckDetail stockCheckDetail)
        {
            System.Data.Common.DbTransaction tran = null;
            using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
            {
                try
                {
                    alading.Connection.Open();
                    tran = alading.Connection.BeginTransaction();
                    StockProduct      stockProduct      = alading.StockProduct.FirstOrDefault(c => c.SkuOuterID == checkDetail.ProductSkuOuterId);
                    StockItem         stockItem         = alading.StockItem.FirstOrDefault(c => c.OuterID == stockProduct.OuterID);
                    StockHouseProduct stockHouseProduct = alading.StockHouseProduct.FirstOrDefault(c => c.HouseCode == checkDetail.StockHouseCode && c.LayoutCode == checkDetail.StockLayOutCode && c.SkuOuterID == checkDetail.ProductSkuOuterId);
                    /*修改相关数量,若报溢则加,报损则减*/
                    stockProduct.SkuQuantity += num;
                    stockItem.TotalQuantity  += num;
                    if (stockHouseProduct != null)
                    {
                        stockHouseProduct.Num += num;
                    }
                    else
                    {
                        stockHouseProduct                  = new StockHouseProduct();
                        stockHouseProduct.HouseCode        = checkDetail.StockHouseCode;
                        stockHouseProduct.HouseName        = checkDetail.HouseName;
                        stockHouseProduct.HouseProductCode = System.Guid.NewGuid().ToString();
                        stockHouseProduct.LayoutCode       = checkDetail.StockLayOutCode;
                        stockHouseProduct.LayoutName       = checkDetail.LayoutName;
                        stockHouseProduct.Num              = num;
                        stockHouseProduct.SkuOuterID       = checkDetail.ProductSkuOuterId;
                        alading.AddToStockHouseProduct(stockHouseProduct);
                    }

                    /*将出入库详情添加到历史表中并在StockDetail表中删除该数据*/
                    foreach (StockDetail stockDetail in stockDetailList)
                    {
                        HistoryStockDetail hisStockDetail = new HistoryStockDetail();
                        hisStockDetail.DetailRemark           = stockDetail.DetailRemark;
                        hisStockDetail.DetailType             = stockDetail.DetailType;
                        hisStockDetail.DurabilityDate         = stockDetail.DurabilityDate;
                        hisStockDetail.HistoryStockDetailCode = stockDetail.StockDetailCode;
                        hisStockDetail.HouseName         = stockDetail.HouseName;
                        hisStockDetail.InOutCode         = stockDetail.InOutCode;
                        hisStockDetail.LayoutName        = stockDetail.LayoutName;
                        hisStockDetail.Price             = stockDetail.Price;
                        hisStockDetail.ProductSkuOuterId = stockDetail.ProductSkuOuterId;
                        hisStockDetail.Quantity          = stockDetail.Quantity;
                        hisStockDetail.SearchText        = stockDetail.SearchText;
                        hisStockDetail.StockHouseCode    = stockDetail.StockHouseCode;
                        hisStockDetail.StockLayOutCode   = stockDetail.StockLayOutCode;
                        hisStockDetail.Tax      = stockDetail.Tax;
                        hisStockDetail.TotalFee = stockDetail.TotalFee;
                        alading.AddToHistoryStockDetail(hisStockDetail);

                        StockDetail temp = alading.StockDetail.FirstOrDefault(c => c.StockDetailCode == stockDetail.StockDetailCode);
                        if (temp != null)
                        {
                            alading.DeleteObject(temp);
                        }
                    }

                    /*将盘点生成的入库详情加入StockDetail表中,做为初始数据*/
                    alading.AddToStockDetail(checkDetail);
                    alading.AddToStockCheckDetail(stockCheckDetail);
                    alading.SaveChanges();
                    tran.Commit();
                    return(ReturnType.Success);
                }
                catch (System.Exception ex)
                {
                    if (tran != null)
                    {
                        tran.Rollback();
                    }
                    return(ReturnType.SaveFailed);
                }
                finally
                {
                    if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed)
                    {
                        alading.Connection.Close();
                    }
                }
            }
        }
Beispiel #10
0
        /// <summary>
        /// 标记为配货并出库
        /// </summary>
        /// <param name="houseProductList">数量即为出库数量</param>
        /// <param name="customtid">交易的唯一标识</param>
        /// <returns></returns>
        public ReturnType AllocationAndOutput(List <StockHouseProduct> houseProductList, string customtid)
        {
            System.Data.Common.DbTransaction tran = null;
            using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
            {
                try
                {
                    alading.Connection.Open();
                    tran = alading.Connection.BeginTransaction();
                    StockInOut stockInOut = new StockInOut();
                    stockInOut.InOutCode = System.Guid.NewGuid().ToString();//GUID??

                    foreach (StockHouseProduct shp in houseProductList)
                    {
                        StockProduct stockProduct = alading.StockProduct.FirstOrDefault(c => c.SkuOuterID == shp.SkuOuterID);
                        stockProduct.SkuQuantity -= shp.Num;

                        StockItem item = alading.StockItem.FirstOrDefault(c => c.OuterID == stockProduct.OuterID);
                        item.TotalQuantity -= shp.Num;

                        StockHouseProduct stockHouseProduct = alading.StockHouseProduct.FirstOrDefault(c => c.SkuOuterID == shp.SkuOuterID && c.HouseCode == shp.HouseCode && c.LayoutCode == shp.LayoutCode);
                        stockHouseProduct.Num -= shp.Num;

                        #region StockDetail

                        StockDetail stockDetail = new StockDetail();
                        stockDetail.DetailRemark      = "销售自动出库";
                        stockDetail.DetailType        = (int)DetailType.TaobaoSaleOut;
                        stockDetail.DurabilityDate    = DateTime.Now;
                        stockDetail.HouseName         = stockHouseProduct.HouseName;
                        stockDetail.InOutCode         = stockInOut.InOutCode;//////////
                        stockDetail.LayoutName        = stockHouseProduct.LayoutCode;
                        stockDetail.Price             = float.Parse(stockProduct.SkuPrice.ToString());
                        stockDetail.ProductSkuOuterId = stockProduct.SkuOuterID;
                        stockDetail.Quantity          = shp.Num;                          //出库数量
                        stockDetail.SearchText        = string.Empty;                     //搜索字段
                        stockDetail.StockDetailCode   = System.Guid.NewGuid().ToString(); //
                        stockDetail.StockHouseCode    = stockHouseProduct.HouseCode;
                        stockDetail.StockLayOutCode   = stockHouseProduct.LayoutCode;
                        stockDetail.Tax      = item.Tax;//税率
                        stockDetail.TotalFee = float.Parse((stockProduct.SkuPrice * shp.Num).ToString());
                        alading.AddToStockDetail(stockDetail);

                        #endregion

                        stockInOut.DiscountFee += stockDetail.TotalFee;//这么算可对?
                    }

                    Trade trade = alading.Trade.FirstOrDefault(c => c.CustomTid == customtid);
                    trade.LocalStatus = LocalTradeStatus.AssortedNotSent;

                    stockInOut.AmountTax      = 0.0f;                   //税率怎么算?
                    stockInOut.DueFee         = stockInOut.DiscountFee; //??
                    stockInOut.FreightCode    = string.Empty;
                    stockInOut.FreightCompany = string.Empty;
                    stockInOut.HouseCodeIn    = string.Empty;
                    stockInOut.HouseCodeOut   = string.Empty;
                    stockInOut.HouseNameIn    = string.Empty;
                    stockInOut.HouseNameOut   = string.Empty;
                    stockInOut.IncomeTime     = DateTime.Now;
                    stockInOut.InOutStatus    = (int)InOutStatus.AllSend;
                    stockInOut.InOutTime      = DateTime.Now;
                    stockInOut.InOutType      = (int)InOutType.SaleOut;
                    stockInOut.IsSettled      = true;
                    stockInOut.OperatorCode   = string.Empty; //操作人编码???
                    stockInOut.OperatorName   = string.Empty; //操作人姓名??
                    stockInOut.PayTerm        = 0;;
                    stockInOut.PayThisTime    = stockInOut.DueFee;
                    stockInOut.PayType        = (int)PayType.ALIPAY;
                    stockInOut.SearchText     = string.Empty;//搜索字段
                    stockInOut.TradeOrderCode = trade.CustomTid;
                    stockInOut.TransportCode  = string.Empty;
                    alading.AddToStockInOut(stockInOut);

                    alading.SaveChanges();
                    tran.Commit();
                    return(ReturnType.Success);
                }
                catch (System.Exception ex)
                {
                    if (tran != null)
                    {
                        tran.Rollback();
                    }
                    return(ReturnType.SaveFailed);
                }
                finally
                {
                    if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed)
                    {
                        alading.Connection.Close();
                    }
                }
            }
        }