新規フォームを更新フォームに変える

kisyaman 17views 更新:2017年8月9日

結果的には解決したのですが、まだまとめられておりませんし、アンチパターンとなってしまっているかもしれないのでもう一度確認いたします。

新規フォームか更新フォームかは、以下の isedit という変数で決められております。問題は、2つの画面の片方で打刻をした後に、新規フォームを押してしまうと、打刻がすでにされているのにも関わらず「新規フォーム」と判定され、登録が重複してしまうという点です。

boolean isedit =
    (ALEipUtils.getTemp(rundata, context, ALEipConstants.ENTITY_ID) != null);

そこで、ユーザーと日にちを先に参照してから entity_id を探して、ALEipConstants.ENTITY_ID にセットすることで、更新フォームの流れに変更させました。こうすることで、大きな変更や追加をせずに、他の場合(当日の出勤打刻だけでなく、過去の時間の編集でも同様の問題あり)も解決できそうです。

ALEipUtils.setTemp(rundata, context, ALEipConstants.ENTITY_ID, String
      .valueOf(entity_id));

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません