0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

在庫管理アプリの作成備忘録 C# WPFアプリ開発

Last updated at Posted at 2025-01-14

経緯

在庫管理したいものがある。
WPFでおしゃれなアプリを作りたい。
システム開発の知見をつけたい。
visual stugioに触れたい。

デモ

◎在庫一覧画面
在庫管理ライフサイクル:入荷後→研磨後→研磨後→入荷後 
入荷後から次の入荷までを1周期30日として2周期目は何本在庫があれば足りるか?を考えます。
今期の減り具合から30日後何本になっているかを予測します。

image.png

◎在庫登録画面(本日)
本日登録した明細を閲覧できます。
ラジオボタンで画面を切り替えます。
グラフで直感的に在庫の減り具合を確認します。

image.png

◎在庫登録画面(入荷後~本日)
入荷後~本日登録した明細を閲覧できます。
ラジオボタンで画面を切り替えます。

image.png

◎在庫削除画面
変更画面を押すと、削除扱いとなります。削除したものは予測から除外されます。グラフからも表示されません。

image.png

◎グループ番号とは
在庫管理ライフサイクル:入荷後→研磨後→研磨後→入荷後 
在庫ライフサイクルを管理するためのフラグです。入荷後登録を行うと、グループ番号が+1されて、以降グループ番号+1の在庫しか見れなくなります。

image.png

インストール&ダウンロードするもの

ポスグレSQL バージョン17をインストールすること。↓私が用意したグーグルドライブの中にインストーラーおいてます。
DBインストール時に聞かれるパスワードは admin71994 にしてください。

アプリケーション git cloneすること。

仕組み

アプリケーションからポスグレDBに在庫が記録されていきます。
初回起動時にDB、ユーザ、関数、テーブルがbatによって初期化処理(作成)されます。

squeegeeZaiko_App_2\zaiko\zaiko\bin\Release\net8.0-windows\postgresBackup\postgresRes.bat
このbatです。

作成する前にリストア対象のSqueegeeManagementテーブルに関するオブジェクトを全て削除しています。DBのバックをとってから実行を推奨します。

DB、ユーザはコード内で初期化処理されて、関数、テーブルがbatによって初期化処理されています。

実行方法

DBインストール→アプリダウンロード→

squeegeeZaiko_App_2\zaiko\zaiko\bin\Release\net8.0-windows\zaiko.exe
実行。

感想

MVVMという設計思想があるそうですがそれに基づいて作っていません。これからもどんどん入っていく分野であるならば勉強します。
このアプリはMとVMがくっついているかな。という感じです。

DB初期化処理について、batを使っていますが、コードで記述したほうがいいと思いますので次回はコードで初期化処理をします。

git cloneしないでZipダウンロードすると、batがunix形式(LF)で返ってきます。この形式だとwindowsで実行できないので初期化処理できずアプリケーションが立ち上がりません。
ここで半日悩みました。
やはりコードでDB初期化しようと身に沁みました。

おしゃれさ:VBAのユーザーフォームと比べるとおしゃれですが、youtubeに上がっているようなプロのおしゃれには程遠い。ユーザーに気持ちよく使ってもらうために精進する必要があります。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?