
先に結論長時間ロックで仕事を止めず、競合時は差分と選択肢を利用者へ示します。
競合が起きる対象を洗い出す
顧客基本情報、案件状態、承認、在庫、予定など、複数人が触る項目を確認します。別項目の編集まで一律に止める必要があるかを検討します。
画面表示だけでなくCSV取込、API、夜間処理も同じデータを更新します。人の操作と自動処理を別物として見落としません。
版番号で古い保存を検出する
レコードの版や更新時刻を保存時に送り、現在版と違えば上書きを止めます。端末時刻だけで判定せず、サーバー側で確認します。
更新した人、時刻、変更項目を表示しますが、権限のない内容まで見せません。『エラー』だけでなく再読込や差分確認へ案内します。
ロックと差分を使い分ける
金額確定や締めなど同時編集できない処理は短いロック、備考や連絡先は差分確認など、影響に合わせます。ブラウザを閉じたまま永久ロックにしません。
自動マージは安全な別項目だけにし、同じ項目や業務状態の競合は利用者へ選ばせます。金額・在庫・承認は責任者判断を優先します。
競合後の復旧と履歴を試す
自分の入力をコピー・再適用できるようにし、競合検出で全内容を消しません。添付や長文も保持できるか確認します。
二つの端末、低速回線、保存直前の更新、API同時処理で再現テストします。上書き事故が起きた場合に変更履歴から比較・復元できる範囲を決めます。
相談前にそろえるもの
- 同時更新する対象
- 版番号・サーバー時刻
- ロック・差分
- 入力保持・再適用
- 履歴・復旧テスト
全部そろっていなくても構いません。分かる範囲を確認し、業務ルールや金額に関わる部分は担当者と一緒に決めます。