前提
①batch_idを引数に、下記DBのテーブルからコード値(code_value)を取得
尚、code_valueは他のバッチ処理で更新されることがあり、batch_idによってcode_valueの上限は異なります。
batch_id | code_value |
---|---|
JKL-095 | 0 |
HJK-012 | 1 |
BBD-242 | 1 |
KSG-67 | 3 |
②List型のDTOを返却(List<batchCodeDto>)
③取得したコード値を元に、設計書で記載された文字列を、返却されたListに追加して返却
見づらくて申し訳ないですが、0:新規登録の場合、取得したcode_valueが0だったら、"新規登録"という文字列を追加で返却したい意図になります。
batch_id | code_value |
---|---|
JKL-095 | 0:新規登録, 1:更新, 2:削除 |
HJK-012 | 0:個人, 1:法人 |
BBD-242 | 0:直接契約, 1:請負契約, 2:業務委託, 3:準委任契約, 4:派遣契約 |
KSG-67 | 0:月初締め・清算が15日/振り込みが25日, 1:月初締め・清算が月末/振り込みが1日, 2:月末締め・清算が翌月15日/振り込みが翌月25日, 3:月末締め・清算が翌々月末/振り込みが翌々月1日, 4:10日締め・清算が25日/振り込みが翌月1日 |
質問
上記③にもありますが、取得したcode_valueの値から、紐づく文字列をcontent変数としてListに追加したいのですが、
・DTOにcontentを用意しておいて、そこに格納するのが定石でしょうか?それとも後からロジックで返却されたオブジェクトに追加するものでしょうか?
・if文は以下コードのような記載だと冗長な気がするのですが、スマートな記述がありましたらご教示ください。
該当のソースコード
java
1// テーブルからデータ取得後のロジックのみ記述 2if (batch_id.equals("JKL-095")) { 3 if (code_value == 0) { 4 content = "新規登録"; 5 } else if (code_value == 1) { 6 content = "更新"; 7 } else if (code_value == 2) { 8 content = "削除"; 9 } 10} else if (batch_id.equals("HJK-012")) { 11 if (code_value == 0) { 12 content = "個人"; 13 } else if (code_value == 1) { 14 content = "法人"; 15 } 16} else if (batch_id.equals("BBD-242")) { 17 if (code_value == 0) { 18 content = "直接契約"; 19 } else if (code_value == 1) { 20 content = "請負契約"; 21 } else if (code_value == 2) { 22 content = "業務委託"; 23 } else if (code_value == 3) { 24 content = "準委任契約"; 25 } else if (code_value == 4) { 26 content = "派遣契約"; 27 } 28} else if (batch_id.equals("KSG-67")) { 29 if (code_value == 0) { 30 content = "月初締め・清算が15日/振り込みが25日"; 31 } else if (code_value == 1) { 32 content = "月初締め・清算が月末/振り込みが1日"; 33 } else if (code_value == 2) { 34 content = "月末締め・清算が翌月15日/振り込みが翌月25日"; 35 } else if (code_value == 3) { 36 content = "月末締め・清算が翌々月末/振り込みが翌々月1日"; 37 } else if (code_value == 4) { 38 content = "10日締め・清算が25日/振り込みが翌月1日"; 39 } 40} 41 42// 別のリストに詰め替えて返却すべき? 43batchCodeDto.add(content);
補足情報(FW/ツールのバージョンなど)
java17


回答2件
あなたの回答
tips
プレビュー