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>()); }
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); }
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); }