要件
- Windows 10/11 で動作する
- アプリは2023年に開発したものを改修
- 言語はVisual Basic .NET
- 部署の標準であるため
- WinFormsを採用
- WPFは部署で採用されたことがないため
- 基幹システムから受注情報を取得する
- アプリから基幹システムへのアクセスにはWebサービス(SOAP)を使用
- 作業伝票に印字されたバーコード(受注番号)をリーダーで読み取って受注情報を指定
- 受注情報に対し、その日にどの程度作業したかを作業者が記録
- 作業者はノートPC端末を使用
- 記録された作業情報を承認者が確認、訂正する
- 承認者はノートPC端末を使用
- 承認した作業情報を基幹システムへ登録する
- アプリから基幹システムへのアクセスにはWebサービス(SOAP)を使用
- 作業する工程によって作業情報の項目が多少異なる
- 今回追加した機能
- 作業者が外部システムで入力した作業情報を取り込む
- データ形式はCSVファイル
- 1ファイル当たりの作業情報件数は1~100程度
- 複数のファイルを同時に取り込むことがある
挑戦したこと
- 使用者が色々な使い方をできるUIにする
- 取り込む前に全件チェックし、その結果を使用者に通知
- どのファイル、どのレコード、どの項目がどう間違っているか
- 間違っているデータは受注情報、業務ルールを元に自動修正
- 修正したものは使用者に通知
- 融通が利く登録方法
- 全件正常データだった場合のみ登録
- 指定したデータのみ登録
- バックグラウンドで走るだけのバッチ処理にしたくなかった
- 取り込む前に全件チェックし、その結果を使用者に通知
良かった点
- 外部システムに触れることができた
- 生成AIを活用できた
- テストデータがほとんどなかったため、作成してもらった
悪かった点
- 終始、今回機能追加する部分以外を書き直したい衝動に駆られていた
- 2年前の自分が書いたコードは別人が書いたもののように感じられた
- ただなんとなく書き直したくなることがある
- 開発に着手するまでの段取りが悪かった
- 機能追加の相談をもらった時に余裕がなく、なし崩しに開発が決まってしまった
- 次の機会には本当にやるべきか、いつどうやるか、などを議論したい