You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
287 lines
11 KiB
287 lines
11 KiB
package kr.co.kihyun.beans.batch; |
|
|
|
import java.sql.ResultSet; |
|
import java.io.IOException; |
|
import java.io.PrintWriter; |
|
import java.sql.Connection; |
|
import java.sql.PreparedStatement; |
|
import java.sql.SQLException; |
|
import java.util.ArrayList; |
|
import javax.servlet.http.HttpServletRequest; |
|
import javax.servlet.http.HttpServletResponse; |
|
import kr.co.kihyun.lang.MString; |
|
import kr.co.kihyun.db.DBPool; |
|
|
|
public class UserInfoUp extends DBPool { |
|
|
|
public int dataCnt=1; |
|
public Connection con=null; |
|
public PrintWriter out=null; |
|
public ArrayList list=new ArrayList(); |
|
public StringBuffer sbuf=new StringBuffer(); |
|
|
|
public UserInfoUp(HttpServletRequest req,HttpServletResponse res) { |
|
|
|
//44.적절하지 않은 예외처리(광범위예외클래스)_CWE-754 : Update by YOUNGJUN,CHO |
|
try { |
|
res.setContentType("text/html;charset=UTF-8"); |
|
out = res.getWriter(); |
|
String startId = req.getParameter("startId"); |
|
String gubun = MString.checkNull(req.getParameter("gubun"), "ORGAN"); |
|
String keyWord = req.getParameter("keyWord"); |
|
|
|
} catch (IOException ioex) { |
|
ioex.printStackTrace(); |
|
} catch(Exception ex) { |
|
//System.out.println("error exception1:"+ex); |
|
ex.printStackTrace(); |
|
} |
|
//================================================ |
|
} |
|
|
|
public void deleteDuplecateData(String keyWord) { |
|
|
|
//44.적절하지 않은 예외처리(광범위예외클래스)_CWE-754 : Update by YOUNGJUN,CHO |
|
PreparedStatement stmt = null; |
|
String sql = null; |
|
ResultSet rs = null; |
|
|
|
try { |
|
rs = null; |
|
stmt = null; |
|
//String sql="SELECT UPPER_DEPT FROM MOUMI_DEPT WHERE SEL_TYPE='Y' AND NAME LIKE '%"+keyWord+"%'"; |
|
//18.SQL 삽입(메소드파라미터)_CWE-89 : Update by KWON,HAN |
|
//sql = "SELECT UPPER_DEPT FROM MOUMI_DEPT WHERE NAME LIKE '%" + keyWord + "%'"; |
|
sql = "SELECT UPPER_DEPT FROM MOUMI_DEPT WHERE NAME LIKE '%' || " + "?" + " || '%'"; |
|
//===================================================== |
|
|
|
con = getConnection(); |
|
stmt = con.prepareStatement(sql); |
|
|
|
//18.SQL 삽입(메소드파라미터)_CWE-89 : Add by KWON,HAN |
|
stmt.setString(1, keyWord); |
|
//+++++++++++++++++++++++++++++++++++++++ |
|
|
|
rs = stmt.executeQuery(); |
|
|
|
while (rs.next()) { |
|
String tmp = rs.getString(1); |
|
if (tmp == null || tmp.equals("")) { |
|
continue; |
|
} |
|
list.add("#" + tmp); |
|
dataCnt++; |
|
if (dataCnt > 500) { |
|
return; |
|
} |
|
getSearchLoop(tmp); |
|
} |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex) { |
|
//System.out.println("error exception2:"+ex); |
|
ex.printStackTrace(); |
|
} finally { |
|
//42.비어있는 if문 : Update by YOUNGJUN,CHO |
|
if(rs!=null) { |
|
try { |
|
rs.close(); |
|
rs=null; |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex){ |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
if(stmt!=null) { |
|
try { |
|
stmt.close(); |
|
stmt=null; |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex){ |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
if(con!=null) { |
|
try { |
|
con.close(); |
|
con=null; |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex) { |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
//================================================ |
|
} |
|
//================================================ |
|
} |
|
|
|
public void selectInsertUserData(String keyWord) { |
|
|
|
//44.적절하지 않은 예외처리(광범위예외클래스)_CWE-754 : Update by YOUNGJUN,CHO |
|
PreparedStatement stmt = null; |
|
String sql = null; |
|
ResultSet rs = null; |
|
|
|
try { |
|
rs = null; |
|
stmt = null; |
|
//18.SQL 삽입(메소드파라미터)_CWE-89 : Update by KWON,HAN |
|
//sql = "SELECT PART_ID FROM MOUMI_USER_DEPT WHERE DEL_TYPE='N' AND NAME LIKE '%" + keyWord + "%'"; |
|
sql = "SELECT PART_ID FROM MOUMI_USER_DEPT WHERE DEL_TYPE='N' AND NAME LIKE '%' || " + "?" + " || '%'"; |
|
//================================================= |
|
|
|
con = getConnection(); |
|
stmt = con.prepareStatement(sql); |
|
|
|
//19.SQL 삽입(메소드파라미터)_CWE-89 : Add by KWON,HAN |
|
stmt.setString(1, keyWord); |
|
//+++++++++++++++++++++++++++++++++++++++ |
|
|
|
rs = stmt.executeQuery(); |
|
|
|
while (rs.next()) { |
|
String tmp = rs.getString(1); |
|
if (tmp == null || tmp.equals("")) { |
|
continue; |
|
} |
|
list.add("#" + tmp); |
|
dataCnt++; |
|
if (dataCnt > 500) { |
|
return; |
|
} |
|
getSearchLoop(tmp); |
|
} |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex) { |
|
//System.out.println("error exception2:"+ex); |
|
ex.printStackTrace(); |
|
} finally { |
|
//42.비어있는 if문 : Update by YOUNGJUN,CHO |
|
if(rs!=null) { |
|
try { |
|
rs.close(); |
|
rs=null; |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex){ |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
if(stmt!=null) { |
|
try { |
|
stmt.close(); |
|
stmt=null; |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex){ |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
if(con!=null) { |
|
try { |
|
con.close(); |
|
con=null; |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex) { |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
//================================================ |
|
} |
|
//================================================ |
|
} |
|
|
|
public void getSearchLoop(String tmpp) { |
|
if(dataCnt>500) { |
|
return; |
|
} |
|
|
|
//44.적절하지 않은 예외처리(광범위예외클래스)_CWE-754 : Update by YOUNGJUN,CHO |
|
PreparedStatement stmt = null; |
|
String sql = null; |
|
ResultSet rs = null; |
|
|
|
try { |
|
rs = null; |
|
stmt = null; |
|
|
|
/*String sql="SELECT UPPER_DEPT FROM MOUMI_DEPT WHERE SEL_TYPE='Y' AND ID='"+tmpp+"' "; |
|
sql+="AND (UPPER_DEPT IS NOT NULL AND UPPER_DEPT<>'"+tmpp+"')";*/ |
|
//17.SQL 삽입(Database)_CWE-89 : Update by KWON.HAN |
|
//sql = "SELECT UPPER_DEPT FROM MOUMI_DEPT WHERE ID='" + tmpp + "' "; |
|
//sql += "AND (UPPER_DEPT IS NOT NULL AND UPPER_DEPT<>'" + tmpp + "')"; |
|
sql = "SELECT UPPER_DEPT FROM MOUMI_DEPT WHERE ID= " + "?" + " "; |
|
sql += "AND (UPPER_DEPT IS NOT NULL AND UPPER_DEPT <> " + "?" + " ) "; |
|
//================================================= |
|
|
|
stmt = con.prepareStatement(sql); |
|
|
|
//17.SQL 삽입(Database)_CWE-89 : Add by KWON,HAN |
|
//18.SQL 삽입(메소드파라미터)_CWE-89 |
|
stmt.setString(1, tmpp); |
|
stmt.setString(2, tmpp); |
|
//+++++++++++++++++++++++++++++++++++++++ |
|
|
|
rs = stmt.executeQuery(); |
|
if (rs.next()) { |
|
String tmp1 = rs.getString(1); |
|
if (tmp1 == null || tmp1.equals("")) { |
|
return; |
|
} |
|
list.add("#" + tmp1); |
|
dataCnt++; |
|
getSearchLoop(tmp1); |
|
} |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex) { |
|
ex.printStackTrace(); |
|
} finally { |
|
//42.비어있는 if문 : Update by YOUNGJUN,CHO |
|
if(rs!=null) { |
|
try { |
|
rs.close(); |
|
rs=null; |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex){ |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
|
|
if(stmt!=null) { |
|
try { |
|
stmt.close(); |
|
stmt=null; |
|
} catch (SQLException sqlex) { |
|
sqlex.printStackTrace(); |
|
} catch(Exception ex){ |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
//================================================ |
|
} |
|
//================================================ |
|
} |
|
}
|
|
|