Exemplo n.º 1
0
        /// <summary>
        /// 获取集合
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public List <STK_OutLineResult> GetList(STK_OutLineParam param)
        {
            this.CheckSession();
            List <STK_OutLineResult> ret = new List <STK_OutLineResult>();

            try
            {
                WhereClip whereClip = GetWhereClip(param);
                ret = this.SelectList <STK_OutLineResult>(whereClip, STK_OutLine._.CreatedTime.Asc);
                if (ret != null && ret.Count > 0)
                {
                    Guid?[]    StkOutGuids = ret.Select(a => a.StkOutGuid).Distinct().ToArray();
                    Guid?[]    ItemCodes   = ret.Select(a => a.ItemCode).Distinct().ToArray();
                    STK_OutBLL stkOutBLL   = new STK_OutBLL();
                    stkOutBLL.SessionInfo = this.SessionInfo;
                    List <STK_OutResult> outResultList = stkOutBLL.GetList(new STK_OutParam()
                    {
                        StkOutGuids = StkOutGuids
                    });
                    STK_StockBLL stockBLL = new STK_StockBLL();
                    stockBLL.SessionInfo = this.SessionInfo;
                    List <STK_StockResult> stockResultList = stockBLL.GetList(new STK_StockParam()
                    {
                        ItemCodes = ItemCodes
                    });
                    foreach (STK_OutLineResult outLineResult in ret)
                    {
                        STK_OutResult outResult = outResultList.FirstOrDefault(a => a.StkOutGuid == outLineResult.StkOutGuid);
                        if (outResult != null)
                        {
                            outLineResult.StkOutBillNo = outResult.BillNo;
                            outLineResult.SourceBillNo = outResult.SourceBillNo;
                        }
                        STK_StockResult stockResult = stockResultList.FirstOrDefault(a => a.ItemCode == outLineResult.ItemCode);
                        if (stockResult != null)
                        {
                            outLineResult.BuyerID   = stockResult.BuyerID;
                            outLineResult.BuyerName = stockResult.BuyerName;
                        }
                    }
                }
            }
            catch (WarnException exp)
            {
                throw exp;
            }
            catch (System.Exception exp)
            {
                LogInfoBLL.WriteLog(this.SessionInfo, exp);
                throw exp;
            }
            return(ret);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取出库明细的分页信息
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public PageList <STK_OutLineResult> GetPageList(STK_OutLineParam param)
        {
            PageList <STK_OutLineResult> ret = new PageList <STK_OutLineResult>();

            try
            {
                STK_OutParam outParam = new STK_OutParam()
                {
                    SourceBillNo = param.SourceBillNo,
                    BillNo       = param.StkOutBillNo,
                    PageIndex    = 1,
                    PageSize     = 5000,
                    Status       = param.Status
                };
                STK_OutBLL outBLL = new STK_OutBLL();
                outBLL.SessionInfo = this.SessionInfo;
                PageList <STK_OutResult> outList = outBLL.GetPageList(outParam);
                if (outList != null && outList.ResultList.Count > 0)
                {
                    Guid?[] StkOutGuids = outList.ResultList.Select(a => (Guid?)a.StkOutGuid).Distinct().ToArray();
                    param.StkOutGuids = StkOutGuids;

                    ret = this.SelectList <STK_OutLineResult>(param.PageIndex.GetValueOrDefault(1), param.PageSize.GetValueOrDefault(50), new List <Field>()
                    {
                        Field.All
                    }, GetWhereClip(param), STK_OutLine._.CreatedTime.Desc);
                    if (ret != null && ret.ResultList.Count > 0)
                    {
                        foreach (STK_OutLineResult outLineResult in ret.ResultList)
                        {
                            //获取出库单号
                            STK_OutResult outResult = outList.ResultList.FirstOrDefault(a => a.StkOutGuid == outLineResult.StkOutGuid);
                            if (outResult != null)
                            {
                                outLineResult.StkOutBillNo = outResult.BillNo;
                                outLineResult.SourceBillNo = outResult.SourceBillNo;
                            }
                        }
                    }
                }
            }
            catch (WarnException exp)
            {
                throw exp;
            }
            catch (System.Exception exp)
            {
                LogInfoBLL.WriteLog(this.SessionInfo, exp);
                throw exp;
            }
            return(ret);
        }