Ejemplo n.º 1
0
        // -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); // 错误
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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("");
        }
Ejemplo n.º 4
0
        // 待归还: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);
        }
Ejemplo n.º 5
0
        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);
        }