PK¤Ë¤Ï¡Ö¥×¥í¥¸¥§¥¯¥ÈÅÐÏ¿¤Ç±ÜÍ÷¸ÂÄê¼Ò°÷¤òÅÐÏ¿¤·¤Æ¤â±ÜÍ÷¤Ç¤¤Æ¤·¤Þ¤¤¤Þ¤¦¡×¤È¤¤¤¦ÌäÂ꤬¤¢¤Ã¤¿¤¿¤á¡¢¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤¤Ê¤¤¤«¤ò»î¤·¤Æ¤ß¤Þ¤·¤¿¡£
¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤¿¤á¤ËWindows´Ä¶¤ËDB2Express-C¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¤¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤¿ProjectKeeper¤Î¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¤¢¤ëinstall.bat¤ò¼Â¹Ô¤¹¤ë¡£
install.bat¤Î¼Â¹Ô¸å¤ËÀ¸À®¤µ¤ì¤¿war¥Õ¥¡¥¤¥ë¤òTomcat¤Îwebapps¥Õ¥©¥ë¥À¤Ë¥Ç¥£¥×¥í¥¤¤·¡¢¤Þ¤º¤Ïưºî³Îǧ¤ò¹Ô¤Ã¤Æ¤ß¤¿¤È¤³¤íÌäÂê¤Ê¤¯²Ôư¤Ç¤¤¿¡£
¼¡¤Ëeclipse¤Ç¿·µ¬¥×¥í¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢Å¸³«¤µ¤ì¤¿war¥Õ¥¡¥¤¥ë¡Êpk¥Õ¥©¥ë¥À¡ËÆâ¤Î¥½¡¼¥¹¤ª¤è¤Ó¥é¥¤¥Ö¥é¥ê¤òÀßÃÖ¤·¤¿¡£
¥Ó¥ë¥É¤·¤Æ¤ß¤ë¤È¡¢°Ê²¼¤ÎÂÀ»úÉôʬ¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¥½¡¼¥¹¤«¤é·çÍ¤Æ¤¤¤ë¤¿¤á¡¢´°Á´¤Ë¥Ó¥ë¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
¤³¤Î¤¿¤á¥Ó¥ë¥É¤ËɬÍפÊÂÀ»úÉôʬ¤Î¥Ñ¥Ã¥±¡¼¥¸¤È¥½¡¼¥¹Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¤â¤Î¤òjar¥Õ¥¡¥¤¥ë¤Ê¤É¤Î°Í¸¥é¥¤¥Ö¥é¥ê¤È¤·¤ÆºîÀ®¤·²ÔƯ´Ä¶¤òÀ°¤¨¤ëɬÍפ¬¤¢¤ë¡£
¤Ä¤Þ¤ê°Ê²¼¤Î¥Ñ¥Ã¥±¡¼¥¸Éôʬ¤Ë´Ø¤·¤Æ¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¤È¤¤¤¦¤³¤È¤À¡£
¥½¡¼¥¹Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¥é¥¤¥Ö¥é¥ê
com.sios.applications
¨² job
¨² mobile
¨± web
¡¡¡¡ ¨² anken
¡¡¡¡ ¨² calendar
¡¡¡¡ ¨² customer
¡¡¡¡ ¨² mitsumori
¡¡¡¡ ¨² mokuhyo
¡¡¡¡ ¨² nippo
¡¡¡¡ ¨² personalcustomer
¡¡¡¡ ¨² schedule
¡¡¡¡ ¨² seminar
¡¡¡¡ ¨² setsubi
¡¡¡¡ ¨² uriage
¡¡¡¡ ¨± yosan
¾åµ¤Î¤è¤¦¤Ë¥ª¡¼¥×¥ó¥½¡¼¥¹¤È¤¤¤¤¤Ê¤¬¤é̵½þÈÇ¥½¡¼¥¹¤ò³«¼¨¤·¤Æ¤¤¤Ê¤¤ÅÀ¤ä¥Æ¡¼¥Ö¥ë¿ô¤¬£²£²£°¸Ä¤Û¤É¤¢¤ë¤Ë¤â´Ø¤ï¤é¤º¡¢¤½¤ì¤Ë´Ø¤¹¤ë»ñÎÁ¤â³§Ìµ¡£¤»¤á¤ÆER¿Þ¤È¥Æ¡¼¥Ö¥ëÀß·×½ñ¤Î¤è¤¦¤Ê¤â¤Î¤Ï¤Û¤·¤¤¡£
¤Þ¤¿Â¸ºß¤·¤Æ¤¤¤ë¥½¡¼¥¹¤«¤éJavadoc¤òºî¤ê¡¢³µÍפÎÇİ®¤ò¤·¤¿¤¤¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤Ê¤¤¤Î¤ÇÈó¾ï¤Ë¤ï¤«¤ê¤Ë¤¯¤¤¡£
¤µ¤Æ¥×¥í¥¸¥§¥¯¥È¥ê¥¹¥È¤ò½ÐÎϤ·¤Æ¤¤¤ë½èÍý¤ò²þÊÔ¤¹¤ë¤¿¤á¡¢³ºÅöSQL¤¬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò¥í¥°½ÐÎϤµ¤»¤ë¡£
¥í¥°½ÐÎϤÏlog4j¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢°Ê²¼¤Î¤â¤Î¤òÄɲä·¡¢tomcat¤òºÆµ¯Æ°¤¹¤ë¤È¥í¥°¤¬½ÐÎϤǤ¤ë¤è¤¦¤Ë¤Ê¤ë¡£
log4j.category.com.tenartni.ninjava.sql.SQLLogger=DEBUG, SQL
log4j.appender.SQL=org.apache.log4j.DailyRollingFileAppender
log4j.appender.SQL.File=C:/siosApp/log/sql.log
log4j.appender.SQL.layout=org.apache.log4j.PatternLayout
log4j.appender.SQL.layout.ConversionPattern=%d %m%n
log4j.appender.SQL.Threshold=DEBUG
ËÜ¥·¥¹¥Æ¥à¤ÎSQL¤Ï¥¯¥é¥¹Ì¾¤ÈƱ̾¤ÎXML¥Õ¥¡¥¤¥ë¤ËµºÜ¤·¤Æ¤¤¤ë¤è¤¦¤Ê¤Î¤Ç¡¢grep¤ò¹Ô¤Ã¤¿¤¬¤É¤¦¤·¤Æ¤â¸«¤Ä¤«¤é¤Ê¤¤¡£¡Ê¤Ï¤Þ¤Ã¤¿¡Ä¡Ë
¤Ê¤Ë¤²¤Ë¥Æ¡¼¥Ö¥ë¤Î¥ê¥¹¥È¤ò¤ß¤Æ¤¤¤ë¤ÈQUERYLIST¤È¤¤¤¦¤â¤Î¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢¥Ç¡¼¥¿¤ò¤ß¤Æ¤ß¤ë¤È¤³¤Î¥Æ¡¼¥Ö¥ë¤Ë³ºÅöSQL¤òȯ¸«¡£
¡Ê¤Ê¤¼¤³¤ó¤Ê¤ï¤«¤ê¤Ë¤¯¤¤¤È¤³¤í¤Ë¤¢¤ë¤ó¤À¡Á¡Á¡ª¡ª¡ª¡Ë
¸«¤Ä¤±½Ð¤·¤¿SQL¤Ï¡¦¡¦¡¦
SELECT
A.PROJECTNO,
A.PROJECTCODE,
A.PROJECTNAME,
A.PROJECTSTARTYMD,
A.PROJECTENDYMD,
B.TORIHIKISAKINAME,
C.TORIHIKISAKINAME
FROM
PROJECT A
LEFT OUTER JOIN TORIHIKISAKI B ON (A.TORIHIKISAKINO = B.TORIHIKISAKINO)
LEFT OUTER JOIN TORIHIKISAKI C ON (A.ENDUSERTORIHIKISAKINO = C.TORIHIKISAKINO)
WHERE
COALESCE(A.PROJECTNO,-1) = COALESCE(:PROJECTNO, COALESCE(A.PROJECTNO,-1))
AND COALESCE(A.PROJECTCODE,'') = COALESCE(:PROJECTCODE, COALESCE(A.PROJECTCODE,''))
AND (
A.PROJECTNAME LIKE CONCAT(CONCAT('%', :PROJECTNAME ), '%')
OR
COALESCE(A.PROJECTNAME ,'') = COALESCE(:PROJECTNAME , COALESCE(A.PROJECTNAME ,''))
)
AND (A.PROJECTSTARTYMD BETWEEN COALESCE(:PROJECTSTARTYMD_FROM, A.PROJECTSTARTYMD) AND COALESCE(:PROJECTSTARTYMD_TO, A.PROJECTSTARTYMD)
OR (A.PROJECTSTARTYMD IS NULL AND (COALESCE(:PROJECTSTARTYMD_FROM, '0000/01/02') BETWEEN '0000/01/01' AND '0000/01/03') AND (COALESCE(:PROJECTSTARTYMD_TO, '0000/01/02') BETWEEN '0000/01/01' AND '0000/01/03')))
¤µ¤Æ½¤ÀµÊý¿Ë¤È¤·¤Æ¤Ï¡¢¼¡¤Î£²ÅÀ¤È¤Ê¤ë¡£
1.¥í¥°¥¤¥ó¥æ¡¼¥¶¤¬¥×¥í¥¸¥§¥¯¥È¤Î±ÜÍ÷¸¢¸Â¥æ¡¼¥¶¤Ë¸ºß¤·¤Æ¤¤¤ë¤³¤È¤ò¾ò·ïÉÕ²Ã
2.¥·¥¹¥Æ¥à´ÉÍý¼Ô¡Ê¼Ò°÷â9999999999¡Ë¤Ï¡¢¾åµ¾ò·ï¤ò̵»ë¤¹¤ë
¤³¤ÎSQL¤ò»È¤Ã¤Æ¤¤¤ë¥¯¥é¥¹¤òõ¤·¤Æ¤ß¤¿¤È¤³¤í¡¢SearchSWOBabse¤ÇÀ©¸æ¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¤è¤¦¤À¡£
package com.sios.applications.web.common.SearchSWOBase¤Ï¡¢Web²èÌ̸¡º÷ÍÑ´ðÄ쥯¥é¥¹¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¤Þ¤¿±ÜÍ÷¸¢¸Â¥æ¡¼¥¶¤ò³ÊǼ¤·¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤Ï¡¢PROJECTETSURANSHAIN¤È¿ä¬¤µ¤ì¤ë¡£
SQL¤ËÄɲ乤ë¾ò·ï
AND EXISTS (
(SELECT 'X' FROM PROJECTETSURANSHAIN WHERE SHAINCODE=:USERID) or
(SELECT 'X' FROM USERROLE WHERE SHAINCODE = :USERID)
)
¾ò·ïÄɲäÏDB2¤Î¥³¥ó¥È¥í¡¼¥ë¥»¥ó¥¿¡¼¤Ç¹Ô¤¤¤Þ¤·¤¿¡£
¢¨¥³¥ó¥½¡¼¥ë¾å¤ÇSQL¤Î¹¹¿·¤ò¹Ô¤¦¤È¤¤Ï¡¢¥·¥ó¥°¥ë¥¯¥©¡¼¥È¤¬¤¢¤ë¤Î¤Ç¤³¤Î¤Þ¤Þ¤Ç¤ÏSQL¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥·¥ó¥°¥ë¥¯¥©¡¼¥È¤òÆó¤Ä³¤±¤Æ¡¢Î㤨¤Ð¡Ö''X''¡×¤È¤¹¤ì¤ÐOK¡£
¤Þ¤¿Äɲä·¤¿¾ò·ï¤Ç»ÈÍѤ·¤Æ¤¤¤ëưŪ¥Ñ¥é¥á¡¼¥¿USERID¤òSearchSWOBase¤Îsearch¥á¥½¥Ã¥É¤Ë°Ê²¼¤Î¤è¤¦¤Ë¥³¡¼¥Ç¥£¥ó¥°¡Ê¿¾¯¶¯°ú¤Ç¤¹¤¬¡¦¡¦¡¦¡Ë
¢¨ÀÄ»ú¤Ë¤·¤Æ¤¤¤ëÉôʬ¤¬Äɲä·¤¿²Õ½ê
protected void search() throws Exception {
if (seDatList.isActive()) seDatList.setActive(false);
// ¾®·×¡¦Ãæ·×¡¦Âç·×¤Î¹Ô¶èʬ¤ò¤Ä¤±¤ë
if (seDatList.contains(COL.COLUMNTYPE) == null) {
seDatList.addColumn(COL.COLUMNTYPE, DataField.Type.STRING);
}
seDatParam.first();
while (seDatParam.inBounds()) {
// ľÀÜÆþÎÏ(³¬ÁØÉô½ð)
if (seDatParam.getValueAsString(COL.CONDITION).equalsIgnoreCase(CommonCondition.TYPE_DIRECT_INPUT_DEPT)) {
// ̤ÆþÎϤξì¹ç¤Ï" <> '-1' "¤ò¶¯À©¥»¥Ã¥È
if (seDatList.getParams().isNull(seDatParam.getString(COL.PARAMNAME))) {
seDatList.getParams().setValueAsString(seDatParam.getString(COL.PARAMNAME), " <> '-1' ");
}
}
seDatParam.next();
}
String code = seDatQuery.getValueAsString(COL.QUERYCODE);
if(code.equals("010009")){
seDatList.getParams().setString("USERID",this.getContainer().getParams().getString(PARAM.USERID));
}
//¸¡º÷¾ò·ï°Ü¹Ô½èÍý
setSearchConditon(seDatList.getParams());
//¸¡º÷!
seDatList.setActive(true);
}
¤µ¤é¤ËQUERYLIST¤ËÅÐÏ¿¤·¤Æ¤¤¤ëSQL¾å¤Ç»È¤Ã¤Æ¤¤¤ëưŪ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢DATAPARAM¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¤è¤¦¤À¡£
³ºÅöSQL¤Î¥¯¥¨¥ê¡¼¥³¡¼¥É¤Ï 010009 ¤È¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢DATAPARAM¤Ëº£²óÄɲä·¤¿Æ°Åª¥Ñ¥é¥á¡¼¥¿USERID¤òÅÐÏ¿¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
INSERT INTO DATAPARAM (QUERYCODE,PARAMCODE,PARAMNAME,PARAMCAPTION,NULLABLE,PARAMTYPE,FORMATPATTERN,LENGTH,SCALE,CONDITION) VALUES ('010009',6,'USERID','¥æ¡¼¥¶ID','1',10,NULL,-1,-1,'0')
°Ê¾å¤Î½¤Àµ¤ÇºÇ½ÅÍײÝÂê¤Ï¥¯¥ê¥¢¤Ç¤¤¿¤«¤Ê¤È»×¤¤¤Þ¤¹¡£
Áíɾ¤Ç¤¹¤¬¡¢¾¯¤Ê¤¯¤È¤â¤³¤Î̵½þÈǤ˴ؤ·¤Æ¤Ï¡Ö¥ª¡¼¥×¥ó¥½¡¼¥¹¡×¤òÇä¤ê¤Ë¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢Í½þÈǤαĶȡ¦ÀëÅÁ¤Î¤¿¤á¤Ë¤ä¤à¤Ê¤¯¡¢Ìµ½þÈǤòÄ󶡤·¤Æ¤¤¤ë¤À¤±¤Î¤è¤¦¤Êµ¤¤¬¤·¤Æ¤Ê¤é¤Ê¤¤¡£
»ÈÍѤ·¤Æ¤¤¤ë¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ïninjava¤È¤¤¤¦¤â¤Î¤é¤·¤¯¡¢¤³¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤ËÀºÄ̤·¤Æ¤¤¤ì¤Ð¡¢¤â¤Ã¤È¸úΨŪ¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢Ì¤·Ð¸³¤È¤Ê¤ë¤È¥«¥¹¥¿¥Þ¥¤¥º¤Ï¤«¤Ê¤êÂçÊѤ½¤¦¤À¡£
¤¹¤Ð¤é¤·¤¤µ¡Ç½¤¬¤¢¤ë¤Î¤Ë¡¢¥æ¡¼¥¶¥³¥ß¥å¥Ë¥Æ¥£¡¼¤¬´×»¶¤È¤·¤Æ¤¤¤ë¤Î¤Ï¤½¤Î¤¿¤á¤Ç¤Ï¤Ê¤¤¤À¤í¤¦¤«¤È»×¤¦¼¡Âè¤Ç¤¹¡£
¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤¿¤á¤ËWindows´Ä¶¤ËDB2Express-C¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¤¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤¿ProjectKeeper¤Î¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¤¢¤ëinstall.bat¤ò¼Â¹Ô¤¹¤ë¡£
install.bat¤Î¼Â¹Ô¸å¤ËÀ¸À®¤µ¤ì¤¿war¥Õ¥¡¥¤¥ë¤òTomcat¤Îwebapps¥Õ¥©¥ë¥À¤Ë¥Ç¥£¥×¥í¥¤¤·¡¢¤Þ¤º¤Ïưºî³Îǧ¤ò¹Ô¤Ã¤Æ¤ß¤¿¤È¤³¤íÌäÂê¤Ê¤¯²Ôư¤Ç¤¤¿¡£
¼¡¤Ëeclipse¤Ç¿·µ¬¥×¥í¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢Å¸³«¤µ¤ì¤¿war¥Õ¥¡¥¤¥ë¡Êpk¥Õ¥©¥ë¥À¡ËÆâ¤Î¥½¡¼¥¹¤ª¤è¤Ó¥é¥¤¥Ö¥é¥ê¤òÀßÃÖ¤·¤¿¡£
¥Ó¥ë¥É¤·¤Æ¤ß¤ë¤È¡¢°Ê²¼¤ÎÂÀ»úÉôʬ¤Î¥Ñ¥Ã¥±¡¼¥¸¤¬¥½¡¼¥¹¤«¤é·çÍ¤Æ¤¤¤ë¤¿¤á¡¢´°Á´¤Ë¥Ó¥ë¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
¤³¤Î¤¿¤á¥Ó¥ë¥É¤ËɬÍפÊÂÀ»úÉôʬ¤Î¥Ñ¥Ã¥±¡¼¥¸¤È¥½¡¼¥¹Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¤â¤Î¤òjar¥Õ¥¡¥¤¥ë¤Ê¤É¤Î°Í¸¥é¥¤¥Ö¥é¥ê¤È¤·¤ÆºîÀ®¤·²ÔƯ´Ä¶¤òÀ°¤¨¤ëɬÍפ¬¤¢¤ë¡£
¤Ä¤Þ¤ê°Ê²¼¤Î¥Ñ¥Ã¥±¡¼¥¸Éôʬ¤Ë´Ø¤·¤Æ¤Ï¡¢¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¤È¤¤¤¦¤³¤È¤À¡£
¥½¡¼¥¹Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¥é¥¤¥Ö¥é¥ê
com.sios.applications
¨² job
¨² mobile
¨± web
¡¡¡¡ ¨² anken
¡¡¡¡ ¨² calendar
¡¡¡¡ ¨² customer
¡¡¡¡ ¨² mitsumori
¡¡¡¡ ¨² mokuhyo
¡¡¡¡ ¨² nippo
¡¡¡¡ ¨² personalcustomer
¡¡¡¡ ¨² schedule
¡¡¡¡ ¨² seminar
¡¡¡¡ ¨² setsubi
¡¡¡¡ ¨² uriage
¡¡¡¡ ¨± yosan
¾åµ¤Î¤è¤¦¤Ë¥ª¡¼¥×¥ó¥½¡¼¥¹¤È¤¤¤¤¤Ê¤¬¤é̵½þÈÇ¥½¡¼¥¹¤ò³«¼¨¤·¤Æ¤¤¤Ê¤¤ÅÀ¤ä¥Æ¡¼¥Ö¥ë¿ô¤¬£²£²£°¸Ä¤Û¤É¤¢¤ë¤Ë¤â´Ø¤ï¤é¤º¡¢¤½¤ì¤Ë´Ø¤¹¤ë»ñÎÁ¤â³§Ìµ¡£¤»¤á¤ÆER¿Þ¤È¥Æ¡¼¥Ö¥ëÀß·×½ñ¤Î¤è¤¦¤Ê¤â¤Î¤Ï¤Û¤·¤¤¡£
¤Þ¤¿Â¸ºß¤·¤Æ¤¤¤ë¥½¡¼¥¹¤«¤éJavadoc¤òºî¤ê¡¢³µÍפÎÇİ®¤ò¤·¤¿¤¤¤¬¡¢¥Ñ¥Ã¥±¡¼¥¸¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤Ê¤¤¤Î¤ÇÈó¾ï¤Ë¤ï¤«¤ê¤Ë¤¯¤¤¡£
¤µ¤Æ¥×¥í¥¸¥§¥¯¥È¥ê¥¹¥È¤ò½ÐÎϤ·¤Æ¤¤¤ë½èÍý¤ò²þÊÔ¤¹¤ë¤¿¤á¡¢³ºÅöSQL¤¬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò¥í¥°½ÐÎϤµ¤»¤ë¡£
¥í¥°½ÐÎϤÏlog4j¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢°Ê²¼¤Î¤â¤Î¤òÄɲä·¡¢tomcat¤òºÆµ¯Æ°¤¹¤ë¤È¥í¥°¤¬½ÐÎϤǤ¤ë¤è¤¦¤Ë¤Ê¤ë¡£
log4j.category.com.tenartni.ninjava.sql.SQLLogger=DEBUG, SQL
log4j.appender.SQL=org.apache.log4j.DailyRollingFileAppender
log4j.appender.SQL.File=C:/siosApp/log/sql.log
log4j.appender.SQL.layout=org.apache.log4j.PatternLayout
log4j.appender.SQL.layout.ConversionPattern=%d %m%n
log4j.appender.SQL.Threshold=DEBUG
ËÜ¥·¥¹¥Æ¥à¤ÎSQL¤Ï¥¯¥é¥¹Ì¾¤ÈƱ̾¤ÎXML¥Õ¥¡¥¤¥ë¤ËµºÜ¤·¤Æ¤¤¤ë¤è¤¦¤Ê¤Î¤Ç¡¢grep¤ò¹Ô¤Ã¤¿¤¬¤É¤¦¤·¤Æ¤â¸«¤Ä¤«¤é¤Ê¤¤¡£¡Ê¤Ï¤Þ¤Ã¤¿¡Ä¡Ë
¤Ê¤Ë¤²¤Ë¥Æ¡¼¥Ö¥ë¤Î¥ê¥¹¥È¤ò¤ß¤Æ¤¤¤ë¤ÈQUERYLIST¤È¤¤¤¦¤â¤Î¤¬¤¢¤Ã¤¿¤Î¤Ç¡¢¥Ç¡¼¥¿¤ò¤ß¤Æ¤ß¤ë¤È¤³¤Î¥Æ¡¼¥Ö¥ë¤Ë³ºÅöSQL¤òȯ¸«¡£
¡Ê¤Ê¤¼¤³¤ó¤Ê¤ï¤«¤ê¤Ë¤¯¤¤¤È¤³¤í¤Ë¤¢¤ë¤ó¤À¡Á¡Á¡ª¡ª¡ª¡Ë
¸«¤Ä¤±½Ð¤·¤¿SQL¤Ï¡¦¡¦¡¦
SELECT
A.PROJECTNO,
A.PROJECTCODE,
A.PROJECTNAME,
A.PROJECTSTARTYMD,
A.PROJECTENDYMD,
B.TORIHIKISAKINAME,
C.TORIHIKISAKINAME
FROM
PROJECT A
LEFT OUTER JOIN TORIHIKISAKI B ON (A.TORIHIKISAKINO = B.TORIHIKISAKINO)
LEFT OUTER JOIN TORIHIKISAKI C ON (A.ENDUSERTORIHIKISAKINO = C.TORIHIKISAKINO)
WHERE
COALESCE(A.PROJECTNO,-1) = COALESCE(:PROJECTNO, COALESCE(A.PROJECTNO,-1))
AND COALESCE(A.PROJECTCODE,'') = COALESCE(:PROJECTCODE, COALESCE(A.PROJECTCODE,''))
AND (
A.PROJECTNAME LIKE CONCAT(CONCAT('%', :PROJECTNAME ), '%')
OR
COALESCE(A.PROJECTNAME ,'') = COALESCE(:PROJECTNAME , COALESCE(A.PROJECTNAME ,''))
)
AND (A.PROJECTSTARTYMD BETWEEN COALESCE(:PROJECTSTARTYMD_FROM, A.PROJECTSTARTYMD) AND COALESCE(:PROJECTSTARTYMD_TO, A.PROJECTSTARTYMD)
OR (A.PROJECTSTARTYMD IS NULL AND (COALESCE(:PROJECTSTARTYMD_FROM, '0000/01/02') BETWEEN '0000/01/01' AND '0000/01/03') AND (COALESCE(:PROJECTSTARTYMD_TO, '0000/01/02') BETWEEN '0000/01/01' AND '0000/01/03')))
¤µ¤Æ½¤ÀµÊý¿Ë¤È¤·¤Æ¤Ï¡¢¼¡¤Î£²ÅÀ¤È¤Ê¤ë¡£
1.¥í¥°¥¤¥ó¥æ¡¼¥¶¤¬¥×¥í¥¸¥§¥¯¥È¤Î±ÜÍ÷¸¢¸Â¥æ¡¼¥¶¤Ë¸ºß¤·¤Æ¤¤¤ë¤³¤È¤ò¾ò·ïÉÕ²Ã
2.¥·¥¹¥Æ¥à´ÉÍý¼Ô¡Ê¼Ò°÷â9999999999¡Ë¤Ï¡¢¾åµ¾ò·ï¤ò̵»ë¤¹¤ë
¤³¤ÎSQL¤ò»È¤Ã¤Æ¤¤¤ë¥¯¥é¥¹¤òõ¤·¤Æ¤ß¤¿¤È¤³¤í¡¢SearchSWOBabse¤ÇÀ©¸æ¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¤è¤¦¤À¡£
package com.sios.applications.web.common.SearchSWOBase¤Ï¡¢Web²èÌ̸¡º÷ÍÑ´ðÄ쥯¥é¥¹¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¤Þ¤¿±ÜÍ÷¸¢¸Â¥æ¡¼¥¶¤ò³ÊǼ¤·¤Æ¤¤¤ë¥Æ¡¼¥Ö¥ë¤Ï¡¢PROJECTETSURANSHAIN¤È¿ä¬¤µ¤ì¤ë¡£
SQL¤ËÄɲ乤ë¾ò·ï
AND EXISTS (
(SELECT 'X' FROM PROJECTETSURANSHAIN WHERE SHAINCODE=:USERID) or
(SELECT 'X' FROM USERROLE WHERE SHAINCODE = :USERID)
)
¾ò·ïÄɲäÏDB2¤Î¥³¥ó¥È¥í¡¼¥ë¥»¥ó¥¿¡¼¤Ç¹Ô¤¤¤Þ¤·¤¿¡£
¢¨¥³¥ó¥½¡¼¥ë¾å¤ÇSQL¤Î¹¹¿·¤ò¹Ô¤¦¤È¤¤Ï¡¢¥·¥ó¥°¥ë¥¯¥©¡¼¥È¤¬¤¢¤ë¤Î¤Ç¤³¤Î¤Þ¤Þ¤Ç¤ÏSQL¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¥·¥ó¥°¥ë¥¯¥©¡¼¥È¤òÆó¤Ä³¤±¤Æ¡¢Î㤨¤Ð¡Ö''X''¡×¤È¤¹¤ì¤ÐOK¡£
¤Þ¤¿Äɲä·¤¿¾ò·ï¤Ç»ÈÍѤ·¤Æ¤¤¤ëưŪ¥Ñ¥é¥á¡¼¥¿USERID¤òSearchSWOBase¤Îsearch¥á¥½¥Ã¥É¤Ë°Ê²¼¤Î¤è¤¦¤Ë¥³¡¼¥Ç¥£¥ó¥°¡Ê¿¾¯¶¯°ú¤Ç¤¹¤¬¡¦¡¦¡¦¡Ë
¢¨ÀÄ»ú¤Ë¤·¤Æ¤¤¤ëÉôʬ¤¬Äɲä·¤¿²Õ½ê
protected void search() throws Exception {
if (seDatList.isActive()) seDatList.setActive(false);
// ¾®·×¡¦Ãæ·×¡¦Âç·×¤Î¹Ô¶èʬ¤ò¤Ä¤±¤ë
if (seDatList.contains(COL.COLUMNTYPE) == null) {
seDatList.addColumn(COL.COLUMNTYPE, DataField.Type.STRING);
}
seDatParam.first();
while (seDatParam.inBounds()) {
// ľÀÜÆþÎÏ(³¬ÁØÉô½ð)
if (seDatParam.getValueAsString(COL.CONDITION).equalsIgnoreCase(CommonCondition.TYPE_DIRECT_INPUT_DEPT)) {
// ̤ÆþÎϤξì¹ç¤Ï" <> '-1' "¤ò¶¯À©¥»¥Ã¥È
if (seDatList.getParams().isNull(seDatParam.getString(COL.PARAMNAME))) {
seDatList.getParams().setValueAsString(seDatParam.getString(COL.PARAMNAME), " <> '-1' ");
}
}
seDatParam.next();
}
String code = seDatQuery.getValueAsString(COL.QUERYCODE);
if(code.equals("010009")){
seDatList.getParams().setString("USERID",this.getContainer().getParams().getString(PARAM.USERID));
}
//¸¡º÷¾ò·ï°Ü¹Ô½èÍý
setSearchConditon(seDatList.getParams());
//¸¡º÷!
seDatList.setActive(true);
}
¤µ¤é¤ËQUERYLIST¤ËÅÐÏ¿¤·¤Æ¤¤¤ëSQL¾å¤Ç»È¤Ã¤Æ¤¤¤ëưŪ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢DATAPARAM¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¤è¤¦¤À¡£
³ºÅöSQL¤Î¥¯¥¨¥ê¡¼¥³¡¼¥É¤Ï 010009 ¤È¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢DATAPARAM¤Ëº£²óÄɲä·¤¿Æ°Åª¥Ñ¥é¥á¡¼¥¿USERID¤òÅÐÏ¿¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
INSERT INTO DATAPARAM (QUERYCODE,PARAMCODE,PARAMNAME,PARAMCAPTION,NULLABLE,PARAMTYPE,FORMATPATTERN,LENGTH,SCALE,CONDITION) VALUES ('010009',6,'USERID','¥æ¡¼¥¶ID','1',10,NULL,-1,-1,'0')
°Ê¾å¤Î½¤Àµ¤ÇºÇ½ÅÍײÝÂê¤Ï¥¯¥ê¥¢¤Ç¤¤¿¤«¤Ê¤È»×¤¤¤Þ¤¹¡£
Áíɾ¤Ç¤¹¤¬¡¢¾¯¤Ê¤¯¤È¤â¤³¤Î̵½þÈǤ˴ؤ·¤Æ¤Ï¡Ö¥ª¡¼¥×¥ó¥½¡¼¥¹¡×¤òÇä¤ê¤Ë¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢Í½þÈǤαĶȡ¦ÀëÅÁ¤Î¤¿¤á¤Ë¤ä¤à¤Ê¤¯¡¢Ìµ½þÈǤòÄ󶡤·¤Æ¤¤¤ë¤À¤±¤Î¤è¤¦¤Êµ¤¤¬¤·¤Æ¤Ê¤é¤Ê¤¤¡£
»ÈÍѤ·¤Æ¤¤¤ë¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ïninjava¤È¤¤¤¦¤â¤Î¤é¤·¤¯¡¢¤³¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤ËÀºÄ̤·¤Æ¤¤¤ì¤Ð¡¢¤â¤Ã¤È¸úΨŪ¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤Ç¤¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢Ì¤·Ð¸³¤È¤Ê¤ë¤È¥«¥¹¥¿¥Þ¥¤¥º¤Ï¤«¤Ê¤êÂçÊѤ½¤¦¤À¡£
¤¹¤Ð¤é¤·¤¤µ¡Ç½¤¬¤¢¤ë¤Î¤Ë¡¢¥æ¡¼¥¶¥³¥ß¥å¥Ë¥Æ¥£¡¼¤¬´×»¶¤È¤·¤Æ¤¤¤ë¤Î¤Ï¤½¤Î¤¿¤á¤Ç¤Ï¤Ê¤¤¤À¤í¤¦¤«¤È»×¤¦¼¡Âè¤Ç¤¹¡£