Exemplo n.º 1
0
        public List <Info_store_out_item> GetOutItems(long linkBill_Id)
        {
            //根据配套部的项目,查询
            List <Info_matchTb> ltMatchTb = matchTbManager.FindDoneLinkMatchTbs(linkBill_Id);
            //已经出库的数据
            Dictionary <string, decimal>             dicOutItems = FindDoneOutItems(linkBill_Id);
            Dictionary <string, Info_store_out_item> dicPreItems = new Dictionary <string, Info_store_out_item>();

            foreach (Info_matchTb matchTb in ltMatchTb)
            {
                foreach (Info_matchTb_item matchTbItem in matchTb.Items)
                {
                    if (!dicPreItems.ContainsKey(matchTbItem.Mtl_Code))
                    {
                        Info_store_out_item item = Miles.Coro.Common.Utils.CopyToOther <Info_matchTb_item, Info_store_out_item>(matchTbItem);
                        item.Item_Id        = 0;
                        item.Mtl_Qty        = 0;
                        item.Plan_OutQty    = 0;
                        item.Already_OutQty = dicOutItems.ContainsKey(matchTbItem.Mtl_Code) ? dicOutItems[matchTbItem.Mtl_Code] : 0;
                        dicPreItems.Add(matchTbItem.Mtl_Code, item);
                    }

                    dicPreItems[matchTbItem.Mtl_Code].Plan_OutQty += matchTbItem.Item_Count;
                }
            }

            return(dicPreItems.Values.ToList <Info_store_out_item>());
        }
Exemplo n.º 2
0
        public List <Info_store_out_item> QueryOutItems(long linkBillId)
        {
            List <Info_store_out_item> list = this.Repository.Query().From <Tb_store_out>()
                                              .ToWhere()
                                              .And(Tb_store_out.Table.StoreOut_State, (int)Enum.OutStoreState.Valid)
                                              .And(Tb_store_out.Table.LinkBill_Id, linkBillId)
                                              .EndWhere()
                                              .ToQuery()
                                              .LeftJoin <Tb_store_out_item>()
                                              .On(Tb_store_out.Table.StoreOut_Id, Tb_store_out_item.Table.StoreOut_Id)
                                              .JoinTable()
                                              .ToSelect()
                                              .Select(Tb_store_out_item.Table.StoreOut_Id, true)
                                              .EndSelect()
                                              .ToQuery()
                                              .ToList <Info_store_out_item>();

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

            return(list);
        }
Exemplo n.º 3
0
        public List <Info_store_out> FindNotDoneOutOrder()
        {
            List <Info_store_out> list = this.Repository.Query().From <Tb_store_out>()
                                         .ToSelect().EndSelect()
                                         .ToWhere()
                                         .And(Tb_store_out.Table.StoreOut_State, (int)Enum.OutStoreState.New)
                                         .And(Tb_store_out.Table.StoreOut_Type, (int)Enum.OutStoreType.OrderOut)
                                         .EndWhere()
                                         .ToQuery()
                                         .LeftJoin <Tb_store_out_item>()
                                         .On(Tb_store_out.Table.StoreOut_Id, Tb_store_out_item.Table.StoreOut_Id)
                                         .JoinTable()
                                         .ToSelect()
                                         .Select(Tb_store_out_item.Table.StoreOut_Id, true)
                                         .EndSelect()
                                         .ToQuery()
                                         .QueryOneMany <Info_store_out, Info_store_out_item, Info_store_out>(
                (m, i) => {
                if (i.StoreOut_Id != 0)
                {
                    m.Items.Add(i);
                }
                return(m);
            }
                , Tb_store_out.Table.StoreOut_Id
                );

            foreach (Info_store_out info in list)
            {
                for (int i = 0; i < info.Items.Count; i++)
                {
                    Info_store_out_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_out_item>(mtl, item);
                }
            }

            return(list);
        }