knu project
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.
 
 
 
 
 
 

365 lines
12 KiB

/***********************************************************************************
* @@ Program Name : AssignList.java Description : 보고자 이관 List Author : Create Date : History :
* @@
***********************************************************************************/
package kr.co.kihyun.beans.totsys.repoper;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import kr.co.kihyun.beans.entity.Emul;
import kr.co.kihyun.beans.entity.MDept;
import kr.co.kihyun.beans.entity.MUser;
import kr.co.kihyun.beans.entity.MoumiEntity;
import kr.co.kihyun.beans.entity.TotReport;
import kr.co.kihyun.beans.entity.UserHistory;
import kr.co.kihyun.db.DBManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class RepTransfer extends DBManager {
private static final Logger LOG = LoggerFactory.getLogger(RepTransfer.class);
private ResultSet rs = null;
private int count = 0;
private String[] userIDList = null;
private String[] userNameList = null;
private String[] deptNameList = null;
private String[] deptIDList = null;
private String[] userPhoneList = null;
private String[] changeUserIDList = null;
private String[] changeUserDateList = null;
private String[] upperDeptIDList = null;
public void transListQuery(String deptID, int sysAuth) {
StringBuilder sql = new StringBuilder(300);
try {
sql.append("SELECT us.id, sp_cm_dec_fu(us.name), em.dept_id, dp.name, us.phone FROM ")
.append(MoumiEntity.getTableName(Emul.class)).append(" em, ")
.append(MoumiEntity.getTableName(MUser.class)).append(" us, ")
.append(MoumiEntity.getTableName(MDept.class)).append(" dp ")
.append("WHERE em.user_id=us.id and em.dept_id=dp.id AND em.dept_id=? ")
.append("AND us.sys_auth <= ? and (us.del_type='0' or us.del_type='N')");
rs = execQuery(sql.toString(), deptID, sysAuth);
if (rs != null) {
rs.last();
count = rs.getRow();
rs.beforeFirst();
} else {
return;
}
userIDList = new String[count];
userNameList = new String[count];
userPhoneList = new String[count];
deptNameList = new String[count];
deptIDList = new String[count];
for (int i = 0; rs.next(); i++) {
userIDList[i] = rs.getString(1);
userNameList[i] = rs.getString(2);
deptIDList[i] = rs.getString(3);
deptNameList[i] = rs.getString(4);
userPhoneList[i] = rs.getString(5);
}
} catch (SQLException sqlEx) {
LOG.error("\nSQLState - {}\nMySQL Error Code - {}\nmessage - {}\nsql - {}",
new Object[] { sqlEx.getSQLState(), sqlEx.getErrorCode(), sqlEx.getMessage(), sql });
throw new RuntimeException(sqlEx);
} catch (Exception ex) {
throw new RuntimeException(ex);
} finally {
close(rs);
execClose();
}
}
public void searchListQuery(int sysAuth, String addString, String findWord) {
searchListQuery(null, sysAuth, addString, findWord);
}
public void searchListQuery(String deptID, int sysAuth, String findOption, String findWord) {
StringBuilder sql = new StringBuilder(300);
ArrayList<Object> paramList = new ArrayList<Object>();
try {
sql.append("SELECT us.id, sp_cm_dec_fu(us.name), us.dept_id, dp.name, us.phone, dp.upper_dept FROM ")
.append(MoumiEntity.getTableName(Emul.class)).append(" em, ")
.append(MoumiEntity.getTableName(MUser.class)).append(" us, ")
.append(MoumiEntity.getTableName(MDept.class)).append(" dp ")
.append("WHERE em.user_id=us.id and (us.del_type='0' or us.del_type='N') ")
.append("and em.dept_id=dp.id AND us.sys_auth < 3 AND us.sys_auth >= 0 ")
.append("AND dp.name NOT LIKE '%테스트%' AND lower(dp.name) NOT LIKE '%test%' AND ");
if (deptID != null) {
sql.append("em.dept_id=? AND ");
paramList.add(deptID);
}
if ("dept".equals(findOption)) {
sql.append("dp.name like ? ");
paramList.add("%" + findWord + "%");
} else if ("name".equals(findOption)) {
sql.append("sp_cm_dec_fu(us.name) like ? ");
paramList.add("%" + findWord + "%");
} else if ("id".equals(findOption)) {
sql.append("us.id like ? ");
paramList.add("%" + findWord + "%");
} else {
sql.append("(dp.name like ? OR sp_cm_dec_fu(us.name) like ? OR us.id like ?) ");
paramList.add("%" + findWord + "%");
paramList.add("%" + findWord + "%");
paramList.add("%" + findWord + "%");
}
sql.append("order by us.priority");
rs = execQuery(sql.toString(), paramList.toArray());
if (rs != null) {
rs.last();
count = rs.getRow();
rs.beforeFirst();
} else {
return;
}
userIDList = new String[count];
userNameList = new String[count];
deptIDList = new String[count];
deptNameList = new String[count];
userPhoneList = new String[count];
upperDeptIDList = new String[count];
for (int i = 0; rs.next(); i++) {
userIDList[i] = rs.getString(1);
userNameList[i] = rs.getString(2);
deptIDList[i] = rs.getString(3);
deptNameList[i] = rs.getString(4);
userPhoneList[i] = rs.getString(5);
upperDeptIDList[i] = rs.getString(6);
}
} catch (SQLException sqlEx) {
LOG.error("\nSQLState - {}\nMySQL Error Code - {}\nmessage - {}\nsql - {}",
new Object[] { sqlEx.getSQLState(), sqlEx.getErrorCode(), sqlEx.getMessage(), sql });
throw new RuntimeException(sqlEx);
} catch (Exception ex) {
throw new RuntimeException(ex);
} finally {
close(rs);
execClose();
}
}
public int getDocType(Long docID, String deptID) {
StringBuilder sql = new StringBuilder(90);
int doc_type = 0;
try {
sql.append("select doc_type from ").append(MoumiEntity.getTableName(TotReport.class))
.append(" where doc_id=? and dept_id=?");
rs = execQuery(sql.toString(), docID, deptID);
if (rs.next()) {
doc_type = rs.getInt(1);
}
return doc_type;
} catch (SQLException sqlEx) {
LOG.error("\nSQLState - {}\nMySQL Error Code - {}\nmessage - {}\nsql - {}",
new Object[] { sqlEx.getSQLState(), sqlEx.getErrorCode(), sqlEx.getMessage(), sql });
throw new RuntimeException(sqlEx);
} catch (Exception ex) {
throw new RuntimeException(ex);
} finally {
close(rs);
execClose();
}
}
public void userTransListQuery(Long docID, String deptID) {
StringBuilder sql = new StringBuilder(90);
try {
sql.append("SELECT user_id, change_id, write_date FROM ")
.append(MoumiEntity.getTableName(UserHistory.class))
.append(" where doc_id=? and dept_id=?");
rs = execQuery(sql.toString(), docID, deptID);
if (rs != null) {
rs.last();
count = rs.getRow();
rs.beforeFirst();
} else {
return;
}
userIDList = new String[count];
changeUserIDList = new String[count];
changeUserDateList = new String[count];
for (int i = 0; rs.next(); i++) {
userIDList[i] = rs.getString(1);
changeUserIDList[i] = rs.getString(2);
changeUserDateList[i] = rs.getString(3);
}
} catch (SQLException sqlEx) {
LOG.error("\nSQLState - {}\nMySQL Error Code - {}\nmessage - {}\nsql - {}",
new Object[] { sqlEx.getSQLState(), sqlEx.getErrorCode(), sqlEx.getMessage(), sql });
throw new RuntimeException(sqlEx);
} catch (Exception ex) {
throw new RuntimeException(ex);
} finally {
close(rs);
execClose();
}
}
public void usertransListQuery(Long docID, String deptID) {
StringBuilder sql = new StringBuilder(90);
try {
sql.append("SELECT user_id, change_id, write_date FROM ")
.append(MoumiEntity.getTableName(UserHistory.class))
.append(" where doc_id=? and dept_id=?");
rs = execQuery(sql.toString(), docID, deptID);
if (rs != null) {
rs.last();
count = rs.getRow();
rs.beforeFirst();
} else {
return;
}
userIDList = new String[count];
changeUserIDList = new String[count];
changeUserDateList = new String[count];
for (int i = 0; rs.next(); i++) {
userIDList[i] = rs.getString(1);
changeUserIDList[i] = rs.getString(2);
changeUserDateList[i] = rs.getString(3);
}
} catch (SQLException sqlEx) {
LOG.error("\nSQLState - {}\nMySQL Error Code - {}\nmessage - {}\nsql - {}",
new Object[] { sqlEx.getSQLState(), sqlEx.getErrorCode(), sqlEx.getMessage(), sql });
throw new RuntimeException(sqlEx);
} catch (Exception ex) {
throw new RuntimeException(ex);
} finally {
close(rs);
execClose();
}
}
public int getCount() {
return count;
}
public String[] getUserIDList() {
//24.Public 메소드로부터 반환된 Private배열_CWE-495 : Update by KWON,HAN
// return userIDList;
String[] ret = null;
if( this.userIDList != null) {
ret = new String[userIDList.length];
for (int i=0; i<userIDList.length; i++) {
ret[i] = this.userIDList[i];
}
}
return ret;
//====================================================================
}
public String[] getUserNameList() {
// return userNameList;
String[] ret = null;
if( this.userNameList != null) {
ret = new String[userNameList.length];
for (int i=0; i<userNameList.length; i++) {
ret[i] = this.userNameList[i];
}
}
return ret;
}
public String[] getUserPhoneList() {
// return userPhoneList;
String[] ret = null;
if( this.userPhoneList != null) {
ret = new String[userPhoneList.length];
for (int i=0; i<userPhoneList.length; i++) {
ret[i] = this.userPhoneList[i];
}
}
return ret;
}
public String[] getDeptIDList() {
// return deptIDList;
String[] ret = null;
if( this.deptIDList != null) {
ret = new String[deptIDList.length];
for (int i=0; i<deptIDList.length; i++) {
ret[i] = this.deptIDList[i];
}
}
return ret;
}
public String[] getDeptNameList() {
// return deptNameList;
String[] ret = null;
if( this.deptNameList != null) {
ret = new String[deptNameList.length];
for (int i=0; i<deptNameList.length; i++) {
ret[i] = this.deptNameList[i];
}
}
return ret;
}
public String[] getChangeUserIDList() {
// return changeUserIDList;
String[] ret = null;
if( this.changeUserIDList != null) {
ret = new String[changeUserIDList.length];
for (int i=0; i<changeUserIDList.length; i++) {
ret[i] = this.changeUserIDList[i];
}
}
return ret;
}
public String[] getChangeUserDateList() {
// return changeUserDateList;
String[] ret = null;
if( this.changeUserDateList != null) {
ret = new String[changeUserDateList.length];
for (int i=0; i<changeUserDateList.length; i++) {
ret[i] = this.changeUserDateList[i];
}
}
return ret;
}
public String[] getUpperDeptIDList() {
// return upperDeptIDList;
String[] ret = null;
if( this.upperDeptIDList != null) {
ret = new String[upperDeptIDList.length];
for (int i=0; i<upperDeptIDList.length; i++) {
ret[i] = this.upperDeptIDList[i];
}
}
return ret;
}
}