Loading...

社内システム開発日記:その60

前書き

お疲れ様です!
小手投げです。

来年入社の方の懇親会で渋谷のコーンバレーというお店に行きました。
料理7品に飲み放題も付いて3000円とコスパがよいお店だと思います。
私は余った料理を全部処理してました。

今回は日記です。

日記

DNAブックを読む

テンプレートからOS、DB等を削除

名前も開発環境テンプレートからプロジェクトテンプレートに

プロジェクトの案件名と期間以外を業務、アーキ、言語、工程(リテラル)に置き換える

プロジェクトの表示をそのまま検索対象とするというので検索対象テーブルと検索結果テーブルを用意

プロジェクトトランザクション、テンプレートマスタ、検索DBについて考えがまとまらないので小原さんに相談
以下のようになった

テンプレートマスタはID、名前(サマリー)、分類コード、内容、をカラムに持つ
分類(業務、言語等)を分けずに縦持ち
イメージとしては新規プロジェクト追加画面で、
分類コード毎にプルダウンがありプルダウンを押すとその分類コードに含まれる名前の一覧が表示される
それぞれ選択して決定すると、各内容が並んで表示される

テンプレートは画面からCRUDできるようにする

プロジェクトは案件名と期間以外を業務、アーキ、言語、工程(リテラル)に置き換える
横持ちのまま

検索DBについては検索対象、検索ワードマスタ、検索結果の3つのテーブルがある
検索対象テーブルは社員ID、プロジェクトID、期間、期間以外(業務、アーキ、言語、工程)を結合したリテラル、をカラムに持つ
検索ワードマスタは検索ワードID、検索ワード名、をカラムに持つ
検索結果テーブルは社員ID、検索ワードID、期間、をカラムに持つ

動きとしては、
検索ワードマスタに検索に使いそうなワードをつっこむ
日時で検索対象テーブルにプロジェクトトランザクションから期間以外を結合したデータをつっこむ
その際作成日時が前回実行日時より新しいものは挿入、更新日時なら更新
日時で検索ワード全部についてそれぞれ検索対象テーブルに検索をかけ、人ごとにまとめて期間を合算して検索結果テーブルにつっこむ

追加でエンジニア一覧で経験の長い言語やポジションを表示(Java○年、PM○年等)した方が良いのではという小原さんの意見
その場合、社員マスタにそれ用の表示カラムに追加し、検索結果テーブルからその人のレコード内容を結合してつっこむ
ただ全部表示するとえらい数になりそうなのでどれだけ表示するか、項目(言語、ポジション)毎に表示するかをどこで制御するか
決断までは至らなかった

後書き

検索DBの動きが中々わかりづらいです。

エンジニア一覧でも検索DBを使うとなると表示の条件が複雑になり大変そうです。

ではまた次回。

情報戦略テクノロジー