feat: Mpower v2 board에 적용.
parent
dd82e6f886
commit
15bc59f3d9
Binary file not shown.
@ -0,0 +1,851 @@
|
|||||||
|
package com.xit.core.util.mpower;
|
||||||
|
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.sql.CallableStatement;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
//import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
//import com.gpki.util.Base64;
|
||||||
|
import com.plf.client.Client;
|
||||||
|
|
||||||
|
//import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||||
|
|
||||||
|
public class MpowerUtil {
|
||||||
|
//DBName Properties
|
||||||
|
// static String DbName2 = PropertiesUtil.getValue("Globals.DBName");
|
||||||
|
static String DbName2 = "gn";
|
||||||
|
|
||||||
|
|
||||||
|
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 = "";
|
||||||
|
static Boolean RowNum = false;
|
||||||
|
static String tableNm = "";
|
||||||
|
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='euc-kr'?><QUERYS DBNAME='"+DbName2+"' DEBUG='true'><QUERY TYPE='select' BATCH='false'><SQL><![CDATA[";
|
||||||
|
static String beforeXmlsp = beforeXml.replace("select", "spcall");
|
||||||
|
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){
|
||||||
|
MpowerUtil.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLastIndex() {
|
||||||
|
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> selectQuery() {
|
||||||
|
String fileList = "";
|
||||||
|
for(int cnt = 0;cnt<feilds.size();cnt++){
|
||||||
|
if(cnt==0){
|
||||||
|
fileList += feilds.get(cnt);
|
||||||
|
}else{
|
||||||
|
fileList += "," + feilds.get(cnt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query = beforeXml + "select "+ fileList +" from " + tableNm + WhereStr + afterXml ;
|
||||||
|
//logger.debug("=====================================================Select Query==================================================");
|
||||||
|
//logger.debug("select "+fileList +" from "+tableNm + WhereStr);
|
||||||
|
System.out.println("select "+fileList +" from "+tableNm + WhereStr);
|
||||||
|
|
||||||
|
//List<EgovMap> mList = new ArrayList<EgovMap>();
|
||||||
|
List<Map> mList= new ArrayList<>();
|
||||||
|
|
||||||
|
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;
|
||||||
|
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++){
|
||||||
|
m.put(feilds.get(j), mpower.getString("list1", i, j));
|
||||||
|
}
|
||||||
|
mList.add(m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//logger.debug("SelectList Count :: "+mList.size()+"건");
|
||||||
|
//logger.debug("===================================================================================================================");
|
||||||
|
mpower.disconnect();
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally{
|
||||||
|
query = "";
|
||||||
|
feilds = new ArrayList<String>();
|
||||||
|
tableNm = "";
|
||||||
|
WhereStr = "";
|
||||||
|
Orderby = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return mList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void clearValidation() {
|
||||||
|
query = "";
|
||||||
|
feilds = new ArrayList<String>();
|
||||||
|
tableNm = "";
|
||||||
|
WhereStr = "";
|
||||||
|
Orderby="";
|
||||||
|
psParamCount = 0;
|
||||||
|
QueryXml = "";
|
||||||
|
Params = "";
|
||||||
|
psFinalFarams = "";
|
||||||
|
recordCountPerPage = 10;
|
||||||
|
feild = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ 페이징 처리 SELECT 호출
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Map<String,Object> selectListQuery() {
|
||||||
|
//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 "+fileList+" ";
|
||||||
|
query = query+"from "+tableNm+" ";
|
||||||
|
query = query+WhereStr+" ";
|
||||||
|
query = query+Orderby;
|
||||||
|
query = query+")TA";
|
||||||
|
query = query+init2;
|
||||||
|
System.out.println("이곳은쿼리");
|
||||||
|
System.out.println(query);
|
||||||
|
System.out.println("이곳은쿼리");
|
||||||
|
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> mList = new ArrayList<>();
|
||||||
|
System.out.println("mlistmlist");
|
||||||
|
System.out.println(mList);
|
||||||
|
System.out.println("mlistmlist");
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
System.out.println("엠리스트트트트트");
|
||||||
|
System.out.println(mListCount);
|
||||||
|
System.out.println(mListMap);
|
||||||
|
System.out.println(mList);
|
||||||
|
System.out.println("엠리스트트트트트");
|
||||||
|
mListMap.put("mListCount", mListCount);
|
||||||
|
return mListMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ 페이징 처리 SELECT 호출
|
||||||
|
* @return
|
||||||
|
* @throws SQLException
|
||||||
|
*/
|
||||||
|
public Map<String,Object> selectListQueryNew() throws SQLException {
|
||||||
|
//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 finalQuery = "";
|
||||||
|
String Cquery = beforeXml + "select count(*) from " + tableNm +" "+ WhereStr +afterXml;
|
||||||
|
if(!"".equals(feild) && feild != null){
|
||||||
|
finalQuery = query;
|
||||||
|
}else{
|
||||||
|
finalQuery = "select " + fileList +" from " + tableNm +" "+ WhereStr;
|
||||||
|
}
|
||||||
|
if(RowNum == true){
|
||||||
|
feilds = new ArrayList<String>();
|
||||||
|
this.setFeilds("RN, "+tmpFeilds);
|
||||||
|
}
|
||||||
|
|
||||||
|
//List<EgovMap> mList = new ArrayList<EgovMap>();
|
||||||
|
List<Map> mList = new ArrayList<>();
|
||||||
|
int mListCount = 0;
|
||||||
|
|
||||||
|
Connection con;
|
||||||
|
Statement stmt; //단순 쿼리 실행
|
||||||
|
PreparedStatement pstmt = null; //컴파일시 디비에 먼저 파싱하므로 Statement 보다 빠름
|
||||||
|
CallableStatement cstmt; //프로시져를 호출하므로 속도가 PreparedStatement 보다 빠름
|
||||||
|
ResultSet rs = null;
|
||||||
|
String dbURL = "jdbc:oracle:thin:@115.21.123.114:1521:ora10g";
|
||||||
|
String driver = "oracle.jdbc.OracleDriver";
|
||||||
|
|
||||||
|
try {
|
||||||
|
Class.forName(driver);
|
||||||
|
} catch (ClassNotFoundException e1) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e1.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
con = DriverManager.getConnection(dbURL, "TRAFFIC", "xhdgkq0");
|
||||||
|
|
||||||
|
//3.1 Statement 객체로 구문객체 생성 및 실행
|
||||||
|
int size = 0;
|
||||||
|
try{
|
||||||
|
System.out.println("Query :" + finalQuery);
|
||||||
|
pstmt = con.prepareStatement(finalQuery);
|
||||||
|
rs = pstmt.executeQuery(); // 이거 왜 실행안???
|
||||||
|
System.out.println("rs:" + rs);
|
||||||
|
boolean chpoint = false;
|
||||||
|
while(rs.next())
|
||||||
|
{
|
||||||
|
size = rs.getInt(1);
|
||||||
|
//EgovMap m = new EgovMap();
|
||||||
|
Map<String,Object> m = new HashMap<>();
|
||||||
|
if(!chpoint)
|
||||||
|
{
|
||||||
|
for(int j=0;j<size;j++){
|
||||||
|
if(!"".equals(feild) && feild != null){
|
||||||
|
m.put("cbContent", rs.getString(feilds.get(j).toString()));
|
||||||
|
}else{
|
||||||
|
m.put(feilds.get(j),rs.getString(feilds.get(j).toString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
mList.add(m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mListMap.put("mList", mList);
|
||||||
|
}catch(Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}finally{
|
||||||
|
try{
|
||||||
|
rs.close();
|
||||||
|
pstmt.close();
|
||||||
|
con.close();
|
||||||
|
clearValidation();
|
||||||
|
}catch(SQLException e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return mListMap;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ 페이징 처리 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> 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> mList = new ArrayList<>();
|
||||||
|
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 Map<String,Object> selectCustomQuery() {
|
||||||
|
//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 = beforeXml+query+afterXml;
|
||||||
|
//logger.debug("=====================================================Select Query==================================================");
|
||||||
|
//logger.debug(query);
|
||||||
|
|
||||||
|
System.out.println("======"+query);
|
||||||
|
//List<EgovMap> mList = new ArrayList<EgovMap>();
|
||||||
|
List<Map> 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;
|
||||||
|
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<>();
|
||||||
|
if(!"".equals(feild) && feild != null){
|
||||||
|
m.put("cbContent", mpower.getString("list1", i, 4));
|
||||||
|
}else{
|
||||||
|
for(int j=0;j<feilds.size();j++){
|
||||||
|
m.put(feilds.get(j), mpower.getString("list1", i, j));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mList.add(m);
|
||||||
|
}
|
||||||
|
mListMap.put("resultList", mList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mpower.disconnect();
|
||||||
|
//logger.debug("===============================================================================================================");
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally{
|
||||||
|
clearValidation();
|
||||||
|
}
|
||||||
|
String s = String.valueOf(mList);
|
||||||
|
byte[] b = s.getBytes(StandardCharsets.UTF_8);
|
||||||
|
return mListMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setFeilds(String string) {
|
||||||
|
String[] m = string.split(",");
|
||||||
|
for(int i=0;i<m.length;i++){
|
||||||
|
setFeild(m[i].trim());
|
||||||
|
}
|
||||||
|
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){
|
||||||
|
String fph = tunullingFile; //터널링에 복사되는 파일경로
|
||||||
|
try{
|
||||||
|
Client mp = new Client("127.0.0.1", 2500);
|
||||||
|
mp.getConnection("XitFile.XitUpload");
|
||||||
|
mp.setInput("dir",tunullingFile);
|
||||||
|
mp.setInput("upfile1",tmpFileLocation+realRcRilenm,true);
|
||||||
|
mp.Request();
|
||||||
|
}catch(Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
//logger.debug(fph);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//터널링에서 웹서버로 첨부파일 복사
|
||||||
|
public static void fnDownFile(String fileName,String sessionId){
|
||||||
|
String serviceName = "XitFile.XitDownload";
|
||||||
|
String fph = MpowerUtil.class.getResource("").getPath();
|
||||||
|
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 tmpTunullingFile = tunullingFile; //터널링에 저장된 단속사진 경로
|
||||||
|
|
||||||
|
try{
|
||||||
|
Client mp = new Client("127.0.0.1", 2500);
|
||||||
|
mp.getConnection("XitFile.XitDownload");
|
||||||
|
mp.setInput("dnfile1",tmpTunullingFile+ fileName); //터널링에 실질 존재하는 경로,파일명
|
||||||
|
mp.Request();
|
||||||
|
String result = mp.getString("result", 0, 0);
|
||||||
|
|
||||||
|
if (result.equals("true")){
|
||||||
|
mp.getFileName("imageA");
|
||||||
|
mp.savefile("imageA", fph);
|
||||||
|
}
|
||||||
|
}catch(Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
//logger.debug("웹서버 저장되는 첨부파일 위치:"+fph);
|
||||||
|
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;
|
||||||
|
}*/
|
||||||
|
}
|
Loading…
Reference in New Issue