dentsusoken / iPLAss

Java-based open source low-code development platform for enterprise
https://iplass.org/
GNU Affero General Public License v3.0
68 stars 25 forks source link

gem、CSVアップロード、バージョン管理されていて無効データしか存在しない場合に、NEW_VERSIONとして更新できるようにする(3.1) #1626

Closed xkazama-yukio3 closed 2 months ago

xkazama-yukio3 commented 2 months ago

対応内容

同じOIDに対して無効データのみのEntityデータに対して、CSVアップロードを利用して、「新しいバージョンとして更新」しようとしても「新規追加」として、別のOIDデータとして登録されてしまう。 登録済の状態を判定する際に、無効データも含めたチェックを行う。 fixes #1625

補足情報

バージョン管理Entityに対して、

  1. CSVでバージョンが指定されている場合  全バージョン含めて指定された oid 、version のデータが存在するか検索 1.1. 指定バージョンが存在する場合は対象バージョンを更新 (UPDATE_SPECIFIC) 1.2. 指定バージョンが存在しない場合は、oid で登録状態をチェック  有効データに指定された oid のデータが存在するか検索 1.2.1. 有効データに oid データが存在する場合は、新しいバージョンとして追加 (UPDATE_NEW)  新しいバージョンの元となるバージョンは有効データとする(version=nullで更新) 1.2.2. 有効データに oid データが存在しない場合は、全バージョン含めて oid の登録状態をチェック  全バージョン含めて指定された oid のデータが存在するか検索 1.2.2.1. 全バージョンに oid データが存在する場合は、新しいバージョンとして追加 (UPDATE_NEW)  新しいバージョンの元となるバージョンは登録済 version のMAX値データとする 1.2.2.2 全バージョンに oid データが存在しない場合は、追加する (INSERT)

  2. CSVでバージョンが指定されていない場合  有効データに指定された oid のデータが存在するか検索。1.2と同様のチェックを行う。