目黒でカレーを食べた。
お店の店長がよく喋る人で、最初見た時にはとても店長さんだとは思えなかった。
お味の方はとても素晴らしく、これを毎日食べたらとても幸せだろうなぁと思った。
どうも僕は胃下垂らしい。
食べた後は腰を伸ばしたい衝動に駆られたりお腹がいたくなったりする症状は通常の現象ではないらしい。
あんなに食べたのに何故すぐにお腹がすくのだろうと今日も思う。
歯が十数本抜けてしまった夢をみた。
夢占いとかでの「歯」の意味は仕事関係にあるらしく、歯が抜けてしまう事は仕事で失敗しないかどうかの不安とか、仕事上でなんらかの変化を示す予兆だのとかいう意味らしい。
週末、あぐらをかいて長時間ゲームをしていたわけなのだが、どうもその事が原因で痔がひどくなったような気がする。
あまり気持ちが悪いので、早め(22時くらい)に会社をあがる事にした。
母の誕生日だった。…という事を催促の電話で思い出した。
そう言えば去年は自分の誕生日も忘れていたし、日付とそういったイベントとが結びつかないような思考になってきた。
携帯電話の広告メールがあまりにもひどいので、iモード以外からのメールは全て拒否設定を行う。
これでインターネット経由のメールは全てシャットアウトされるのだが、ezwebやらJ-phoneやらのメールも全てシャットアウト。
一応例外条件で「@ezweb.ne.jp」とは入れてみたものの、実際にちゃんと届くかどうかは未確認。
カネボウ<ロッテ<グリコ
硬さの相関関係
今月のあなたは、ちょっぴり自信なげです。ライバルと比較して、自分が劣っていると思い込んだり、強引な人に、ついつい振り回されてしまったり。あなたの良さはちっとも変わらないはず。もっとあなたの個性、あなたの能力に自信をもって下さい。ところで今月は、知性運が乱れています。とかく勘違いを起こしがち。ことに、連絡ミスは大きなトラブルに発展します。大切な用件は、しっかり確認しておきたいものです。恋愛運は、わがままを聞いてばかりいてはだめ。時には、ノーを言うことだってなくては。
BigDecimalはNULL回避するように。
時々はぼんやり考える。
SubReport使用時(ReportForm内) 合理的かどうかは不明
setUp()内で、メインとなるRowSetの他にサブ用のRowSetを用意してSQLをセット。
firstFlagチェック内でSubReportSectionを定義し、サブ用のRowSetをセット。
後、fistFlagを寝かせる。
public void setUp() throws Exception {
ParamSet paramSet = new ParamSet();
paramSet.setDataSource(xDataSources[0]);
rsMain.setClientConnection(getConnection());
rsMain.setQueryActionName("xxxxxxxxxx");
rsMain.addDataHandleListener(this);
rsNyuka.setClientConnection(getConnection());
rsNyuka.getParamSet().addParam(H.HUKUGO_TORIHIKI_ID, Type.BIGDECIMAL, ParamType.IN);
rsNyuka.setQueryActionName("xxxxxxxxxx");
rsShukka.setClientConnection(getConnection());
rsShukka.getParamSet().addParam(H.HUKUGO_TORIHIKI_ID, Type.BIGDECIMAL, ParamType.IN);
rsShukka.setQueryActionName("xxxxxxxxxx");
if (this.firstFlag) {
this.loadProperty(this.xmlFileURL);
SubReportSection subNyuka = (SubReportSection)(this.getSectionByName("SubReportSection1"));
subNyuka.setRowSet(rsNyuka);
SubReportSection subShukka = (SubReportSection)(this.getSectionByName("SubReportSection2"));
subShukka.setRowSet(rsShukka);
this.setRowSet(rsMain);
this.firstFlag = false;
}
rsMain.getParamSet().copy(xDataSources[0]);
}
前処理(beforeCreate())内で、各RowSetをアクティブにして、バインドパラメータを直接代入。
public void beforeCreate() throws Exception{
//バインドするパラメータをSubReportのQueryに代入
if (rsMain.isActive()) rsMain.setActive(false);
rsMain.setActive(true);
if (rsNyuka.isActive()) rsNyuka.setActive(false);
rsNyuka.getParamSet().getBigDecimal(H.HUKUGO_TORIHIKI_ID);
rsNyuka.setActive(true);
if (rsShukka.isActive()) rsShukka.setActive(false);
rsShukka.getParamSet().getBigDecimal(H.HUKUGO_TORIHIKI_ID);
rsShukka.setActive(true);
}
これで一応動きます。
サーバーの調子が悪いのは、ボクのSQLのせいだと言う事が判明した。
よってTempRowSetを使用する事にする。
/*日付関係のフォーマットをセット*/
rsEdit.getColumn(S.SHUKKABI).setFormatPattern("yyyy/MM/dd");
フォーマットパターンは間違わないように
for (int i = 0; i < hListEdit.getFieldCount(); i++) {
if(hListEdit.getField(i).isVisible())
System.out.println(hListEdit.getField(i).getCaption());
}
表示画面のチェック用
onFieldSetUp中にまわす。
public final static String ZAIHURI_KUBUN_URIAGE = "1"; public final static String ZAIHURI_KUBUN_URIAGE_NAME = "売上"; public final static String ZAIHURI_KUBUN_SHUKKO = "2"; public final static String ZAIHURI_KUBUN_SHUKKO_NAME = "出庫"; public final static String ZAIHURI_KUBUN_SHANAI_URIAGE = "3"; public final static String ZAIHURI_KUBUN_SHANAI_URIAGE_NAME = "社内売上"; public final static String ZAIHURI_KUBUN_TAKANJO_SHUKKO = "4"; public final static String ZAIHURI_KUBUN_TAKANJO_SHUKKO_NAME = "他勘定出庫"; public final static String ZAIHURI_KUBUN_HOKANBASHO_HENKO = "5"; public final static String ZAIHURI_KUBUN_HOKANBASHO_HENKO_NAME = "保管場所変更"; public final static String ZAIHURI_KUBUN_SHIIRE_HENPIN = "6"; public final static String ZAIHURI_KUBUN_SHIIRE_HENPIN_NAME = "仕入返品"; public final static String ZAIHURI_KUBUN_KAKO_SHUKKO = "7"; public final static String ZAIHURI_KUBUN_KAKO_SHUKKO_NAME = "加工出庫";
CodeManagerに定義してコンボにする。後、ReadOnlyで表示する。
秋葉原にX-Boxを見に行った…が、コンパニオンのお姉さんの方が気になった。
エクスプローラーのショートカットキーを発見する。
「Windowキー」+「E」
オレなんかが人のソースを直すなんて10年早いのかな…。
よけいなお世話だったのかもと思い始める。
しあわせって何だろうと思ってみる。
お茶の水で常駐。2ヶ月は帰らない予定。
早く終わらないかなぁ。
「焦ってやってもデグレード起こさない?」 って事で余裕を持ってやるようにこころがける事にする。
for (int l = 0; l < rsShukkaId.getRowCount(); l++) {
rsShukkaId.moveAt(l);
System.out.println("" + rsShukkaId.getValueAsString(S.SHUKKA_ID));
}
RowSetの中身を取得するにはgetValueAsString()が最適?
getParamSet()はバインド変数を使用する際に必要で、使わない時は必要ない。
|
Form
for (int i = 0; i < rsList.getRowCount(); i++) {
rsList.moveAt(i);
vCheckBox.removeAllElements();
//部門毎に出荷IDを取得
for (int j = 0; j < checkCount.length; j++) {
if (rsDate.getBoolean(checkHead[j]) ||
rsList.getBoolean(checkCount[j])) {
//出荷日を取得
vCheckBox.addElement(new Integer(j-1));
}
}
if (!vCheckBox.isEmpty()) {
if (rsShukkaId.isActive()) rsShukkaId.setActive(false);
rsShukkaId.getParamSet().setString(H.HOKANBASHO_CODE, param.getString(H.HOKANBASHO_CODE));
rsShukkaId.getParamSet().setString(B.BUMON_CODE, rsList.getParamSet().getString(B.BUMON_CODE));
rsShukkaId.getParamSet().setObject(S.SHUKKABI, vCheckBox);
rsShukkaId.setActive(true);
}
}
Query
今日以前のビューと今日以降のビューを使用
SELECT A.BUMON_CODE,
M010.BUMON_NAME,
DECODE(B.CHIEN_CNT,'',0,B.CHIEN_CNT) CHIEN_CNT,
A.CNT1,
A.CNT2,
A.CNT3,
A.CNT4,
A.CNT5,
A.TOTAL_CNT - (B.CHIEN_CNT+A.CNT1+A.CNT2+A.CNT3+A.CNT4+A.CNT5) IKO_CNT
FROM (SELECT BUMON_CODE,
SUM(CNT) TOTAL_CNT,
MAX(DECODE(SHUKKABI,TRUNC(SYSDATE),CNT,0))
CNT1,
MAX(DECODE(SHUKKABI,TRUNC(SYSDATE+1),CNT,0)) CNT2,
MAX(DECODE(SHUKKABI,TRUNC(SYSDATE+2),CNT,0)) CNT3,
MAX(DECODE(SHUKKABI,TRUNC(SYSDATE+3),CNT,0)) CNT4,
MAX(DECODE(SHUKKABI,TRUNC(SYSDATE+4),CNT,0)) CNT5
FROM (SELECT D700.BUMON_CODE,
D700.SHUKKABI,
COUNT(D700.SHUKKABI) CNT
FROM D700_SHUKKA D700,
D010_TORIHIKI D010
WHERE D700.JIDO_SAIBAN = D010.JIDO_SAIBAN
AND D700.SHUKKA_JOTAI = '0'
AND D700.SHUKKA_SHIJIHYO_OUTPUT_FLAG = '0'
AND D700.BUMON_CODE = NVL(null,D700.BUMON_CODE)
AND D700.HOKANBASHO_CODE = '00510'
GROUP BY D700.BUMON_CODE, D700.SHUKKABI
)
GROUP BY BUMON_CODE
) A,
(SELECT D700.BUMON_CODE,
COUNT(D700.SHUKKABI) CHIEN_CNT
FROM D700_SHUKKA D700,
D010_TORIHIKI D010
WHERE D700.JIDO_SAIBAN = D010.JIDO_SAIBAN
AND D700.SHUKKA_JOTAI = '0'
AND D700.SHUKKA_SHIJIHYO_OUTPUT_FLAG = '0'
AND D700.BUMON_CODE = NVL(null,D700.BUMON_CODE)
AND D010.HAMBAISAKI_KONYUSAKI_CODE = NVL(null,D010.HAMBAISAKI_KONYUSAKI_CODE)
AND D700.HOKANBASHO_CODE = nvl(null,D700.HOKANBASHO_CODE)
AND D700.HOKANBASHO_CODE = '00510'
AND D700.SHUKKABI < TRUNC(SYSDATE)
GROUP BY D700.BUMON_CODE
) B,
M010_BUMON M010
WHERE A.BUMON_CODE = B.BUMON_CODE(+)
AND A.BUMON_CODE = M010.BUMON_CODE