@ -28,13 +28,9 @@ public class MpowerUtils {
Client mpower = null ;
static Client mpower2 = null ;
//static String hostip = "115.21.123.19";
static String hostip = "127.0.0.1" ;
static int port = 9999 ;
static String query = "" ;
String wholeQuery = "" ;
//protected static Logger logger = Logger.getLogger(MpowerUtil.class.getName());
static ArrayList < String > feilds = new ArrayList < String > ( ) ;
static String feild = "" ;
static String tmpFeilds = "" ;
@ -43,79 +39,32 @@ public class MpowerUtils {
static String WhereStr = "" ;
static String Orderby = "" ;
static int pageIndex = 0 ;
static int firstIndex = 0 ;
static int lastIndex = 10 ;
static int recordCountPerPage = 10 ;
static String beforeXml = "<?xml version='1.0' encoding='utf-8'?><QUERYS DBNAME='" + DbName2 + "' DEBUG='true'><QUERY TYPE='select' BATCH='false'><SQL><![CDATA[" ;
static String beforeXmlsp = beforeXml . replace ( "select" , "spcall" ) ;
static String beforeXml = "<?xml version='1.0' encoding='euc-kr'?><QUERYS DBNAME='" + DbName2 + "' DEBUG='true'><QUERY TYPE='select' BATCH='false'><SQL><![CDATA[" ;
static String afterXml = "]]></SQL></QUERY></QUERYS>" ;
static String afterXmlsp = "]]></SQL>" ;
static Boolean pagingYn = false ;
//Ps변수
static String Params = "" ;
static String finalParams = "" ;
static String threeXml = "" ;
static String threeXmlEnd = "" ;
static String forXmlEnd = "" ;
static int psParamCount = 0 ;
static String psFinalFarams = "" ;
static String QueryXml = "" ;
//static String vioPhoto = PropertiesUtil.getValue("Globals.vioPhoto"); //주정차사진경로
static String vioPhoto = "" ;
//static String vioPhotoBus = PropertiesUtil.getValue("Globals.vioPhotoBus"); //버스사진경로
static String vioPhotoBus = "" ;
//static String tunullingFile = PropertiesUtil.getValue("Globals.tunullingFile"); //터널링서버에 복사되는 첨부파일 위치
static String tunullingFile = "" ;
public void setQuery ( String query ) {
MpowerUtils . query = query ;
}
public void setRowNum ( boolean truefalse ) {
RowNum = truefalse ;
}
public void setPageIndex ( int pi ) {
pageIndex = pi ;
}
public void setRecordCountPerPage ( int rcpp ) {
recordCountPerPage = rcpp ;
}
public int getRecordCountPerPage ( ) {
return recordCountPerPage ;
}
public String getWholeQuery ( ) {
return wholeQuery ;
}
public void setWholeQuery ( String wholeQuery ) {
this . wholeQuery = wholeQuery ;
}
public void setFeild ( String feildNm ) {
feilds . add ( feildNm ) ;
}
public void setFeild2 ( String feildNm ) {
feild = feildNm ;
}
public void setTableNm ( String tNm ) {
tableNm = tNm ;
}
public void setWhereStr ( String whr ) {
WhereStr + = whr ;
}
public void setOrderby ( String ob ) {
Orderby + = ob ;
}
public int getFirstIndex ( ) {
return ( pageIndex - 1 ) * recordCountPerPage + 1 ;
}
@ -124,72 +73,6 @@ public class MpowerUtils {
return lastIndex = pageIndex * recordCountPerPage ;
}
public void setPagingYn ( Boolean yn ) {
pagingYn = yn ;
}
public void AddParam ( String inputType , String Val ) {
psParamCount + + ;
Params + = "<PARAM><![CDATA[" + inputType + ":" + Val + "]]></PARAM>" ;
}
//kkj추가
public void AddParam2 ( String inputType , long Val ) {
psParamCount + + ;
Params + = "<PARAM><![CDATA[" + inputType + ":" + Val + "]]></PARAM>" ;
}
public void setParamsBody ( ) {
Params = "<PARAMS>" + Params + "</PARAMS>" ;
afterXmlsp = "]]></SQL>" ;
forXmlEnd = "</QUERY></QUERYS>" ;
}
public void setSPQuerysBody ( ) {
QueryXml = beforeXmlsp + tableNm + "(" + psFinalFarams + ")" + afterXmlsp + Params + forXmlEnd ;
}
public void AddFinalParam ( int count ) {
for ( int i = 0 ; i < count ; i + + ) {
psFinalFarams + = ( i = = 0 ) ? "?" : ",?" ;
}
}
public Map < String , Object > PsQuery ( ) throws Exception {
//EgovMap resultEgov = new EgovMap();
Map < String , Object > resultEgov = new HashMap < > ( ) ;
try {
AddFinalParam ( psParamCount ) ;
setParamsBody ( ) ;
setSPQuerysBody ( ) ;
resultEgov = connreturnMpwoer ( QueryXml ) ;
} catch ( Exception e )
{
e . printStackTrace ( ) ;
} finally {
clearValidation ( ) ;
}
return resultEgov ;
}
public Map < String , Object > connreturnMpwoer ( String psQuery ) throws Exception {
mpower = new Client ( hostip , port ) ;
mpower . getConnection ( "MPowerXmlToQuery.xmlQuery1" ) ;
mpower . setInput ( "SQLXML" , psQuery ) ;
mpower . Request ( ) ;
//EgovMap eMap = new EgovMap();
Map < String , Object > eMap = new HashMap < > ( ) ;
eMap . put ( "result" , mpower . getString ( "result" , 0 , 0 ) ) ;
int cnt = 1 ;
for ( int i = 0 ; i < mpower . getMaxCol ( "list1" ) ; i + + ) {
eMap . put ( "list" + cnt , mpower . getString ( "list1" , 0 , i ) ) ;
cnt + + ;
}
return eMap ;
}
public List < Map < String , Object > > selectQuery ( ) {
String fileList = "" ;
for ( int cnt = 0 ; cnt < feilds . size ( ) ; cnt + + ) {
@ -462,185 +345,7 @@ public class MpowerUtils {
* @ 페 이 징 처 리 SELECT 호 출
* @return
* /
public Map < String , Object > selectListQuery2 ( ) {
//EgovMap mListMap = new EgovMap();
Map < String , Object > mListMap = new HashMap < > ( ) ;
//배열로 넘어온 필드를 String 오브젝트로 변형
String fileList = "" ;
for ( int cnt = 0 ; cnt < feilds . size ( ) ; cnt + + ) {
if ( cnt = = 0 ) {
fileList + = feilds . get ( cnt ) ;
} else {
fileList + = "," + feilds . get ( cnt ) ;
}
}
String init = "" ;
String init2 = "" ;
init = beforeXml + "select RN," + fileList + " from(" ;
init2 = ")TB where RN BETWEEN " + getFirstIndex ( ) + " and " + getLastIndex ( ) + afterXml ;
query = init ;
query = query + "select ROWNUM RN," + fileList + " from(" ;
query = query + "select distinct " + fileList + " " ;
query = query + "from " + tableNm + " " ;
query = query + WhereStr + " " ;
query = query + Orderby ;
query = query + ")TA" ;
query = query + init2 ;
System . out . println ( query ) ;
String Cquery = beforeXml + "select count(*) from " + tableNm + " " + WhereStr + afterXml ;
if ( RowNum = = true ) {
feilds = new ArrayList < String > ( ) ;
this . setFeilds ( "RN, " + tmpFeilds ) ;
}
//List<EgovMap> mList = new ArrayList<EgovMap>();
List < Map < String , Object > > mList = new ArrayList < > ( ) ;
int mListCount = 0 ;
try {
mpower = new Client ( hostip , port ) ;
mpower . getConnection ( "MPowerXmlToQuery.xmlQuery1" ) ;
mpower . setInput ( "SQLXML" , query ) ;
mpower . Request ( ) ;
String result = mpower . getString ( "result" , 0 , 0 ) ;
int row = 0 ;
if ( result . equals ( "true" ) ) {
row = mpower . getMaxRow ( "list1" ) ;
if ( row > 0 ) {
for ( int i = 0 ; i < row ; i + + ) {
//EgovMap m = new EgovMap();
Map < String , Object > m = new HashMap < > ( ) ;
for ( int j = 0 ; j < feilds . size ( ) ; j + + ) {
if ( RowNum = = false ) {
m . put ( feilds . get ( j ) , mpower . getString ( "list1" , i , j + 1 ) ) ;
} else if ( RowNum = = true ) {
m . put ( feilds . get ( j ) , mpower . getString ( "list1" , i , j ) ) ;
}
}
mList . add ( m ) ;
}
mListMap . put ( "mList" , mList ) ;
}
}
mpower . disconnect ( ) ;
if ( row > 0 ) {
mpower = new Client ( hostip , port ) ;
mpower . getConnection ( "MPowerXmlToQuery.xmlQuery1" ) ;
mpower . setInput ( "SQLXML" , Cquery ) ;
mpower . Request ( ) ;
String strList1 = mpower . getString ( "list1" , 0 , 0 ) ;
if ( ! strList1 . equals ( "" ) & & strList1 ! = null ) {
mListCount = Integer . parseInt ( strList1 ) ;
}
mpower . disconnect ( ) ;
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
} finally {
clearValidation ( ) ;
}
mListMap . put ( "mListCount" , mListCount ) ;
return mListMap ;
}
public Map < String , Object > selectListQuery_pay ( ) {
//EgovMap mListMap = new EgovMap();
Map < String , Object > mListMap = new HashMap < > ( ) ;
//배열로 넘어온 필드를 String 오브젝트로 변형
String fileList = "" ;
for ( int cnt = 0 ; cnt < feilds . size ( ) ; cnt + + ) {
if ( cnt = = 0 ) {
fileList + = feilds . get ( cnt ) ;
} else {
fileList + = "," + feilds . get ( cnt ) ;
}
}
query = "" ;
query + = beforeXml + "select RN," + fileList + " from("
+ "select ROWNUM RN,A.* From "
+ "(select GET_PAYMENT_CHK(VD_SGGCODE,VD_CODE) CHK,GET_RECALL_CHK(VD_SGGCODE,VD_CODE) R_CHK," + fileList + " "
+ "from " + tableNm + " " + WhereStr + Orderby + " ) A where CHK='Y' and R_CHK='Y' "
+ ")TB where RN BETWEEN " + getFirstIndex ( ) + " and " + getLastIndex ( ) + afterXml ;
System . out . println ( "과태료 납부 : " + query ) ;
String Cquery = beforeXml + "select count(*) from (select GET_PAYMENT_CHK(VD_SGGCODE,VD_CODE) CHK,GET_RECALL_CHK(VD_SGGCODE,VD_CODE) R_CHK from " + tableNm + " " + WhereStr + ") where CHK='Y' and R_CHK='Y' " + afterXml ;
//logger.debug("CountQuery:" + Cquery);
//logger.debug("=====================================================Select Query==================================================");
//logger.debug(query);
System . out . println ( "CountQuery:" + Cquery ) ;
System . out . println ( "=====================================================Select Query==================================================" ) ;
System . out . println ( query ) ;
if ( RowNum = = true ) {
feilds = new ArrayList < String > ( ) ;
this . setFeilds ( "RN, " + tmpFeilds ) ;
}
//List<EgovMap> mList = new ArrayList<EgovMap>();
List < Map < String , Object > > mList = new ArrayList < Map < String , Object > > ( ) ;
int mListCount = 0 ;
try {
mpower2 = new Client ( hostip , port ) ;
mpower2 . getConnection ( "MPowerXmlToQuery.xmlQuery1" ) ;
mpower2 . setInput ( "SQLXML" , query ) ;
mpower2 . Request ( ) ;
String result = mpower2 . getString ( "result" , 0 , 0 ) ;
int row = 0 ;
if ( result . equals ( "true" ) ) {
row = mpower2 . getMaxRow ( "list1" ) ;
if ( row > 0 ) {
for ( int i = 0 ; i < row ; i + + ) {
//EgovMap m = new EgovMap();
Map < String , Object > m = new HashMap < > ( ) ;
for ( int j = 0 ; j < feilds . size ( ) ; j + + ) {
if ( RowNum = = false ) {
m . put ( feilds . get ( j ) , mpower2 . getString ( "list1" , i , j + 1 ) ) ;
} else if ( RowNum = = true ) {
m . put ( feilds . get ( j ) , mpower2 . getString ( "list1" , i , j ) ) ;
}
}
mList . add ( m ) ;
}
mListMap . put ( "mList" , mList ) ;
}
}
//logger.debug("START getString list1 : " + mpower.getString("list1", 0, 0));
//mListCount = Integer.parseInt(mpower.getString("list1", 0, 0));
if ( row > 0 ) {
mpower2 . getConnection ( "MPowerXmlToQuery.xmlQuery1" ) ;
mpower2 . setInput ( "SQLXML" , Cquery ) ;
mpower2 . Request ( ) ;
mListCount = Integer . parseInt ( mpower2 . getString ( "list1" , 0 , 0 ) ) ;
//System.out.println("mListCount:"+mListCount);
}
//logger.debug("END getString list1");
mpower2 . disconnect ( ) ;
//logger.debug(Cquery);
//logger.debug("===============================================================================================================");
} catch ( Exception e ) {
e . printStackTrace ( ) ;
} finally {
clearValidation ( ) ;
}
mListMap . put ( "mListCount" , mListCount ) ;
return mListMap ;
}
/ * *
* @ 페 이 징 처 리 SELECT 호 출
* @return
* /
public List < Map < String , Object > > selectCustomQuery ( String sql ) {
public List < Map < String , Object > > selectCustomQuery ( ) {
//EgovMap mListMap = new EgovMap();
Map < String , Object > mListMap = new HashMap < > ( ) ;
//배열로 넘어온 필드를 String 오브젝트로 변형
@ -652,7 +357,7 @@ public class MpowerUtils {
fileList + = "," + feilds . get ( cnt ) ;
}
}
query = beforeXml + sql + afterXml ;
query = beforeXml + query + afterXml ;
//logger.debug("=====================================================Select Query==================================================");
//logger.debug(query);
@ -668,60 +373,10 @@ public class MpowerUtils {
mpower . Request ( ) ;
String result = mpower . getString ( "result" , 0 , 0 ) ;
System . out . println ( "#######message = " + mpower . getMessage ( ) ) ;
System . out . println ( "#######message charset = " + CommUtil . detectCharset ( mpower . getMessage ( ) . getBytes ( ) ) ) ;
System . out . println ( "#######message = " + mpower . getFile ( "list1" ) ) ;
String s = "답변드립니다" ;
//System.out.println(CommUtil.detectCharset(s.getBytes()));
System . out . println ( URLEncoder . encode ( s , "euc-kr" ) ) ;
System . out . println ( URLDecoder . decode ( s , "euc-kr" ) ) ;
String ss = new String ( "답변드립니다" . getBytes ( "euc-kr" ) , "euc-kr" ) ;
System . out . println ( CommUtil . detectCharset ( ss . getBytes ( ) ) ) ;
System . out . println ( ( new String ( "답변드립니다" . getBytes ( "utf-8" ) , "euc-kr" ) ) ) ;
System . out . println ( ( new String ( "답변드립니다" . getBytes ( "euc-kr" ) , "euc-kr" ) ) ) ;
// System.out.println(new String(s.getBytes("unicode"), "unicode"));
// System.out.println(new String(s.getBytes("utf-8"), "utf-8"));
// System.out.println(new String(s.getBytes("utf-16"), "utf-16"));
// System.out.println(new String(s.getBytes("euc-kr"), "euc-kr"));
// System.out.println(new String(s.getBytes("ksc5601"), "ksc5601"));
// System.out.println(new String(s.getBytes("ms949"), "ms949"));
// System.out.println(new String(s.getBytes("iso-8859-1"), "iso-8859-1"));
//String originalStr = URLDecoder.decode(mpower.getMessage(), "utf-8");
System . out . println ( URLDecoder . decode ( mpower . getMessage ( ) , "utf-8" ) ) ;
System . out . println ( URLDecoder . decode ( mpower . getMessage ( ) , "euc-kr" ) ) ;
System . out . println ( StringUtils . newStringUtf16Le ( mpower . getMessage ( ) . getBytes ( ) ) ) ;
System . out . println ( StringUtils . newStringUtf16 ( mpower . getMessage ( ) . getBytes ( ) ) ) ;
System . out . println ( StringUtils . newStringUtf16Be ( mpower . getMessage ( ) . getBytes ( ) ) ) ;
System . out . println ( StringUtils . newStringIso8859_1 ( mpower . getMessage ( ) . getBytes ( ) ) ) ;
String originalStr = mpower . getMessage ( ) ;
String [ ] charSet = { "utf-8" , "euc-kr" , "ksc5601" , "iso-8859-1" , "x-windows-949" , "ms949" } ;
for ( int i = 0 ; i < charSet . length ; i + + ) {
for ( int j = 0 ; j < charSet . length ; j + + ) {
try {
System . out . println ( "[" + charSet [ i ] + "," + charSet [ j ] + "] = " + new String ( originalStr . getBytes ( "latin1" ) , charSet [ j ] ) ) ;
}
catch ( UnsupportedEncodingException e ) {
System . out . println ( e . getLocalizedMessage ( ) ) ;
}
}
}
//System.out.println(CommUtil.detectCharset(originalStr.getBytes()));
int row ;
if ( result . equals ( "true" ) ) {
row = mpower . getMaxRow ( "list1" ) ;
@ -731,17 +386,13 @@ public class MpowerUtils {
Map < String , Object > m = new HashMap < > ( ) ;
if ( ! "" . equals ( feild ) & & feild ! = null ) {
m . put ( "cbContent" , mpower . getString ( "list1" , i , 4 ) ) ;
//m.put("cbContent", new String(mpower.getString("list1", i, 4).getBytes("utf-8"), "utf-8"));
} else {
for ( int j = 0 ; j < feilds . size ( ) ; j + + ) {
//m.put(feilds.get(j), new String(mpower.getString("list1", i, j).getBytes("utf-8"), "utf-8"));
m . put ( feilds . get ( j ) , mpower . getString ( "list1" , i , j ) ) ;
}
}
mList . add ( m ) ;
}
//mListMap.put("resultList", mList);
//mList;
}
}
mpower . disconnect ( ) ;
@ -751,8 +402,6 @@ public class MpowerUtils {
} finally {
clearValidation ( ) ;
}
String s = String . valueOf ( mList ) ;
byte [ ] b = s . getBytes ( StandardCharsets . UTF_8 ) ;
return mList ;
}
@ -765,91 +414,6 @@ public class MpowerUtils {
tmpFeilds = string ;
}
//단속사진 폴더 및 사진복사
/ * public static String [ ] fnVioPhoto ( String mmCode , String mmDbgb , String photocode , String sessionId ) {
String serviceName = "XitFile.XitDownload" ;
String [ ] returnImgStr = new String [ 4 ] ;
String fph = MpowerUtil . class . getResource ( "" ) . getPath ( ) ;
mpower2 = new Client ( hostip , port ) ;
String tmpPhoto = "" ; //단속사진 단속구분에 따라 경로변경
if ( mmDbgb . equals ( "11" ) ) {
tmpPhoto = vioPhoto ;
} else {
tmpPhoto = vioPhotoBus ;
}
fph = fph . replace ( "WEB-INF/classes/xit/cmmn/utill/" , "vioPhoto/" + sessionId + "/" ) ;
String fphs = fph . substring ( 0 , 1 ) ;
if ( fphs . equals ( "/" ) ) {
fph = fph . substring ( 1 ) ;
}
String imgPath = tmpPhoto + EgovStringUtil . Get_M_ImgFD ( photocode ) + "/" + EgovStringUtil . Get_C_ImgFD ( photocode ) + "/" + EgovStringUtil . Get_B_ImgFD ( photocode ) ; //터널링에 저장된 단속사진 경로
System . out . println ( "최종이미지경로:::::" + imgPath ) ;
try {
mpower2 . getConnection ( serviceName ) ;
mpower2 . setInput ( "dnfile1" , imgPath + "/P" + EgovStringUtil . ZeroCnt ( photocode ) + "A.jpg" ) ; //터널링에 실질 존재하는 경로,파일명
System . out . println ( "사진이름:" + EgovStringUtil . ZeroCnt ( photocode ) ) ;
mpower2 . setInput ( "dnfile2" , imgPath + "/P" + EgovStringUtil . ZeroCnt ( photocode ) + "B.jpg" ) ;
mpower2 . setInput ( "dnfile3" , imgPath + "/P" + EgovStringUtil . ZeroCnt ( photocode ) + "C.jpg" ) ;
mpower2 . setInput ( "dnfile4" , imgPath + "/P" + EgovStringUtil . ZeroCnt ( photocode ) + "D.jpg" ) ;
mpower2 . Request ( ) ;
String result = mpower2 . getString ( "result" , 0 , 0 ) ;
if ( result . equals ( "true" ) ) {
mpower2 . getFileName ( "imageA" ) ;
mpower2 . getFileName ( "imageB" ) ;
mpower2 . getFileName ( "imageC" ) ;
mpower2 . getFileName ( "imageD" ) ;
mpower2 . savefile ( "imageA" , fph ) ;
mpower2 . savefile ( "imageB" , fph ) ;
mpower2 . savefile ( "imageC" , fph ) ;
mpower2 . savefile ( "imageD" , fph ) ;
String strpath = "/vioPhoto/" + sessionId + "/P" + EgovStringUtil . ZeroCnt ( photocode ) ;
System . out . println ( "strPath ::: " + strpath ) ;
returnImgStr [ 0 ] = strpath + "A.jpg" ;
returnImgStr [ 1 ] = strpath + "B.jpg" ;
returnImgStr [ 2 ] = strpath + "C.jpg" ;
returnImgStr [ 3 ] = strpath + "D.jpg" ;
}
} catch ( Exception e ) {
}
//logger.debug(fph);
return returnImgStr ;
} * /
//버스단속사진
/ * public static String [ ] fnVioPhotoBus ( String photocode , String sessionId ) {
String fph = MpowerUtil . class . getResource ( "" ) . getPath ( ) ;
fph = fph . replace ( "WEB-INF/classes/xit/cmmn/utill/" , "vioPhoto/" + sessionId + "/" ) ;
String [ ] imgFmn = { "A" , "B" , "C" , "D" } ;
String [ ] imgFile = new String [ 4 ] ;
try {
File d = new File ( fph ) ;
if ( ! d . isDirectory ( ) ) d . mkdir ( ) ;
for ( int i = 0 ; i < imgFmn . length ; i + + ) {
String imgPath = EgovStringUtil . Get_M_ImgFD ( photocode ) + "/" + EgovStringUtil . Get_C_ImgFD ( photocode ) + "/" + EgovStringUtil . Get_B_ImgFD ( photocode ) ;
String url = "http://211.35.57.16/bus_photo/" + imgPath + "/P" + EgovStringUtil . ZeroCnt ( photocode ) + imgFmn [ i ] + ".jpg" ;
System . out . println ( " 최종 URL ::: " + url ) ;
BufferedImage img = ImageIO . read ( new URL ( url ) ) ;
File f = new File ( fph + photocode + imgFmn [ i ] + ".jpg" ) ;
ImageIO . write ( img , "jpg" , f ) ;
imgFile [ i ] = "/vioPhoto/" + sessionId + "/" + photocode + imgFmn [ i ] + ".jpg" ;
System . out . println ( imgFile [ i ] ) ;
}
} catch ( Exception e ) {
}
return imgFile ;
} * /
//첨부파일 터널링 서버로 복사
public void fnFileUpload ( String tmpFileLocation , String realRcRilenm ) {
@ -896,23 +460,6 @@ public class MpowerUtils {
System . out . println ( "웹서버 저장되는 첨부파일 위치:" + fph ) ;
}
/ * private static String fileToBinary ( String tmpImg1 ) {
// TODO Auto-generated method stub
//logger.debug(tmpImg1);
String encodedImage = null ;
try {
BufferedImage image = ImageIO . read ( new File ( tmpImg1 ) ) ;
ByteArrayOutputStream baos = new ByteArrayOutputStream ( ) ;
ImageIO . write ( image , "png" , baos ) ;
encodedImage = Base64 . encode ( baos . toByteArray ( ) ) ;
// logger.debug(encodedImage);
} catch ( IOException e ) {
// TODO Auto-generated catch block
e . printStackTrace ( ) ;
encodedImage = "" ;
}
return encodedImage ;
} * /
}