Пример #1
0
        public User LogIn_User_Select(string userId, string password)
        {
            // 戻り値用インスタンス生成(先頭に定義しないほうがいいの?)
            User loginUser = null;

            DataBaceAccess dbAccess   = new DataBaceAccess();
            SqlConnection  connection = dbAccess.GetSqlSvrConnect();

            SqlCommand command = connection.CreateCommand();
            DataTable  dt      = new DataTable();

            try
            {
                connection.Open();
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT");
                query.AppendLine("      USER_NO ");
                query.AppendLine("    , USER_ID ");
                query.AppendLine("    , USER_NAME ");
                query.AppendLine("    , OVER_TIME ");
                query.AppendLine("    , PERCENT_TIME ");
                query.AppendLine("FROM MST_USER_INFO ");
                query.AppendLine("WHERE USER_ID     =   @USER_ID ");
                command.Parameters.Add(new SqlParameter("@USER_ID", userId));

                // 初回ログイン時はパスワードを条件とする。
                if (!string.IsNullOrEmpty(password))
                {
                    query.AppendLine("  AND PASSWORD =   @PASSWORD ");
                    command.Parameters.Add(new SqlParameter("@PASSWORD", password));
                }

                command.CommandText = query.ToString();
                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    loginUser = new User
                                (
                        (string)reader.GetValue(0),
                        (string)reader.GetValue(1),
                        (string)reader.GetValue(2),
                        (int)reader.GetValue(3),
                        (int)reader.GetValue(4)
                                );
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                connection.Close();
            }

            return(loginUser);
        }
Пример #2
0
        public string Get_TaskNo_Max(string user_no)
        {
            //
            string task_no_max = null;

            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();
            SqlCommand    command    = connection.CreateCommand();
            DataTable     dt         = new DataTable();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT");
                query.AppendLine("    RIGHT('0000000' + CONVERT(VARCHAR,ISNULL(MAX(TASK_NO), 0) + 1), 7) ");
                query.AppendLine("FROM TRN_TASK_LIST ");
                query.AppendLine("WHERE USER_NO            =   @USER_NO ");

                command.CommandText = query.ToString();

                // パラメーターの設定
                command.Parameters.Add(new SqlParameter("@USER_NO", user_no));

                // SQLの実行
                SqlDataReader reader = command.ExecuteReader();

                // 結果を表示します。
                while (reader.Read())
                {
                    task_no_max = (string)reader.GetValue(0);
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }

            return(task_no_max);
        }
Пример #3
0
        /// <summary>
        /// タスク種別一覧を取得する。
        /// </summary>
        /// <param name="logInUserNo">ログインユーザーNo</param>
        /// <returns>タスク種別一覧</returns>
        public DataTable TaskKindCodeTable(string logInUserNo)
        {
            // タスク種別インスタンス生成
            DataTable taskKindTable = new DataTable();

            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();

            SqlCommand command = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT");
                query.AppendLine("      TASK_KIND_CODE ");
                query.AppendLine("    , TASK_KIND_NAME ");
                query.AppendLine("FROM MST_USER_TASK_KIND_CODE ");
                query.AppendLine("WHERE USER_NO         = @USER_NO ");
                command.Parameters.Add(new SqlParameter("@USER_NO", logInUserNo));
                // タスク追加用コンボボックスは「全て」(00)は除外する。
                query.AppendLine("  AND TASK_KIND_CODE <> @TASK_KIND_CODE ");
                command.Parameters.Add(new SqlParameter("@TASK_KIND_CODE", Constants.TaskKind.ALL_00));
                query.AppendLine("ORDER BY TASK_KIND_CODE ");

                command.CommandText = query.ToString();

                // SQLの実行
                SqlDataAdapter adapter = new SqlDataAdapter(command);

                adapter.Fill(taskKindTable);
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }

            return(taskKindTable);
        }
Пример #4
0
        public void Task_Delete(Task taskDelete)
        {
            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();
            SqlCommand    command    = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("UPDATE TRN_TASK_LIST ");
                query.AppendLine("SET ");
                query.AppendLine("      UPDATE_YMD          = @UPDATE_YMD ");
                query.AppendLine("  ,   TASK_STATUS_CODE    = @TASK_STATUS_CODE ");
                query.AppendLine("  ,   MEMO                = @MEMO ");
                query.AppendLine("WHERE ");
                query.AppendLine("    TASK_NO           = @TASK_NO ");
                query.AppendLine("AND USER_NO           = @USER_NO ");

                command.CommandText = query.ToString();

                // パラメーターの設定
                command.Parameters.Add(new SqlParameter("@TASK_NO", taskDelete._taskNo));
                command.Parameters.Add(new SqlParameter("@USER_NO", taskDelete._userNo));
                command.Parameters.Add(new SqlParameter("@UPDATE_YMD", taskDelete._updateYmd));
                command.Parameters.Add(new SqlParameter("@TASK_STATUS_CODE", taskDelete._taskStatusCode._code));
                command.Parameters.Add(new SqlParameter("@MEMO", taskDelete._memo ?? ""));

                // SQLの実行
                command.ExecuteNonQuery();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }
        }
Пример #5
0
        /// <summary>
        /// タスクステータス一覧を取得する。
        /// </summary>
        /// <param name="">パラメータ無し</param>
        /// <returns>タスクステータス一覧</returns>
        public DataTable TaskStatusCodeTable()
        {
            // タスク種別インスタンス生成
            DataTable taskStatusTable = new DataTable();

            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();

            SqlCommand command = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT");
                query.AppendLine("      TASK_STATUS_CODE ");
                query.AppendLine("    , TASK_STATUS_NAME ");
                query.AppendLine("FROM MST_TASK_STATUS_CODE ");
                query.AppendLine("WHERE TASK_STATUS_CODE <> '00' ");
                query.AppendLine("ORDER BY TASK_STATUS_CODE ");

                command.CommandText = query.ToString();

                // SQLの実行
                SqlDataAdapter adapter = new SqlDataAdapter(command);

                adapter.Fill(taskStatusTable);
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }

            return(taskStatusTable);
        }
Пример #6
0
        public override void Update_FlgSelect(Flg taskFlg_Select)
        {
            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();
            SqlCommand    command    = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("UPDATE MST_USER_TASK_SETTING_SELECT ");
                query.AppendLine("SET ");
                query.AppendLine("      TASK_STATUS_CODE    = @TASK_STATUS_CODE ");
                query.AppendLine("  ,   TASK_KIND_CODE      = @TASK_KIND_CODE ");
                query.AppendLine("  ,   TASK_GROUP_CODE     = @TASK_GROUP_CODE ");
                query.AppendLine("WHERE ");
                query.AppendLine("    USER_NO               = @USER_NO ");

                command.CommandText = query.ToString();

                // パラメーターの設定
                command.Parameters.Add(new SqlParameter("@USER_NO", taskFlg_Select.USER_NO));
                command.Parameters.Add(new SqlParameter("@TASK_STATUS_CODE", taskFlg_Select.TASK_STATUS_CODE));
                command.Parameters.Add(new SqlParameter("@TASK_KIND_CODE", taskFlg_Select.TASK_KIND_CODE));
                command.Parameters.Add(new SqlParameter("@TASK_GROUP_CODE", taskFlg_Select.TASK_GROUP_CODE));

                // SQLの実行
                command.ExecuteNonQuery();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }
        }
Пример #7
0
        /// <summary>
        /// ユーザ毎のタスクグループ名を更新する。
        /// </summary>
        /// <param name="taskGroupCode">タスクグループコードインスタンス</param>
        /// <returns></returns>
        public void TaskGroupMstUpdate(Code taskGroupCode)
        {
            DataBaceAccess dbAccess   = new DataBaceAccess();
            SqlConnection  connection = dbAccess.GetSqlSvrConnect();
            SqlCommand     command    = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("UPDATE MST_USER_TASK_GROUP_CODE ");
                query.AppendLine("SET ");
                query.AppendLine("    TASK_GROUP_NAME   = @TASK_GROUP_NAME ");
                query.AppendLine("WHERE ");
                query.AppendLine("    USER_NO           = @USER_NO ");
                query.AppendLine("AND TASK_GROUP_CODE   = @TASK_GROUP_CODE ");

                command.CommandText = query.ToString();

                command.Parameters.Add(new SqlParameter("@TASK_GROUP_NAME", taskGroupCode._name));
                command.Parameters.Add(new SqlParameter("@USER_NO", _logInUserNo));
                command.Parameters.Add(new SqlParameter("@TASK_GROUP_CODE", taskGroupCode._code));

                command.ExecuteNonQuery();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                connection.Close();
            }
        }
Пример #8
0
        public void Task_Stop(Task taskStop)
        {
            DataBaceAccess dbAccess   = new DataBaceAccess();
            SqlConnection  connection = dbAccess.GetSqlSvrConnect();
            SqlCommand     command    = connection.CreateCommand();

            try
            {
                connection.Open();
                StringBuilder query = new StringBuilder();

                query.AppendLine("UPDATE TRN_TASK_LIST ");
                query.AppendLine("SET ");
                query.AppendLine("      RESULT_TIME         = @RESULT_TIME ");
                query.AppendLine("  ,   MEMO                = @MEMO ");
                query.AppendLine("WHERE ");
                query.AppendLine("    TASK_NO           = @TASK_NO ");
                query.AppendLine("AND USER_NO           = @USER_NO ");

                command.CommandText = query.ToString();

                command.Parameters.Add(new SqlParameter("@TASK_NO", taskStop._taskNo));
                command.Parameters.Add(new SqlParameter("@USER_NO", taskStop._userNo));
                command.Parameters.Add(new SqlParameter("@RESULT_TIME", taskStop._resultTime));
                command.Parameters.Add(new SqlParameter("@MEMO", taskStop._memo ?? ""));

                command.ExecuteNonQuery();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                connection.Close();
            }
        }
Пример #9
0
        public void Task_Update(Task taskUpdate)
        {
            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();
            SqlCommand    command    = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("UPDATE TRN_TASK_LIST ");
                query.AppendLine("SET ");
                query.AppendLine("    UPDATE_YMD        = @UPDATE_YMD ");
                if (taskUpdate._taskStatusCode._code == Constants.TaskStatus.COMPLETED_10)
                {
                    query.AppendLine("  , FINISHED_YMD      = @FINISHED_YMD ");
                }
                query.AppendLine("  , TODO_YMD          = @TODO_YMD ");
                query.AppendLine("  , TASK_STATUS_CODE  = @TASK_STATUS_CODE ");
                query.AppendLine("  , TASK_KIND_CODE    = @TASK_KIND_CODE ");
                query.AppendLine("  , TASK_GROUP_CODE   = @TASK_GROUP_CODE ");
                query.AppendLine("  , TASK_NAME         = @TASK_NAME ");
                query.AppendLine("  , PLAN_TIME         = @PLAN_TIME ");
                query.AppendLine("  , RESULT_TIME       = @RESULT_TIME ");
                query.AppendLine("  , MEMO              = @MEMO ");
                query.AppendLine("WHERE ");
                query.AppendLine("    TASK_NO           = @TASK_NO ");
                query.AppendLine("AND USER_NO           = @USER_NO ");

                command.CommandText = query.ToString();

                // パラメーターの設定
                command.Parameters.Add(new SqlParameter("@TASK_NO", taskUpdate._taskNo));
                command.Parameters.Add(new SqlParameter("@USER_NO", taskUpdate._userNo));
                command.Parameters.Add(new SqlParameter("@UPDATE_YMD", taskUpdate._updateYmd));
                command.Parameters.Add(new SqlParameter("@TODO_YMD", taskUpdate._todoYmd));
                if (taskUpdate._taskStatusCode._code == Constants.TaskStatus.COMPLETED_10)
                {
                    command.Parameters.Add(new SqlParameter("@FINISHED_YMD", taskUpdate._finishedYmd));
                }
                command.Parameters.Add(new SqlParameter("@TASK_STATUS_CODE", taskUpdate._taskStatusCode._code));
                command.Parameters.Add(new SqlParameter("@TASK_KIND_CODE", taskUpdate._taskKindCode._code));
                command.Parameters.Add(new SqlParameter("@TASK_GROUP_CODE", taskUpdate._taskGroupCode._code));
                command.Parameters.Add(new SqlParameter("@TASK_NAME", taskUpdate._taskName));
                command.Parameters.Add(new SqlParameter("@PLAN_TIME", taskUpdate._planTime));
                command.Parameters.Add(new SqlParameter("@RESULT_TIME", taskUpdate._resultTime));
                command.Parameters.Add(new SqlParameter("@MEMO", taskUpdate._memo ?? ""));

                // SQLの実行
                command.ExecuteNonQuery();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }
        }
Пример #10
0
        public Task LoadForm_Task_Select(string taskNo, string loginUserNo)
        {
            // タスクインスタンス生成
            Task taskReturn     = null;
            Code taskStatusCode = null;
            Code taskKindCode   = null;
            Code taskGroupCode  = null;

            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();

            SqlCommand command = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT");
                query.AppendLine("    T_TL.TASK_NO ");
                query.AppendLine("  , T_TL.USER_NO ");
                query.AppendLine("  , T_TL.CREATE_YMD ");
                query.AppendLine("  , T_TL.UPDATE_YMD ");
                query.AppendLine("  , T_TL.TODO_YMD ");
                query.AppendLine("  , T_TL.FINISHED_YMD ");
                query.AppendLine("  , T_TL.TASK_STATUS_CODE ");
                query.AppendLine("  , M_TSC.TASK_STATUS_NAME ");
                query.AppendLine("  , T_TL.TASK_KIND_CODE ");
                query.AppendLine("  , M_UTKC.TASK_KIND_NAME ");
                query.AppendLine("  , T_TL.TASK_GROUP_CODE ");
                query.AppendLine("  , M_UTGC.TASK_GROUP_NAME ");
                query.AppendLine("  , T_TL.TASK_NAME ");
                query.AppendLine("  , T_TL.PLAN_TIME ");
                query.AppendLine("  , T_TL.RESULT_TIME ");
                query.AppendLine("  , T_TL.MEMO ");
                // タスクリストテーブル
                query.AppendLine("FROM TRN_TASK_LIST T_TL ");
                // タスクステータスコードマスタ
                query.AppendLine("INNER JOIN MST_TASK_STATUS_CODE   M_TSC ");
                query.AppendLine("  ON T_TL.TASK_STATUS_CODE        =   M_TSC.TASK_STATUS_CODE ");
                // タスク種別コードマスタ
                query.AppendLine("INNER JOIN MST_USER_TASK_KIND_CODE    M_UTKC ");
                query.AppendLine("  ON  T_TL.USER_NO                =   M_UTKC.USER_NO ");
                query.AppendLine("  AND T_TL.TASK_KIND_CODE         =   M_UTKC.TASK_KIND_CODE ");
                // タスクグループコードマスタ
                query.AppendLine("INNER JOIN MST_USER_TASK_GROUP_CODE   M_UTGC ");
                query.AppendLine("  ON T_TL.USER_NO                 =   M_UTGC.USER_NO ");
                query.AppendLine("  AND T_TL.TASK_GROUP_CODE        =   M_UTGC.TASK_GROUP_CODE ");
                // 検索条件
                query.AppendLine("WHERE T_TL.TASK_NO                =   @TASK_NO ");
                command.Parameters.Add(new SqlParameter("@TASK_NO", taskNo));
                query.AppendLine("  AND T_TL.USER_NO                =   @USER_NO ");
                command.Parameters.Add(new SqlParameter("@USER_NO", loginUserNo));

                command.CommandText = query.ToString();

                // SQLの実行
                SqlDataReader reader = command.ExecuteReader();

                if (reader.Read() == true)
                {
                    // 値のセット
                    taskStatusCode = new Code((string)reader.GetValue(6), (string)reader.GetValue(7));
                    taskKindCode   = new Code((string)reader.GetValue(8), (string)reader.GetValue(9));
                    taskGroupCode  = new Code((string)reader.GetValue(10), (string)reader.GetValue(11));

                    taskReturn = new Task(
                        taskNo: (string)reader.GetValue(0),
                        userNo: (string)reader.GetValue(1),
                        taskStatusCode: taskStatusCode,
                        taskKindCode: taskKindCode,
                        taskGroupCode: taskGroupCode,
                        taskName: (string)reader.GetValue(12),
                        planTime: (TimeSpan)reader.GetValue(13),
                        resultTime: (TimeSpan)reader.GetValue(14),
                        memo: (string)reader.GetValue(15),
                        createYmd: (DateTime)reader.GetValue(2),
                        updateYmd: (DateTime)reader.GetValue(3),
                        todoYmd: (DateTime)reader.GetValue(4),
                        finishedYmd: (DateTime)reader.GetValue(5)
                        );
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }

            return(taskReturn);
        }
Пример #11
0
        public void Task_Insert(Task taskAdd)
        {
            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();
            SqlCommand    command    = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("INSERT ");
                query.AppendLine("    INTO TRN_TASK_LIST ");
                query.AppendLine("( ");
                query.AppendLine("    TASK_NO ");
                query.AppendLine("  , USER_NO ");
                query.AppendLine("  , CREATE_YMD ");
                query.AppendLine("  , UPDATE_YMD ");
                query.AppendLine("  , TODO_YMD ");
                query.AppendLine("  , FINISHED_YMD ");
                query.AppendLine("  , TASK_STATUS_CODE ");
                query.AppendLine("  , TASK_KIND_CODE ");
                query.AppendLine("  , TASK_GROUP_CODE ");
                query.AppendLine("  , TASK_NAME ");
                query.AppendLine("  , PLAN_TIME ");
                query.AppendLine("  , RESULT_TIME ");
                query.AppendLine("  , MEMO ");
                query.AppendLine(") ");
                query.AppendLine("VALUES ");
                query.AppendLine("( ");
                query.AppendLine("    @TASK_NO ");
                query.AppendLine("  , @USER_NO ");
                query.AppendLine("  , @CREATE_YMD ");
                query.AppendLine("  , @UPDATE_YMD ");
                query.AppendLine("  , @TODO_YMD ");
                query.AppendLine("  , @FINISHED_YMD ");
                query.AppendLine("  , @TASK_STATUS_CODE ");
                query.AppendLine("  , @TASK_KIND_CODE ");
                query.AppendLine("  , @TASK_GROUP_CODE ");
                query.AppendLine("  , @TASK_NAME ");
                query.AppendLine("  , @PLAN_TIME ");
                query.AppendLine("  , @RESULT_TIME ");
                query.AppendLine("  , @MEMO ");
                query.AppendLine(") ");

                command.CommandText = query.ToString();

                // パラメーターの設定
                command.Parameters.Add(new SqlParameter("@TASK_NO", taskAdd._taskNo));
                command.Parameters.Add(new SqlParameter("@USER_NO", taskAdd._userNo));
                command.Parameters.Add(new SqlParameter("@CREATE_YMD", taskAdd._createYmd));
                command.Parameters.Add(new SqlParameter("@UPDATE_YMD", taskAdd._updateYmd));
                command.Parameters.Add(new SqlParameter("@TODO_YMD", taskAdd._todoYmd));
                command.Parameters.Add(new SqlParameter("@FINISHED_YMD", taskAdd._finishedYmd));
                command.Parameters.Add(new SqlParameter("@TASK_STATUS_CODE", taskAdd._taskStatusCode._code));
                command.Parameters.Add(new SqlParameter("@TASK_KIND_CODE", taskAdd._taskKindCode._code));
                command.Parameters.Add(new SqlParameter("@TASK_GROUP_CODE", taskAdd._taskGroupCode._code));
                command.Parameters.Add(new SqlParameter("@TASK_NAME", taskAdd._taskName));
                command.Parameters.Add(new SqlParameter("@PLAN_TIME", taskAdd._planTime));
                command.Parameters.Add(new SqlParameter("@RESULT_TIME", taskAdd._resultTime));
                command.Parameters.Add(new SqlParameter("@MEMO", taskAdd._memo));

                // SQLの実行
                command.ExecuteNonQuery();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }
        }
Пример #12
0
        public List <Task> LoadForm_TaskList_Select(Flg_Task_Select flgTaskSelect)
        {
            // タスクインスタンス生成
            List <Task> taskList            = null;
            Task        selectedTaskForList = null;
            Code        taskStatusCode      = null;
            Code        taskKindCode        = null;
            Code        taskGroupCode       = null;

            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();

            SqlCommand command = connection.CreateCommand();
            DataTable  dt      = new DataTable();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT");
                query.AppendLine("    T_TL.TASK_NO ");
                query.AppendLine("  , T_TL.USER_NO ");
                query.AppendLine("  , T_TL.CREATE_YMD ");
                query.AppendLine("  , T_TL.UPDATE_YMD ");
                query.AppendLine("  , T_TL.TODO_YMD ");
                query.AppendLine("  , T_TL.FINISHED_YMD ");
                query.AppendLine("  , T_TL.TASK_STATUS_CODE ");
                query.AppendLine("  , M_TSC.TASK_STATUS_NAME ");
                query.AppendLine("  , T_TL.TASK_KIND_CODE ");
                query.AppendLine("  , M_UTKC.TASK_KIND_NAME ");
                query.AppendLine("  , T_TL.TASK_GROUP_CODE ");
                query.AppendLine("  , M_UTGC.TASK_GROUP_NAME ");
                query.AppendLine("  , T_TL.TASK_NAME ");
                query.AppendLine("  , T_TL.PLAN_TIME ");
                query.AppendLine("  , T_TL.RESULT_TIME ");
                query.AppendLine("  , T_TL.MEMO ");
                // タスクリストテーブル
                query.AppendLine("FROM TRN_TASK_LIST T_TL ");
                // タスクステータスコードマスタ
                query.AppendLine("INNER JOIN MST_TASK_STATUS_CODE       M_TSC ");
                query.AppendLine("  ON T_TL.TASK_STATUS_CODE        =   M_TSC.TASK_STATUS_CODE ");
                // タスク種別コードマスタ
                query.AppendLine("INNER JOIN MST_USER_TASK_KIND_CODE    M_UTKC ");
                query.AppendLine("  ON  T_TL.USER_NO                =   M_UTKC.USER_NO ");
                query.AppendLine("  AND T_TL.TASK_KIND_CODE         =   M_UTKC.TASK_KIND_CODE ");
                // タスクグループコードマスタ
                query.AppendLine("INNER JOIN MST_USER_TASK_GROUP_CODE   M_UTGC ");
                query.AppendLine("  ON  T_TL.USER_NO                =   M_UTGC.USER_NO ");
                query.AppendLine("  AND T_TL.TASK_GROUP_CODE        =   M_UTGC.TASK_GROUP_CODE ");

                #region 検索条件

                // ユーザーNo
                query.AppendLine("WHERE T_TL.USER_NO                =   @USER_NO ");
                command.Parameters.Add(new SqlParameter("@USER_NO", flgTaskSelect.USER_NO));

                // 検索日付条件
                if (flgTaskSelect.DAY_FROM != new DateTime(0))
                {
                    query.AppendLine("AND T_TL.TODO_YMD             >=  @DAY_FROM ");
                    command.Parameters.Add(new SqlParameter("@DAY_FROM", flgTaskSelect.DAY_FROM));
                }
                if (flgTaskSelect.DAY_TO != new DateTime(0))
                {
                    query.AppendLine("AND T_TL.TODO_YMD             <=  @DAY_TO ");
                    command.Parameters.Add(new SqlParameter("@DAY_TO", flgTaskSelect.DAY_TO));
                }
                // タスクステータスコード条件
                if (flgTaskSelect.TASK_STATUS_CODE != Constants.TaskStatus.ALL_00)
                {
                    query.AppendLine("AND T_TL.TASK_STATUS_CODE     =   @TASK_STATUS_CODE ");
                    command.Parameters.Add(new SqlParameter("@TASK_STATUS_CODE", flgTaskSelect.TASK_STATUS_CODE));
                }
                // タスク種別コード条件
                if (flgTaskSelect.TASK_KIND_CODE != Constants.TaskKind.ALL_00)
                {
                    query.AppendLine("AND T_TL.TASK_KIND_CODE       =   @TASK_KIND_CODE ");
                    command.Parameters.Add(new SqlParameter("@TASK_KIND_CODE", flgTaskSelect.TASK_KIND_CODE));
                }
                // タスクグループコード条件
                if (flgTaskSelect.TASK_GROUP_CODE != Constants.TaskGroup.ALL_00)
                {
                    query.AppendLine("AND T_TL.TASK_GROUP_CODE      =   @TASK_GROUP_CODE ");
                    command.Parameters.Add(new SqlParameter("@TASK_GROUP_CODE", flgTaskSelect.TASK_GROUP_CODE));
                }
                #endregion

                query.AppendLine("ORDER BY TODO_YMD, TASK_STATUS_CODE ");

                command.CommandText = query.ToString();

                // SQLの実行
                SqlDataReader reader = command.ExecuteReader();

                // タスクインスタンスの生成
                taskList = new List <Task>();

                // 結果を表示します。
                while (reader.Read())
                {
                    taskStatusCode = new Code((string)reader.GetValue(6), (string)reader.GetValue(7));
                    taskKindCode   = new Code((string)reader.GetValue(8), (string)reader.GetValue(9));
                    taskGroupCode  = new Code((string)reader.GetValue(10), (string)reader.GetValue(11));

                    selectedTaskForList = new Task(
                        taskNo: (string)reader.GetValue(0),
                        userNo: (string)reader.GetValue(1),
                        taskStatusCode: taskStatusCode,
                        taskKindCode: taskKindCode,
                        taskGroupCode: taskGroupCode,
                        taskName: (string)reader.GetValue(12),
                        planTime: (TimeSpan)reader.GetValue(13),
                        resultTime: (TimeSpan)reader.GetValue(14),
                        memo: (string)reader.GetValue(15),
                        createYmd: (DateTime)reader.GetValue(2),
                        updateYmd: (DateTime)reader.GetValue(3),
                        todoYmd: (DateTime)reader.GetValue(4),
                        finishedYmd: (DateTime)reader.GetValue(5)
                        );

                    taskList.Add(selectedTaskForList);
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }

            return(taskList);
        }
Пример #13
0
        public override Flg Select_FlgSelect(string login_User_No)
        {
            // タスクインスタンス生成
            Flg taskFlg_Return = null;

            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();

            SqlCommand command = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT");
                query.AppendLine("    USER_NO ");
                query.AppendLine("  , TASK_STATUS_CODE ");
                query.AppendLine("  , TASK_KIND_CODE ");
                query.AppendLine("  , TASK_GROUP_CODE ");
                // ユーザータスク検索初期設定マスタ
                query.AppendLine("FROM MST_USER_TASK_SETTING_SELECT ");
                // 検索条件
                query.AppendLine("WHERE USER_NO                     =   @USER_NO ");
                command.Parameters.Add(new SqlParameter("@USER_NO", login_User_No));

                command.CommandText = query.ToString();

                // SQLの実行
                SqlDataReader reader = command.ExecuteReader();

                if (reader.Read() == true)
                {
                    // 値のセット
                    taskFlg_Return = new Flg_Task_Select
                    {
                        USER_NO          = (string)reader.GetValue(0),
                        TASK_STATUS_CODE = (string)reader.GetValue(1),
                        TASK_KIND_CODE   = (string)reader.GetValue(2),
                        TASK_GROUP_CODE  = (string)reader.GetValue(3),
                    };
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }

            return(taskFlg_Return);
        }
Пример #14
0
        public DataTable TaskChartTable_Select(Flg_Chart_Select flgChartSelect)
        {
            // タスク種別インスタンス生成
            DataTable taskChartTable = new DataTable();

            // 共通部品を生成
            DataBaceAccess dbAccess = new DataBaceAccess();

            // 共通部品からSQLserverとの接続オブジェクトを取得
            SqlConnection connection = dbAccess.GetSqlSvrConnect();

            SqlCommand command = connection.CreateCommand();

            try
            {
                // データベースの接続開始
                connection.Open();

                // SQLの準備
                StringBuilder query = new StringBuilder();

                query.AppendLine("SELECT ");
                query.AppendLine("		REPLACE(FINISHED_YMD, '-', '/') AS FINISHED_YMD ");
                query.AppendLine("	,	FLOOR ( ");
                query.AppendLine("			CONVERT( FLOAT,  ");
                query.AppendLine("					SUM ( ");
                query.AppendLine("					CASE WHEN DIFFERENCE_PERCENT < (-1) * PERCENT_TIME ");
                query.AppendLine("						 THEN 1 ");
                query.AppendLine("						 ELSE 0 ");
                query.AppendLine("					END ");
                query.AppendLine("				) ");
                query.AppendLine("			) ");
                query.AppendLine("			/ ");
                query.AppendLine("			NULLIF(CONVERT( FLOAT, COUNT(1)), 0) ");
                query.AppendLine("			* ");
                query.AppendLine("			100 ");
                query.AppendLine("		) AS MINUS_OVER_PERCENT ");
                query.AppendLine("	,	FLOOR ( ");
                query.AppendLine("			CONVERT( FLOAT,  ");
                query.AppendLine("					SUM ( ");
                query.AppendLine("					CASE WHEN DIFFERENCE_PERCENT > PERCENT_TIME ");
                query.AppendLine("						 THEN 1 ");
                query.AppendLine("						 ELSE 0 ");
                query.AppendLine("					END ");
                query.AppendLine("				) ");
                query.AppendLine("			) ");
                query.AppendLine("			/ ");
                query.AppendLine("			NULLIF(CONVERT( FLOAT, COUNT(1)), 0) ");
                query.AppendLine("			* ");
                query.AppendLine("			100 ");
                query.AppendLine("		) AS PLUS_OVER_PERCENT ");
                query.AppendLine("FROM ");
                query.AppendLine("	( ");
                query.AppendLine("		SELECT ");
                if (flgChartSelect.CHART_INTERVAL == "DAY")
                {
                    query.AppendLine("			T_TL.TASK_NO ");
                    query.AppendLine("		,	T_TL.FINISHED_YMD ");
                }
                else if (flgChartSelect.CHART_INTERVAL == "WEEK")
                {
                    query.AppendLine("			LEFT(T_TL.FINISHED_YMD, 9) AS FINISHED_YMD ");
                }
                else if (flgChartSelect.CHART_INTERVAL == "MONTH")
                {
                    query.AppendLine("		   	LEFT(T_TL.FINISHED_YMD, 7) AS FINISHED_YMD ");
                }
                query.AppendLine("			,	FLOOR (  ");
                query.AppendLine("					CONVERT( FLOAT, DATEDIFF( MINUTE, T_TL.PLAN_TIME, T_TL.RESULT_TIME ) )  ");
                query.AppendLine("					/ ");
                query.AppendLine("					NULLIF( CONVERT( FLOAT, DATEDIFF( MINUTE, 0, T_TL.PLAN_TIME ) ), 0) ");
                query.AppendLine("					* ");
                query.AppendLine("					100 ");
                query.AppendLine("				) AS DIFFERENCE_PERCENT ");
                query.AppendLine("			,	M_UI.PERCENT_TIME ");
                query.AppendLine("		FROM TRN_TASK_LIST T_TL ");
                query.AppendLine("		INNER JOIN MST_USER_INFO M_UI ");
                query.AppendLine("			ON	T_TL.USER_NO = M_UI.USER_NO ");

                #region 検索条件
                // ユーザーNo
                query.AppendLine("		WHERE T_TL.USER_NO                =   @USER_NO ");
                command.Parameters.Add(new SqlParameter("@USER_NO", flgChartSelect.USER_NO));

                // タスクステータスコード
                query.AppendLine("		AND T_TL.TASK_STATUS_CODE         =   '10' ");

                // 検索日付条件
                if (flgChartSelect.DAY_FROM != new DateTime(0))
                {
                    query.AppendLine("  AND T_TL.TODO_YMD                 >=   @DAY_FROM ");
                    command.Parameters.Add(new SqlParameter("@DAY_FROM", flgChartSelect.DAY_FROM));
                }
                if (flgChartSelect.DAY_TO != new DateTime(0))
                {
                    query.AppendLine("  AND T_TL.TODO_YMD                 <=   @DAY_TO ");
                    command.Parameters.Add(new SqlParameter("@DAY_TO", flgChartSelect.DAY_TO));
                }
                // タスク種別コード条件
                if (flgChartSelect.TASK_KIND_CODE != Constants.TaskKind.ALL_00)
                {
                    query.AppendLine("  AND T_TL.TASK_KIND_CODE            =   @TASK_KIND_CODE ");
                    command.Parameters.Add(new SqlParameter("@TASK_KIND_CODE", flgChartSelect.TASK_KIND_CODE));
                }
                // タスクグループコード条件
                if (flgChartSelect.TASK_GROUP_CODE != Constants.TaskGroup.ALL_00)
                {
                    query.AppendLine("  AND T_TL.TASK_GROUP_CODE           =   @TASK_GROUP_CODE ");
                    command.Parameters.Add(new SqlParameter("@TASK_GROUP_CODE", flgChartSelect.TASK_GROUP_CODE));
                }
                #endregion

                if (flgChartSelect.CHART_INTERVAL == "DAY")
                {
                    query.AppendLine("		GROUP BY FINISHED_YMD, TASK_NO, PLAN_TIME, RESULT_TIME, PERCENT_TIME ");
                }
                else if (flgChartSelect.CHART_INTERVAL == "WEEK")
                {
                    query.AppendLine("		GROUP BY LEFT(T_TL.FINISHED_YMD, 9), TASK_NO, PLAN_TIME, RESULT_TIME, PERCENT_TIME ");
                }
                else if (flgChartSelect.CHART_INTERVAL == "MONTH")
                {
                    query.AppendLine("		GROUP BY LEFT(T_TL.FINISHED_YMD, 7), TASK_NO, PLAN_TIME, RESULT_TIME, PERCENT_TIME ");
                }
                query.AppendLine("	) TASKLIST_FOR_CHART ");
                query.AppendLine("GROUP BY FINISHED_YMD ");
                query.AppendLine("ORDER BY FINISHED_YMD ");

                command.CommandText = query.ToString();

                // SQLの実行
                SqlDataAdapter adapter = new SqlDataAdapter(command);

                adapter.Fill(taskChartTable);
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
            finally
            {
                // データベースの接続終了
                connection.Close();
            }

            return(taskChartTable);
        }