001/* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016package org.opengion.plugin.query; 017 018// import org.opengion.fukurou.system.DateSet; // 6.4.2.0 (2016/01/29) 019// import org.opengion.hayabusa.db.DBConstValue; 020 021/** 022 * データベース登録時に、固定値カラムの設定を行う情報を管理するクラスです。 023 * このクラスは、GrowingMIS用の管理クラスです。 024 * 具体的には、 025 * 更新フラグ FGJ 026 * 作成日時 DYSET 027 * 作成社員 USRSET 028 * 作成PG PGSET (6.9.6.0 (2018/05/07) 追加) 029 * 更新日時 DYUPD 030 * 更新社員 DYUPD 031 * 更新PG PGUPD 032 * などの情報を、INSERT、UPDATE の状況に応じて提供します。 033 * INSERT には、すべての情報(XXUPD)にも値をセットします。 034 * これは、UPDATE された日付や時刻で、一覧検索できるようにする為で、 035 * null にしておくと、IS NULL で問い合わせる必要があります。 036 * INSERT データだけ取出す場合は、WHERE DYSET = DYUPD とします。 037 * 038 * コンストラクターでは、テーブル名、ユーザーID,画面ID を受け取ります。 039 * 登録時刻は、このオブジェクトが生成された時間を通常は使用します。 040 * テーブル名を渡すのは、ワークなど、テーブル単位に処理するカラムが 041 * 異なるので、それへの対応です。 042 * 処理が簡素化できるように、ルールを規定すべきです。 043 * 044 * @og.rev 4.1.2.0 (2008/03/12) 新規追加 045 * @og.rev 8.5.6.1 (2024/03/29) DBConstValue_GE を継承して使用します。 046 * @og.group データ登録 047 * 048 * @version 4.0 049 * @author Kazuhiko Hasegawa 050 * @since JDK5.0, 051 */ 052// public class DBConstValue_GG implements DBConstValue { 053public class DBConstValue_GG extends DBConstValue_GE { 054 /** このプログラムのVERSION文字列を設定します。 {@value} */ 055 private static final String VERSION = "8.5.6.1 (2024/03/29)" ; 056 057// * @og.rev 8.5.6.1 (2024/03/29) 継承元と同じなので削除 058//// private static final String[] MSTR_INSKEYS = { "FGJ","DYSET","DYUPD","USRSET","USRUPD","PGUPD" }; 059// private static final String[] MSTR_INSKEYS = { "FGJ","DYSET","DYUPD","USRSET","USRUPD","PGSET","PGUPD" }; // 6.9.6.0 (2018/05/07) PGSET 追加 060// 061// private static final String[] MSTR_UPDKEYS = { "FGJ","DYUPD","USRUPD","PGUPD" }; 062// 063// private static final String[] MSTR_LOGDELKEYS = { "FGJ","DYUPD","USRUPD","PGUPD" }; // 4.3.7.0 (2009/06/01) 064// 065// private static final String[] ZERO = new String[0] ; 066// 067// private String[] insKeys = ZERO; 068// private String[] insVals = ZERO; 069// 070// private String[] updKeys = ZERO; 071// private String[] updVals = ZERO; 072// 073// private String[] logDelKeys = ZERO; // 4.3.7.0 (2009/06/01) 074// private String[] logDelVals = ZERO; // 4.3.7.0 (2009/06/01) 075 076 /** 077 * デフォルトコンストラクター 078 * 079 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. 080 */ 081 public DBConstValue_GG() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。 082 083// /** 084// * 初期化情報を設定します。 085// * 086// * @og.rev 6.4.2.0 (2016/01/29) DateSet.getDate( String ) を利用するように修正します。 087// * @og.rev 6.9.6.0 (2018/05/07) PGSET 追加 088// * @og.rev 8.5.6.1 (2024/03/29) 継承元と同じなので削除 089// * 090// * @param table テーブル名 091// * @param user ユーザーID 092// * @param gamen 画面ID 093// */ 094// @Override // DBConstValue 095// public void init( final String table, final String user, final String gamen ) { 096// if( isUseClm( table ) ) { 097// final String userID = "'" + user + "'"; 098// final String gamenID = "'" + gamen + "'"; 099// final String timestamp = "'" + DateSet.getDate( "yyyyMMddHHmmss" ) + "'" ; // 6.4.2.0 (2016/01/29) 100// 101// insKeys = MSTR_INSKEYS; 102// insVals = new String[] { 103// "'1'" // FGJ 104// ,timestamp // DYSET 105// ,timestamp // DYUPD 106// ,userID // USRSET 107// ,userID // USRUPD 108// ,gamenID // 6.9.6.0 (2018/05/07) PGSET 109// ,gamenID // PGUPD 110// }; 111// 112// updKeys = MSTR_UPDKEYS; 113// updVals = new String[] { 114// "'1'" // FGJ 115// ,timestamp // DYUPD 116// ,userID // USRUPD 117// ,gamenID // PGUPD 118// }; 119// 120// // 4.3.7.0 (2009/06/01) 121// logDelKeys = MSTR_LOGDELKEYS; 122// logDelVals = new String[] { 123// "'9'" // FGJ 124// ,timestamp // DYUPD 125// ,userID // USRUPD 126// ,gamenID // PGUPD 127// }; 128// } 129// } 130 131// /** 132// * インサートする場合のキー配列を返します。 133// * 134// * 指定の値がなければ、長さゼロ配列を返します。 135// * 136// * @og.rev 4.3.1.1 (2008/08/23) 変更可能なオブジェクトの参照を直接返さないようにします。 137// * @og.rev 8.5.6.1 (2024/03/29) 継承元と同じなので削除 138// * 139// * @return インサートする場合のキー配列(非null) 140// * @og.rtnNotNull 141// */ 142// @Override // DBConstValue 143// public String[] getInsertKeys() { 144// return insKeys.clone(); 145// } 146 147// /** 148// * インサートする場合の値配列を返します。 149// * 150// * 指定の値がなければ、長さゼロ配列を返します。 151// * 152// * @og.rev 4.3.1.1 (2008/08/23) 変更可能なオブジェクトの参照を直接返さないようにします。 153// * @og.rev 8.5.6.1 (2024/03/29) 継承元と同じなので削除 154// * 155// * @return インサートする場合のキー配列(非null) 156// * @og.rtnNotNull 157// */ 158// @Override // DBConstValue 159// public String[] getInsertVals() { 160// return insVals.clone(); 161// } 162 163// /** 164// * アップデートする場合のキー配列を返します。 165// * 166// * 指定の値がなければ、長さゼロ配列を返します。 167// * 168// * @og.rev 4.3.1.1 (2008/08/23) 変更可能なオブジェクトの参照を直接返さないようにします。 169// * @og.rev 8.5.6.1 (2024/03/29) 継承元と同じなので削除 170// * 171// * @return アップデートする場合のキー配列(非null) 172// * @og.rtnNotNull 173// */ 174// @Override // DBConstValue 175// public String[] getUpdateKeys() { 176// return updKeys.clone(); 177// } 178 179// /** 180// * アップデートする場合の値配列を返します。 181// * 182// * 指定の値がなければ、長さゼロ配列を返します。 183// * 184// * @og.rev 4.3.1.1 (2008/08/23) 変更可能なオブジェクトの参照を直接返さないようにします。 185// * @og.rev 8.5.6.1 (2024/03/29) 継承元と同じなので削除 186// * 187// * @return アップデートする場合のキー配列(非null) 188// * @og.rtnNotNull 189// */ 190// @Override // DBConstValue 191// public String[] getUpdateVals() { 192// return updVals.clone(); 193// } 194 195// /** 196// * デリート(論理削除) する場合のキー配列を返します。 197// * 198// * 指定の値がなければ、長さゼロ配列を返します。 199// * 200// * @og.rev 4.3.7.0 (2009/06/01) 新規作成 201// * @og.rev 8.5.6.1 (2024/03/29) 継承元と同じなので削除 202// * 203// * @return デリートする場合のキー配列(非null) 204// * @og.rtnNotNull 205// */ 206// @Override // DBConstValue 207// public String[] getLogicalDeleteKeys() { 208// return logDelKeys.clone(); 209// } 210 211// /** 212// * デリート(論理削除) する場合の値配列を返します。 213// * 214// * 指定の値がなければ、長さゼロ配列を返します。 215// * 216// * @og.rev 4.3.7.0 (2009/06/01) 新規作成 217// * @og.rev 8.5.6.1 (2024/03/29) 継承元と同じなので削除 218// * 219// * @return デリートする場合のキー配列(非null) 220// * @og.rtnNotNull 221// */ 222// @Override // DBConstValue 223// public String[] getLogicalDeleteVals() { 224// return logDelVals.clone(); 225// } 226 227 /** 228 * カラムを返すかどうかを決めるロジック 229 * 230 * テーブル名より、ロジック的に導き出します。 231 * 232 * @og.rev 8.5.6.1 (2024/03/29) 継承で使えるように一部修正 233 * 234 * @param table テーブル名 235 * 236 * @return カラムを返すかどうか(true:カラムを生成/false:カラムは生成しない) 237 */ 238 @Override // AbstractDBConstValue 239// private boolean isUseClm( final String table ) { 240 protected boolean isUseClm( final String table ) { 241 return table != null && table.startsWith( "GG" ) ; 242 } 243}