紹介した人・された人に報酬ポイントを出すための集計です。毎週、紹介の明細とアンケートの回答を突き合わせて、誰に何ポイント出すかを決めていました。難しい作業ではありませんが、お金が動くので間違えられません。
図は横にスクロールできます →
列の不足、IDの重複、期間外の回答などを先に見ます。おかしければ、そこで止めて先へ進みません。
ここが設計の中心です。集計する処理と検算する処理を別々に作り、計算のしかたを一切共有していません。片方が勘違いをしていても、もう片方が同じ勘違いをしないので、突き合わせれば分かります。
人数・合計ポイント・有効な紹介関係・期間内の回答数を突き合わせ、1つでも差があれば差し戻しにします。入力に不備が残っていれば「人が確認」で止めます。
合計が0のときも書き出しません。何も出ないはずの週に何かが出る、という事故を防ぎます。
入力・期間・各処理の結果・最終判定・開始と終了の時刻を残します。あとから「あの週は何だったか」を追えます。
図は横にスクロールできます →
※ 数値はすべて、この説明のために作ったサンプルです
図は横にスクロールできます →