private void btnRefresh_Click(object sender, EventArgs e) { string message = string.Empty; try { //this.list = PharmacyDatabaseService.GetOutInventoryByStatus(out message, (int)this.Status).OrderBy(r => r.CreateTime).ToList(); Business.Models.SalesOrderOutInventoryQueryModel q = new Business.Models.SalesOrderOutInventoryQueryModel { OutInventoryStatusValue = (int)this.Status, FirstCheckerUserId = base.CurrentUser.Id, SecondCheckerUserInd = base.CurrentUser.Id }; this.list = PharmacyDatabaseService.GetWaitingOutInventoryList(q, out msg).ToList(); dgvOutInventory.DataSource = list; } catch (Exception) { MessageBox.Show("检索出库单失败!" + message); } }
/// <summary> /// 根据OutInventory表中的OutInventoryStatus字段状态,读取出库表,用于拣货、复核等操作 /// </summary> /// <param name="q"></param> /// <returns></returns> public System.Collections.Generic.IEnumerable <Business.Models.SalesOrderOutInventoryModel> GetWaitingOutInventoryList(Business.Models.SalesOrderOutInventoryQueryModel q) { var all = RepositoryProvider.Db.OutInventorys.Where(r => r.OutInventoryStatusValue == q.OutInventoryStatusValue); if (q.OutInventoryStatusValue == (int)OutInventoryStatus.Outing) { all = all.Where(r => r.OrderOutInventoryCheckUserID == q.FirstCheckerUserId); } if (q.OutInventoryStatusValue == (int)OutInventoryStatus.important) { all = all.Where(r => r.SpecialDrugSecondChecker == q.SecondCheckerUserInd); } var re = from i in all join j in RepositoryProvider.Db.SalesOrders on i.SalesOrderID equals j.Id join userinfo in RepositoryProvider.Db.Users on i.storekeeperId equals userinfo.Id select new Business.Models.SalesOrderOutInventoryModel { Id = i.Id, OrderCode = j.OrderCode, SalesOrderCreateTime = j.CreateTime, OutInventoryTypeValue = i.OutInventoryTypeValue, SalerName = j.SalerName, OutInventoryOrderCode = i.OrderCode, InventoryKeeper = userinfo.Employee.Name, SalesOrderId = j.Id }; return(re.OrderBy(r => r.OrderCode)); }