今の段階で売上帳としてほしい機能はほぼできた感じです。
僕としてはいよいよ第2段階へ突入です。
この売上帳に紐づく入金予定、支払予定を管理できるようにして、将来の資金繰りが見えるようにしていきたいと思います。
現在のテーブル構成は
- 売上帳テーブル
- 顧客テーブル
- スタッフテーブル
の3つですが
- 入金予定テーブル
- 原価テーブル
- 支払予定テーブル
の3つを新たに追加しました。
そして今回入金予定を登録できるようにフォームを作成しました。
今回もいろいろなところで苦戦したのですが、まず最初に新たにテーブルを作る際にどのようなテーブル構成にするかということでした。
本来ならアプリ設計の段階で考えることなのでしょうが、とりあえす手書きノートで作っている売上帳を代替できればいいと軽い気持ちで始めたのであまり深いことは考えていませんでした。
テーブル構成を考えるうえでER図というものを作るのが一般的だということで、ER図を作ってみることにしました。
最初はエクセルで作ってみようとしたのですがなかなかうまくできませんでした。
なにかER図を作るのに使いやすいものはないかと探してみると有料無料のものがいくつかあるようなのですが僕は無料で使えるMySQL Workbenchというものを使ってみることにしました。
今回作ったものがこれです。
こうしてER図を作成してみて、頭の中がスッキリしました。
どういうテーブルを作って、そのテーブルをどういう風につなげるのかが視覚的に確認できるようになったのでプログラミングしていて迷ったときはER図を見直すことで解決できるようになりました。
まず最初に入金予定から作っていくことにしました。
売上帳テーブル、顧客テーブル、スタッフテーブルの関連付けは特に考えることなくうまくできたのですが、売上帳テーブルと入金予定テーブルの関連付けはどのようにしたらいいのかわかりませんでした。
住宅建築の入金は、着手金、中間金、完工金と3回に分けて入金されることが一般的です。
一度に3回の入金予定を登録できるようにしたいです。
売上帳テーブルが親、入金予定テーブルが子となる関連付けをうまく作る方法としてcocoonというgemがあることを知りました。
cocoonを使って入金予定を登録できるようになりました。
こんな風に入金予定を登録します。
登録した入金予定が一覧で確認できます。
こちらから、どんなものを作っているのか見ていただくことができます。
※読み込みにすごく時間がかかるときがあります。
名前:samplekeiri
パスワード:password
でログインできます。
好きなように、登録、削除していただいて構いません。
コメント