public IHttpActionResult DoAllExportStorageDetailReprotAPI(StorageSearchMod search) { var result = storageManageService.DoAllExportStorageDetailReprot(search); return(Ok(result)); }
public IQueryable <StorageDetailDTO> GetInfo(StorageSearchMod searchModel, Page page, out int totalcount) { var query = from M in DataContext.Storage_InOut_Detail join inbound in DataContext.Storage_Inbound on M.Storage_InOut_UID equals inbound.Storage_Inbound_UID join mat in DataContext.Material_Info on inbound.Material_UID equals mat.Material_Uid join warst in DataContext.Warehouse_Storage on inbound.Warehouse_Storage_UID equals warst.Warehouse_Storage_UID join war in DataContext.Warehouse on warst.Warehouse_UID equals war.Warehouse_UID join bgorg in DataContext.System_Organization on war.BG_Organization_UID equals bgorg.Organization_UID join funorg in DataContext.System_Organization on war.FunPlant_Organization_UID equals funorg.Organization_UID join typeenum in DataContext.Enumeration on inbound.PartType_UID equals typeenum.Enum_UID join inouttype in DataContext.Enumeration on inbound.Storage_Inbound_Type_UID equals inouttype.Enum_UID join users in DataContext.System_Users on M.Modified_UID equals users.Account_UID select new StorageDetailDTO { Storage_InOut_Detaill_UID = M.Storage_InOut_Detail_UID, BG_Name = bgorg.Organization_Name, Funplant = funorg.Organization_Name, Storage_Bound_ID = inbound.Storage_Inbound_ID, Inout_Type = inouttype.Enum_Value, Material_Id = mat.Material_Id, Material_Name = mat.Material_Name, Material_Types = mat.Material_Types, Warehouse_ID = war.Warehouse_ID, Rack_ID = warst.Rack_ID, Storage_ID = warst.Storage_ID, InOut_Date = M.InOut_Date, InOut_QTY = M.InOut_Qty, Balance_Qty = M.Balance_Qty, Bound_Type = typeenum.Enum_Value, ModifiedUser = users.User_Name, Modified_Date = M.Modified_Date, BG_Organization_UID = war.BG_Organization_UID, FunPlant_Organization_UID = war.FunPlant_Organization_UID, InOut_Type_UID = M.InOut_Type_UID, Warehouse_Storage_UID = warst.Warehouse_Storage_UID }; List <int> inlist = new List <int>(); //fky2017/11/13 //inlist.Add(379); inlist.Add(411); //fky2017/11/13 //inlist.Add(402); inlist.Add(427); //fky2017/11/13 //inlist.Add(386); inlist.Add(415); //fky2017/11/13 //inlist.Add(403); inlist.Add(428); //fky2017/11/13 //inlist.Add(399); inlist.Add(424); query = query.Where(m => inlist.Contains(m.InOut_Type_UID)); var query1 = from M in DataContext.Storage_InOut_Detail join outboundd in DataContext.Storage_Outbound_D on M.Storage_InOut_UID equals outboundd.Storage_Outbound_D_UID join outboundm in DataContext.Storage_Outbound_M on outboundd.Storage_Outbound_M_UID equals outboundm.Storage_Outbound_M_UID join mat in DataContext.Material_Info on M.Material_UID equals mat.Material_Uid join warst in DataContext.Warehouse_Storage on M.Warehouse_Storage_UID equals warst.Warehouse_Storage_UID join war in DataContext.Warehouse on warst.Warehouse_UID equals war.Warehouse_UID join bgorg in DataContext.System_Organization on war.BG_Organization_UID equals bgorg.Organization_UID join funorg in DataContext.System_Organization on war.FunPlant_Organization_UID equals funorg.Organization_UID join typeenum in DataContext.Enumeration on outboundd.PartType_UID equals typeenum.Enum_UID join inouttype in DataContext.Enumeration on M.InOut_Type_UID equals inouttype.Enum_UID join users in DataContext.System_Users on M.Modified_UID equals users.Account_UID select new StorageDetailDTO { Storage_InOut_Detaill_UID = M.Storage_InOut_Detail_UID, BG_Name = bgorg.Organization_Name, Funplant = funorg.Organization_Name, Storage_Bound_ID = outboundm.Storage_Outbound_ID, Inout_Type = inouttype.Enum_Value, Material_Id = mat.Material_Id, Material_Name = mat.Material_Name, Material_Types = mat.Material_Types, Warehouse_ID = war.Warehouse_ID, Rack_ID = warst.Rack_ID, Storage_ID = warst.Storage_ID, InOut_Date = M.InOut_Date, InOut_QTY = 0 - M.InOut_Qty, Balance_Qty = M.Balance_Qty, Bound_Type = typeenum.Enum_Value, ModifiedUser = users.User_Name, Modified_Date = M.Modified_Date, BG_Organization_UID = war.BG_Organization_UID, FunPlant_Organization_UID = war.FunPlant_Organization_UID, InOut_Type_UID = M.InOut_Type_UID, Warehouse_Storage_UID = warst.Warehouse_Storage_UID }; query1 = query1.Where(m => inlist.Contains(m.InOut_Type_UID) == false); query = query.Union(query1); if (searchModel.BG_Organization_UID != 0) { query = query.Where(m => m.BG_Organization_UID == searchModel.BG_Organization_UID); } if (searchModel.FunPlant_Organization_UID != 0) { query = query.Where(m => m.FunPlant_Organization_UID == searchModel.FunPlant_Organization_UID); } if (searchModel.InOut_Type_UID != 0) { query = query.Where(m => m.InOut_Type_UID == searchModel.InOut_Type_UID); } if (!string.IsNullOrWhiteSpace(searchModel.Storage_Bound_ID)) { query = query.Where(m => m.Storage_Bound_ID.Contains(searchModel.Storage_Bound_ID)); } if (searchModel.Start_Date.Year != 1) { query = query.Where(m => m.InOut_Date >= searchModel.Start_Date); } if (searchModel.End_Date.Year != 1) { query = query.Where(m => m.InOut_Date <= searchModel.End_Date); } if (searchModel.Warehouse_Storage_UID != 0) { query = query.Where(m => m.Warehouse_Storage_UID == searchModel.Warehouse_Storage_UID); } if (!string.IsNullOrWhiteSpace(searchModel.Warehouse_ID)) { query = query.Where(m => m.Warehouse_ID.Contains(searchModel.Warehouse_ID)); } if (!string.IsNullOrWhiteSpace(searchModel.Rack_ID)) { query = query.Where(m => m.Rack_ID.Contains(searchModel.Rack_ID)); } if (!string.IsNullOrWhiteSpace(searchModel.Storage_ID)) { query = query.Where(m => m.Storage_ID.Contains(searchModel.Storage_ID)); } if (!string.IsNullOrWhiteSpace(searchModel.Material_Id)) { query = query.Where(m => m.Material_Id.Contains(searchModel.Material_Id)); } if (!string.IsNullOrWhiteSpace(searchModel.Material_Name)) { query = query.Where(m => m.Material_Name.Contains(searchModel.Material_Name)); } if (!string.IsNullOrWhiteSpace(searchModel.Material_Types)) { query = query.Where(m => m.Material_Types.Contains(searchModel.Material_Types)); } List <int> Plant_UIDs = GetOpType(searchModel.Plant_UID).Select(o => o.Organization_UID).ToList(); if (Plant_UIDs.Count > 0) { query = query.Where(m => Plant_UIDs.Contains(m.BG_Organization_UID)); } totalcount = query.Count(); query = query.OrderByDescending(m => m.Modified_Date).GetPage(page); return(query); }