// -1-查询错误,0-没有空余,其他正常格子 public static async Task <int> GetAvailableGrid(int cabinetId) { var sqlStr = string.Format("SELECT t1.grid_count, t2.grid_no FROM t_res_cabinet t1 " + "JOIN t_res_cabinet_grid t2 ON t2.cabinet_id = t1.id " + "WHERE t1.id = {0} AND t2.deleted_at IS NULL " + "ORDER BY t2.grid_no ASC", cabinetId); var list = await PgUtil.QueryAsync(sqlStr); if (list.Count > 0) { int count = int.Parse(list[0][0].ToString()); if (list.Count == count) // 已存满 { return(0); } for (var i = 1; i <= count; i++) { var isUsed = false; for (var j = 0; j < list.Count; j++) { if (i.ToString() == list[j][1].ToString()) { isUsed = true; break; } } if (!isUsed) { return(i); // 找到空闲位置 } } } return(-1); // 错误 }
public static async Task <List <object> > GetNewSlingByRFID(string rfId) { var sqlStr = string.Format("SELECT grid_no FROM t_res_cabinet_grid WHERE in_res_id = (SELECT id FROM t_res_sling WHERE rf_id = '{0}' AND deleted_at IS NULL) AND deleted_at IS NULL", rfId); var list = await PgUtil.QueryAsync(sqlStr); return(list.Count > 0 ? list[0] : null); }
public static async Task <string> GetStaffName(int staffId) { var sqlStr = string.Format("SELECT name FROM t_sys_staff WHERE id = {0} AND deleted_at IS NULL", staffId); var list = await PgUtil.QueryAsync(sqlStr); if (list.Count > 0) { return(list[0][0].ToString()); } return(""); }
// 待归还:take_time不等于空,且return_time等于空 public static async Task <List <ResSling> > GetBorrowedSlingsByStaff(int staffId) { List <ResSling> dataList = new List <ResSling>(); var sqlStr = GetBorrowedSlingSql(staffId); var list = await PgUtil.QueryAsync(sqlStr); list.ForEach(item => { dataList.Add(CreateSling(item)); }); return(dataList); }
public static async Task <string[]> GetSlingGrid(string rfId) { var cabinetID = ConfigurationManager.AppSettings["CabinetID"]; string[] data = null; var sqlStr = "SELECT grid_no, cabinet_id FROM t_res_cabinet_grid " + string.Format("WHERE in_res_id = (SELECT id FROM t_res_sling WHERE rf_id = '{0}') AND cabinet_id = {1} AND deleted_at IS NULL ", rfId, cabinetID); var list = await PgUtil.QueryAsync(sqlStr); if (list.Count > 0) { data = new string[2]; data[0] = list[0][0].ToString(); data[1] = list[0][1].ToString(); } return(data); }