コード例 #1
0
        public static IEnumerable <SmartOperatorDetail> GetDetail(bool add, int id = 0, int wId      = 0, int lId = -1, int pId = -1,
                                                                  string number    = "", string name = "", SmartOperatorState state = SmartOperatorState.全部, int condition = 0)
        {
            if (condition != 0)
            {
                number = $"%{number}%";
                name   = $"%{name}%";
            }
            if (!add)
            {
                return(ServerConfig.ApiDb.Query <SmartOperatorDetail>(
                           "SELECT a.*, b.`Number`, b.`Name`, b.`Account`, IFNULL(c.Process, '') Process, IFNULL(d.`Level`, '') Level FROM `t_operator` a " +
                           "JOIN `accounts` b ON a.UserId = b.Id " +
                           $"LEFT JOIN `t_process` c ON a.ProcessId = c.Id " +
                           $"LEFT JOIN `t_operator_level` d ON a.LevelId = d.Id " +
                           $"WHERE {(id == 0 ? "" : "a.Id = @id AND ")}" +
                           $"{(wId == 0 ? "" : "a.WorkshopId = @wId AND ")}" +
                           $"{(lId == -1 ? "" : "a.LevelId = @lId AND ")}" +
                           $"{(pId == -1 ? "" : "a.ProcessId = @pId AND ")}" +
                           $"{(number.IsNullOrEmpty() ? "" : $"b.Number {(condition == 0 ? "=" : "LIKE")} @number AND ")}" +
                           $"{(name.IsNullOrEmpty() ? "" : $"b.Name {(condition == 0 ? "=" : "LIKE")} @name AND ")}" +
                           $"{(state == 0 ? "" : "a.State = @state AND ")}" +
                           $"a.MarkedDelete = 0 ORDER BY a.ProcessId, a.Priority, a.Id",
                           new { id, wId, lId, pId, number, name, state }));
            }

            return(ServerConfig.ApiDb.Query <SmartOperatorDetail>(
                       "SELECT a.* FROM `accounts` a " +
                       "LEFT JOIN (SELECT * FROM `t_operator` WHERE MarkedDelete = 0) b ON a.Id = b.UserId " +
                       $"WHERE a.MarkedDelete = 0 AND ISNULL(b.Id) ORDER BY b.ProcessId, b.Priority, a.Id"));
        }
コード例 #2
0
        public DataResult GetSmartOperator([FromQuery] bool menu, bool add, int qId, int wId, int levelId = -1,
                                           int processId = -1, string number = "", string name = "", SmartOperatorState state = SmartOperatorState.全部, int condition = 0)
        {
            var result = new DataResult();

            result.datas.AddRange(menu
                ? SmartOperatorHelper.GetMenu(add, qId, wId, levelId, processId, number, name, state, condition)
                : SmartOperatorHelper.GetDetail(add, qId, wId, levelId, processId, number, name, state, condition));
            if (qId != 0 && !result.datas.Any())
            {
                result.errno = Error.SmartOperatorNotExist;
                return(result);
            }
            return(result);
        }