関連レコード一覧集計:条件未合致によるマスタの「空白上書き」を回避する方法

お世話になっております。
「関連レコード一覧集計プラグイン」の挙動と設定について、仕様の認識合わせおよび回避策のご相談をさせてください。

現在、入社および社員情報の変更に伴うマスタ管理を検討しております。

アプリ構成と運用イメージ

  1. 履歴書アプリ:入社時に住所・氏名等を登録。アプリアクションで「社員マスタ」にデータをコピーし、レコード作成(社員番号は自動採番)。
  2. 社員マスタアプリ:社員の最新情報を管理するマスタ。
  3. 身上変更申請アプリ:住所と氏名の変更を申請するアプリ。

身上変更申請アプリの仕様

  • キー情報社員番号(社員マスタと紐付け)
  • プロセス管理ステータス00_未申請01_総務課確認中02_管理部長確認中03_完了
  • チェックボックス「申請種別」氏名変更住所変更(複数選択可)

実現したいこと

身上変更申請アプリが「03_完了」ステータスになった際、プラグインを用いて「社員マスタ」の該当フィールド(氏名・住所)を自動更新したいと考えています。
その際、「申請種別」のチェックに応じて、以下のように制御したいです。

  • 氏名変更にチェックがある場合 ➔ 氏名のみを更新
  • 住所変更にチェックがある場合 ➔ 住所のみを更新
  • 両方にチェックがある場合 ➔ 氏名・住所の両方を更新

直面している課題と認識の確認

プラグインの設定(添付画像参照)を進める中で、以下の挙動になるのではないかと懸念しております。私の認識が正しいかご教示いただけますでしょうか。

懸念1:ステータスが「03_完了」になる前の挙動について

初めてその社員番号で変更申請が出された際(=身上変更申請アプリに該当社員の過去レコードが無い状態)、ステータスが「00_未申請」〜「02_管理部長確認中」の間は、集計条件(ステータス=03_完了)を満たすレコードが1件も存在しない状態になります。
この時、プラグインの集計が動くと、一時的に社員マスタの氏名や住所が「空白」に上書きされてしまうという認識で合っていますでしょうか。

懸念2:片方の変更(氏名のみ、または住所のみ)の時の挙動について

例えば「氏名変更」のみにチェックを入れて申請し「03_完了」となった場合、住所側の集計条件(例:申請種別=住所変更、かつステータス=03_完了)を満たすレコードが存在しない状態になります。
この場合、氏名は正しく更新されるものの、住所側は該当レコードなし(空情報)として判断され、社員マスタの住所フィールドが「空白」になってしまうという認識で合っていますでしょうか。


質問事項

  1. 上記の「懸念1」「懸念2」に関する私の仕様認識は正しいでしょうか。
  2. もし認識が正しい場合、「未完了の間や、チェックがない方の項目が空白に上書きされてしまう現象」を回避する設定方法や運用アイデア(例:別プラグインの組み合わせや、集計条件・アプリ構成の工夫など)がございましたら、ご教示いただけますと幸いです。

お手数をおかけしますが、アドバイスのほどよろしくお願いいたします。

  1. 上記の「懸念1」「懸念2」に関する私の仕様認識は正しいでしょうか。

はい。

rex0220 関連レコード集計プラグイン 身上変更申請例を作ってみましたので、ご参考になれば。

  • 申請の流れ

  • 関連レコード集計プラグイン設定

申請種別ごとに、処理を設定します。
対象アプリ条件の社員番号に、処理対象の場合は「社員番号」。対象外の場合は「0」とします。
自レコードの処理状況に"完了"をセットします。

詳細は、下記を参照してください。

「いいね!」 1

わざわざ記事をご作成いただき、誠にありがとうございます。
やりたかったことが実現し、とても嬉しく存じます。

恥ずかしながら、元々本プラグインの設定方法を理解できていないことが原因なのですが、集計条件として「$id=$id」を設定する理由がよく分かっておりません。

集計条件とは「集計元アプリのレコード抽出条件」と理解しております。
今回の設定をご教示いただく前は、「社員番号が同じで、ステータスが完了になっているレコードを変更日降順でソートし、最初の有効な値のあるレコードの値を集計する」という意味で設定しておりました。

大変恐縮ですが、今回の「$id=$id」という集計条件を上記のように口語的に説明するとどのようになりますでしょうか?
その1レコードだけを集計対象とするために「$id=$id」と設定するのでしょうか?

大変恐縮ですが、今回の「$id=$id」という集計条件を上記のように口語的に説明するとどのようになりますでしょうか?

下記が今回の要件のため、プロセス管理で自レコードがステータスが完了になったときに、社員マスタを自レコードの値で更新する必要があります。
そのため、更新元の情報はステータス変更が行われた自レコード($id=$id)のみとします。

・身上変更申請アプリが「03_完了」ステータスになった際、プラグインを用いて「社員マスタ」の該当フィールド(氏名・住所)を自動更新

また、完了後のレコード更新などで社員マスタを更新しないように、対象アプリ条件で処理状況が"完了"の場合は、更新対象外にします。

「いいね!」 1

自レコードだけ集計対象にするという書き方はそのように表現できるのですね。
とても勉強になりました。

この度はご丁寧に解説いただきありがとうございました。
まだまだ勉強不足で恐縮ですが、今後ともよろしくお願いいたします。

「いいね!」 1

このトピックは最後の返信から 60 分が経過したので自動的にクローズされました。新たに返信することはできません。