이지우 - 관리자 대시보드 수정 및 SMS 팝업 수정 중

This commit is contained in:
JIWOO 2025-02-10 09:46:02 +09:00
parent a53ac97333
commit effe48476e
4 changed files with 382 additions and 4 deletions

View File

@ -5,9 +5,12 @@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="java.util.Date"%> <%@ page import="java.util.Date"%>
<%@ page import="java.io.File"%> <%@ page import="java.io.File"%>
<%@ include file="/WEB-INF/views/_extra/dao/smsDao.jsp"%> <%-- <%@ include file="/WEB-INF/views/_extra/dao/smsDao.jsp"%>
<%@ include file="/WEB-INF/views/_extra/dao/commonFileDao.jsp"%> <%@ include file="/WEB-INF/views/_extra/dao/commonFileDao.jsp"%>
<%@ include file="/WEB-INF/views/_extra/common/commonFileUtil.jsp"%> <%@ include file="/WEB-INF/views/_extra/common/commonFileUtil.jsp"%> --%>
<%@ include file="/WEB-INF/jsp/seed/_extra/dao/smsDao.jsp"%>
<%@ include file="/WEB-INF/jsp/seed/_extra/dao/commonFileDao.jsp"%>
<%@ include file="/WEB-INF/jsp/seed/_extra/common/commonFileUtil.jsp"%>
<% <%

View File

@ -160,14 +160,13 @@
<span class="list_writer"> <span class="list_writer">
<c:out value="${caseList.respondentCompany}"/> <c:out value="${caseList.respondentCompany}"/>
</span> </span>
<span class="list_date">${caseList.proDate}일</span>
</c:if> </c:if>
<c:if test="${params.memberPosition != SeedConstants.JOSAGWAN }"> <c:if test="${params.memberPosition != SeedConstants.JOSAGWAN }">
<span class="list_writer"> <span class="list_writer">
<c:out value="${caseList.caseExaminerNm}"/> <c:out value="${caseList.caseExaminerNm}"/>
</span> </span>
<span class="list_date">${caseList.caseDate}</span>
</c:if> </c:if>
<span class="list_date">${caseList.proDate}일</span>
</a> </a>
</li> </li>
</c:forEach> </c:forEach>

View File

@ -0,0 +1,28 @@
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.io.File" %>
<%!
public void deleteFileArray(String deleteFileName, String deleteFilePath){
if(deleteFileName!=null && !deleteFileName.equals("")){
String[] deleteFileNames = deleteFileName.split(",");
int iLoop = deleteFileNames.length;
for(int i=0; i<iLoop; i++){
String fileName = deleteFileNames[i];
if(fileName != null && !fileName.equals("")){
File deleteFile = new File(deleteFilePath+"/"+fileName);
if(deleteFile.exists()){
deleteFile.delete();
}
}
}
}
}
public void deleteFile(String deleteFileName, String deleteFilePath){
if(deleteFileName!=null && !deleteFileName.equals("")){
File deleteFile = new File(deleteFilePath+"/"+deleteFileName);
if(deleteFile.exists()){
deleteFile.delete();
}
}
}
%>

View File

@ -0,0 +1,348 @@
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="seed.utils.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.sql.SQLException" %>
<%@ page import="org.apache.commons.dbutils.DbUtils" %>
<%@ page import="org.apache.commons.dbutils.QueryRunner" %>
<%@ page import="org.apache.commons.dbutils.ResultSetHandler" %>
<%@ page import="org.apache.commons.dbutils.handlers.MapListHandler" %>
<%@ page import="org.apache.commons.dbutils.handlers.MapHandler" %>
<%!
public List<Map<String,Object>> getExtraFileList(SeedSqlCon seedSqlCon, String dataIdx, String funcType){
List<Map<String,Object>> dataList = null;
StringBuffer strSql = new StringBuffer();
strSql.append(" SELECT * \n");
strSql.append(" FROM T_EXTRA_FILE \n");
strSql.append(" WHERE EXTRA_DATA_IDX = ? \n");
strSql.append(" AND EXTRA_FUNC_TYPE = ? \n");
strSql.append(" ORDER BY EXTRA_FILE_IDX DESC \n");
QueryRunner runner = new QueryRunner();
try{
dataList = runner.query(seedSqlCon.getConnection(), strSql.toString(), new MapListHandler(), new Object[]{dataIdx, funcType});
}catch(SQLException e){
e.printStackTrace();
System.out.println("getExtraFileList(SeedSqlCon seedSqlCon, String dataIdx, String funcType)");
}
return dataList;
}
public Map<String,Object> getExtraFileInfo(SeedSqlCon seedSqlCon, String fileIdx){
Map<String,Object> dataInfo = null;
StringBuffer strSql = new StringBuffer();
strSql.append(" SELECT * \n");
strSql.append(" FROM T_EXTRA_FILE \n");
strSql.append(" WHERE EXTRA_FILE_IDX = ? \n");
QueryRunner runner = new QueryRunner();
try{
dataInfo = runner.query(seedSqlCon.getConnection(), strSql.toString(), new MapHandler(), new Object[]{fileIdx});
}catch(SQLException e){
System.out.println("getExtraFileInfo(SeedSqlCon seedSqlCon, String fileIdx)");
}
return dataInfo;
}
public Map<String,Object> getExtraFileDataIdx(SeedSqlCon seedSqlCon){
Map<String,Object> dataInfo = null;
StringBuffer strSql = new StringBuffer();
//dataIdx값을 가지고 오는 방식은 시퀀스를 사용한 경우와 자동증가 값을 사용한 경우 2가지로 나누어서 처리 합니다.
SeedProperties seedProperties = new SeedProperties();
if("oracle".equals(seedProperties.getConfigValue("database")) || "tibero".equals(seedProperties.getConfigValue("database"))){
strSql.append(" SELECT SEQ_EXTRA_FILE.NEXTVAL AS DATA_IDX FROM DUAL \n");
}else if("mssql".equals(seedProperties.getConfigValue("database"))){
strSql.append(" SELECT IDENT_CURRENT('T_EXTRA_FILE') AS DATA_IDX \n");
}else if("mysql".equals(seedProperties.getConfigValue("database"))){
strSql.append(" SELECT LAST_INSERT_ID() AS DATA_IDX \n");
}else if("cubrid".equals(seedProperties.getConfigValue("database"))){
strSql.append(" SELECT SEQ_EXTRA_FILE.NEXTVAL AS DATA_IDX \n");
}else if("hsqldb".equals(seedProperties.getConfigValue("database"))){
strSql.append(" SELECT MAX(EXTRA_FILE_IDX) AS DATA_IDX FROM T_EXTRA_FILE \n");
}
QueryRunner runner = new QueryRunner();
try{
dataInfo = runner.query(seedSqlCon.getConnection(), strSql.toString(), new MapHandler());
}catch(SQLException e){
System.out.println("getExtraFileDataIdx(SeedSqlCon seedSqlCon)");
}
return dataInfo;
}
public boolean setExtraFileInsert(SeedSqlCon seedSqlCon, Object[] objData){
boolean success = false;
SeedProperties seedProperties = new SeedProperties();
StringBuffer strSql = new StringBuffer();
if("oracle".equals(seedProperties.getConfigValue("database")) || "tibero".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
strSql.append(" ?, ?, ?, ?, \n");
strSql.append(" SYSDATE, ?, ?, ?, \n");
strSql.append(" ?, ? \n");
strSql.append(" ) \n");
}else if("mssql".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
strSql.append(" ?, ?, ?, ?, \n");
strSql.append(" GETDATE(), ?, ?, ?, \n");
strSql.append(" ?, ? \n");
strSql.append(" ) \n");
//file_idx의 경우 자동증가로 설정 하게 되면 insert문에서 처리 하지 않습니다.
}else if("mysql".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
strSql.append(" ?, ?, ?, ?, \n");
strSql.append(" NOW(), ?, ?, ?, \n");
strSql.append(" ?, ? \n");
strSql.append(" ) \n");
//file_idx의 경우 자동증가로 설정 하게 되면 insert문에서 처리 하지 않습니다.
//mysql 현재 시간 가지고 오는 함수중 SYSDATE()를 사용하지 않도록 합니다.
//SYSDATE() 함수는 해당 함수가 실행 되는 시점의 시간을 가지고 오기 때문에 SQL문에 있더라도
//시간 차이가 발생 될 수 있습니다.
}else if("cubrid".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
strSql.append(" ?, ?, ?, ?, \n");
strSql.append(" sysdatetime, ?, ?, ?, \n");
strSql.append(" ?, ? \n");
strSql.append(" ) \n");
//sysdate 와 sysdatetime 2가지가 존재 합니다. 2가지의 차이는 time 즉 시간 정보를 가지고 오냐 아니냐의 차이 입니다.
}else if("hsqldb".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
//strSql.append(" default, ?, ?, ?, \n");
strSql.append(" null, ?, ?, ?, \n");
strSql.append(" SYSDATE, ?, ?, ?, \n");
strSql.append(" ?, ? \n");
strSql.append(" ) \n");
}
QueryRunner runner = new QueryRunner();
try{
if(runner.update(seedSqlCon.getConnection(), strSql.toString(), objData)>0){
success = true;
}
}catch(SQLException e){
System.out.println("setExtraFileInsert(SeedSqlCon seedSqlCon, Object[] objData)");
}
return success;
}
public boolean setExtraFileDelete(SeedSqlCon seedSqlCon, Object[] objData){
boolean success = true;
StringBuffer strSql = new StringBuffer();
strSql.append(" DELETE FROM T_EXTRA_FILE WHERE EXTRA_FILE_IDX = ? \n");
QueryRunner runner = new QueryRunner();
try{
runner.update(seedSqlCon.getConnection(), strSql.toString(), objData);
}catch(SQLException e){
success = false;
System.out.println("setExtraFileDelete(SeedSqlCon seedSqlCon, Object[] objData)");
}
return success;
}
public boolean setExtraFileFuncDelete(SeedSqlCon seedSqlCon, Object[] objData){
boolean success = true;
StringBuffer strSql = new StringBuffer();
strSql.append(" DELETE FROM T_EXTRA_FILE WHERE EXTRA_DATA_IDX = ? AND EXTRA_FUNC_TYPE = ? \n");
QueryRunner runner = new QueryRunner();
try{
runner.update(seedSqlCon.getConnection(), strSql.toString(), objData);
}catch(SQLException e){
success = false;
System.out.println("setExtraFileFuncDelete(SeedSqlCon seedSqlCon, Object[] objData)");
}
return success;
}
//fileManagement때문에 추가
public boolean setExtraFileInsertToYN(SeedSqlCon seedSqlCon, Object[] objData){
boolean success = false;
SeedProperties seedProperties = new SeedProperties();
StringBuffer strSql = new StringBuffer();
if("oracle".equals(seedProperties.getConfigValue("database")) || "tibero".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE, EXTRA_THUM_YN \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
strSql.append(" ?, ?, ?, ?, \n");
strSql.append(" SYSDATE, ?, ?, ?, \n");
strSql.append(" ?, ?, ? \n");
strSql.append(" ) \n");
}else if("mssql".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE, EXTRA_THUM_YN \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
strSql.append(" ?, ?, ?, ?, \n");
strSql.append(" GETDATE(), ?, ?, ?, \n");
strSql.append(" ?, ?, ? \n");
strSql.append(" ) \n");
//file_idx의 경우 자동증가로 설정 하게 되면 insert문에서 처리 하지 않습니다.
}else if("mysql".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE, EXTRA_THUM_YN \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
strSql.append(" ?, ?, ?, ?, \n");
strSql.append(" NOW(), ?, ?, ?, \n");
strSql.append(" ?, ?, ? \n");
strSql.append(" ) \n");
//file_idx의 경우 자동증가로 설정 하게 되면 insert문에서 처리 하지 않습니다.
//mysql 현재 시간 가지고 오는 함수중 SYSDATE()를 사용하지 않도록 합니다.
//SYSDATE() 함수는 해당 함수가 실행 되는 시점의 시간을 가지고 오기 때문에 SQL문에 있더라도
//시간 차이가 발생 될 수 있습니다.
}else if("cubrid".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE, EXTRA_THUM_YN \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
strSql.append(" ?, ?, ?, ?, \n");
strSql.append(" sysdatetime, ?, ?, ?, \n");
strSql.append(" ?, ?, ? \n");
strSql.append(" ) \n");
//sysdate 와 sysdatetime 2가지가 존재 합니다. 2가지의 차이는 time 즉 시간 정보를 가지고 오냐 아니냐의 차이 입니다.
}else if("hsqldb".equals(seedProperties.getConfigValue("database"))){
strSql.append(" INSERT INTO T_EXTRA_FILE \n");
strSql.append(" ( \n");
strSql.append(" EXTRA_FILE_IDX, EXTRA_FILE_ENCRYPTION, EXTRA_FILE_NAME, EXTRA_FILE_RENAME, \n");
strSql.append(" EXTRA_FILE_REGDATE, EXTRA_FILE_SIZE, EXTRA_FILE_TEXT, EXTRA_FILE_TYPE, \n");
strSql.append(" EXTRA_DATA_IDX, EXTRA_FUNC_TYPE, EXTRA_THUM_YN \n");
strSql.append(" ) \n");
strSql.append(" VALUES \n");
strSql.append(" ( \n");
//strSql.append(" default, ?, ?, ?, \n");
strSql.append(" null, ?, ?, ?, \n");
strSql.append(" SYSDATE, ?, ?, ?, \n");
strSql.append(" ?, ?, ? \n");
strSql.append(" ) \n");
}
QueryRunner runner = new QueryRunner();
try{
if(runner.update(seedSqlCon.getConnection(), strSql.toString(), objData)>0){
success = true;
}
}catch(SQLException e){
System.out.println("setExtraFileInsertToYN(SeedSqlCon seedSqlCon, Object[] objData)");
}
return success;
}
//fileManagement때문에 추가
public List<Map<String,Object>> getExtraFileLisToYN(SeedSqlCon seedSqlCon, String dataIdx, String funcType){
List<Map<String,Object>> dataList = null;
StringBuffer strSql = new StringBuffer();
strSql.append(" SELECT * \n");
strSql.append(" FROM T_EXTRA_FILE \n");
strSql.append(" WHERE EXTRA_DATA_IDX = ? \n");
strSql.append(" AND EXTRA_FUNC_TYPE = ? \n");
strSql.append(" ORDER BY EXTRA_FILE_IDX DESC \n");
QueryRunner runner = new QueryRunner();
try{
dataList = runner.query(seedSqlCon.getConnection(), strSql.toString(), new MapListHandler(), new Object[]{dataIdx, funcType});
}catch(SQLException e){
e.printStackTrace();
System.out.println("getExtraFileList(SeedSqlCon seedSqlCon, String dataIdx, String funcType)");
}
return dataList;
}
//공개범위 업데이트 추가
public boolean setExtraFileScop(SeedSqlCon seedSqlCon, Object[] objData){
boolean isSuccess = false;
StringBuffer strSql = new StringBuffer();
strSql.append("UPDATE T_EXTRA_FILE SET \n");
strSql.append("EXTRA_THUM_YN = ? \n");
strSql.append("WHERE EXTRA_FILE_IDX = ? \n");
QueryRunner runner = new QueryRunner();
try{
if(runner.update(seedSqlCon.getConnection(), strSql.toString(), objData)>0){
isSuccess = true;
}
}catch(SQLException e){
System.out.println("setExtraFileScop(SeedSqlCon seedSqlCon, Object[] objData) : " + e.getMessage());
}
return isSuccess;
}
%>