/// <summary>
        /// 根据数据字典主键得到字典明细数据
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="itemId">父级主键</param>
        /// <returns>数据表</returns>
        public DataTable GetItemDetailDTByItemId(UserInfo userInfo, string itemId)
        {
            var dataTable = new DataTable(CiItemDetailsTable.TableName);
            var parameter = ParameterUtil.CreateWithOutMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName);

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var itemsDetailManager = new CiItemDetailsManager(dbProvider, userInfo);
                dataTable           = itemsDetailManager.GetDT(CiItemDetailsTable.FieldItemId, itemId, CiItemDetailsTable.FieldDeleteMark, 0, CiItemDetailsTable.FieldSortCode);
                dataTable.TableName = CiItemDetailsTable.TableName;
            });
            return(dataTable);
        }
        /// <summary>
        /// 依條件獲取数据列表
        /// </summary>
        /// <param name="userInfo">使用者</param>
        /// <param name="names">字段</param>
        /// <param name="values">值</param>
        /// <returns>数据表</returns>
        public DataTable GetDTByValues(UserInfo userInfo, string[] names, object[] values)
        {
            DataTable dataTable = new DataTable(CiItemDetailsTable.TableName);
            var       parameter = ParameterUtil.CreateWithLog(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var manager         = new CiItemDetailsManager(dbProvider, userInfo);
                dataTable           = manager.GetDT(names, values);
                dataTable.TableName = CiItemDetailsTable.TableName;
            });
            return(dataTable);
        }
        /// <summary>
        /// 取得列表
        /// </summary>
        /// <param name="userInfo">使用者</param>
        /// <returns>数据表</returns>
        public DataTable GetDT(UserInfo userInfo)
        {
            var dataTable = new DataTable(CiItemDetailsTable.TableName);
            var parameter = ParameterUtil.CreateWithLog(userInfo, MethodBase.GetCurrentMethod());

            ServiceUtil.ProcessRDIReadDb(userInfo, parameter, dbProvider =>
            {
                var manager         = new CiItemDetailsManager(dbProvider, userInfo);
                dataTable           = manager.GetDT(CiItemDetailsTable.FieldDeleteMark, 0, CiItemDetailsTable.FieldSortCode);
                dataTable.TableName = CiItemDetailsTable.TableName;
            });

            return(dataTable);
        }