コード例 #1
0
ファイル: StoreManager.cs プロジェクト: zhaoming35/gs_ims
        public List <Info_store_in_item> GetInItems(long linkBill_Id)
        {
            //之前出库的数量
            Dictionary <string, decimal> dicOutItems = FindDoneOutItems(linkBill_Id);
            //已经入库数量
            Dictionary <string, decimal> dicInItems = FindDoneInItems(linkBill_Id);
            //预入库的数量
            Dictionary <string, Info_store_in_item> dicPreItems = new Dictionary <string, Info_store_in_item>();

            foreach (string mtlCode in dicOutItems.Keys)
            {
                if (!dicPreItems.ContainsKey(mtlCode))
                {
                    Info_mtl_item      mtl  = Cache.LogicCache.DicMtlItem[mtlCode];
                    Info_store_in_item item = Miles.Coro.Common.Utils.CopyToOther <Info_mtl_item, Info_store_in_item>(mtl);
                    item.Already_OutQty = dicOutItems[mtlCode];
                    item.Already_InQty  = 0;

                    dicPreItems.Add(mtlCode, item);
                }
                else
                {
                    dicPreItems[mtlCode].Already_OutQty += dicOutItems[mtlCode];
                }
            }

            foreach (string mtlCode in dicInItems.Keys)
            {
                if (!dicPreItems.ContainsKey(mtlCode))
                {
                    Info_mtl_item      mtl  = Cache.LogicCache.DicMtlItem[mtlCode];
                    Info_store_in_item item = Miles.Coro.Common.Utils.CopyToOther <Info_mtl_item, Info_store_in_item>(mtl);
                    item.Already_OutQty = 0;
                    item.Already_InQty  = dicInItems[mtlCode];

                    dicPreItems.Add(mtlCode, item);
                }
                else
                {
                    dicPreItems[mtlCode].Already_InQty += dicInItems[mtlCode];
                }
            }

            return(dicPreItems.Values.ToList <Info_store_in_item>());
        }
コード例 #2
0
ファイル: StoreManager.cs プロジェクト: zhaoming35/gs_ims
        public List <Info_store_in> FindNotDoneBackOrder()
        {
            List <Info_store_in> list = this.Repository.Query().From <Tb_store_in>()
                                        .ToSelect().EndSelect()
                                        .ToWhere()
                                        .And(Tb_store_in.Table.StoreIn_State, (int)Enum.InStoreState.New)
                                        .And(Tb_store_in.Table.StoreIn_Type, (int)Enum.InStoreType.OrderBackIn)
                                        .EndWhere()
                                        .ToQuery()
                                        .LeftJoin <Tb_store_in_item>()
                                        .On(Tb_store_in.Table.StoreIn_Id, Tb_store_in_item.Table.StoreIn_Id)
                                        .JoinTable()
                                        .ToSelect()
                                        .Select(Tb_store_in_item.Table.StoreIn_Id, true)
                                        .EndSelect()
                                        .ToQuery()
                                        .QueryOneMany <Info_store_in, Info_store_in_item, Info_store_in>(
                (m, i) => {
                if (i.StoreIn_Id != 0)
                {
                    m.Items.Add(i);
                }
                return(m);
            }
                , Tb_store_in.Table.StoreIn_Id
                );

            foreach (Info_store_in info in list)
            {
                for (int i = 0; i < info.Items.Count; i++)
                {
                    Info_store_in_item item = info.Items[i];
                    Info_mtl_item      mtl  = Cache.LogicCache.DicMtlItem[item.Mtl_Code];
                    item = Miles.Coro.Common.Utils.CopyToOther <Info_mtl_item, Info_store_in_item>(mtl, item);
                }
            }

            return(list);
        }