2024-09-20 16:33 종료사건 조회 작업

This commit is contained in:
myname 2024-09-20 16:33:34 +09:00
parent 46ec3dbb64
commit 045f48b4e5
33 changed files with 18373 additions and 0 deletions

View File

@ -0,0 +1,15 @@
package seed.manager.bbs.service;
import java.util.List;
import seed.map.T_BBS_AUTH;
public interface ManagerBbsAuthService {
//ManagerBbsController
public List<T_BBS_AUTH> getBbsAuthList(Integer bbsSetIdx, String[] qryColumns);
//ManagerBbsController
public boolean setBbsAuthModProc(Integer[] bbsAuthIdxs, Integer[] bbsAuthCertifys, Integer[] bbsAuthLists,
Integer[] bbsAuthContents, Integer[] bbsAuthWrites, Integer[] bbsAuthReplys);
}

View File

@ -0,0 +1,81 @@
package seed.manager.bbs.service;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import egovframework.rte.fdl.cmmn.AbstractServiceImpl;
import seed.dao.BbsAuthDAO;
import seed.map.T_BBS_AUTH;
@Service
public class ManagerBbsAuthServiceImpl extends AbstractServiceImpl implements ManagerBbsAuthService{
@Autowired
private BbsAuthDAO bbsAuthDAO;
//ManagerBbsController
public List<T_BBS_AUTH> getBbsAuthList(Integer bbsSetIdx, String[] qryColumns){
return bbsAuthDAO.getBbsAuthList(bbsSetIdx, qryColumns);
}
//ManagerBbsController
@Transactional
public boolean setBbsAuthModProc(Integer[] bbsAuthIdxs, Integer[] bbsAuthCertifys, Integer[] bbsAuthLists,
Integer[] bbsAuthContents, Integer[] bbsAuthWrites, Integer[] bbsAuthReplys){
boolean success = false;
for(int a=0; a<bbsAuthIdxs.length; a++){
T_BBS_AUTH tBbsAuthDB = bbsAuthDAO.getBbsAuthForm(bbsAuthIdxs[a]);
if(ArrayUtils.contains(bbsAuthCertifys, bbsAuthIdxs[a])){
tBbsAuthDB.setBbsAuthCertify("Y");
}else{
tBbsAuthDB.setBbsAuthCertify("N");
}
if(ArrayUtils.contains(bbsAuthLists, bbsAuthIdxs[a])){
tBbsAuthDB.setBbsAuthList("Y");
}else{
tBbsAuthDB.setBbsAuthList("N");
}
if(ArrayUtils.contains(bbsAuthContents, bbsAuthIdxs[a])){
tBbsAuthDB.setBbsAuthContent("Y");
}else{
tBbsAuthDB.setBbsAuthContent("N");
}
if(ArrayUtils.contains(bbsAuthWrites, bbsAuthIdxs[a])){
tBbsAuthDB.setBbsAuthWrite("Y");
}else{
tBbsAuthDB.setBbsAuthWrite("N");
}
if(ArrayUtils.contains(bbsAuthReplys, bbsAuthIdxs[a])){
tBbsAuthDB.setBbsAuthReply("Y");
}else{
tBbsAuthDB.setBbsAuthReply("N");
}
tBbsAuthDB.setBbsAuthModDate(new Date());
if(!bbsAuthDAO.setBbsAuthModProc(tBbsAuthDB)){
success = false;
break;
}else{
success = true;
}
}
return success;
}
}

View File

@ -0,0 +1,33 @@
package seed.manager.bbs.service;
import java.util.List;
import seed.map.T_BBS_CATEGORY;
import seed.map.VIEW_BBS_CATEGORY;
public interface ManagerBbsCategoryService {
//ManagerBbsController
public List<VIEW_BBS_CATEGORY> getBbsCategoryList(Integer bbsSetIdx, String[] qryColumns);
//ManagerBbsController
public List<T_BBS_CATEGORY> getBbsCategoryListt(Integer bbsSetIdx, String[] qryColumns);
//ManagerBbsController
public T_BBS_CATEGORY getBbsCategoryForm(Integer bbsCategoryIdx);
//ManagerBbsController
public boolean setBbsCategoryRegProc(T_BBS_CATEGORY tBbsCategory, Integer memberIdx);
//ManagerBbsController
public boolean setBbsCategoryModProc(T_BBS_CATEGORY tBbsCategory, Integer memberIdx);
//ManagerBbsController
public boolean setBbsCategoryDelProc(Integer bbsCategoryIdx);
//ManagerBbsController
public boolean setBbsCategoryStatusProc(Integer bbsCategoryIdx, String status, Integer memberIdx);
//ManagerBbsController
public boolean setBbsCategoryOrderProc(Integer bbsSetIdx, Integer bbsCategoryIdx, String orderType, Integer memberIdx);
}

View File

@ -0,0 +1,351 @@
package seed.manager.bbs.service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import egovframework.rte.fdl.cmmn.AbstractServiceImpl;
import seed.dao.BbsCategoryDAO;
import seed.map.T_BBS_CATEGORY;
import seed.map.T_MEMBER;
import seed.map.VIEW_BBS_CATEGORY;
@Service
public class ManagerBbsCategoryServiceImpl extends AbstractServiceImpl implements ManagerBbsCategoryService{
@Autowired
private BbsCategoryDAO bbsCategoryDAO;
//ManagerBbsController
public List<VIEW_BBS_CATEGORY> getBbsCategoryList(Integer bbsSetIdx, String[] qryColumns){
return bbsCategoryDAO.getBbsCategoryList(bbsSetIdx, qryColumns);
}
//ManagerBbsController
public List<T_BBS_CATEGORY> getBbsCategoryListt(Integer bbsSetIdx, String[] qryColumns){
return bbsCategoryDAO.getBbsCategoryListt(bbsSetIdx, qryColumns);
}
//ManagerBbsController
public T_BBS_CATEGORY getBbsCategoryForm(Integer bbsCategoryIdx){
return bbsCategoryDAO.getBbsCategoryForm(bbsCategoryIdx);
}
//ManagerBbsController
@Transactional
public boolean setBbsCategoryRegProc(T_BBS_CATEGORY tBbsCategory, Integer memberIdx){
Integer bbsCategoryDepth = 0;
Integer bbsCategoryOrder = 0;
String bbsCategoryIdxs = "";
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tBbsCategory.settMember(tMember);
tBbsCategory.setBbsCategoryRegDate(new Date());
tBbsCategory.setBbsCategoryModDate(new Date());
String[] qryColumns = {"bbsCategoryIdxs", "bbsCategoryName", "bbsCategoryIdx1", "bbsCategoryIdx2", "bbsCategoryIdx3", "bbsCategoryIdx4", "bbsCategoryIdx5",
"bbsCategoryDepth", "bbsCategoryOrder", "bbsCategoryParentIdx", "bbsCategoryStatus"};
Map<Object, Object> bbsCategoryParentMap = bbsCategoryDAO.getBbsCategoryParentForm(tBbsCategory.gettBbsSet().getBbsSetIdx(), tBbsCategory.getBbsCategoryParentIdx(), qryColumns);
if(bbsCategoryParentMap == null){ //같은 그룹에 데이타가 없을때 (하위 메뉴 추가)
if(tBbsCategory.getBbsCategoryParentIdx().equals("0")){ //최상위에서 추가
tBbsCategory.setBbsCategoryParentIdx("0");
tBbsCategory.setBbsCategoryDepth(1);
tBbsCategory.setBbsCategoryOrder(1);
tBbsCategory.setBbsCategoryIdx1("01");
tBbsCategory.setBbsCategoryIdx2("00");
tBbsCategory.setBbsCategoryIdx3("00");
tBbsCategory.setBbsCategoryIdx4("00");
tBbsCategory.setBbsCategoryIdx5("00");
tBbsCategory.setBbsCategoryStatus("U");
}else{ //선택된 키를 구해서 해당 데이타에서 추가(하위 메뉴 추가)
Map<Object, Object> bbsCategoryMap = bbsCategoryDAO.getBbsCategoryForm(tBbsCategory.gettBbsSet().getBbsSetIdx(), tBbsCategory.getBbsCategoryParentIdx(), qryColumns);
bbsCategoryDepth = Integer.parseInt(bbsCategoryMap.get("_bbsCategoryDepth").toString());
bbsCategoryOrder = Integer.parseInt(bbsCategoryMap.get("_bbsCategoryOrder").toString());
tBbsCategory.setBbsCategoryOrder(bbsCategoryOrder+1);
tBbsCategory.setBbsCategoryDepth(bbsCategoryDepth+1);
tBbsCategory.setBbsCategoryIdx1(bbsCategoryMap.get("_bbsCategoryIdx1").toString());
tBbsCategory.setBbsCategoryIdx2(bbsCategoryMap.get("_bbsCategoryIdx2").toString());
tBbsCategory.setBbsCategoryIdx3(bbsCategoryMap.get("_bbsCategoryIdx3").toString());
tBbsCategory.setBbsCategoryIdx4(bbsCategoryMap.get("_bbsCategoryIdx4").toString());
tBbsCategory.setBbsCategoryIdx5(bbsCategoryMap.get("_bbsCategoryIdx5").toString());
tBbsCategory.setBbsCategoryStatus(bbsCategoryMap.get("_bbsCategoryStatus").toString());
switch (tBbsCategory.getBbsCategoryDepth()) {
case 1:
tBbsCategory.setBbsCategoryIdx1(getMenuIdx(bbsCategoryMap.get("_bbsCategoryIdx1").toString()));
break;
case 2:
tBbsCategory.setBbsCategoryIdx2(getMenuIdx(bbsCategoryMap.get("_bbsCategoryIdx2").toString()));
break;
case 3:
tBbsCategory.setBbsCategoryIdx3(getMenuIdx(bbsCategoryMap.get("_bbsCategoryIdx3").toString()));
break;
case 4:
tBbsCategory.setBbsCategoryIdx4(getMenuIdx(bbsCategoryMap.get("_bbsCategoryIdx4").toString()));
break;
case 5:
tBbsCategory.setBbsCategoryIdx5(getMenuIdx(bbsCategoryMap.get("_bbsCategoryIdx5").toString()));
break;
}
}
}else{ //같은 그룹의 부모키가 같은게 있을때 (같은 DEPTH에 메뉴 추가)
bbsCategoryDepth = Integer.parseInt(bbsCategoryParentMap.get("_bbsCategoryDepth").toString());
if(tBbsCategory.getBbsCategoryParentIdx().equals("0")){ //사이트에서 추가
tBbsCategory.setBbsCategoryParentIdx("0");
tBbsCategory.setBbsCategoryDepth(1);
}else{
tBbsCategory.setBbsCategoryParentIdx(tBbsCategory.getBbsCategoryParentIdx());
tBbsCategory.setBbsCategoryDepth(bbsCategoryDepth);
}
//상위 DEPTH에서 마지막 bbsCategoryOrder를 구해옴
tBbsCategory.setBbsCategoryOrder(bbsCategoryDAO.getBbsCategoryOrderForm(tBbsCategory.gettBbsSet().getBbsSetIdx(), bbsCategoryParentMap.get("_bbsCategoryIdxs").toString(), bbsCategoryDepth-1)+1);
tBbsCategory.setBbsCategoryIdx1(bbsCategoryParentMap.get("_bbsCategoryIdx1").toString());
tBbsCategory.setBbsCategoryIdx2(bbsCategoryParentMap.get("_bbsCategoryIdx2").toString());
tBbsCategory.setBbsCategoryIdx3(bbsCategoryParentMap.get("_bbsCategoryIdx3").toString());
tBbsCategory.setBbsCategoryIdx4(bbsCategoryParentMap.get("_bbsCategoryIdx4").toString());
tBbsCategory.setBbsCategoryIdx5(bbsCategoryParentMap.get("_bbsCategoryIdx5").toString());
tBbsCategory.setBbsCategoryStatus(bbsCategoryParentMap.get("_bbsCategoryStatus").toString());
switch (bbsCategoryDepth) {
case 1:
tBbsCategory.setBbsCategoryIdx1(getMenuIdx(bbsCategoryParentMap.get("_bbsCategoryIdx1").toString()));
break;
case 2:
tBbsCategory.setBbsCategoryIdx2(getMenuIdx(bbsCategoryParentMap.get("_bbsCategoryIdx2").toString()));
break;
case 3:
tBbsCategory.setBbsCategoryIdx3(getMenuIdx(bbsCategoryParentMap.get("_bbsCategoryIdx3").toString()));
break;
case 4:
tBbsCategory.setBbsCategoryIdx4(getMenuIdx(bbsCategoryParentMap.get("_bbsCategoryIdx4").toString()));
break;
case 5:
tBbsCategory.setBbsCategoryIdx5(getMenuIdx(bbsCategoryParentMap.get("_bbsCategoryIdx5").toString()));
break;
}
}
bbsCategoryIdxs = tBbsCategory.getBbsCategoryIdx1()+tBbsCategory.getBbsCategoryIdx2()+tBbsCategory.getBbsCategoryIdx3()+
tBbsCategory.getBbsCategoryIdx4()+tBbsCategory.getBbsCategoryIdx5();
tBbsCategory.setBbsCategoryIdxs(bbsCategoryIdxs);
bbsCategoryDAO.setBbsCategoryOrderProc(tBbsCategory.gettBbsSet().getBbsSetIdx(), tBbsCategory.getBbsCategoryOrder(), 0, "plus");
return bbsCategoryDAO.setBbsCategoryRegProc(tBbsCategory);
}
//ManagerBbsController
@Transactional
public boolean setBbsCategoryModProc(T_BBS_CATEGORY tBbsCategory, Integer memberIdx){
T_BBS_CATEGORY tBbsCategoryDB = bbsCategoryDAO.getBbsCategoryForm(tBbsCategory.getBbsCategoryIdx());
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tBbsCategoryDB.settMember(tMember);
tBbsCategoryDB.setBbsCategoryModDate(new Date());
tBbsCategoryDB.setBbsCategoryName(tBbsCategory.getBbsCategoryName());
return bbsCategoryDAO.setBbsCategoryModProc(tBbsCategoryDB);
}
//ManagerBbsController
@Transactional
public boolean setBbsCategoryDelProc(Integer bbsCategoryIdx){
boolean success = false;
T_BBS_CATEGORY tBbsCategoryDB = bbsCategoryDAO.getBbsCategoryForm(bbsCategoryIdx);
Integer bbsSetIdx = tBbsCategoryDB.gettBbsSet().getBbsSetIdx();
List<T_BBS_CATEGORY> bbsCategoryList = bbsCategoryDAO.getBbsCategoryList(tBbsCategoryDB.gettBbsSet().getBbsSetIdx(), tBbsCategoryDB.getBbsCategoryIdxs(), tBbsCategoryDB.getBbsCategoryDepth());
for(int i=0; i<bbsCategoryList.size(); i++){
T_BBS_CATEGORY tBbsCategory = bbsCategoryList.get(i);
if(i == (bbsCategoryList.size() - 1)){
if(bbsCategoryList.size() > 1){
bbsCategoryDAO.setBbsCategoryOrderProc(bbsSetIdx, tBbsCategory.getBbsCategoryOrder(), bbsCategoryList.size(), "minuss");
}else{
bbsCategoryDAO.setBbsCategoryOrderProc(bbsSetIdx, tBbsCategory.getBbsCategoryOrder(), 0, "minus");
}
}
if(bbsCategoryDAO.setBbsCategoryDelProc(tBbsCategory)){
success = true;
}else{
success = false;
break;
}
}
return success;
}
//ManagerBbsController
@Transactional
public boolean setBbsCategoryStatusProc(Integer bbsCategoryIdx, String status, Integer memberIdx){
boolean success = false;
T_BBS_CATEGORY tBbsCategoryDB = bbsCategoryDAO.getBbsCategoryForm(bbsCategoryIdx);
List<T_BBS_CATEGORY> bbsCategoryList = bbsCategoryDAO.getBbsCategoryList(tBbsCategoryDB.gettBbsSet().getBbsSetIdx(), tBbsCategoryDB.getBbsCategoryIdxs(), tBbsCategoryDB.getBbsCategoryDepth());
for(int i=0; i<bbsCategoryList.size(); i++){
T_BBS_CATEGORY tBbsCategory = bbsCategoryList.get(i);
if(tBbsCategory.getBbsCategoryIdx().equals(bbsCategoryIdx)){
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tBbsCategory.settMember(tMember);
tBbsCategory.setBbsCategoryModDate(new Date());
}
tBbsCategory.setBbsCategoryStatus(status);
if(bbsCategoryDAO.setBbsCategoryModProc(tBbsCategory)){
success = true;
}else{
success = false;
break;
}
}
return success;
}
//ManagerBbsController
@Transactional
public boolean setBbsCategoryOrderProc(Integer bbsSetIdx, Integer bbsCategoryIdx, String orderType, Integer memberIdx){
boolean success = false;
Integer bbsCategoryOrder = 0;
T_BBS_CATEGORY tBbsCategory = bbsCategoryDAO.getBbsCategoryForm(bbsCategoryIdx); //선택한 메뉴 데이타
T_BBS_CATEGORY tBbsCategoryOrder = bbsCategoryDAO.getBbsCategoryOrderForm(bbsSetIdx, tBbsCategory.getBbsCategoryDepth(), tBbsCategory.getBbsCategoryOrder(), orderType); //선택한 메뉴 데이타의 UP 또는 DOWN 데이타
List<T_BBS_CATEGORY> bbsCategoryList = bbsCategoryDAO.getBbsCategoryList(bbsSetIdx, tBbsCategory.getBbsCategoryIdxs(), tBbsCategory.getBbsCategoryDepth()); //선택한 메뉴에 속한 메뉴 리스트
List<T_BBS_CATEGORY> bbsCategoryOrderList = bbsCategoryDAO.getBbsCategoryList(bbsSetIdx, tBbsCategoryOrder.getBbsCategoryIdxs(), tBbsCategoryOrder.getBbsCategoryDepth()); //선택한 메뉴 데이타의 UP 또는 DOWN 데이타에 속한 메뉴 리스트
if(orderType.equals("up")){
bbsCategoryOrder = bbsCategoryOrderList.get(0).getBbsCategoryOrder();
for(int i=0; i<bbsCategoryList.size(); i++){ //선택한 메뉴에 속한 메뉴 리스트 순서 변경
T_BBS_CATEGORY tBbsCategoryDB = bbsCategoryList.get(i);
tBbsCategoryDB.setBbsCategoryOrder(bbsCategoryOrder);
if(!bbsCategoryDAO.setBbsCategoryModProc(tBbsCategoryDB)){
return success;
}else{
success = true;
}
bbsCategoryOrder++;
}
if(success){
for(int i=0; i<bbsCategoryOrderList.size(); i++){ //DOWN되는 데이타 순서 변경
T_BBS_CATEGORY tBbsCategoryDB = bbsCategoryOrderList.get(i);
tBbsCategoryDB.setBbsCategoryOrder(bbsCategoryOrder);
if(!bbsCategoryDAO.setBbsCategoryModProc(tBbsCategoryDB)){
return success;
}else{
success = true;
}
bbsCategoryOrder++;
}
}
}else{
bbsCategoryOrder = bbsCategoryList.get(0).getBbsCategoryOrder();
for(int i=0; i<bbsCategoryOrderList.size(); i++){ //UP되는 데이타 순서 변경
T_BBS_CATEGORY tBbsCategoryDB = bbsCategoryOrderList.get(i);
tBbsCategoryDB.setBbsCategoryOrder(bbsCategoryOrder);
if(!bbsCategoryDAO.setBbsCategoryModProc(tBbsCategoryDB)){
return success;
}else{
success = true;
}
bbsCategoryOrder++;
}
if(success){
for(int i=0; i<bbsCategoryList.size(); i++){ //선택한 메뉴에 속한 메뉴 리스트 순서 변경
T_BBS_CATEGORY tBbsCategoryDB = bbsCategoryList.get(i);
tBbsCategoryDB.setBbsCategoryOrder(bbsCategoryOrder);
if(!bbsCategoryDAO.setBbsCategoryModProc(tBbsCategoryDB)){
return success;
}else{
success = true;
}
bbsCategoryOrder++;
}
}
}
return success;
}
public String getMenuIdx(String menuIdx){
String menuIdxTmp = String.valueOf(Integer.parseInt(menuIdx) + 1);
if(menuIdxTmp.length() == 1){
menuIdxTmp = "0" + menuIdxTmp;
}
return menuIdxTmp;
}
}

View File

@ -0,0 +1,20 @@
package seed.manager.bbs.service;
import java.util.List;
import seed.map.T_BBS_COMMENT;
public interface ManagerBbsCommentService {
//ManagerBbsController
public Long getBbsCommentListCnt(Integer bbsDataIdx);
//ManagerBbsController
public List<T_BBS_COMMENT> getBbsCommentList(Integer bbsDataIdx, int page, int row, String[] qryColumns);
//ManagerBbsController
public boolean setBbsCommentRegProc(T_BBS_COMMENT tBbsComment, Integer memberIdx, String memberIp);
//ManagerBbsController
public boolean setBbsCommentDelProc(Integer bbsCommentIdx);
}

View File

@ -0,0 +1,97 @@
package seed.manager.bbs.service;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import egovframework.rte.fdl.cmmn.AbstractServiceImpl;
import seed.dao.BbsCommentDAO;
import seed.dao.BbsDataDAO;
import seed.map.T_BBS_COMMENT;
import seed.map.T_BBS_DATA;
import seed.map.T_MEMBER;
import seed.map.T_POINT;
import seed.utils.SeedUtils;
@Service
public class ManagerBbsCommentServiceImpl extends AbstractServiceImpl implements ManagerBbsCommentService{
@Autowired
private BbsCommentDAO bbsCommentDAO;
@Autowired
private BbsDataDAO bbsDataDAO;
//ManagerBbsController
public Long getBbsCommentListCnt(Integer bbsDataIdx){
return bbsCommentDAO.getBbsCommentListCnt(bbsDataIdx);
}
//ManagerBbsController
public List<T_BBS_COMMENT> getBbsCommentList(Integer bbsDataIdx, int page, int row, String[] qryColumns){
return bbsCommentDAO.getBbsCommentList(bbsDataIdx, ((page-1) * row), row, qryColumns);
}
//ManagerBbsController
@Transactional
public boolean setBbsCommentRegProc(T_BBS_COMMENT tBbsComment, Integer memberIdx, String memberIp){
boolean success = false;
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tBbsComment.settMember(tMember);
tBbsComment.setBbsCommentRegDate(new Date());
tBbsComment.setBbsCommentMemberIp(memberIp);
if(bbsCommentDAO.setBbsCommentRegProc(tBbsComment)){
T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsDataForm(tBbsComment.gettBbsData().getBbsDataIdx());
tBbsDataDB.setBbsCommentCount(tBbsDataDB.getBbsCommentCount()+1);
success = bbsDataDAO.setBbsDataModProc(tBbsDataDB);
if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetPoint()).equals("Y")){
//코멘트 포인트
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
T_POINT tPoint = new T_POINT();
tPoint.setPointSetIdx(tBbsDataDB.getBbsDataIdx());
tPoint.setPointDataIdx(tBbsComment.getBbsCommentIdx());
tPoint.setPointRegdate(sdf.format(new Date()));
tPoint.setMemberIp(memberIp);
tPoint.setMemberIdx(memberIdx);
tPoint.setSiteIdx(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx());
tPoint.setFuncType("COMMENT");
tPoint.setPointScore(tBbsDataDB.gettBbsSet().getBbsSetPointWrite());
bbsDataDAO.setBbsPointProc(tPoint);
}
}
return success;
}
//ManagerBbsController
@Transactional
public boolean setBbsCommentDelProc(Integer bbsCommentIdx){
boolean success = false;
T_BBS_COMMENT tBbsComment = bbsCommentDAO.getBbsCommentForm(bbsCommentIdx);
if(bbsCommentDAO.setBbsCommentDelProc(tBbsComment)){
T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsDataForm(tBbsComment.gettBbsData().getBbsDataIdx());
tBbsDataDB.setBbsCommentCount(tBbsDataDB.getBbsCommentCount()-1);
success = bbsDataDAO.setBbsDataModProc(tBbsDataDB);
}
return success;
}
}

View File

@ -0,0 +1,15 @@
package seed.manager.bbs.service;
import java.util.List;
import java.util.Map;
import seed.map.T_BBS_FILE;
public interface ManagerBbsFileService {
//ManagerBbsController
public List<T_BBS_FILE> getBbsFileList(Integer bbsDataIdx, String[] qryColumns);
//ManagerBbsController
public List<Map<Object, Object>> getBbsFileListMap(Integer bbsDataIdx, String[] qryColumns);
}

View File

@ -0,0 +1,31 @@
package seed.manager.bbs.service;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.AbstractServiceImpl;
import seed.dao.BbsFileDAO;
import seed.map.T_BBS_FILE;
@Service
public class ManagerBbsFileServiceImpl extends AbstractServiceImpl implements ManagerBbsFileService{
@Autowired
private BbsFileDAO bbsFileDAO;
//ManagerBbsController
public List<T_BBS_FILE> getBbsFileList(Integer bbsDataIdx, String[] qryColumns){
return bbsFileDAO.getBbsFileList(bbsDataIdx, qryColumns);
}
//ManagerBbsController
public List<Map<Object, Object>> getBbsFileListMap(Integer bbsDataIdx, String[] qryColumns){
return bbsFileDAO.getBbsFileListMap(bbsDataIdx, qryColumns);
}
}

View File

@ -0,0 +1,37 @@
package seed.manager.bbs.service;
import java.util.List;
import org.springframework.web.multipart.MultipartFile;
import seed.map.T_BBS_SKIN;
public interface ManagerBbsSkinService {
//ManagerBbsController
public String getBbsSkinHtml(String rootPath, String skinType);
//ManagerBbsController
public String getBbsSkinHtml(T_BBS_SKIN tBbsSkinDB, String rootPath);
//ManagerBbsController
public T_BBS_SKIN getBbsSkinForm(Integer bbsSkinIdx);
//ManagerBbsController
public Long getBbsSkinListCnt(String siteIdx);
//ManagerBbsController
public List<T_BBS_SKIN> getBbsSkinList(String siteIdx, int page, int row, String[] qryColumns);
//ManagerBbsController
public Integer setBbsSkinRegProc(T_BBS_SKIN tBbsSkin, String bbsSkinHtml, MultipartFile upFile, List<MultipartFile> multiFiles, Integer memberIdx, String rootPath);
//ManagerBbsController
public boolean setBbsSkinModProc(T_BBS_SKIN tBbsSkin, String bbsSkinHtml, MultipartFile upFile, List<MultipartFile> multiFiles, Integer memberIdx, String rootPath);
//ManagerBbsController
public boolean setBbsSkinDelProc(Integer bbsSkinIdx, String rootPath);
//ManagerBbsController
public boolean setBbsSkinStatusProc(Integer bbsSkinIdx, String status, Integer memberIdx);
}

View File

@ -0,0 +1,427 @@
package seed.manager.bbs.service;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import egovframework.rte.fdl.cmmn.AbstractServiceImpl;
import seed.dao.BbsSkinDAO;
import seed.map.T_BBS_SKIN;
import seed.map.T_MEMBER;
import seed.utils.SeedFtpType;
import seed.utils.SeedUtils;
@Service
public class ManagerBbsSkinServiceImpl extends AbstractServiceImpl implements ManagerBbsSkinService{
private Logger log = Logger.getLogger(this.getClass());
@Autowired
private BbsSkinDAO bbsSkinDAO;
//ManagerBbsController
public synchronized String getBbsSkinHtml(String rootPath, String skinType){
StringBuffer fileHtml = new StringBuffer();
String filePath = rootPath.substring(0, rootPath.lastIndexOf("/site")) + "/_common/_css/user/bbs/"+skinType+".css";
filePath = SeedUtils.setFilePathReplaceAll(filePath);
FileInputStream fileInputStream = null;
InputStreamReader inputStreamReader = null;
BufferedReader bufferedReader = null;
try{
File cssFile = new File(filePath);
if(cssFile.exists()){
fileInputStream = new FileInputStream(filePath);
inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
bufferedReader = new BufferedReader(inputStreamReader);
String fileBuffer = "";
while((fileBuffer = bufferedReader.readLine()) != null){
fileHtml.append(fileBuffer);
fileHtml.append("\n");
}
}
}catch(FileNotFoundException e){
log.error("CHECK ERROR:",e);
}catch(IOException e){
log.error("CHECK ERROR:",e);
}finally{
if(bufferedReader!=null){try{bufferedReader.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(inputStreamReader!=null){try{inputStreamReader.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(fileInputStream!=null){try{fileInputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
}
return fileHtml.toString();
}
//ManagerBbsController
public synchronized String getBbsSkinHtml(T_BBS_SKIN tBbsSkinDB, String rootPath){
StringBuffer fileHtml = new StringBuffer();
String filePath = rootPath + "/" + tBbsSkinDB.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_css/skin_"+tBbsSkinDB.getBbsSkinCode() + ".txt";
filePath = SeedUtils.setFilePathReplaceAll(filePath);
FileInputStream fileInputStream = null;
InputStreamReader inputStreamReader = null;
BufferedReader bufferedReader = null;
try{
File cssFile = new File(filePath);
if(cssFile.exists()){
fileInputStream = new FileInputStream(filePath);
inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
bufferedReader = new BufferedReader(inputStreamReader);
String fileBuffer = "";
while((fileBuffer = bufferedReader.readLine()) != null){
fileHtml.append(fileBuffer);
fileHtml.append("\n");
}
}
}catch(FileNotFoundException e){
log.error("CHECK ERROR:",e);
}catch(IOException e){
log.error("CHECK ERROR:",e);
}finally{
if(bufferedReader!=null){try{bufferedReader.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(inputStreamReader!=null){try{inputStreamReader.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(fileInputStream!=null){try{fileInputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
}
return fileHtml.toString();
}
//ManagerBbsController
public T_BBS_SKIN getBbsSkinForm(Integer bbsSkinIdx){
return bbsSkinDAO.getBbsSkinForm(bbsSkinIdx);
}
//ManagerBbsController
public Long getBbsSkinListCnt(String siteIdx){
return bbsSkinDAO.getBbsSkinListCnt(siteIdx);
}
//ManagerBbsController
public List<T_BBS_SKIN> getBbsSkinList(String siteIdx, int page, int row, String[] qryColumns){
return bbsSkinDAO.getBbsSkinList(siteIdx, ((page-1) * row), row, qryColumns);
}
//ManagerBbsController
@Transactional
public Integer setBbsSkinRegProc(T_BBS_SKIN tBbsSkin, String bbsSkinHtml, MultipartFile upFile, List<MultipartFile> multiFiles, Integer memberIdx, String rootPath){
Integer bbsSkinIdx = 0;
FileOutputStream htmlFileOutputStream = null;
OutputStreamWriter htmlOutputStreamWriter = null;
BufferedWriter htmlWriter = null;
FileOutputStream cssFileOutputStream = null;
OutputStreamWriter cssOutputStreamWriter = null;
BufferedWriter cssWriter = null;
try{
//FTP 전송
SeedFtpType seedFtpType = new SeedFtpType();
String bbsSkinCode = bbsSkinDAO.getBbsSkinCode(tBbsSkin.gettSite().getSiteIdx());
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tBbsSkin.settMember(tMember);
tBbsSkin.setBbsSkinCode(bbsSkinCode);
tBbsSkin.setBbsSkinThumb("skin_"+bbsSkinCode);
tBbsSkin.setBbsSkinStatus("U");
tBbsSkin.setBbsSkinRegDate(new Date());
tBbsSkin.setBbsSkinModDate(new Date());
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_css");
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_images");
SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String reFileName = bbsSkinCode + "_" + tBbsSkin.gettSite().getSiteIdx() + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
File makeFile = new File(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx()
+ "/jsp/bbs/skin/" + bbsSkinCode + "/" + reFileName +
upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
upFile.transferTo(makeFile);
//WEB 서버의 경로
seedFtpType.setDestFilePath(tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode);
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode);
//WAS 파일명
seedFtpType.setFileName(reFileName + upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
tBbsSkin.setBbsSkinReThumb(reFileName+upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
T_BBS_SKIN tBbsSkinDB = bbsSkinDAO.setBbsSkinRegProc(tBbsSkin);
if(tBbsSkinDB.getBbsSkinIdx() > 0){
bbsSkinIdx = tBbsSkinDB.getBbsSkinIdx();
}
String filePath = rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_css/skin_"+bbsSkinCode;
htmlFileOutputStream = new FileOutputStream(filePath+".txt");
htmlOutputStreamWriter = new OutputStreamWriter(htmlFileOutputStream, "UTF-8");
htmlWriter = new BufferedWriter(htmlOutputStreamWriter);
htmlWriter.write(bbsSkinHtml);
htmlWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_css");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_css");
//WAS 파일명
seedFtpType.setFileName("skin_"+bbsSkinCode+".txt");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
cssFileOutputStream = new FileOutputStream(filePath+".css");
cssOutputStreamWriter = new OutputStreamWriter(cssFileOutputStream, "UTF-8");
cssWriter = new BufferedWriter(cssOutputStreamWriter);
cssWriter.write(bbsSkinHtml);
cssWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_css");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_css");
//WAS 파일명
seedFtpType.setFileName("skin_"+bbsSkinCode+".css");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
for(int f=0; f<multiFiles.size(); f++){
if(!multiFiles.get(f).getOriginalFilename().toLowerCase().equals("")){
File multiFile = new File(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_images/" + multiFiles.get(f).getOriginalFilename());
multiFiles.get(f).transferTo(multiFile);
//WEB 서버의 경로
seedFtpType.setDestFilePath(tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_images");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + bbsSkinCode + "/_images");
//WAS 파일명
seedFtpType.setFileName(multiFiles.get(f).getOriginalFilename());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
}
}
}catch(FileNotFoundException e){
log.error("CHECK ERROR:",e);
}catch(IOException e){
log.error("CHECK ERROR:",e);
}finally{
if(htmlWriter!=null){try{htmlWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(htmlOutputStreamWriter!=null){try{htmlOutputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(htmlFileOutputStream!=null){try{htmlFileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(cssWriter!=null){try{cssWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(cssOutputStreamWriter!=null){try{cssOutputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(cssFileOutputStream!=null){try{cssFileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
}
return bbsSkinIdx;
}
//ManagerBbsController
@Transactional
public boolean setBbsSkinModProc(T_BBS_SKIN tBbsSkin, String bbsSkinHtml, MultipartFile upFile, List<MultipartFile> multiFiles, Integer memberIdx, String rootPath){
T_BBS_SKIN tBbsSkinDB = bbsSkinDAO.getBbsSkinForm(tBbsSkin.getBbsSkinIdx());
FileOutputStream htmlFileOutputStream = null;
OutputStreamWriter htmlOutputStreamWriter = null;
BufferedWriter htmlWriter = null;
FileOutputStream cssFileOutputStream = null;
OutputStreamWriter cssOutputStreamWriter = null;
BufferedWriter cssWriter = null;
try{
//FTP 전송
SeedFtpType seedFtpType = new SeedFtpType();
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tBbsSkinDB.settMember(tMember);
tBbsSkinDB.setBbsSkinModDate(new Date());
tBbsSkinDB.setBbsSkinType(tBbsSkin.getBbsSkinType());
tBbsSkinDB.setBbsSkinSubType(tBbsSkin.getBbsSkinSubType());
if(upFile != null && upFile.getBytes().length > 0){
SeedUtils.setSeedDeleteFile(rootPath + "/" + tBbsSkinDB.gettSite().getSiteIdx()
+ "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/" + tBbsSkinDB.getBbsSkinReThumb());
//WEB 서버의 경로
seedFtpType.setDestFilePath(tBbsSkinDB.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode());
//WAS 서버의 경로
seedFtpType.setSrcFilePath("");
//WAS 파일명
seedFtpType.setFileName(tBbsSkinDB.getBbsSkinReThumb());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("delFile");
seedFtpType.setSeedFtp();
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsSkinDB.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_css");
SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsSkinDB.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_images");
SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String reFileName = tBbsSkinDB.getBbsSkinCode() + "_" + tBbsSkinDB.gettSite().getSiteIdx() + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
File makeFile = new File(rootPath + "/" + tBbsSkinDB.gettSite().getSiteIdx()
+ "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/" + reFileName +
upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
upFile.transferTo(makeFile);
//WEB 서버의 경로
seedFtpType.setDestFilePath(tBbsSkinDB.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode());
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsSkinDB.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode());
//WAS 파일명
seedFtpType.setFileName(reFileName + upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
tBbsSkinDB.setBbsSkinReThumb(reFileName+upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
}
String filePath = rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_css/skin_"+tBbsSkinDB.getBbsSkinCode();
htmlFileOutputStream = new FileOutputStream(filePath+".txt");
htmlOutputStreamWriter = new OutputStreamWriter(htmlFileOutputStream, "UTF-8");
htmlWriter = new BufferedWriter(htmlOutputStreamWriter);
htmlWriter.write(bbsSkinHtml);
htmlWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_css");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_css");
//WAS 파일명
seedFtpType.setFileName("skin_"+tBbsSkinDB.getBbsSkinCode()+".txt");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
cssFileOutputStream = new FileOutputStream(filePath+".css");
cssOutputStreamWriter = new OutputStreamWriter(cssFileOutputStream, "UTF-8");
cssWriter = new BufferedWriter(cssOutputStreamWriter);
cssWriter.write(bbsSkinHtml);
cssWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_css");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_css");
//WAS 파일명
seedFtpType.setFileName("skin_"+tBbsSkinDB.getBbsSkinCode()+".css");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
for(int f=0; f<multiFiles.size(); f++){
if(!multiFiles.get(f).getOriginalFilename().toLowerCase().equals("")){
File multiFile = new File(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_images/" + multiFiles.get(f).getOriginalFilename());
multiFiles.get(f).transferTo(multiFile);
//WEB 서버의 경로
seedFtpType.setDestFilePath(tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_images");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath + "/" + tBbsSkin.gettSite().getSiteIdx() + "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode() + "/_images");
//WAS 파일명
seedFtpType.setFileName(multiFiles.get(f).getOriginalFilename());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
}
}
}catch(FileNotFoundException e){
log.error("CHECK ERROR:",e);
}catch(IOException e){
log.error("CHECK ERROR:",e);
}finally{
if(htmlWriter!=null){try{htmlWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(htmlOutputStreamWriter!=null){try{htmlOutputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(htmlFileOutputStream!=null){try{htmlFileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(cssWriter!=null){try{cssWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(cssOutputStreamWriter!=null){try{cssOutputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(cssFileOutputStream!=null){try{cssFileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
}
return bbsSkinDAO.setBbsSkinModProc(tBbsSkinDB);
}
//ManagerBbsController
@Transactional
public boolean setBbsSkinDelProc(Integer bbsSkinIdx, String rootPath){
T_BBS_SKIN tBbsSkinDB = bbsSkinDAO.getBbsSkinForm(bbsSkinIdx);
//Thumb 파일 삭제
SeedUtils.setSeedDeleteFiles(rootPath + "/" + tBbsSkinDB.gettSite().getSiteIdx()
+ "/jsp/bbs/skin/" + tBbsSkinDB.getBbsSkinCode(), "");
return bbsSkinDAO.setBbsSkinDelProc(tBbsSkinDB);
}
//ManagerBbsController
@Transactional
public boolean setBbsSkinStatusProc(Integer bbsSkinIdx, String status, Integer memberIdx){
T_BBS_SKIN tBbsSkinDB = bbsSkinDAO.getBbsSkinForm(bbsSkinIdx);
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tBbsSkinDB.settMember(tMember);
tBbsSkinDB.setBbsSkinModDate(new Date());
tBbsSkinDB.setBbsSkinStatus(status);
return bbsSkinDAO.setBbsSkinModProc(tBbsSkinDB);
}
}

View File

@ -0,0 +1,22 @@
package seed.manager.bbs.service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import seed.map.T_BBS_DATA;
public interface ManagerBbsTrashService {
//ManagerBbsController
public T_BBS_DATA getBbsTrashForm(Integer bbsDataIdx);
//ManagerBbsController
public Long getBbsTrashListCnt(Integer bbsSetIdx, String column, String search, String bbsSetType, String searchSDate, String searchEDate);
//ManagerBbsController
public List<Map<Object, Object>> getBbsTrashList(Integer bbsSetIdx, int page, int row, String column, String search, String bbsSetType, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
//ManagerBbsController
public boolean setBbsTrashProc(Integer bbsDataIdx, String status, String rootPath);
}

View File

@ -0,0 +1,189 @@
package seed.manager.bbs.service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import egovframework.rte.fdl.cmmn.AbstractServiceImpl;
import seed.dao.BbsDataDAO;
import seed.dao.BbsFileDAO;
import seed.map.T_BBS_DATA;
import seed.map.T_BBS_FILE;
import seed.utils.SeedFtpType;
import seed.utils.SeedUtils;
@Service
public class ManagerBbsTrashServiceImpl extends AbstractServiceImpl implements ManagerBbsTrashService{
@Autowired
private BbsDataDAO bbsDataDAO;
@Autowired
private BbsFileDAO bbsFileDAO;
//ManagerBbsController
public T_BBS_DATA getBbsTrashForm(Integer bbsDataIdx){
return bbsDataDAO.getBbsTrashForm(bbsDataIdx);
}
//ManagerBbsController
public Long getBbsTrashListCnt(Integer bbsSetIdx, String column, String search, String bbsSetType, String searchSDate, String searchEDate){
return bbsDataDAO.getBbsTrashListCnt(bbsSetIdx, column, search, bbsSetType, searchSDate, searchEDate);
}
//ManagerBbsController
public List<Map<Object, Object>> getBbsTrashList(Integer bbsSetIdx, int page, int row, String column, String search, String bbsSetType, String searchSDate, String searchEDate, ArrayList<String> qryArrayList){
return bbsDataDAO.getBbsTrashList(bbsSetIdx, ((page-1) * row), row, column, search, bbsSetType, searchSDate, searchEDate, qryArrayList);
}
//ManagerBbsController
@Transactional
public boolean setBbsTrashProc(Integer bbsDataIdx, String status, String rootPath){
T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsTrashForm(bbsDataIdx);
String siteIdx = tBbsDataDB.gettBbsSet().gettSite().getSiteIdx();
Integer bbsSetIdx = tBbsDataDB.gettBbsSet().getBbsSetIdx();
String bbsSetType = tBbsDataDB.gettBbsSet().getBbsSetType();
Integer bbsDataGroup = tBbsDataDB.getBbsDataGroup();
Integer bbsDataFam = tBbsDataDB.getBbsDataFam();
tBbsDataDB.setBbsDataStatus(status);
if(status.equals("D")){
//답글 게시판인 경우 해당 글의 답글도 삭제
if(bbsSetType.equals("W")){
T_BBS_DATA tBbsReplyDB = bbsDataDAO.getBbsReplyForm(bbsDataGroup, bbsDataFam);
if(tBbsReplyDB != null){
List<T_BBS_FILE> tBbsFileReplyList = bbsFileDAO.getBbsFileList(tBbsReplyDB.getBbsDataIdx(), new String[] {});
if(tBbsFileReplyList != null && tBbsFileReplyList.size() > 0){
//FTP 전송
SeedFtpType seedFtpType = new SeedFtpType();
for(int f=0; f<tBbsFileReplyList.size(); f++){
T_BBS_FILE tBbsReplyFile = tBbsFileReplyList.get(f);
SeedUtils.setSeedDeleteFile(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
"/" + tBbsReplyFile.getBbsFileReName());
SeedUtils.setSeedDeleteFiles(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
"/" + tBbsReplyFile.getBbsFileReName().substring(0, tBbsReplyFile.getBbsFileReName().lastIndexOf(".")), "");
//WEB 서버의 경로
seedFtpType.setDestFilePath(siteIdx + "/upload/bbs/" + bbsSetIdx);
//WAS 서버의 경로
seedFtpType.setSrcFilePath("");
//WAS 파일명
seedFtpType.setFileName(tBbsReplyFile.getBbsFileReName());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("delFile");
seedFtpType.setSeedFtp();
SeedUtils.setSeedDeleteFile(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
"/thumb_" + tBbsReplyFile.getBbsFileReName());
if(tBbsReplyFile.getBbsFileType().toLowerCase().equals("jpg") ||
tBbsReplyFile.getBbsFileType().toLowerCase().equals("jpeg") ||
tBbsReplyFile.getBbsFileType().toLowerCase().equals("bmp") ||
tBbsReplyFile.getBbsFileType().toLowerCase().equals("png")){
//WEB 서버의 경로
seedFtpType.setDestFilePath(siteIdx + "/upload/bbs/" + bbsSetIdx);
//WAS 서버의 경로
seedFtpType.setSrcFilePath("");
//WAS 파일명
seedFtpType.setFileName("thumb_"+tBbsReplyFile.getBbsFileReName());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("delFile");
seedFtpType.setSeedFtp();
}
bbsFileDAO.setBbsFileDelProc(tBbsReplyFile);
}
}
bbsDataDAO.setBbsDataDelProc(tBbsReplyDB);
}
}
List<T_BBS_FILE> tBbsFileList = bbsFileDAO.getBbsFileList(bbsDataIdx, new String[] {});
if(tBbsFileList != null && tBbsFileList.size() > 0){
//FTP 전송
SeedFtpType seedFtpType = new SeedFtpType();
for(int f=0; f<tBbsFileList.size(); f++){
T_BBS_FILE tBbsFile = tBbsFileList.get(f);
SeedUtils.setSeedDeleteFile(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
"/" + tBbsFile.getBbsFileReName());
//WEB 서버의 경로
seedFtpType.setDestFilePath(siteIdx + "/upload/bbs/" + bbsSetIdx);
//WAS 서버의 경로
seedFtpType.setSrcFilePath("");
//WAS 파일명
seedFtpType.setFileName(tBbsFile.getBbsFileReName());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("delFile");
seedFtpType.setSeedFtp();
SeedUtils.setSeedDeleteFile(rootPath + "/" + siteIdx + "/upload/bbs/" + bbsSetIdx +
"/thumb_" + tBbsFile.getBbsFileReName());
if(tBbsFile.getBbsFileType().toLowerCase().equals("jpg") ||
tBbsFile.getBbsFileType().toLowerCase().equals("jpeg") ||
tBbsFile.getBbsFileType().toLowerCase().equals("bmp") ||
tBbsFile.getBbsFileType().toLowerCase().equals("png")){
//WEB 서버의 경로
seedFtpType.setDestFilePath(siteIdx + "/upload/bbs/" + bbsSetIdx);
//WAS 서버의 경로
seedFtpType.setSrcFilePath("");
//WAS 파일명
seedFtpType.setFileName("thumb_"+tBbsFile.getBbsFileReName());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("delFile");
seedFtpType.setSeedFtp();
}
bbsFileDAO.setBbsFileDelProc(tBbsFile);
}
}
return bbsDataDAO.setBbsDataDelProc(tBbsDataDB);
}else{
//답글 게시판인 경우 해당 글의 답글도 복원
if(bbsSetType.equals("W")){
T_BBS_DATA tBbsReplyDB = bbsDataDAO.getBbsReplyForm(bbsDataGroup, bbsDataFam);
if(tBbsReplyDB != null){
tBbsReplyDB.setBbsDataStatus(status);
bbsDataDAO.setBbsDataModProc(tBbsReplyDB);
}
}
return bbsDataDAO.setBbsDataModProc(tBbsDataDB);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,820 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 분쟁사건 처리관리 -->
<mapper namespace="trublend">
<!-- 상단 -->
<sql id="Header2">
SELECT * FROM
(
SELECT ROW_.*, ROWNUM AS RNUM FROM
(
</sql>
<!-- 하단 -->
<sql id="bottom2">
) ROW_
)
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
</sql>
<select id="trublendTrublendPagingList" parameterType="egovMap" resultType="egovMap">
<include refid="Header2"/>
SELECT
A.CASE_NO,
A.CASE_GUBUN,
A.CASE_EXTEND,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.CASE_GUBUN) AS CASE_GUBUN_NM,
A.CASE_EXAMINER,
A.RCEPT_NO,
A.STATE_PRO,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.STATE_PRO) AS STATE_PRO_NM,
DECODE((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.STATE_PRO), '접수', '통지', '통지', '조사', '조사', '보고', '보고', '종료통지', '종료통지', '-') AS STATE_PRO_NEXT,
(SELECT COMPANY_CEO FROM C_CASEAPPLCNT B WHERE B.CASE_NO = A.CASE_NO AND ROWNUM = 1) AS COMPANY_CEO,
(SELECT COMPANY_GUBUN FROM C_CASEAPPLCNT B WHERE B.CASE_NO = A.CASE_NO AND ROWNUM = 1) AS COMPANY_GUBUN,
(SELECT APPLCNT_COMPANY FROM C_CASEAPPLCNT B WHERE B.CASE_NO = A.CASE_NO AND ROWNUM = 1) AS APPLCNT_COMPANY,
(SELECT RESPONDENT_CEO FROM C_CASERESPONDENT C WHERE C.CASE_NO = A.CASE_NO AND ROWNUM = 1) AS RESPONDENT_CEO,
(SELECT RESPONDENT_GUBUN FROM C_CASERESPONDENT C WHERE C.CASE_NO = A.CASE_NO AND ROWNUM = 1) AS RESPONDENT_GUBUN,
(SELECT RESPONDENT_COMPANY FROM C_CASERESPONDENT C WHERE C.CASE_NO = A.CASE_NO AND ROWNUM = 1) AS RESPONDENT_COMPANY,
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.MEDIATION_BIG), '-') AS MEDIATION_BIG,
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.MEDIATION_SMALL), '-') AS MEDIATION_SMALL,
TO_CHAR(CASE_DATE, 'YYYYMMDD') AS CASE_DATE,
(TO_DATE(SYSDATE) - TO_DATE(CASE_DATE,'YYYY-MM-DD'))+1 AS PRO_DATE,
CASE
<![CDATA[
WHEN (TO_DATE(SYSDATE)-(TO_DATE(CASE_DATE,'YYYY-MM-DD')+NVL2(APP_SUBMIT_DT, TO_DATE(APP_SUBMIT_DT,'YYYY-MM-DD') - TO_DATE(CASE_DATE,'YYYY-MM-DD')+1, 0))+1) <= NVL2(CASE_EXTEND, 90, 60) THEN '미경과'
WHEN (TO_DATE(SYSDATE)-(TO_DATE(CASE_DATE,'YYYY-MM-DD')+NVL2(APP_SUBMIT_DT, TO_DATE(APP_SUBMIT_DT,'YYYY-MM-DD') - TO_DATE(CASE_DATE,'YYYY-MM-DD')+1, 0))+1) > NVL2(CASE_EXTEND, 90, 60) THEN '경과'
]]>
END AS TERM_CHECK,
A.REG_ID,
E.CONFERENCE_NAMES,
(SELECT
(TRUNC((MONTHS_BETWEEN(to_date(CASE_END_DT,'YYYY-MM-DD'), to_date(to_char(CASE_DATE,'YYYYMMDD'),'YYYY-MM-DD')))*30.5)-CASE_EXTEND)+1
FROM C_MASTER F
WHERE F.CASE_NO = A.CASE_NO) AS PRO_END_DT,
(SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = A.CASE_EXAMINER) AS CASE_EXAMINER_NAME,
MEDIATION_END_DT,
E.FIX_DAY
FROM C_MASTER A
LEFT OUTER JOIN C_CASERCEPT C
ON A.CASE_NO = C.CASE_NO
LEFT OUTER JOIN C_VIEWMTR_END D
ON A.CASE_NO = D.CASE_NO
LEFT OUTER JOIN C_CFRNCMANAGE E
ON D.CASE_GUBUN = E.CASE_GUBUN AND D.CFRNC_NO = E.CFRNC_NO
<where>
A.TRANSFER_CHECK = 'N'
AND A.DEL_YN = 'N'
AND A.CASE_END = 'Y'
AND SUBSTR(A.CASE_NO,3,4) >= 2017
<if test='memberPosition eq "0910000000"'>
AND C.TIMHDER_ASSIGN IN('1004000000','1005000000','1006000000','1007000000','1008000000','1009000000','1030000000')
</if>
<if test='memberPosition neq "0915000000" and memberPosition neq "0903000000" and memberPosition neq "0910000000"'>
<choose>
<when test="memberPosition neq '0911000000'">
AND A.CASE_EXAMINER = #{memberId}
</when>
<otherwise>
AND C.TIMHDER_ASSIGN = #{memberDept}
</otherwise>
</choose>
</if>
<if test="mediationBigType != null and mediationBigType != ''">
<choose>
<when test="mediationBigType == 'big1'">AND A.MEDIATION_BIG IN('0619010000', '0620010000', '0621010000', '0622010000', '0604010000', '0605010000', '0624010000','0625010000','0626010000')</when>
<when test="mediationBigType == 'big2'">AND A.MEDIATION_BIG IN('0601010000', '0602010000', '0603010000')</when>
<when test="mediationBigType == 'big3'">AND A.MEDIATION_BIG IN('0623010000', '0606010000', '0607010000', '0608010000', '0609010000', '0610010000', '0611010000', '0612010000', '0613010000', '0614010000', '0615010000')</when>
<when test="mediationBigType == 'big4'">AND A.MEDIATION_BIG IN('0616010000', '0617010000', '0618010000')</when>
<when test="mediationBigType == 'big5'">AND A.MEDIATION_BIG IN('0627010000', '0628010000', '0629010000', '0630010000', '0631010000', '0632010000', '0633010000', '0634010000')</when>
</choose>
</if>
<if test="mediationSmallType != null and mediationSmallType != ''">
AND A.MEDIATION_SMALL = #{mediationSmallType}
</if>
<if test="searchVal != null and searchVal != ''">
<choose>
<when test="searchType == 'caseNoSearch'">AND A.CASE_NO LIKE '%' || #{searchVal} || '%' </when>
<when test="searchType == 'cfrncSearch'">AND E.CONFERENCE_NAMES LIKE '%' || #{searchVal} || '%' </when>
<when test="searchType == 'companyCeo'">AND A.CASE_NO IN (SELECT CASE_NO FROM C_CASEAPPLCNT WHERE APPLCNT_COMPANY LIKE '%' || #{searchVal} || '%') OR A.CASE_NO IN (SELECT CASE_NO FROM C_CASEAPPLCNT WHERE COMPANY_CEO LIKE '%' || #{searchVal} || '%')</when>
<when test="searchType == 'respondentCeo'">AND (A.CASE_NO IN (SELECT CASE_NO FROM C_CASERESPONDENT WHERE RESPONDENT_COMPANY LIKE '%' || #{searchVal} || '%') OR A.CASE_NO IN (SELECT CASE_NO FROM C_CASERESPONDENT WHERE RESPONDENT_CEO LIKE '%' || #{searchVal} || '%')</when>
<when test="searchType == 'examiner'">AND A.CASE_EXAMINER IN (SELECT MEMBER_ID FROM T_MEMBER WHERE MEMBER_NAME LIKE '%' || #{searchVal} || '%')</when>
</choose>
</if>
<!-- <if test='dateSt neq null and dateSt neq ""'>
AND TO_CHAR(TO_DATE(E.FIX_DAY,'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{dateSt} AND
<if test='dateEnd eq null or dateEnd eq ""'>
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test='dateEnd neq null and dateEnd neq ""'>
#{dateEnd}
</if>
</if> -->
<if test="dateSt != null and dateSt != ''">
AND TO_CHAR(TO_DATE(E.FIX_DAY,'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{dateSt} AND
<if test="dateEnd == null or dateEnd == ''">
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test="dateEnd != null and dateEnd != ''">
#{dateEnd}
</if>
</if>
</where>
ORDER BY A.CASE_NO DESC
<include refid="bottom2"/>
</select>
<select id="trublendTrublendPagingListTot" parameterType="egovMap" resultType="int">
SELECT
COUNT(*) AS TOTCNT
FROM C_MASTER A
LEFT OUTER JOIN C_CASERCEPT C
ON A.CASE_NO = C.CASE_NO
LEFT OUTER JOIN C_VIEWMTR_END D
ON A.CASE_NO = D.CASE_NO
LEFT OUTER JOIN C_CFRNCMANAGE E
ON D.CASE_GUBUN = E.CASE_GUBUN AND D.CFRNC_NO = E.CFRNC_NO
<where>
A.TRANSFER_CHECK = 'N'
AND A.DEL_YN = 'N'
AND A.CASE_END = 'Y'
AND SUBSTR(A.CASE_NO,3,4) >= 2017
<if test='memberPosition eq "0910000000"'>
AND C.TIMHDER_ASSIGN IN('1004000000','1005000000','1006000000','1007000000','1008000000','1009000000')
</if>
<if test='memberPosition neq "0915000000" and memberPosition neq "0903000000" and memberPosition neq "0910000000"'>
<choose>
<when test="memberPosition neq '0911000000'">
AND A.CASE_EXAMINER = #{memberId}
</when>
<otherwise>
AND C.TIMHDER_ASSIGN = #{memberDept}
</otherwise>
</choose>
</if>
<if test="mediationBigType != null and mediationBigType != ''">
<choose>
<when test="mediationBigType == 'big1'">AND A.MEDIATION_BIG IN('0619010000', '0620010000', '0621010000', '0622010000', '0604010000', '0605010000')</when>
<when test="mediationBigType == 'big2'">AND A.MEDIATION_BIG IN('0601010000', '0602010000', '0603010000')</when>
<when test="mediationBigType == 'big3'">AND A.MEDIATION_BIG IN('0623010000', '0606010000', '0607010000', '0608010000', '0609010000', '0610010000', '0611010000', '0612010000', '0613010000', '0614010000', '0615010000')</when>
<when test="mediationBigType == 'big4'">AND A.MEDIATION_BIG IN('0616010000', '0617010000', '0618010000')</when>
<when test="mediationBigType == 'big5'">AND A.MEDIATION_BIG IN('0627010000', '0628010000', '0629010000', '0630010000', '0631010000', '0632010000', '0633010000', '0634010000')</when>
</choose>
</if>
<if test="mediationSmallType != null and mediationSmallType != ''">
AND A.MEDIATION_SMALL = #{mediationSmallType}
</if>
<if test="searchVal != null and searchVal != ''">
<choose>
<when test="searchType == 'caseNoSearch'">AND A.CASE_NO LIKE '%' || #{searchVal} || '%' </when>
<when test="searchType == 'cfrncSearch'">AND E.CONFERENCE_NAMES LIKE '%' || #{searchVal} || '%' </when>
<when test="searchType == 'companyCeo'">AND A.CASE_NO IN (SELECT CASE_NO FROM C_CASEAPPLCNT WHERE APPLCNT_COMPANY LIKE '%' || #{searchVal} || '%')</when>
<when test="searchType == 'respondentCeo'">AND (A.CASE_NO IN (SELECT CASE_NO FROM C_CASERESPONDENT WHERE RESPONDENT_COMPANY LIKE '%' || #{searchVal} || '%') OR A.CASE_NO IN (SELECT CASE_NO FROM C_CASERESPONDENT WHERE RESPONDENT_CEO LIKE '%' || #{searchVal} || '%'))</when>
<when test="searchType == 'examiner'">AND A.CASE_EXAMINER IN (SELECT MEMBER_ID FROM T_MEMBER WHERE MEMBER_NAME LIKE '%' || #{searchVal} || '%')</when>
</choose>
</if>
<if test='dateSt neq null and dateSt neq ""'>
AND TO_CHAR(TO_DATE(E.FIX_DAY,'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{dateSt} AND
<if test='dateEnd eq null or dateEnd eq ""'>
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test='dateEnd neq null and dateEnd neq ""'>
#{dateEnd}
</if>
</if>
</where>
ORDER BY A.CASE_NO DESC
</select>
<!-- 사건마스터 -->
<select id="selectMaster" parameterType="egovMap" resultType="egovMap">
SELECT CM.CASE_NO,
CM.CASE_GUBUN,
CASE CM.CASE_GUBUN
WHEN '0201000000' THEN '공정거래'
WHEN '0202000000' THEN '가맹사업거래'
WHEN '0203000000' THEN '하도급거래'
WHEN '0204000000' THEN '대규모유통거래'
WHEN '0205000000' THEN '약관거래'
WHEN '0206000000' THEN '대리점거래'
ELSE ''
END AS CASE_GUBUN_NAME,
CM.CASE_EXAMINER,
CM.RCEPT_NO,
CM.APPLCNT_PWD,
CM.RESPONDENT_PWD,
CASE
WHEN (CM.MEDIATION_END_DT IS NULL) THEN ((TO_DATE(SYSDATE) - TO_DATE(CM.CASE_DATE))+1) - NVL(CM.APP_REQ_TERM,0)
WHEN (CM.MEDIATION_END_DT IS NOT NULL) THEN ((TO_DATE(CM.MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(CM.CASE_DATE))+1) - NVL(CM.APP_REQ_TERM,0)
END AS PRO_DATE,
CM.CASE_DATE,
TO_CHAR(CM.CASE_DATE,'YYYY. MM. DD.') AS CASE_DATE2,
CM.CASE_EXTEND,
CM.STATE_PRO,
CM.TRANSFER_CHECK,
CM.MEDIATION_REQ_AMOUNT,
CM.MEDIATION_AMOUNT,
CM.APP_REQ_DT,
CM.APP_SUBMIT_DT,
CM.APP_REQ_TERM,
CM.ANSWER_REQ_DT,
CM.RESPONDENT_REQ_DT,
CM.ANSWER_TERM,
CM.MEDIATION_END_DT,
CM.PENDENCY_PERIOD,
CM.MEDIATION_BIG,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CM.MEDIATION_BIG) AS MEDIATION_BIG_NAME,
CM.MEDIATION_SMALL,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CM.MEDIATION_SMALL) AS MEDIATION_SMALL_NAME,
CM.AGREEMENT_FILE,
CM.WITHDRAWAL_FILE,
CM.CON_PROTOCOL_FILE,
CM.SEQ_NUM,
CM.REGISTER_HIS_FILE,
CM.SELECT_FILE,
CM.APPLCNT_FILE,
CM.RESPONDENT_FILE,
CM.REG_DT,
CM.REG_ID,
CM.MOD_DT,
CM.MOD_ID,
CM.FEE_MONEY,
CM.POST_MONEY,
CM.LAWYER_MONEY,
CM.COURT_MONEY,
CM.RESULT_MONEY,
CM.CASE_MEMO1,
CM.CASE_MEMO2,
CR.CASE_REASON1,
CR.CASE_REASON2,
CR.CASE_REASON3,
CASE CR.DOC_CHECK
WHEN '5101000000' THEN '직접'
WHEN '5102000000' THEN '의뢰'
ELSE ''
END AS DOC_CHECK_NAME
,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.CASE_REASON1) AS CASE_REASON1_NAME,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.CASE_REASON2) AS CASE_REASON2_NAME,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.CASE_REASON3) AS CASE_REASON3_NAME,
CR.DOC_GUBUN,
CASE CR.DOC_GUBUN
WHEN '0101000000' THEN '온라인'
WHEN '0102000000' THEN '오프라인'
ELSE ''
END AS DOC_GUBUN_NAME,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.OTHER_AGENCY) AS OTHER_AGENCY_NAME,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CR.OTHER_OFFICE) AS OTHER_OFFICE_NAME
FROM C_MASTER CM
LEFT OUTER JOIN C_CASERCEPT CR
ON CR.CASE_NO = CM.CASE_NO
WHERE CM.CASE_NO = #{caseNo}
</select>
<!--사건 신청인 -->
<select id="selectCaseApplcnt" parameterType="egovMap" resultType="egovMap">
SELECT CA.CASE_NO,
CA.SEQ_NO,
CA.APPLCNT_COMPANY,
CA.COMPANY_CEO,
CA.COMPANY_GUBUN,
CASE CA.COMPANY_GUBUN
WHEN '1301000000' THEN '개인'
WHEN '1302000000' THEN '법인'
ELSE ''
END AS COMPANY_GUBUN_NAME,
CA.ZIP,
CA.ADDR1,
CA.ADDR2,
CA.ROAD_ADDR1,
CA.ROAD_ADDR2,
CA.TEL,
CA.FAX,
CA.BIZR_NO,
CA.CPR_NO,
CA.FILE_NO,
NC.BIZR_NO AS N_BIZR_NO,
NC.COMPANY_NM,
NC.RPRSNTV_NM,
NC.FOND_DT,
NC.CPR_NO AS N_CPR_NO,
NC.COMPANY_TYPE,
NC.INDUTY,
NC.GROUP_NM,
NC.EMPLY_NO,
NC.MAIN_GOODS,
NC.TEL1,
NC.TEL2,
NC.TEL3,
NC.ADDRES,
NC.ZIP AS N_ZIP,
NC.ADDR1 AS N_ADDR1,
NC.ADDR2 AS N_ADDR2,
NC.ROAD_ADDR1 AS N_ROAD_ADDR1,
NC.ROAD_ADDR2 AS N_ROAD_ADDR2,
NC.MNGER_OFCPS1,
NC.MNGER_NM1,
NC.MNGER_OFCPS2,
NC.MNGER_NM2,
NC.MNGER_OFCPS3,
NC.MNGER_NM3,
NC.MNGER_OFCPS4,
NC.MNGER_NM4,
NC.MNGER_OFCPS5,
NC.MNGER_NM5,
NC.RELATE_COMNM1,
NC.RELATE_RPRSNTV1,
NC.RELATE_QOTA1,
NC.RELATE_COMNM2,
NC.RELATE_RPRSNTV2,
NC.RELATE_QOTA2,
NC.RELATE_COMNM3,
NC.RELATE_RPRSNTV3,
NC.RELATE_QOTA3,
NC.RELATE_COMNM4,
NC.RELATE_RPRSNTV4,
NC.RELATE_QOTA4,
NC.RELATE_COMNM5,
NC.RELATE_RPRSNTV5,
NC.RELATE_QOTA5,
NC.KPI_YEAR1,
NC.KPI_AUDIT1,
NC.KPI_ASSETS1,
NC.KPI_DEBT1,
NC.KPI_SALAMT1,
NC.KPI_BSNPRFTS1,
NC.KPI_BUSPRORATE1,
NC.KPI_NETINRATE1,
NC.KPI_YEAR2,
NC.KPI_AUDIT2,
NC.KPI_ASSETS2,
NC.KPI_DEBT2,
NC.KPI_SALAMT2,
NC.KPI_BSNPRFTS2,
NC.KPI_BUSPRORATE2,
NC.KPI_NETINRATE2,
NC.KPI_YEAR3,
NC.KPI_AUDIT3,
NC.KPI_ASSETS3,
NC.KPI_DEBT3,
NC.KPI_SALAMT3,
NC.KPI_BSNPRFTS3,
NC.KPI_BUSPRORATE3,
NC.KPI_NETINRATE3,
NC.KPI_YEAR4,
NC.KPI_AUDIT4,
NC.KPI_ASSETS4,
NC.KPI_DEBT4,
NC.KPI_SALAMT4,
NC.KPI_BSNPRFTS4,
NC.KPI_BUSPRORATE4,
NC.KPI_NETINRATE4,
NC.KPI_YEAR5,
NC.KPI_AUDIT5,
NC.KPI_ASSETS5,
NC.KPI_DEBT5,
NC.KPI_SALAMT5,
NC.KPI_BSNPRFTS5,
NC.KPI_BUSPRORATE5,
NC.KPI_NETINRATE5,
NC.REG_DT,
NC.REG_ID,
NC.MOD_DT,
NC.MOD_ID
FROM C_CASEAPPLCNT CA
LEFT OUTER JOIN C_NICECOPINFO NC
ON CA.BIZR_NO = NC.BIZR_NO
WHERE CA.CASE_NO = #{caseNo}
ORDER BY SEQ_NO
</select>
<!--사건 신청인 대리인 -->
<select id="selectCaseAppagent" parameterType="egovMap" resultType="egovMap">
SELECT CASE_NO,
SEQ_NO,
AGENT_COMPANY,
AGENT_CEO,
AGENT_TEL,
AGENT_HP,
AGENT_EMAIL,
SPECIAL_TXT,
ZIP,
ADDR1,
ADDR2,
ROAD_ADDR1,
ROAD_ADDR2
FROM C_CASEAPPAGENT
WHERE CASE_NO = #{caseNo}
ORDER BY SEQ_NO
</select>
<!--사건 피신청인 -->
<select id="selectCaseRespondent" parameterType="egovMap" resultType="egovMap">
SELECT CA.CASE_NO,
CA.SEQ_NO,
CA.RESPONDENT_COMPANY,
CA.RESPONDENT_CEO,
CA.RESPONDENT_GUBUN,
CASE CA.RESPONDENT_GUBUN
WHEN '1301000000' THEN '개인'
WHEN '1302000000' THEN '법인'
ELSE ''
END AS RESPONDENT_GUBUN_NAME,
CA.ZIP,
CA.ADDR1,
CA.ADDR2,
CA.ROAD_ADDR1,
CA.ROAD_ADDR2,
CA.TEL,
CA.FAX,
CA.BIZR_NO,
CA.CPR_NO,
CA.FILE_NO,
NC.BIZR_NO AS N_BIZR_NO,
NC.COMPANY_NM,
NC.RPRSNTV_NM,
NC.FOND_DT,
NC.CPR_NO AS N_CPR_NO,
NC.COMPANY_TYPE,
NC.INDUTY,
NC.GROUP_NM,
NC.EMPLY_NO,
NC.MAIN_GOODS,
NC.TEL1,
NC.TEL2,
NC.TEL3,
NC.ADDRES,
NC.ZIP AS N_ZIP,
NC.ADDR1 AS N_ADDR1,
NC.ADDR2 AS N_ADDR2,
NC.ROAD_ADDR1 AS N_ROAD_ADDR1,
NC.ROAD_ADDR2 AS N_ROAD_ADDR2,
NC.MNGER_OFCPS1,
NC.MNGER_NM1,
NC.MNGER_OFCPS2,
NC.MNGER_NM2,
NC.MNGER_OFCPS3,
NC.MNGER_NM3,
NC.MNGER_OFCPS4,
NC.MNGER_NM4,
NC.MNGER_OFCPS5,
NC.MNGER_NM5,
NC.RELATE_COMNM1,
NC.RELATE_RPRSNTV1,
NC.RELATE_QOTA1,
NC.RELATE_COMNM2,
NC.RELATE_RPRSNTV2,
NC.RELATE_QOTA2,
NC.RELATE_COMNM3,
NC.RELATE_RPRSNTV3,
NC.RELATE_QOTA3,
NC.RELATE_COMNM4,
NC.RELATE_RPRSNTV4,
NC.RELATE_QOTA4,
NC.RELATE_COMNM5,
NC.RELATE_RPRSNTV5,
NC.RELATE_QOTA5,
NC.KPI_YEAR1,
NC.KPI_AUDIT1,
NC.KPI_ASSETS1,
NC.KPI_DEBT1,
NC.KPI_SALAMT1,
NC.KPI_BSNPRFTS1,
NC.KPI_BUSPRORATE1,
NC.KPI_NETINRATE1,
NC.KPI_YEAR2,
NC.KPI_AUDIT2,
NC.KPI_ASSETS2,
NC.KPI_DEBT2,
NC.KPI_SALAMT2,
NC.KPI_BSNPRFTS2,
NC.KPI_BUSPRORATE2,
NC.KPI_NETINRATE2,
NC.KPI_YEAR3,
NC.KPI_AUDIT3,
NC.KPI_ASSETS3,
NC.KPI_DEBT3,
NC.KPI_SALAMT3,
NC.KPI_BSNPRFTS3,
NC.KPI_BUSPRORATE3,
NC.KPI_NETINRATE3,
NC.KPI_YEAR4,
NC.KPI_AUDIT4,
NC.KPI_ASSETS4,
NC.KPI_DEBT4,
NC.KPI_SALAMT4,
NC.KPI_BSNPRFTS4,
NC.KPI_BUSPRORATE4,
NC.KPI_NETINRATE4,
NC.KPI_YEAR5,
NC.KPI_AUDIT5,
NC.KPI_ASSETS5,
NC.KPI_DEBT5,
NC.KPI_SALAMT5,
NC.KPI_BSNPRFTS5,
NC.KPI_BUSPRORATE5,
NC.KPI_NETINRATE5,
NC.REG_DT,
NC.REG_ID,
NC.MOD_DT,
NC.MOD_ID
FROM C_CASERESPONDENT CA
LEFT OUTER JOIN C_NICECOPINFO NC
ON CA.BIZR_NO = NC.BIZR_NO
WHERE CA.CASE_NO = #{caseNo}
<!-- 20190916 중복피신청인 n건 출력됨 -->
AND NC.CASE_NO = CA.CASE_NO
ORDER BY SEQ_NO
</select>
<!--사건 피신청인 대리인정보 -->
<select id="selectCaseResagent" parameterType="egovMap" resultType="egovMap">
SELECT CASE_NO,
SEQ_NO,
RESAGENT_COMPANY,
RESAGENT_CEO,
RESAGENT_TEL,
RESAGENT_HP,
RESAGENT_EMAIL,
SPECIAL_TXT,
ZIP,
ADDR1,
ADDR2,
ROAD_ADDR1,
ROAD_ADDR2
FROM C_CASERESAGENT
WHERE CASE_NO = #{caseNo}
ORDER BY SEQ_NO
</select>
<!--사건 접수현황 -->
<select id="selectCaseRceptsttus" parameterType="egovMap" resultType="egovMap">
SELECT CASE_NO,
CAPITAL,
TOTAL_ASSETS,
TOTAL_SALES,
BUSINESS_PROFITS,
FIRST_CONTRACT_DT,
START_CONTRACT,
END_CONTRACT,
CONTRACT_FILE,
PERSON_CHARGE,
CONTACT_TEL,
CONTACT_HP,
CONTACT_FAX,
CONTACT_OFCPS,
CONTACT_EMAIL,
LAWSUIT_CHECK,
CONFERENCE_RESULT,
ARBITRATION_CHECK,
REGULATING_ORGAN,
FTC_INVESTIGATION,
LAWSUT_NOTE,
CONFERENCE_NOTE,
ARBITRATION_NOTE,
REGULATING_NOTE,
FTC_NOTE,
CASE LAWSUIT_CHECK
WHEN 'Y' THEN '진행' || ' (' || (SELECT LAWSUT_NOTE FROM C_CASESTTUS WHERE CASE_NO = #{caseNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS LAWSUIT_CHECK_NAME,
CASE CONFERENCE_RESULT
WHEN 'Y' THEN '진행' || ' (' || (SELECT CONFERENCE_NOTE FROM C_CASESTTUS WHERE CASE_NO = #{caseNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS CONFERENCE_RESULT_NAME,
CASE ARBITRATION_CHECK
WHEN 'Y' THEN '진행' || ' (' || (SELECT ARBITRATION_NOTE FROM C_CASESTTUS WHERE CASE_NO = #{caseNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS ARBITRATION_CHECK_NAME,
CASE REGULATING_ORGAN
WHEN 'Y' THEN '진행' || ' (' || (SELECT REGULATING_NOTE FROM C_CASESTTUS WHERE CASE_NO = #{caseNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS REGULATING_ORGAN_NAME,
CASE FTC_INVESTIGATION
WHEN 'Y' THEN '진행' || ' (' || (SELECT FTC_NOTE FROM C_CASESTTUS WHERE CASE_NO = #{caseNo}) || ')'
WHEN 'N' THEN '미진행'
ELSE ''
END AS FTC_INVESTIGATION_NAME,
APPLICATION_OBJ,
APPLICATION_REASON,
SUBCNTR_NUM,
SUBCNTR_GUBUN,
SUBCNTR_CON,
CASE SUBCNTR_GUBUN
WHEN '2201000000' THEN '대기업'
WHEN '2202000000' THEN '중소기업'
WHEN '2203000000' THEN '소기업'
ELSE ''
END AS SUBCNTR_GUBUN_NAME,
CASE SUBCNTR_CON
WHEN 'Y' THEN '등록'
WHEN 'N' THEN '미등록'
ELSE ''
END AS SUBCNTR_CON_NAME,
SUBCNTR_AMOUNT,
MRHST_NUM,
MRHST_TYPE,
MRHST_BRAND_NM,
MRHST_INFO_CHECK,
MRHST_BALANCE_CHECK,
CASE MRHST_INFO_CHECK
WHEN 'Y' THEN '등록'
WHEN 'N' THEN '미등록'
ELSE ''
END AS MRHST_INFO_CHECK_NAME,
CASE MRHST_BALANCE_CHECK
WHEN 'Y' THEN '실시'
WHEN 'N' THEN '미실시'
ELSE ''
END AS MRHST_BALANCE_CHECK_NAME,
MRHST_NAME,
MRHST_START_CONTRACT,
MRHST_END_CONTRACT,
MRHST_FIRST_CONTRACT_DT,
MRHST_INFO_DT,
JOINING_AMOUNT,
JOINING_AMOUNT_DT,
JOINING_AMOUNT_BALANCE,
CASE JOINING_AMOUNT_BALANCE
WHEN 'Y' THEN '예치'
WHEN 'N' THEN '미예치'
ELSE ''
END AS JOINING_AMOUNT_BALANCE_NAME,
JOINING_AMOUNT_ORG,
DISTB_NUM,
DISTB_MAK_SHARE,
DISTB_SHOP_GROSSAREA,
DISTB_TOTAL_SALES,
DISTB_FTC,
LAWSUT_NOTE,
ARBITRATION_NOTE,
CONFERENCE_NOTE,
REGULATING_NOTE,
FTC_NOTE,
P_PERSON_CHARGE,
P_CONTACT_TEL,
P_CONTACT_HP,
P_CONTACT_FAX,
P_CONTACT_OFCPS,
P_CONTACT_EMAIL
FROM C_CASESTTUS
WHERE CASE_NO = #{caseNo}
</select>
<!--사건 신청인 하도급 리스트-->
<select id="selectCaseSubcntrsttusA" parameterType="egovMap" resultType="egovMap">
SELECT CASE_NO,
SUBCNTR_GUBUN,
SEQ_NO,
GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CS.GUBUN) AS GUBUN_NAME,
SUBCNTR_DT,
SUBCNTR_AMOUNT,
CASH_DT,
CASH_AMOUNT,
BILL_PAYDAY,
BILL_LIMIT,
BILL_AMOUNT,
TOTAL_AMOUNT,
NON_PAYMENT,
NOTE
FROM C_CASESUBCNTRSTTUS CS
WHERE CASE_NO = #{caseNo}
AND SUBCNTR_GUBUN = 'A'
ORDER BY SEQ_NO
</select>
<!-- 신청인 하도급 소계 그룹-->
<select id="selectCaseSubcntrsttusTotA" parameterType="egovMap" resultType="egovMap">
SELECT SUBCNTR_GUBUN,
GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CS.GUBUN) AS GUBUN_NAME,
SUM(NVL(SUBCNTR_AMOUNT, 0)) AS SUBCNTR_AMOUNT,
SUM(NVL(CASH_AMOUNT, 0)) AS CASH_AMOUNT,
SUM(NVL(BILL_AMOUNT, 0)) AS BILL_AMOUNT,
SUM(NVL(TOTAL_AMOUNT, 0)) AS TOTAL_AMOUNT,
SUM(NVL(NON_PAYMENT, 0)) AS NON_PAYMENT
FROM C_CASESUBCNTRSTTUS CS
WHERE CASE_NO = #{caseNo}
AND SUBCNTR_GUBUN = 'A'
GROUP BY ROLLUP(SUBCNTR_GUBUN, GUBUN)
<!-- GROUP BY SUBCNTR_GUBUN, GUBUN -->
ORDER BY SUBCNTR_GUBUN
</select>
<!--피신청인 하도급 리스트-->
<select id="selectCaseSubcntrsttusR" parameterType="egovMap" resultType="egovMap">
SELECT CASE_NO,
SUBCNTR_GUBUN,
SEQ_NO,
GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CS.GUBUN) AS GUBUN_NAME,
SUBCNTR_DT,
SUBCNTR_AMOUNT,
CASH_DT,
CASH_AMOUNT,
BILL_PAYDAY,
BILL_LIMIT,
BILL_AMOUNT,
TOTAL_AMOUNT,
NON_PAYMENT,
NOTE
FROM C_CASESUBCNTRSTTUS CS
WHERE CASE_NO = #{caseNo}
AND SUBCNTR_GUBUN = 'R'
ORDER BY SEQ_NO
</select>
<!-- 피신청인 하도급 소계 그룹-->
<select id="selectCaseSubcntrsttusTotR" parameterType="egovMap" resultType="egovMap">
SELECT SUBCNTR_GUBUN,
GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CS.GUBUN) AS GUBUN_NAME,
SUM(NVL(SUBCNTR_AMOUNT, 0)) AS SUBCNTR_AMOUNT,
SUM(NVL(CASH_AMOUNT, 0)) AS CASH_AMOUNT,
SUM(NVL(BILL_AMOUNT, 0)) AS BILL_AMOUNT,
SUM(NVL(TOTAL_AMOUNT, 0)) AS TOTAL_AMOUNT,
SUM(NVL(NON_PAYMENT, 0)) AS NON_PAYMENT
FROM C_CASESUBCNTRSTTUS CS
WHERE CASE_NO = #{caseNo}
AND SUBCNTR_GUBUN = 'R'
GROUP BY ROLLUP(SUBCNTR_GUBUN, GUBUN)
<!-- GROUP BY SUBCNTR_GUBUN, GUBUN -->
ORDER BY SUBCNTR_GUBUN
</select>
<select id="trublprocessmngCaseFileList" parameterType="egovMap" resultType="egovMap">
SELECT FILE_NO,
SEQ_NO,
FILE_NAME,
FILE_ORGNAME,
FILE_PATH,
FILE_EXTENSION,
FILE_SIZE,
REG_DT,
REG_ID,
MOD_DT,
MOD_ID,
DEL_GUBUN,
FILE_GUBUN,
FILE_FUNC,
COPY_CONTRACT_YN,
CASE
WHEN (SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = CF.REG_ID) IS NOT NULL
THEN TO_CHAR((SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = CF.REG_ID))
ELSE REG_ID
END AS FILE_OWNER
FROM C_CASEFILE CF
WHERE FILE_NO = #{rceptNo}
AND DEL_GUBUN = 'N'
</select>
<!-- 협의회 결과 -->
<select id="selectCaseTrublResult" parameterType="egovMap" resultType="egovMap">
SELECT
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.MEDIATION_BIG), '-') AS MEDIATION_BIG,
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.MEDIATION_SMALL), '-') AS MEDIATION_SMALL,
A.CFRNC_NO,
CONFERENCE_NAMES
FROM C_DLBRTMTR A
LEFT OUTER JOIN C_CFRNCMANAGE B
ON A.CFRNC_NO = B.CFRNC_NO
WHERE
CASE_NO = #{caseNo}
UNION ALL
SELECT
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.MEDIATION_BIG), '-') AS MEDIATION_BIG,
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = A.MEDIATION_SMALL), '-') AS MEDIATION_SMALL,
A.CFRNC_NO,
CONFERENCE_NAMES
FROM C_ENDMTR A
LEFT OUTER JOIN C_CFRNCMANAGE B
ON A.CFRNC_NO = B.CFRNC_NO
WHERE
CASE_NO = #{caseNo}
ORDER BY CFRNC_NO
</select>
<update id="updateCaseTrublMemo1" parameterType="egovMap">
UPDATE C_MASTER
SET CASE_MEMO1 = #{caseMemo}
WHERE CASE_NO = #{caseNo}
</update>
<update id="updateCaseTrublMemo2" parameterType="egovMap">
UPDATE C_MASTER
SET CASE_MEMO2 = #{caseMemo}
WHERE CASE_NO = #{caseNo}
</update>
</mapper>

View File

@ -0,0 +1,882 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!doctype html>
<html lang="ko">
<head>
<title><s:message code="manager.bbs.bbsSetEdit.title"/></title>
<link rel="stylesheet" href="/codemirror/lib/codemirror.css">
<link rel="stylesheet" href="/codemirror/addon/dialog/dialog.css">
<link rel="stylesheet" href="/codemirror/addon/hint/show-hint.css">
<link rel="stylesheet" href="/codemirror/addon/display/fullscreen.css">
<!-- theme css -->
<link rel="stylesheet" href="/codemirror/theme/3024-day.css">
<link rel="stylesheet" href="/codemirror/theme/3024-night.css">
<link rel="stylesheet" href="/codemirror/theme/ambiance.css">
<link rel="stylesheet" href="/codemirror/theme/base16-dark.css">
<link rel="stylesheet" href="/codemirror/theme/base16-light.css">
<link rel="stylesheet" href="/codemirror/theme/blackboard.css">
<link rel="stylesheet" href="/codemirror/theme/cobalt.css">
<link rel="stylesheet" href="/codemirror/theme/eclipse.css">
<link rel="stylesheet" href="/codemirror/theme/elegant.css">
<link rel="stylesheet" href="/codemirror/theme/erlang-dark.css">
<link rel="stylesheet" href="/codemirror/theme/lesser-dark.css">
<link rel="stylesheet" href="/codemirror/theme/mbo.css">
<link rel="stylesheet" href="/codemirror/theme/midnight.css">
<link rel="stylesheet" href="/codemirror/theme/monokai.css">
<link rel="stylesheet" href="/codemirror/theme/neat.css">
<link rel="stylesheet" href="/codemirror/theme/night.css">
<link rel="stylesheet" href="/codemirror/theme/paraiso-dark.css">
<link rel="stylesheet" href="/codemirror/theme/paraiso-light.css">
<link rel="stylesheet" href="/codemirror/theme/rubyblue.css">
<link rel="stylesheet" href="/codemirror/theme/solarized.css">
<link rel="stylesheet" href="/codemirror/theme/the-matrix.css">
<link rel="stylesheet" href="/codemirror/theme/tomorrow-night-eighties.css">
<link rel="stylesheet" href="/codemirror/theme/twilight.css">
<link rel="stylesheet" href="/codemirror/theme/vibrant-ink.css">
<link rel="stylesheet" href="/codemirror/theme/xq-dark.css">
<link rel="stylesheet" href="/codemirror/theme/xq-light.css">
<!-- theme css -->
<script src="/codemirror/lib/codemirror.js"></script>
<script src="/codemirror/mode/xml/xml.js"></script>
<script src="/codemirror/addon/dialog/dialog.js"></script>
<script src="/codemirror/addon/search/searchcursor.js"></script>
<script src="/codemirror/addon/search/search.js"></script>
<script src="/codemirror/addon/fold/xml-fold.js"></script>
<script src="/codemirror/addon/edit/matchtags.js"></script>
<script src="/codemirror/addon/edit/closetag.js"></script>
<script src="/codemirror/addon/hint/show-hint.js"></script>
<script src="/codemirror/addon/hint/xml-hint.js"></script>
<script src="/codemirror/addon/hint/html-hint.js"></script>
<script src="/codemirror/mode/javascript/javascript.js"></script>
<script src="/codemirror/mode/css/css.js"></script>
<script src="/codemirror/mode/htmlmixed/htmlmixed.js"></script>
<script src="/codemirror/addon/display/fullscreen.js"></script>
<script src="/codemirror/mode/clike/clike.js"></script>
<script src="/codemirror/keymap/extra.js"></script>
<script src="/codemirror/addon/selection/active-line.js"></script>
<script src="/codemirror/addon/edit/matchbrackets.js"></script>
<script src="/codemirror/addon/zen/zen_codemirror.min.js"></script>
<script src="/js/cookie.js"></script>
</head>
<body>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title"><s:message code="manager.bbs.nav.bbsSetView"/></h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p></p>
</div>
</div>
</div>
</div>
<form:form id="frm" name="frm" action="/${pageType}/proc/${siteIdx}/bbsSetModProc.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="bbsSetIdx" id="bbsSetIdx" value="<c:out escapeXml='true' value='${tBbsSetDB.bbsSetIdx}' />" />
<textarea name="bbsSetTHtml" id="bbsSetTHtml" style="display:none; "><c:out escapeXml='true' value='${tBbsSetDB.bbsSetTHtml}' /></textarea>
<textarea name="bbsSetFHtml" id="bbsSetFHtml" style="display:none; "><c:out escapeXml='true' value='${tBbsSetDB.bbsSetFHtml}' /></textarea>
<input type="hidden" name="page" value="<c:out escapeXml='true' value='${page}' />" />
<input type="hidden" name="row" value="<c:out escapeXml='true' value='${row}' />" />
<input type="hidden" name="orderColumn" value="<c:out escapeXml='true' value='${orderColumn}' />" />
<input type="hidden" name="order" value="<c:out escapeXml='true' value='${order}' />" />
<input type="hidden" name="column" value="<c:out escapeXml='true' value='${column}' />" />
<input type="hidden" name="search" value="<c:out escapeXml='true' value='${search}' />" />
<fieldset>
<legend><s:message code="manager.bbs.bbsSetEdit.table.caption"/></legend>
<!-- 게시판 기능 상단 HTML -->
<div class="bbs-view-layout">
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetTHtml"/></p>
<div class="item-box" style="overflow:hidden;">
<textarea name="codeTextAreaT" id="codeTextAreaT" style="width:100%;"><c:out escapeXml='true' value='${tBbsSetDB.bbsSetTHtml}' /></textarea>
<div class="skin-list-box">
<label for="layout-skin-list" class="hidden">레이아웃 스킨 선택</label>
<select onchange="selectTheme1()" id="select1" class="layout-skin-list">
<option selected>default</option>
<option>3024-day</option>
<option>3024-night</option>
<option>ambiance</option>
<option>base16-dark</option>
<option>base16-light</option>
<option>blackboard</option>
<option>cobalt</option>
<option>eclipse</option>
<option>elegant</option>
<option>erlang-dark</option>
<option>lesser-dark</option>
<option>mbo</option>
<option>midnight</option>
<option>monokai</option>
<option>neat</option>
<option>night</option>
<option>paraiso-dark</option>
<option>paraiso-light</option>
<option>rubyblue</option>
<option>solarized dark</option>
<option>solarized light</option>
<option>the-matrix</option>
<option>tomorrow-night-eighties</option>
<option>twilight</option>
<option>vibrant-ink</option>
<option>xq-dark</option>
<option>xq-light</option>
</select>
</div>
</div>
</div> <!-- 게시판 기능 상단 HTML END -->
<!-- 게시판 명 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetName"/></p>
<div class="item-box">
<input type="text" class="width50 essential" maxlength="100" name="bbsSetName" id="bbsSetName" title="<s:message code="manager.bbs.bbsSetEdit.bbsSetName"/>" value="<c:out escapeXml='true' value='${tBbsSetDB.bbsSetName}' />" required />
</div>
</div> <!-- 게시판 명 END -->
<!-- 게시판 타입 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetType"/></p>
<div class="item-box">
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetType == 'B'}">checked</c:if>" name="bbsSetType" id="bbsSetTypeB" value="B" <c:if test="${tBbsSetDB.bbsSetType == 'B'}">checked</c:if>><label for="bbsSetTypeB"><s:message code="manager.bbs.bbsSetEdit.bbsSetBasic"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetType == 'W'}">checked</c:if>" name="bbsSetType" id="bbsSetTypeW" value="W" <c:if test="${tBbsSetDB.bbsSetType == 'W'}">checked</c:if>><label for="bbsSetTypeW"><s:message code="manager.bbs.bbsSetEdit.bbsSetAnswer"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetType == 'L'}">checked</c:if>" name="bbsSetType" id="bbsSetTypeL" value="L" <c:if test="${tBbsSetDB.bbsSetType == 'L'}">checked</c:if>><label for="bbsSetTypeL"><s:message code="manager.bbs.bbsSetEdit.bbsSetLink"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetType == 'A'}">checked</c:if>" name="bbsSetType" id="bbsSetTypeA" value="A" <c:if test="${tBbsSetDB.bbsSetType == 'A'}">checked</c:if>><label for="bbsSetTypeA"><s:message code="manager.bbs.bbsSetEdit.bbsSetAlbum"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetType == 'M'}">checked</c:if>" name="bbsSetType" id="bbsSetTypeM" value="M" <c:if test="${tBbsSetDB.bbsSetType == 'M'}">checked</c:if>><label for="bbsSetTypeM"><s:message code="manager.bbs.bbsSetEdit.bbsSetMovie"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetType == 'T'}">checked</c:if>" name="bbsSetType" id="bbsSetTypeT" value="T" <c:if test="${tBbsSetDB.bbsSetType == 'T'}">checked</c:if>><label for="bbsSetTypeT"><s:message code="manager.bbs.bbsSetEdit.bbsSetThumbFile"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetType == 'F'}">checked</c:if>" name="bbsSetType" id="bbsSetTypeF" value="F" <c:if test="${tBbsSetDB.bbsSetType == 'F'}">checked</c:if>><label for="bbsSetTypeF"><s:message code="manager.bbs.bbsSetEdit.bbsSetFile"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetType == 'R'}">checked</c:if>" name="bbsSetType" id="bbsSetTypeR" value="R" <c:if test="${tBbsSetDB.bbsSetType == 'R'}">checked</c:if>><label for="bbsSetTypeR"><s:message code="manager.bbs.bbsSetEdit.bbsSetRequest"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetType == 'E'}">checked</c:if>" name="bbsSetType" id="bbsSetTypeE" value="E" <c:if test="${tBbsSetDB.bbsSetType == 'E'}">checked</c:if>><label for="bbsSetTypeE"><s:message code="manager.bbs.bbsSetEdit.bbsSetEvent"/></label>
</div>
</div> <!-- 게시판 타입 END -->
<!-- 목록 설정 -->
<div class="bbs-view-item" id="divSubType">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetSubType"/></p>
<div class="item-box">
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetSubType == 'L'}">checked</c:if>" name="bbsSetSubType" id="bbsSetSubTypeL" value="L" <c:if test="${tBbsSetDB.bbsSetSubType == 'L'}">checked</c:if>/><label for="bbsSetSubTypeL"><s:message code="manager.bbs.bbsSetEdit.bbsSetSubType.list"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetSubType == 'I'}">checked</c:if>" name="bbsSetSubType" id="bbsSetSubTypeI" value="I" <c:if test="${tBbsSetDB.bbsSetSubType == 'I'}">checked</c:if>/><label for="bbsSetSubTypeI"><s:message code="manager.bbs.bbsSetEdit.bbsSetSubType.listItem"/></label>
<input type="radio" class="radio <c:if test="${tBbsSetDB.bbsSetSubType == 'G'}">checked</c:if>" name="bbsSetSubType" id="bbsSetSubTypeG" value="G" <c:if test="${tBbsSetDB.bbsSetSubType == 'G'}">checked</c:if>/><label for="bbsSetSubTypeG"><s:message code="manager.bbs.bbsSetEdit.bbsSetSubType.gallery"/></label>
<!--
<input type="radio" class="radio" name="bbsSetSubType" id="bbsSetSubTypeS" value="S" <c:if test="${tBbsSetDB.bbsSetSubType == 'S'}">checked</c:if>/><label for="bbsSetSubTypeS"><s:message code="manager.bbs.bbsSetEdit.bbsSetSubType.slide"/></label>
-->
</div>
</div> <!-- 목록 설정 END -->
<!-- 유튜브 사용여부 -->
<div class="bbs-view-item" id="divYoutube">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetYoutube"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetYoutube == 'Y'}">checked</c:if>" name="bbsSetYoutube" id="bbsSetYoutube" value="Y" <c:if test="${tBbsSetDB.bbsSetYoutube == 'Y'}">checked</c:if>/><label for="bbsSetYoutube"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 유튜브 사용여부 END -->
<!-- 담당자 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="common.manager"/></p>
<div class="item-box">
<c:forEach items="${tBbsSetDB.tBbsManagers}" var="tBbsManager" varStatus="status">
<c:if test='${tBbsManager.tMember.memberStatus == "U"}'>
<c:if test='${status.index > 0}'>,</c:if> <c:out escapeXml='true' value='${tBbsManager.tMember.memberName}' />
</c:if>
</c:forEach>
<c:if test='${memberGrant == "S" || memberAuth}'>
<a href="/common/<c:out escapeXml='true' value='${siteIdx}' />/bbs/<c:out escapeXml='true' value='${bbsSetIdx}' />/${pageType}/managerList.do" id="managerSearch" class="btn-sch-item" ><s:message code="common.button.manager"/></a>
</c:if>
</div>
</div> <!-- 담당자 END -->
<!-- 게시목록 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsData"/></p>
<div class="item-box">
<div class="row">
<s:message code="manager.bbs.bbsSetEdit.bbsData.mini.row"/>&nbsp;&nbsp;:&nbsp;&nbsp;
<span id="galleryMiniRow" style="display:inline-block;vertical-align:middle"> <s:message code="manager.bbs.bbsSetEdit.bbsData.gallery.mini.row"/> / </span>
<select name="bbsSetDataMiniRow" id="bbsSetDataMiniRow" style="width:50px;">
<c:forEach begin="1" end="20" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==tBbsSetDB.bbsSetDataMiniRow}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>&nbsp;&nbsp;&nbsp;
<span id="galleryMiniCol" style="display:inline-block;vertical-align:middle">
<s:message code="manager.bbs.bbsSetEdit.bbsData.gallery.mini.col"/> /
<select name="bbsSetDataMiniCol" id="bbsSetDataMiniCol" title="<s:message code="manager.bbs.bbsSetEdit.bbsData.gallery.mini.col"/>" style="width:50px;">
<c:forEach begin="1" end="20" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==tBbsSetDB.bbsSetDataMiniCol}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>
</span>
</div>
<div class="row">
<s:message code="manager.bbs.bbsSetEdit.bbsData.row"/>&nbsp;&nbsp;:&nbsp;&nbsp;
<span id="galleryRow" style="display:inline-block;vertical-align:middle"><s:message code="manager.bbs.bbsSetEdit.bbsData.gallery.row"/> / </span>
<select name="bbsSetDataRow" id="bbsSetDataRow" style="width:50px;">
<c:forEach begin="1" end="30" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==tBbsSetDB.bbsSetDataRow}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>&nbsp;&nbsp;&nbsp;
<span id="galleryCol" style="display:inline-block;vertical-align:middle">
<s:message code="manager.bbs.bbsSetEdit.bbsData.gallery.col"/> /
<select name="bbsSetDataCol" id="bbsSetDataCol" title="<s:message code="manager.bbs.bbsSetEdit.bbsData.gallery.col"/>" style="width:50px;">
<c:forEach begin="1" end="20" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==tBbsSetDB.bbsSetDataCol}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>
</span>
</div>
<div class="row">
<div id="commentRow">
<s:message code="manager.bbs.bbsSetEdit.bbsComment.row"/>&nbsp;&nbsp;:&nbsp;&nbsp;
<select name="bbsSetCommentRow" id="bbsSetCommentRow" title="<s:message code="manager.bbs.bbsSetEdit.bbsComment.row"/>" style="width:50px;">
<c:forEach begin="1" end="30" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==tBbsSetDB.bbsSetCommentRow}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>&nbsp;&nbsp;&nbsp;
</div>
</div>
</div>
</div> <!-- 게시목록 설정 END -->
<!-- 첨부파일 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetFile.set"/></p>
<div class="item-box">
<p class="mb5"><s:message code="manager.bbs.bbsSetEdit.bbsSetFile.size"/> : <input type="text" class="width80px numOnly" maxlength="10" name="bbsSetFileSize" id="bbsSetFileSize" title="<s:message code="manager.bbs.bbsSetEdit.bbsSetFile.size"/>" required value='${tBbsSetDB.bbsSetFileSize}' /> Mbyte</p>
<p><s:message code="manager.bbs.bbsSetEdit.bbsSetFile.count"/> : <input type="text" class="width80px numOnly" maxlength="10" name="bbsSetFileCount" id="bbsSetFileCount" title="<s:message code="manager.bbs.bbsSetEdit.bbsSetFile.count"/>" required value='${tBbsSetDB.bbsSetFileCount}' /> <s:message code="manager.bbs.ea"/></p>
</div>
</div> <!-- 첨부파일 설정 END -->
<!-- 게시판 조회수 시간설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetDataCookieTime"/></p>
<div class="item-box">
<input type="text" class="width80px numOnly" maxlength="10" name="bbsSetDataCookieTime" id="bbsSetDataCookieTime" title="<s:message code="manager.bbs.bbsSetEdit.bbsSetDataCookieTime"/>" required value='${tBbsSetDB.bbsSetDataCookieTime}' />
</div>
</div> <!-- 게시판 조회수 시간설정 END -->
<!-- 게시판 작성자 설정 시간설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetDataSaveType"/></p>
<div class="item-box">
<select name="bbsSetDataSaveType" id="bbsSetDataSaveType" title="<s:message code="manager.bbs.bbsSetEdit.bbsSetDataSaveType"/>" style="width:100px;">
<option value="memberName" <c:if test='${tBbsSetDB.bbsSetDataSaveType == "memberName"}'>selected</c:if>><s:message code="common.writer"/></option>
<option value="memberDept" <c:if test='${tBbsSetDB.bbsSetDataSaveType == "memberDept"}'>selected</c:if>><s:message code="common.memberDept"/></option>
</select>
</div>
</div> <!-- 게시판 작성자 설정 시간설정 END -->
<!-- 인증 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetCertify"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetCertify == 'Y'}">checked</c:if>" name="bbsSetCertify" id="bbsSetCertify" value="Y" <c:if test="${tBbsSetDB.bbsSetCertify == 'Y'}">checked</c:if>/><label for="bbsSetCertify"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 인증 설정 END -->
<!-- 카테고리기능 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetCategory"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetCategory == 'Y'}">checked</c:if>" name="bbsSetCategory" id="bbsSetCategory" value="Y" <c:if test="${tBbsSetDB.bbsSetCategory == 'Y'}">checked</c:if>/><label for="bbsSetCategory"><s:message code="common.message.checkbox.check"/></label>&nbsp;&nbsp;
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetCategoryView == 'Y'}">checked</c:if>" name="bbsSetCategoryView" id="bbsSetCategoryView" value="Y" <c:if test="${tBbsSetDB.bbsSetCategoryView == 'Y'}">checked</c:if>/><label for="bbsSetCategoryView"><s:message code="manager.bbs.bbsSetEdit.bbsSetCategoryView"/></label>
</div>
</div> <!-- 카테고리기능 설정 END -->
<!-- 에디터 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetEditor"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetEditor == 'Y'}">checked</c:if>" name="bbsSetEditor" id="bbsSetEditor" value="Y" <c:if test="${tBbsSetDB.bbsSetEditor == 'Y'}">checked</c:if>/><label for="bbsSetEditor"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 에디터 설정 END -->
<!-- 휴지통기능 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetTrash"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetTrash == 'Y'}">checked</c:if>" name="bbsSetTrash" id="bbsSetTrash" value="Y" <c:if test="${tBbsSetDB.bbsSetTrash == 'Y'}">checked</c:if>/><label for="bbsSetTrash"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 휴지통기능 설정 END -->
<!-- 베스트 기능 설정 -->
<div class="bbs-view-item" id="divBest">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetBest"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetBest == 'Y'}">checked</c:if>" name="bbsSetBest" id="bbsSetBest" value="Y" <c:if test="${tBbsSetDB.bbsSetBest == 'Y'}">checked</c:if>/><label for="bbsSetBest"><s:message code="common.message.checkbox.check"/></label>&nbsp;&nbsp;
<select name="bbsSetBestRow" id="bbsSetBestRow" title="<s:message code="manager.bbs.bbsSetEdit.bbsSetBest"/>" style="width:50px;">
<c:forEach begin="1" end="5" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==tBbsSetDB.bbsSetBestRow}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select>
</div>
</div> <!-- 베스트 기능 설정 END -->
<!-- 등록일기준 정렬 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetDateOrder"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetDateOrder == 'Y'}">checked</c:if>" name="bbsSetDateOrder" id="bbsSetDateOrder" value="Y" <c:if test="${tBbsSetDB.bbsSetDateOrder == 'Y'}">checked</c:if>/><label for="bbsSetDateOrder"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 등록일기준 정렬 설정 END -->
<!-- 답글 설정 -->
<div class="bbs-view-item" id="divReply">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetReply"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetReply == 'Y'}">checked</c:if>" name="bbsSetReply" id="bbsSetReply" value="Y" <c:if test="${tBbsSetDB.bbsSetReply == 'Y'}">checked</c:if>/><label for="bbsSetReply"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 답글 설정 END -->
<!-- 댓글 설정 -->
<div class="bbs-view-item" id="divComment">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetComment"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetComment == 'Y'}">checked</c:if>" name="bbsSetComment" id="bbsSetComment" value="Y" <c:if test="${tBbsSetDB.bbsSetComment == 'Y'}">checked</c:if>/><label for="bbsSetComment"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 댓글 설정 END -->
<!-- 이전글/다음글 설정 -->
<div class="bbs-view-item" id="divNP">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetNP"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetNP == 'Y'}">checked</c:if>" name="bbsSetNP" id="bbsSetNP" value="Y" <c:if test="${tBbsSetDB.bbsSetNP == 'Y'}">checked</c:if>/><label for="bbsSetNP"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 이전글/다음글 설정 END -->
<!-- 비밀글설정 설정 -->
<div class="bbs-view-item" id="divSecret">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetSecret"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetSecret == 'Y'}">checked</c:if>" name="bbsSetSecret" id="bbsSetSecret" value="Y" <c:if test="${tBbsSetDB.bbsSetSecret == 'Y'}">checked</c:if>/><label for="bbsSetSecret"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 비밀글설정 설정 END -->
<!-- 내글만보기 설정 -->
<div class="bbs-view-item" id="divMydata">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetMyData"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetMyData == 'Y'}">checked</c:if>" name="bbsSetMyData" id="bbsSetMyData" value="Y" <c:if test="${tBbsSetDB.bbsSetMyData == 'Y'}">checked</c:if>/><label for="bbsSetMyData"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 내글만보기 설정 END -->
<!-- 포인트사용 설정 -->
<div class="bbs-view-item" id="divPoint">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetPoint"/></p>
<div class="item-box">
<div class="row">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetPoint == 'Y'}">checked</c:if>" name="bbsSetPoint" id="bbsSetPoint" value="Y" <c:if test="${tBbsSetDB.bbsSetPoint == 'Y'}">checked</c:if>/><label for="bbsSetPoint"><s:message code="common.message.checkbox.check"/></label>
</div>
<div class="row"><s:message code="manager.bbs.bbsSetEdit.bbsSetPointWrite"/>&nbsp;&nbsp;:&nbsp;&nbsp;<input type="text" class="width80px numOnly" maxlength="10" name="bbsSetPointWrite" id="bbsSetPointWrite" style="width:70px !important;" title="<s:message code="manager.bbs.bbsSetEdit.bbsSetPointWrite"/>" value='${tBbsSetDB.bbsSetPointWrite}' />&nbsp;&nbsp;point</div>
<div class="row"><s:message code="manager.bbs.bbsSetEdit.bbsSetPointReply"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;<input type="text" class="width80px numOnly" maxlength="10" name="bbsSetPointReply" style="width:70px !important;" id="bbsSetPointReply" title="<s:message code="manager.bbs.bbsSetEdit.bbsSetPointReply"/>" value='${tBbsSetDB.bbsSetPointReply}' />&nbsp;&nbsp;point</div>
<div class="row"><s:message code="manager.bbs.bbsSetEdit.bbsSetPointComment"/>&nbsp;&nbsp;:&nbsp;&nbsp;<input type="text" class="width80px numOnly" maxlength="10" name="bbsSetPointComment" id="bbsSetPointComment" style="width:70px !important;" title="<s:message code="manager.bbs.bbsSetEdit.bbsSetPointComment"/>" value='${tBbsSetDB.bbsSetPointComment}' />&nbsp;&nbsp;point</div>
</div>
</div> <!-- 포인트사용 설정 END -->
<!-- 워터마크 설정 -->
<div class="bbs-view-item" id="divWaterMark">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetWaterMark"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none <c:if test="${tBbsSetDB.bbsSetWaterMark == 'Y'}">checked</c:if>" name="bbsSetWaterMark" id="bbsSetWaterMark" value="Y" <c:if test="${tBbsSetDB.bbsSetWaterMark == 'Y'}">checked</c:if>/><label for="bbsSetWaterMark"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 워터마크 설정 END -->
<!-- 워터마크 이미지 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetWaterMarkImg"/></p>
<div class="item-box">
<div class="row"><input type="file" name="upFile" id="bbsSetWaterMarkImg" value="" /><label for="bbsSetWaterMarkImg"><c:choose><c:when test='${tBbsSetDB.bbsSetWaterMarkReImg != null && tBbsSetDB.bbsSetWaterMarkReImg != ""}'><c:out escapeXml='true' value='${tBbsSetDB.bbsSetWaterMarkImg}' /></c:when><c:otherwise><s:message code="manager.bbs.bbsSetEdit.bbsSetWaterMarkImg"/></c:otherwise></c:choose></label><span class="file-info"><s:message code="manager.bbs.bbsSetEdit.bbsSetWaterMarkImg"/></span></div>
<c:if test='${tBbsSetDB.bbsSetWaterMarkReImg != null && tBbsSetDB.bbsSetWaterMarkReImg != ""}'>
<div>
<img src="/site/<c:out escapeXml='true' value='${siteIdx}' />/upload/bbs/<c:out escapeXml='true' value='${bbsSetIdx}' />/<c:out escapeXml='true' value='${tBbsSetDB.bbsSetWaterMarkReImg}' />" alt="<c:out escapeXml='true' value='${tBbsSetDB.bbsSetWaterMarkImg}' />" width="100%"/>
</div>
</c:if>
</div>
</div> <!-- 워터마크 이미지 설정 END -->
<!-- 게시판 기능 하단 HTML 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetEdit.bbsSetFHtml"/></p>
<div class="item-box" style="overflow:hidden;">
<textarea name="codeTextAreaF" id="codeTextAreaF" style="width:100%;"><c:out escapeXml='true' value='${tBbsSetDB.bbsSetFHtml}' /></textarea>
<div class="skin-list-box">
<label for="layout-skin-list" class="hidden">레이아웃 스킨 선택</label>
<select onchange="selectTheme2()" id="select2" class="layout-skin-list">
<option selected>default</option>
<option>3024-day</option>
<option>3024-night</option>
<option>ambiance</option>
<option>base16-dark</option>
<option>base16-light</option>
<option>blackboard</option>
<option>cobalt</option>
<option>eclipse</option>
<option>elegant</option>
<option>erlang-dark</option>
<option>lesser-dark</option>
<option>mbo</option>
<option>midnight</option>
<option>monokai</option>
<option>neat</option>
<option>night</option>
<option>paraiso-dark</option>
<option>paraiso-light</option>
<option>rubyblue</option>
<option>solarized dark</option>
<option>solarized light</option>
<option>the-matrix</option>
<option>tomorrow-night-eighties</option>
<option>twilight</option>
<option>vibrant-ink</option>
<option>xq-dark</option>
<option>xq-light</option>
</select>
</div>
</div>
</div> <!-- 게시판 기능 하단 HTML 설정 END -->
</div> <!-- .bbs-view-layout END -->
<div class="btn-area">
<button type="submit" class="btn-normal violet"><s:message code="common.button.mod"/></button>
<c:if test='${memberGrant == "S" || memberAuth}'>
<c:if test="${tBbsSetDB.bbsSetStatus == 'D'}">
<a class="btn-normal lightgray" href="/${pageType}/proc/<c:out escapeXml='true' value='${siteIdx}' />/bbsSetDelProc/<c:out escapeXml='true' value='${tBbsSetDB.bbsSetIdx}' />.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />"><s:message code="common.button.del"/></a>
</c:if>
</c:if>
<c:if test='${memberGrant == "S" || memberAuth || (pageType == "gte" && (memberAuthG || memberAuthM))}'>
<a class="btn-normal lightgray" href="/${pageType}/<c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />"><s:message code="common.button.list"/></a>
</c:if>
</div>
</fieldset>
</form:form>
<c:if test='${memberGrant == "S" || memberAuth || memberAuthG}'>
<div class="bookmark-list-pc menu-manage member downNupType02<c:if test='${pageType == "gtm" && (memberGrant != "S" && !memberAuth)}'>_none</c:if>">
<button type="button">북마크 버튼</button>
<ul>
<li><a href="/${pageType}/<c:out escapeXml='true' value='${siteIdx}' />/bbsSetEdit/<c:out escapeXml='true' value='${bbsSetIdx}' />.do"><img src="<s:message code="manager.bbs.button.bbsSet"/>" alt="<s:message code="manager.bbs.button.bbsSet.alt"/>"><s:message code="manager.bbs.button.bbsSet.alt"/></a></li>
<li><a href="/${pageType}/<c:out escapeXml='true' value='${siteIdx}' />/<c:out escapeXml='true' value='${bbsSetIdx}' />/bbsDataList.do"><img src="<s:message code="manager.bbs.button.bbsData"/>" alt="<s:message code="manager.bbs.button.bbsData.alt"/>"><s:message code="manager.bbs.button.bbsData.alt"/></a></li>
<li><a href="/${pageType}/<c:out escapeXml='true' value='${siteIdx}' />/<c:out escapeXml='true' value='${bbsSetIdx}' />/bbsCategoryList.do"><img src="<s:message code="manager.bbs.button.bbsCategory"/>" alt="<s:message code="manager.bbs.button.bbsCategory.alt"/>"><s:message code="manager.bbs.button.bbsCategory.alt"/></a></li>
<li><a href="/${pageType}/<c:out escapeXml='true' value='${siteIdx}' />/<c:out escapeXml='true' value='${bbsSetIdx}' />/bbsAuthEdit.do"><img src="<s:message code="manager.bbs.button.bbsAuth"/>" alt="<s:message code="manager.bbs.button.bbsAuth.alt"/>"><s:message code="manager.bbs.button.bbsAuth.alt"/></a></li>
<li><a href="/${pageType}/<c:out escapeXml='true' value='${siteIdx}' />/<c:out escapeXml='true' value='${bbsSetIdx}' />/bbsItemList.do"><img src="<s:message code="manager.bbs.button.bbsItem"/>" alt="<s:message code="manager.bbs.button.bbsItem.alt"/>"><s:message code="manager.bbs.button.bbsItem.alt"/></a></li>
<li><a href="/${pageType}/<c:out escapeXml='true' value='${siteIdx}' />/<c:out escapeXml='true' value='${bbsSetIdx}' />/bbsTrashList.do"><img src="<s:message code="manager.bbs.button.bbsTrash"/>" alt="<s:message code="manager.bbs.button.bbsTrash.alt"/>"><s:message code="manager.bbs.button.bbsTrash.alt"/></a></li>
<li><a href="/${pageType}/<c:out escapeXml='true' value='${siteIdx}' />/<c:out escapeXml='true' value='${bbsSetIdx}' />/bbsSetSkinList.do"><img src="<s:message code="manager.bbs.button.bbsSkin"/>" alt="<s:message code="manager.bbs.button.bbsSkin.alt"/>"><s:message code="manager.bbs.button.bbsSkin.alt"/></a></li>
</ul>
</div>
</c:if>
<script>
/* <![CDATA[ */
$(".dataDel").click(function(){
if(!confirm("<s:message code='common.message.bbs.set.confirm.del'/>")){
return false;
}
$.blockUI({ message : '<h1><img src="/img/blockbusy.gif" />&nbsp;&nbsp;<s:message code="common.message.ajaxwait"/></h1>' });
});
$("#bbsSetName").focus();
$("#managerSearch").click(function(){
var url = $(this).attr("href");
window.open(url,"popManagerChk","width=1025, height=768, resizable=no, location=no, toolbar=no, menubar=no, status=no, scrollbars=yes");
return false;
});
$("input[name=bbsSetType]").change(function() {
$("#bbsSetMyData").prop("checked", false);
$("#bbsSetReply").prop("checked", false);
$("#bbsSetReply").attr("disabled", false);
if($('input:radio[name="bbsSetType"]:checked').val() == "A" || $('input:radio[name="bbsSetType"]:checked').val() == "M" || $('input:radio[name="bbsSetType"]:checked').val() == "T" || $('input:radio[name="bbsSetType"]:checked').val() == "E"){
$('input:radio[name="bbsSetSubType"]')[0].checked = true;
$("#divReply").hide();
$("#divSecret").hide();
$("#divSubType").show();
$("#divBest").show();
$("#divComment").show();
$("#divNP").show();
$("#commentRow").show();
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
if($('input:radio[name="bbsSetType"]:checked').val() == "A"){
$("#divWaterMark").show();
$("#divWaterMarkImg").show();
}else{
$("#divWaterMark").hide();
$("#divWaterMarkImg").hide();
}
if($('input:radio[name="bbsSetType"]:checked').val() == "M"){
$("#divYoutube").show();
}else{
$("#divYoutube").hide();
}
}else{
$('input:radio[name="bbsSetSubType"]')[0].checked = true;
if($('input:radio[name="bbsSetType"]:checked').val() == "L" || $('input:radio[name="bbsSetType"]:checked').val() == "W"){
$("#divReply").hide();
$("#divSecret").hide();
$("#divComment").hide();
$("#divNP").hide();
$("#commentRow").hide();
}else{
$("#divReply").show();
$("#divSecret").show();
$("#divComment").show();
$("#divNP").show();
$("#commentRow").show();
}
$("input:checkbox[name=bbsSetBest]").prop("checked", false);
$("#divSubType").hide();
$("#divBest").hide();
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
$("#divWaterMark").hide();
$("#divWaterMarkImg").hide();
}
});
$("input[name=bbsSetSubType]").change(function() {
if($('input:radio[name="bbsSetSubType"]:checked').val() == "G"){
$("#galleryMiniRow").show();
$("#galleryMiniCol").show();
$("#galleryRow").show();
$("#galleryCol").show();
}else{
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
}
});
$("input[name=bbsSetMyData]").click(function(){
$("#bbsSetReply").prop("checked", false);
$("#bbsSetReply").attr("disabled", false);
if($('input[name="bbsSetMyData"]:checked').val() == "Y"){
$("#divReply").hide();
$("#bbsSetReply").attr("disabled", true);
}else{
if($('input:radio[name="bbsSetType"]:checked').val() == "B" ||
$('input:radio[name="bbsSetType"]:checked').val() == "F" ||
$('input:radio[name="bbsSetType"]:checked').val() == "R"){
$("#divReply").show();
}else{
$("#divReply").hide();
}
}
});
<c:choose>
<c:when test="${tBbsSetDB.bbsSetType == 'A' || tBbsSetDB.bbsSetType == 'M' || tBbsSetDB.bbsSetType == 'T' || tBbsSetDB.bbsSetType == 'E'}">
$("input:checkbox[name=bbsSetReply]").prop("checked", false);
$("#divReply").hide();
$("#divSecret").hide();
$("#divSubType").show();
$("#divBest").show();
$("#divComment").show();
$("#divNP").show();
$("#commentRow").show();
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
<c:choose>
<c:when test="${tBbsSetDB.bbsSetType == 'A' || tBbsSetDB.bbsSetType == 'E'}">
$("#divWaterMark").show();
$("#divWaterMarkImg").show();
</c:when>
<c:otherwise>
$("#divWaterMark").hide();
$("#divWaterMarkImg").hide();
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${tBbsSetDB.bbsSetType == 'M'}">
$("#divYoutube").show();
</c:when>
<c:otherwise>
$("#divYoutube").hide();
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${tBbsSetDB.bbsSetSubType == 'G'}">
$("#galleryMiniRow").show();
$("#galleryMiniCol").show();
$("#galleryRow").show();
$("#galleryCol").show();
</c:when>
<c:otherwise>
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<c:choose>
<c:when test='${tBbsSetDB.bbsSetType == "L" || tBbsSetDB.bbsSetType == "W"}'>
$("#divReply").hide();
$("#divSecret").hide();
$("#divComment").hide();
$("#divNP").hide();
$("#commentRow").hide();
</c:when>
<c:otherwise>
$("#divReply").show();
$("#divSecret").show();
$("#divComment").show();
$("#divNP").show();
$("#commentRow").show();
</c:otherwise>
</c:choose>
<c:if test='${tBbsSetDB.bbsSetMyData == "Y"}'>
$("#divReply").hide();
$("#bbsSetReply").prop("checked", false);
$("#bbsSetReply").attr("disabled", true);
</c:if>
$("#divSubType").hide();
$("#divBest").hide();
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
$("#divWaterMark").hide();
$("#divWaterMarkImg").hide();
$("#divYoutube").hide();
</c:otherwise>
</c:choose>
var F11key = false;
$(".CodeMirror").keyup(function(e) {
if(e.keyCode == "122" || e.keyCode == "27"){
if(F11key == false){
if(e.keyCode == "122"){ //F11
$(".iconmWrap").hide();
$(".CodeMirror").css("width", "100%");
F11key = true;
}else if(e.keyCode == "27"){ //ESC
$(".iconmWrap").show();
$(".CodeMirror").css("width", "600px");
}
}else{
$(".iconmWrap").show();
$(".CodeMirror").css("width", "600px");
F11key = false;
}
}
});
$("input:checkbox[name=bbsSetPoint]").click(function(){
if($("input:checkbox[name=bbsSetPoint]:checked").val() == "Y"){
$("#bbsSetPointWrite").attr("disabled", false);
$("#bbsSetPointReply").attr("disabled", false);
$("#bbsSetPointComment").attr("disabled", false);
}else{
$("#bbsSetPointWrite").attr("disabled", true);
$("#bbsSetPointReply").attr("disabled", true);
$("#bbsSetPointComment").attr("disabled", true);
}
});
<c:choose>
<c:when test='${tBbsSetDB.bbsSetPoint == "Y"}'>
$("#bbsSetPointWrite").attr("disabled", false);
$("#bbsSetPointReply").attr("disabled", false);
$("#bbsSetPointComment").attr("disabled", false);
</c:when>
<c:otherwise>
$("#bbsSetPointWrite").attr("disabled", true);
$("#bbsSetPointReply").attr("disabled", true);
$("#bbsSetPointComment").attr("disabled", true);
$("#bbsSetPointWrite").val("0");
$("#bbsSetPointReply").val("0");
$("#bbsSetPointComment").val("0");
</c:otherwise>
</c:choose>
CodeMirror.commands.autocomplete = function(cm) {
CodeMirror.showHint(cm, CodeMirror.hint.javascript);
};
var editor1 = CodeMirror.fromTextArea(document.getElementById("codeTextAreaT"), {
value: "<html>\n " + document.documentElement.innerHTML + "\n</html>",
mode: "text/html",
lineNumbers: true,
matchTags: {bothTags: true},
extraKeys: {
"Ctrl-E": "toMatchingTag",
"Ctrl-Space": "autocomplete",
"F11": function(cm) {
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
},
"Esc": function(cm) {
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
}
},
autoCloseTags: true,
styleActiveLine: true,
matchBrackets: true,
syntax: 'html', /* define Zen Coding syntax */
profile: 'xhtml', /* define Zen Coding output profile */
// send all key events to Zen Coding
onKeyEvent: function() {
return zen_editor.handleKeyEvent.apply(zen_editor, arguments);
}
});
var editor2 = CodeMirror.fromTextArea(document.getElementById("codeTextAreaF"), {
value: "<html>\n " + document.documentElement.innerHTML + "\n</html>",
mode: "text/html",
lineNumbers: true,
matchTags: {bothTags: true},
extraKeys: {
"Ctrl-E": "toMatchingTag",
"Ctrl-Space": "autocomplete",
"F11": function(cm) {
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
},
"Esc": function(cm) {
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
}
},
autoCloseTags: true,
styleActiveLine: true,
matchBrackets: true,
syntax: 'html', /* define Zen Coding syntax */
profile: 'xhtml', /* define Zen Coding output profile */
// send all key events to Zen Coding
onKeyEvent: function() {
return zen_editor.handleKeyEvent.apply(zen_editor, arguments);
}
});
var input1 = document.getElementById("select1");
var input2 = document.getElementById("select2");
function selectTheme1() {
var theme = input1.options[input1.selectedIndex].innerHTML;
editor1.setOption("theme", theme);
jf_setCookie("selectTheme1", theme);
}
function selectTheme2() {
var theme = input2.options[input2.selectedIndex].innerHTML;
editor2.setOption("theme", theme);
jf_setCookie("selectTheme2", theme);
}
var choice1 = jf_getCookie("selectTheme1");
var choice2 = jf_getCookie("selectTheme2");
if (choice1 != "") {
input1.value = choice1;
editor1.setOption("theme", choice1);
$("#select1").val(choice1).attr("selected", "selected");
}
if (choice2 != "") {
input2.value = choice2;
editor2.setOption("theme", choice2);
$("#select2").val(choice2).attr("selected", "selected");
}
$("#frm").submit(function(){
$("#bbsSetTHtml").val(editor1.getValue());
$("#bbsSetFHtml").val(editor2.getValue());
if(!confirm("<s:message code='common.message.bbs.set.confirm.mod'/>")){
return false;
}
if($("#bbsSetName").val() == ""){
alert("<s:message code="manager.bbs.bbsSetEdit.bbsSetName"/> <s:message code="common.message.essential"/>");
$("#bbsSetName").focus();
return false;
}else if($("#bbsSetFileSize").val() == ""){
alert("<s:message code="manager.bbs.bbsSetEdit.bbsSetFile.set"/> <s:message code="manager.bbs.bbsSetEdit.bbsSetFile.size"/> <s:message code="common.message.essential"/>");
$("#bbsSetFileSize").focus();
return false;
}else if($("#bbsSetFileCount").val() == ""){
alert("<s:message code="manager.bbs.bbsSetEdit.bbsSetFile.set"/> <s:message code="manager.bbs.bbsSetEdit.bbsSetFile.count"/> <s:message code="common.message.essential"/>");
$("#bbsSetFileCount").focus();
return false;
}else if($("#bbsSetDataCookieTime").val() == ""){
alert("<s:message code="manager.bbs.bbsSetEdit.bbsSetDataCookieTime"/> <s:message code="manager.bbs.bbsSetEdit.bbsSetDataCookieTime"/> <s:message code="common.message.essential"/>");
$("#bbsSetDataCookieTime").focus();
return false;
}else if($("input:checkbox[name=bbsSetPoint]:checked").val() == "Y"){
if($("#bbsSetPointWrite").val() == ""){
alert("<s:message code="manager.bbs.bbsSetEdit.bbsSetPointWrite"/> <s:message code="common.message.essential"/>");
$("#bbsSetPointWrite").focus();
return false;
}else if($("#bbsSetPointReply").val() == ""){
alert("<s:message code="manager.bbs.bbsSetEdit.bbsSetPointReply"/> <s:message code="common.message.essential"/>");
$("#bbsSetPointReply").focus();
return false;
}else if($("#bbsSetPointComment").val() == ""){
alert("<s:message code="manager.bbs.bbsSetEdit.bbsSetPointComment"/> <s:message code="common.message.essential"/>");
$("#bbsSetPointComment").focus();
return false;
}
}
if($('input:radio[name="bbsSetType"]:checked').val() == "A" || $('input:radio[name="bbsSetType"]:checked').val() == "M"){
if(!$('input:radio[name="bbsSetSubType"]').is(":checked")){
alert("<s:message code="manager.bbs.bbsSetEdit.bbsSetSubType"/> <s:message code="common.message.essential"/>");
$("#bbsSetSubType").focus();
return false;
}
}
if($('input:checkbox[name="bbsSetWaterMark"]').is(":checked") && $("#bbsSetWaterMarkImg").val() == ""){
<c:if test='${tBbsSetDB.bbsSetWaterMarkReImg == null || tBbsSetDB.bbsSetWaterMarkReImg == ""}'>
alert("<s:message code="manager.bbs.bbsSetEdit.bbsSetWaterMarkImg"/> <s:message code="common.message.essential"/>");
return false;
</c:if>
}
if($("#bbsSetWaterMarkImg").val() != ""){
var val = $("#bbsSetWaterMarkImg").val().split("\\");
var fileName = val[val.length-1]; //마지막 화일명
var fileType = fileName.substring(fileName.lastIndexOf("."));//확장자빼오기
var extArray = new Array("txt","jpeg","jpg","png","gif","bmp","mp3","mp4","hwp","doc","docx","xls","xlsx","ppt","pptx","pdf","zip","alz");
var extChk = false;
for(var f=0; f<extArray.length; f++){
if("."+extArray[f] == fileType.toLowerCase()){
extChk = true;
break;
}
}
if(!extChk){
alert("<s:message code="common.fileupload.message.no.upload"/>");
return false;
}
if(fileType.toLowerCase() != '.jpg' && fileType.toLowerCase() != '.gif' &&
fileType.toLowerCase() != '.bmp' && fileType.toLowerCase() != '.png'){//허용 확장자 비교
alert("<s:message code="common.fileupload.message.image.upload"/>");
$("#bannerDataFile").focus();
return false;
}
}
$.blockUI({ message : '<h1><img src="/img/blockbusy.gif" />&nbsp;&nbsp;<s:message code="common.message.ajaxwait"/></h1>' });
});
/* ]]> */
</script>
</body>
</html>

View File

@ -0,0 +1,778 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!doctype html>
<html lang="ko">
<head>
<title><s:message code="manager.bbs.bbsSetForm.title"/></title>
<link rel="stylesheet" href="/codemirror/lib/codemirror.css">
<link rel="stylesheet" href="/codemirror/addon/dialog/dialog.css">
<link rel="stylesheet" href="/codemirror/addon/hint/show-hint.css">
<link rel="stylesheet" href="/codemirror/addon/display/fullscreen.css">
<!-- theme css -->
<link rel="stylesheet" href="/codemirror/theme/3024-day.css">
<link rel="stylesheet" href="/codemirror/theme/3024-night.css">
<link rel="stylesheet" href="/codemirror/theme/ambiance.css">
<link rel="stylesheet" href="/codemirror/theme/base16-dark.css">
<link rel="stylesheet" href="/codemirror/theme/base16-light.css">
<link rel="stylesheet" href="/codemirror/theme/blackboard.css">
<link rel="stylesheet" href="/codemirror/theme/cobalt.css">
<link rel="stylesheet" href="/codemirror/theme/eclipse.css">
<link rel="stylesheet" href="/codemirror/theme/elegant.css">
<link rel="stylesheet" href="/codemirror/theme/erlang-dark.css">
<link rel="stylesheet" href="/codemirror/theme/lesser-dark.css">
<link rel="stylesheet" href="/codemirror/theme/mbo.css">
<link rel="stylesheet" href="/codemirror/theme/midnight.css">
<link rel="stylesheet" href="/codemirror/theme/monokai.css">
<link rel="stylesheet" href="/codemirror/theme/neat.css">
<link rel="stylesheet" href="/codemirror/theme/night.css">
<link rel="stylesheet" href="/codemirror/theme/paraiso-dark.css">
<link rel="stylesheet" href="/codemirror/theme/paraiso-light.css">
<link rel="stylesheet" href="/codemirror/theme/rubyblue.css">
<link rel="stylesheet" href="/codemirror/theme/solarized.css">
<link rel="stylesheet" href="/codemirror/theme/the-matrix.css">
<link rel="stylesheet" href="/codemirror/theme/tomorrow-night-eighties.css">
<link rel="stylesheet" href="/codemirror/theme/twilight.css">
<link rel="stylesheet" href="/codemirror/theme/vibrant-ink.css">
<link rel="stylesheet" href="/codemirror/theme/xq-dark.css">
<link rel="stylesheet" href="/codemirror/theme/xq-light.css">
<!-- theme css -->
<script src="/codemirror/lib/codemirror.js"></script>
<script src="/codemirror/mode/xml/xml.js"></script>
<script src="/codemirror/addon/dialog/dialog.js"></script>
<script src="/codemirror/addon/search/searchcursor.js"></script>
<script src="/codemirror/addon/search/search.js"></script>
<script src="/codemirror/addon/fold/xml-fold.js"></script>
<script src="/codemirror/addon/edit/matchtags.js"></script>
<script src="/codemirror/addon/edit/closetag.js"></script>
<script src="/codemirror/addon/hint/show-hint.js"></script>
<script src="/codemirror/addon/hint/xml-hint.js"></script>
<script src="/codemirror/addon/hint/html-hint.js"></script>
<script src="/codemirror/mode/javascript/javascript.js"></script>
<script src="/codemirror/mode/css/css.js"></script>
<script src="/codemirror/mode/htmlmixed/htmlmixed.js"></script>
<script src="/codemirror/addon/display/fullscreen.js"></script>
<script src="/codemirror/mode/clike/clike.js"></script>
<script src="/codemirror/keymap/extra.js"></script>
<script src="/codemirror/addon/selection/active-line.js"></script>
<script src="/codemirror/addon/edit/matchbrackets.js"></script>
<script src="/codemirror/addon/zen/zen_codemirror.min.js"></script>
<script src="/js/cookie.js"></script>
</head>
<body>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title"><s:message code="manager.bbs.nav.bbsSetView"/></h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p></p>
</div>
</div>
</div>
</div>
<form:form id="frm" name="frm" action="/gtm/proc/${siteIdx}/bbsSetRegProc.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="tSite.siteIdx" id="siteIdx" value="<c:out escapeXml='true' value='${siteIdx}' />" />
<textarea name="bbsSetTHtml" id="bbsSetTHtml" style="display:none; "></textarea>
<textarea name="bbsSetFHtml" id="bbsSetFHtml" style="display:none; "></textarea>
<fieldset>
<legend><s:message code="manager.bbs.bbsSetForm.table.caption"/></legend>
<div class="bbs-view-layout">
<!-- 게시판 기능 상단 HTML -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetTHtml"/></p>
<div class="item-box" style="overflow:hidden;">
<textarea name="codeTextAreaT" style="width:100%;" id="codeTextAreaT"></textarea>
<div class="skin-list-box">
<label for="layout-skin-list" class="hidden">레이아웃 스킨 선택</label>
<select onchange="selectTheme1()" id="select1" class="layout-skin-list">
<option selected>default</option>
<option>3024-day</option>
<option>3024-night</option>
<option>ambiance</option>
<option>base16-dark</option>
<option>base16-light</option>
<option>blackboard</option>
<option>cobalt</option>
<option>eclipse</option>
<option>elegant</option>
<option>erlang-dark</option>
<option>lesser-dark</option>
<option>mbo</option>
<option>midnight</option>
<option>monokai</option>
<option>neat</option>
<option>night</option>
<option>paraiso-dark</option>
<option>paraiso-light</option>
<option>rubyblue</option>
<option>solarized dark</option>
<option>solarized light</option>
<option>the-matrix</option>
<option>tomorrow-night-eighties</option>
<option>twilight</option>
<option>vibrant-ink</option>
<option>xq-dark</option>
<option>xq-light</option>
</select>
</div>
</div>
</div> <!-- 게시판 기능 상단 HTML END -->
<!-- 게시판 기능 명 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetName"/></p>
<div class="item-box">
<input type="text" class="width50 essential" maxlength="100" name="bbsSetName" id="bbsSetName" title="<s:message code="manager.bbs.bbsSetForm.bbsSetName"/>" value="" required />
</div>
</div> <!-- 게시판 기능 명 END -->
<!-- 게시판 타입 명 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetType"/></p>
<div class="item-box">
<input type="radio" class="radio checked" name="bbsSetType" id="bbsSetTypeB" value="B" checked><label for="bbsSetTypeB"><s:message code="manager.bbs.bbsSetForm.bbsSetBasic"/></label>
<input type="radio" class="radio" name="bbsSetType" id="bbsSetTypeW" value="W"><label for="bbsSetTypeW"><s:message code="manager.bbs.bbsSetForm.bbsSetAnswer"/></label>
<input type="radio" class="radio" name="bbsSetType" id="bbsSetTypeL" value="L"><label for="bbsSetTypeL"><s:message code="manager.bbs.bbsSetForm.bbsSetLink"/></label>
<input type="radio" class="radio" name="bbsSetType" id="bbsSetTypeA" value="A"><label for="bbsSetTypeA"><s:message code="manager.bbs.bbsSetForm.bbsSetAlbum"/></label>
<input type="radio" class="radio" name="bbsSetType" id="bbsSetTypeM" value="M"><label for="bbsSetTypeM"><s:message code="manager.bbs.bbsSetForm.bbsSetMovie"/></label>
<input type="radio" class="radio" name="bbsSetType" id="bbsSetTypeT" value="T"><label for="bbsSetTypeT"><s:message code="manager.bbs.bbsSetForm.bbsSetThumbFile"/></label>
<input type="radio" class="radio" name="bbsSetType" id="bbsSetTypeF" value="F"><label for="bbsSetTypeF"><s:message code="manager.bbs.bbsSetForm.bbsSetFile"/></label>
<input type="radio" class="radio" name="bbsSetType" id="bbsSetTypeR" value="R"><label for="bbsSetTypeR"><s:message code="manager.bbs.bbsSetForm.bbsSetRequest"/></label>
<input type="radio" class="radio" name="bbsSetType" id="bbsSetTypeE" value="E"><label for="bbsSetTypeE"><s:message code="manager.bbs.bbsSetForm.bbsSetEvent"/></label>
</div>
</div> <!-- 게시판 타입 END -->
<!-- 목록 설정 명 -->
<div class="bbs-view-item" id="divSubType">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetSubType"/></p>
<div class="item-box">
<input type="radio" class="radio checked" name="bbsSetSubType" id="bbsSetSubTypeL" value="L" checked/><label for="bbsSetSubTypeL"><s:message code="manager.bbs.bbsSetForm.bbsSetSubType.list"/></label>
<input type="radio" class="radio" name="bbsSetSubType" id="bbsSetSubTypeI" value="I" /><label for="bbsSetSubTypeI"><s:message code="manager.bbs.bbsSetForm.bbsSetSubType.listItem"/></label>
<input type="radio" class="radio" name="bbsSetSubType" id="bbsSetSubTypeG" value="G" /><label for="bbsSetSubTypeG"><s:message code="manager.bbs.bbsSetForm.bbsSetSubType.gallery"/></label>
<!--
<input type="radio" name="bbsSetSubType" id="bbsSetSubTypeS" value="S" /><label for="bbsSetSubTypeS"><s:message code="manager.bbs.bbsSetForm.bbsSetSubType.slide"/></label>
-->
</div>
</div> <!-- 목록 설정 END -->
<!-- 유튜브 사용여부 -->
<div class="bbs-view-item" id="divYoutube">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetYoutube"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetYoutube" id="bbsSetYoutube" value="Y" /><label for="bbsSetYoutube"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 유튜브 사용여부 END -->
<!-- 게시목록 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsData"/></p>
<div class="item-box">
<div class="row">
<s:message code="manager.bbs.bbsSetForm.bbsData.mini.row"/>&nbsp;&nbsp;:&nbsp;&nbsp;
<span id="galleryMiniRow" style="display:inline-block;vertical-align:middle"> <s:message code="manager.bbs.bbsSetForm.bbsData.gallery.mini.row"/> / </span>
<select name="bbsSetDataMiniRow" id="bbsSetDataMiniRow" style="width:50px;">
<c:forEach begin="1" end="20" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==5}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>&nbsp;&nbsp;&nbsp;
<span id="galleryMiniCol" style="display:inline-block;vertical-align:middle">
<s:message code="manager.bbs.bbsSetForm.bbsData.gallery.mini.col"/> /
<select name="bbsSetDataMiniCol" id="bbsSetDataMiniCol" title="<s:message code="manager.bbs.bbsSetForm.bbsData.gallery.mini.col"/>" style="width:50px;">
<c:forEach begin="1" end="20" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==5}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>
</span>
</div>
<div class="row">
<s:message code="manager.bbs.bbsSetForm.bbsData.row"/>&nbsp;&nbsp;:&nbsp;&nbsp;
<span id="galleryRow" style="display:inline-block;vertical-align:middle"><s:message code="manager.bbs.bbsSetForm.bbsData.gallery.row"/> / </span>
<select name="bbsSetDataRow" id="bbsSetDataRow" style="width:50px;">
<c:forEach begin="1" end="30" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==10}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>&nbsp;&nbsp;&nbsp;
<span id="galleryCol" style="display:inline-block;vertical-align:middle">
<s:message code="manager.bbs.bbsSetForm.bbsData.gallery.col"/> /
<select name="bbsSetDataCol" id="bbsSetDataCol" title="<s:message code="manager.bbs.bbsSetForm.bbsData.gallery.col"/>" style="width:50px;">
<c:forEach begin="1" end="20" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==5}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>
</span>
</div>
<div class="row">
<div id="commentRow">
<s:message code="manager.bbs.bbsSetForm.bbsComment.row"/>&nbsp;&nbsp;:&nbsp;&nbsp;
<select name="bbsSetCommentRow" id="bbsSetCommentRow" title="<s:message code="manager.bbs.bbsSetForm.bbsComment.row"/>" style="width:50px;">
<c:forEach begin="1" end="30" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==10}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select> <s:message code="manager.bbs.row"/>&nbsp;&nbsp;&nbsp;
</div>
</div>
</div>
</div> <!-- 게시목록 설정 END -->
<!-- 유튜브 사용여부 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetFile.set"/></p>
<div class="item-box">
<p class="mb5"><s:message code="manager.bbs.bbsSetForm.bbsSetFile.size"/> : <input type="text" class="width80px numOnly" maxlength="10" name="bbsSetFileSize" id="bbsSetFileSize" title="<s:message code="manager.bbs.bbsSetForm.bbsSetFile.size"/>" value="10" /> M byte</p>
<p><s:message code="manager.bbs.bbsSetForm.bbsSetFile.count"/> : <input type="text" class="width80px numOnly" maxlength="10" name="bbsSetFileCount" id="bbsSetFileCount" title="<s:message code="manager.bbs.bbsSetForm.bbsSetFile.count"/>" value="10" /> <s:message code="manager.bbs.ea"/></p>
</div>
</div> <!-- 유튜브 사용여부 END -->
<!-- 게시판 조회수 시간설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetDataCookieTime"/></p>
<div class="item-box">
<input type="text" class="width80px numOnly" maxlength="10" name="bbsSetDataCookieTime" id="bbsSetDataCookieTime" title="<s:message code="manager.bbs.bbsSetForm.bbsSetDataCookieTime"/>" required value="0" />
</div>
</div> <!-- 게시판 조회수 시간설정 END -->
<!-- 게시판 작성자 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetDataSaveType"/></p>
<div class="item-box">
<select name="bbsSetDataSaveType" id="bbsSetDataSaveType" title="<s:message code="manager.bbs.bbsSetForm.bbsSetDataSaveType"/>" style="width:100px;">
<option value="memberName" selected><s:message code="common.writer"/></option>
<option value="memberDept"><s:message code="common.memberDept"/></option>
</select>
</div>
</div> <!-- 게시판 작성자 설정 END -->
<!-- 인증 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetCertify"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none checked" name="bbsSetCertify" id="bbsSetCertify" value="Y" checked />
<label for="bbsSetCertify"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 인증 설정 END -->
<!-- 카테고리기능 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetCategory"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetCategory" id="bbsSetCategory" value="Y" /><label for="bbsSetCategory"><s:message code="common.message.checkbox.check"/></label>
&nbsp;&nbsp;<input type="checkbox" class="checkbox width-none" name="bbsSetCategoryView" id="bbsSetCategoryView" value="Y" /><label for="bbsSetCategoryView"><s:message code="manager.bbs.bbsSetForm.bbsSetCategoryView"/></label>
</div>
</div> <!-- 카테고리기능 설정 END -->
<!-- 에디터 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetEditor"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none checked" name="bbsSetEditor" id="bbsSetEditor" value="Y" checked />
<label for="bbsSetEditor"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 에디터 설정 END -->
<!-- 휴지통기능 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetTrash"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetTrash" id="bbsSetTrash" value="Y" /><label for="bbsSetTrash"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 휴지통기능 설정 END -->
<!-- 베스트 기능 설정 -->
<div class="bbs-view-item" id="divBest">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetBest"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetBest" id="bbsSetBest" value="Y" /><label for="bbsSetBest"><s:message code="common.message.checkbox.check"/></label>&nbsp;&nbsp;
<select name="bbsSetBestRow" id="bbsSetBestRow" title="<s:message code="manager.bbs.bbsSetForm.bbsSetBest"/>" style="width:50px;">
<c:forEach begin="1" end="5" step="1" var="index">
<option value="<c:out escapeXml='true' value='${index}' />" <c:if test='${index==3}'>selected</c:if>><c:out escapeXml='true' value='${index}' /></option>
</c:forEach>
</select>
</div>
</div> <!-- 베스트 기능 설정 END -->
<!-- 등록일기준 정렬 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetDateOrder"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetDateOrder" id="bbsSetDateOrder" value="Y" /><label for="bbsSetDateOrder"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 등록일기준 정렬 설정 END -->
<!-- 답글설정 -->
<div class="bbs-view-item" id="divReply">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetReply"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetReply" id="bbsSetReply" value="Y" /><label for="bbsSetReply"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 답글설정 END -->
<!-- 댓글설정 -->
<div class="bbs-view-item" id="divComment">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetComment"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetComment" id="bbsSetComment" value="Y" /><label for="bbsSetComment"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 댓글설정 END -->
<!-- 이전글/다음글 설정 -->
<div class="bbs-view-item" id="divNP">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetNP"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetNP" id="bbsSetNP" value="Y" /><label for="bbsSetNP"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 이전글/다음글 설정 END -->
<!-- 비밀글설정 설정 -->
<div class="bbs-view-item" id="divSecret">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetSecret"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetSecret" id="bbsSetSecret" value="Y" /><label for="bbsSetSecret"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 비밀글설정 END -->
<!-- 내글만보기 설정 설정 -->
<div class="bbs-view-item" id="divMydata">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetMyData"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetMyData" id="bbsSetMyData" value="Y" /><label for="bbsSetMyData"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 내글만보기 설정 END -->
<!-- 포인트사용 -->
<div class="bbs-view-item" id="divPoint">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetPoint"/></p>
<div class="item-box">
<div class="row">
<input type="checkbox" class="checkbox width-none" name="bbsSetPoint" id="bbsSetPoint" value="Y" /><label for="bbsSetPoint"><s:message code="common.message.checkbox.check"/></label>
</div>
<div class="row"><s:message code="manager.bbs.bbsSetForm.bbsSetPointWrite"/>&nbsp;&nbsp;:&nbsp;&nbsp;<input type="text" class="width80px numOnly" maxlength="10" name="bbsSetPointWrite" id="bbsSetPointWrite" style="width:70px !important;" title="<s:message code="manager.bbs.bbsSetForm.bbsSetPointWrite"/>" value="0" />&nbsp;&nbsp;point</div>
<div class="row"><s:message code="manager.bbs.bbsSetForm.bbsSetPointReply"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;<input type="text" class="width80px numOnly" maxlength="10" name="bbsSetPointReply" style="width:70px !important;" id="bbsSetPointReply" title="<s:message code="manager.bbs.bbsSetForm.bbsSetPointReply"/>" value="0" />&nbsp;&nbsp;point</div>
<div class="row"><s:message code="manager.bbs.bbsSetForm.bbsSetPointComment"/>&nbsp;&nbsp;:&nbsp;&nbsp;<input type="text" class="width80px numOnly" maxlength="10" name="bbsSetPointComment" id="bbsSetPointComment" style="width:70px !important;" title="<s:message code="manager.bbs.bbsSetForm.bbsSetPointComment"/>" value="0" />&nbsp;&nbsp;point</div>
</div>
</div> <!-- 포인트사용 END -->
<!-- 워터마크 설정 -->
<div class="bbs-view-item" id="divWaterMark">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetWaterMark"/></p>
<div class="item-box">
<input type="checkbox" class="checkbox width-none" name="bbsSetWaterMark" id="bbsSetWaterMark" value="Y" /><label for="bbsSetWaterMark"><s:message code="common.message.checkbox.check"/></label>
</div>
</div> <!-- 워터마크 설정 END -->
<!-- 워터마크 이미지 설정 -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetWaterMarkImg"/></p>
<div class="item-box">
<input type="file" name="upFile" id="bbsSetWaterMarkImg" value="" /><label for="bbsSetWaterMarkImg"><s:message code="manager.bbs.bbsSetForm.bbsSetWaterMarkImg"/></label><span class="file-info"><s:message code="manager.bbs.bbsSetForm.bbsSetWaterMarkImg"/></span>
</div>
</div> <!-- 워터마크 이미지 설정 END -->
<div class="bbs-view-item">
<p class="item-title"><s:message code="manager.bbs.bbsSetForm.bbsSetFHtml"/></p>
<div class="item-box" style="overflow:hidden;">
<textarea name="codeTextAreaF" style="width:100%;" id="codeTextAreaF">
<script>
if( $('.paginationListNum').length ){
var pagination = $('.paginationListNum');
pagination.each(function(index, el){
var paginations = $(el);
var itemW = paginations.find('a').eq(0).outerWidth( true );
console.log(itemW)
var bxOpts = {
'desktop' : {
controls : false,
minSlides: 10,
// 10개
maxSlides: 10,
slideWidth: itemW,
slideMargin: 5,
infiniteLoop: false,
adaptiveHeight: true,
pager: false
},
'mobile640' : {
controls : false,
minSlides: 3,
// 5개
maxSlides: 5,
slideWidth: itemW,
slideMargin: 0,
infiniteLoop: false,
adaptiveHeight: true,
pager: false
}
};
$(window).on('resize', function(){
var currentWidth = $(window).width();
var currentDivice = currentWidth > 640 ? 'desktop' : 'mobile640';
if( !!paginations.destroySlider ){
paginations.destroySlider();
}
paginations.bxSlider( bxOpts[currentDivice] );
}).resize();
});
}
</script>
</textarea>
<div class="skin-list-box">
<label for="layout-skin-list" class="hidden">레이아웃 스킨 선택</label>
<select onchange="selectTheme2()" id="select2" class="layout-skin-list">
<option selected>default</option>
<option>3024-day</option>
<option>3024-night</option>
<option>ambiance</option>
<option>base16-dark</option>
<option>base16-light</option>
<option>blackboard</option>
<option>cobalt</option>
<option>eclipse</option>
<option>elegant</option>
<option>erlang-dark</option>
<option>lesser-dark</option>
<option>mbo</option>
<option>midnight</option>
<option>monokai</option>
<option>neat</option>
<option>night</option>
<option>paraiso-dark</option>
<option>paraiso-light</option>
<option>rubyblue</option>
<option>solarized dark</option>
<option>solarized light</option>
<option>the-matrix</option>
<option>tomorrow-night-eighties</option>
<option>twilight</option>
<option>vibrant-ink</option>
<option>xq-dark</option>
<option>xq-light</option>
</select>
</div>
</div>
</div> <!-- 워터마크 이미지 설정 END -->
</div> <!-- .bbs-view-layout END -->
<c:if test='${memberGrant == "S" || memberAuth}'>
<div class="btn-area">
<button type="submit" class="btn-normal violet"><s:message code="common.button.save"/></button>
<a class="btn-normal lightgray" href="/gtm/<c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do"><s:message code="common.button.list"/></a>
</div>
</c:if>
</fieldset>
</form:form>
<script>
/* <![CDATA[ */
$("#bbsSetName").focus();
$("#divSubType").hide();
$("#divBest").hide();
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
$("#divWaterMark").hide();
$("#divWaterMarkImg").hide();
$("#divYoutube").hide();
$("input[name=bbsSetType]").change(function() {
$("#bbsSetMyData").prop("checked", false);
$("#bbsSetReply").prop("checked", false);
$("#bbsSetReply").attr("disabled", false);
if($('input:radio[name="bbsSetType"]:checked').val() == "A" || $('input:radio[name="bbsSetType"]:checked').val() == "M" || $('input:radio[name="bbsSetType"]:checked').val() == "T" || $('input:radio[name="bbsSetType"]:checked').val() == "E"){
$('input:radio[name="bbsSetSubType"]')[0].checked = true;
$("#divReply").hide();
$("#divSecret").hide();
$("#divSubType").show();
$("#divBest").show();
$("#divComment").show();
$("#divNP").show();
$("#commentRow").show();
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
if($('input:radio[name="bbsSetType"]:checked').val() == "A"){
$("#divWaterMark").show();
$("#divWaterMarkImg").show();
}else{
$("#divWaterMark").hide();
$("#divWaterMarkImg").hide();
}
if($('input:radio[name="bbsSetType"]:checked').val() == "M"){
$("#divYoutube").show();
}else{
$("#divYoutube").hide();
}
}else{
$('input:radio[name="bbsSetSubType"]')[0].checked = true;
if($('input:radio[name="bbsSetType"]:checked').val() == "L" || $('input:radio[name="bbsSetType"]:checked').val() == "W"){
$("#divReply").hide();
$("#divSecret").hide();
$("#divComment").hide();
$("#divNP").hide();
$("#commentRow").hide();
}else{
$("#divReply").show();
$("#divSecret").show();
$("#divComment").show();
$("#divNP").show();
$("#commentRow").show();
}
$("input:checkbox[name=bbsSetBest]").prop("checked", false);
$("#divSubType").hide();
$("#divBest").hide();
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
$("#divWaterMark").hide();
$("#divWaterMarkImg").hide();
}
});
$("input[name=bbsSetSubType]").change(function() {
if($('input:radio[name="bbsSetSubType"]:checked').val() == "G"){
$("#galleryMiniRow").show();
$("#galleryMiniCol").show();
$("#galleryRow").show();
$("#galleryCol").show();
}else{
$("#galleryMiniRow").hide();
$("#galleryMiniCol").hide();
$("#galleryRow").hide();
$("#galleryCol").hide();
}
});
$("input[name=bbsSetMyData]").click(function(){
$("#bbsSetReply").prop("checked", false);
$("#bbsSetReply").attr("disabled", false);
if($('input[name="bbsSetMyData"]:checked').val() == "Y"){
$("#divReply").hide();
$("#bbsSetReply").attr("disabled", true);
}else{
if($('input:radio[name="bbsSetType"]:checked').val() == "B" ||
$('input:radio[name="bbsSetType"]:checked').val() == "F" ||
$('input:radio[name="bbsSetType"]:checked').val() == "R"){
$("#divReply").show();
}else{
$("#divReply").hide();
}
}
});
var F11key = false;
$(".CodeMirror").keyup(function(e) {
if(e.keyCode == "122" || e.keyCode == "27"){
if(F11key == false){
if(e.keyCode == "122"){ //F11
$(".CodeMirror").css("width", "100%");
F11key = true;
}else if(e.keyCode == "27"){ //ESC
$(".CodeMirror").css("width", "600px");
}
}else{
$(".CodeMirror").css("width", "600px");
F11key = false;
}
}
});
$("input:checkbox[name=bbsSetPoint]").click(function(){
if($("input:checkbox[name=bbsSetPoint]:checked").val() == "Y"){
$("#bbsSetPointWrite").attr("disabled", false);
$("#bbsSetPointReply").attr("disabled", false);
$("#bbsSetPointComment").attr("disabled", false);
}else{
$("#bbsSetPointWrite").attr("disabled", true);
$("#bbsSetPointReply").attr("disabled", true);
$("#bbsSetPointComment").attr("disabled", true);
}
});
if($("input:checkbox[name=bbsSetPoint]:checked").val() == "Y"){
$("#bbsSetPointWrite").attr("disabled", false);
$("#bbsSetPointReply").attr("disabled", false);
$("#bbsSetPointComment").attr("disabled", false);
}else{
$("#bbsSetPointWrite").attr("disabled", true);
$("#bbsSetPointReply").attr("disabled", true);
$("#bbsSetPointComment").attr("disabled", true);
}
CodeMirror.commands.autocomplete = function(cm) {
CodeMirror.showHint(cm, CodeMirror.hint.javascript);
};
var editor1 = CodeMirror.fromTextArea(document.getElementById("codeTextAreaT"), {
value: "<html>\n " + document.documentElement.innerHTML + "\n</html>",
mode: "text/html",
lineNumbers: true,
matchTags: {bothTags: true},
extraKeys: {
"Ctrl-E": "toMatchingTag",
"Ctrl-Space": "autocomplete",
"F11": function(cm) {
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
},
"Esc": function(cm) {
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
}
},
autoCloseTags: true,
styleActiveLine: true,
matchBrackets: true,
syntax: 'html', /* define Zen Coding syntax */
profile: 'xhtml', /* define Zen Coding output profile */
// send all key events to Zen Coding
onKeyEvent: function() {
return zen_editor.handleKeyEvent.apply(zen_editor, arguments);
}
});
var editor2 = CodeMirror.fromTextArea(document.getElementById("codeTextAreaF"), {
value: "<html>\n " + document.documentElement.innerHTML + "\n</html>",
mode: "text/html",
lineNumbers: true,
matchTags: {bothTags: true},
extraKeys: {
"Ctrl-E": "toMatchingTag",
"Ctrl-Space": "autocomplete",
"F11": function(cm) {
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
},
"Esc": function(cm) {
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
}
},
autoCloseTags: true,
styleActiveLine: true,
matchBrackets: true,
syntax: 'html', /* define Zen Coding syntax */
profile: 'xhtml', /* define Zen Coding output profile */
// send all key events to Zen Coding
onKeyEvent: function() {
return zen_editor.handleKeyEvent.apply(zen_editor, arguments);
}
});
var input1 = document.getElementById("select1");
var input2 = document.getElementById("select2");
function selectTheme1() {
var theme = input1.options[input1.selectedIndex].innerHTML;
editor1.setOption("theme", theme);
jf_setCookie("selectTheme1", theme);
}
function selectTheme2() {
var theme = input2.options[input2.selectedIndex].innerHTML;
editor2.setOption("theme", theme);
jf_setCookie("selectTheme2", theme);
}
var choice1 = jf_getCookie("selectTheme1");
var choice2 = jf_getCookie("selectTheme2");
if (choice1 != "") {
input1.value = choice1;
editor1.setOption("theme", choice1);
$("#select1").val(choice1).attr("selected", "selected");
}
if (choice2 != "") {
input2.value = choice2;
editor2.setOption("theme", choice2);
$("#select2").val(choice2).attr("selected", "selected");
}
$("#frm").submit(function(){
$("#bbsSetTHtml").val(editor1.getValue());
$("#bbsSetFHtml").val(editor2.getValue());
if($("#bbsSetName").val() == ""){
alert("<s:message code="manager.bbs.bbsSetForm.bbsSetName"/> <s:message code="common.message.essential"/>");
$("#bbsSetName").focus();
return false;
}else if($("#bbsSetFileSize").val() == ""){
alert("<s:message code="manager.bbs.bbsSetForm.bbsSetFile.set"/> <s:message code="manager.bbs.bbsSetForm.bbsSetFile.size"/> <s:message code="common.message.essential"/>");
$("#bbsSetFileSize").focus();
return false;
}else if($("#bbsSetFileCount").val() == ""){
alert("<s:message code="manager.bbs.bbsSetForm.bbsSetFile.set"/> <s:message code="manager.bbs.bbsSetForm.bbsSetFile.count"/> <s:message code="common.message.essential"/>");
$("#bbsSetFileCount").focus();
return false;
}else if($("#bbsSetDataCookieTime").val() == ""){
alert("<s:message code="manager.bbs.bbsSetForm.bbsSetDataCookieTime"/> <s:message code="manager.bbs.bbsSetForm.bbsSetDataCookieTime"/> <s:message code="common.message.essential"/>");
$("#bbsSetDataCookieTime").focus();
return false;
}else if($("input:checkbox[name=bbsSetPoint]:checked").val() == "Y"){
if($("#bbsSetPointWrite").val() == ""){
alert("<s:message code="manager.bbs.bbsSetForm.bbsSetPointWrite"/> <s:message code="common.message.essential"/>");
$("#bbsSetPointWrite").focus();
return false;
}else if($("#bbsSetPointReply").val() == ""){
alert("<s:message code="manager.bbs.bbsSetForm.bbsSetPointReply"/> <s:message code="common.message.essential"/>");
$("#bbsSetPointReply").focus();
return false;
}else if($("#bbsSetPointComment").val() == ""){
alert("<s:message code="manager.bbs.bbsSetForm.bbsSetPointComment"/> <s:message code="common.message.essential"/>");
$("#bbsSetPointComment").focus();
return false;
}
}
if($('input:radio[name="bbsSetType"]:checked').val() == "A" || $('input:radio[name="bbsSetType"]:checked').val() == "M"){
if(!$('input:radio[name="bbsSetSubType"]').is(":checked")){
alert("<s:message code="manager.bbs.bbsSetForm.bbsSetSubType"/> <s:message code="common.message.essential"/>");
$("#bbsSetSubType").focus();
return false;
}
}
if($('input:checkbox[name="bbsSetWaterMark"]').is(":checked") && $("#bbsSetWaterMarkImg").val() == ""){
alert("<s:message code="manager.bbs.bbsSetForm.bbsSetWaterMarkImg"/> <s:message code="common.message.essential"/>");
return false;
}
if($("#bbsSetWaterMarkImg").val() != ""){
var val = $("#bbsSetWaterMarkImg").val().split("\\");
var fileName = val[val.length-1]; //마지막 화일명
var fileType = fileName.substring(fileName.lastIndexOf("."));//확장자빼오기
var extArray = new Array("txt","jpeg","jpg","png","gif","bmp","mp3","mp4","hwp","doc","docx","xls","xlsx","ppt","pptx","pdf","zip","alz");
var extChk = false;
for(var f=0; f<extArray.length; f++){
if("."+extArray[f] == fileType.toLowerCase()){
extChk = true;
break;
}
}
if(!extChk){
alert("<s:message code="common.fileupload.message.no.upload"/>");
return false;
}
if(fileType.toLowerCase() != '.jpg' && fileType.toLowerCase() != '.gif' &&
fileType.toLowerCase() != '.bmp' && fileType.toLowerCase() != '.png'){//허용 확장자 비교
alert("<s:message code="common.fileupload.message.image.upload"/>");
$("#bannerDataFile").focus();
return false;
}
}
$.blockUI({ message : '<h1><img src="/img/blockbusy.gif" />&nbsp;&nbsp;<s:message code="common.message.ajaxwait"/></h1>' });
});
/* ]]> */
</script>
</body>
</html>

View File

@ -0,0 +1,292 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!doctype html>
<html lang="ko">
<head>
<title><s:message code="manager.bbs.bbsSetList.title"/></title>
<script src="/js/lib/base64.js"></script>
</head>
<body>
<c:if test='${(siteMenuIdx != "0" && menuCode == "N") || menuCode == "bbs"}'>
<div class="seed-popup-wrap">
</c:if>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title"><s:message code="manager.bbs.nav.bbsSetList"/></h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p></p>
</div>
</div>
</div>
<div class="sch-content-wrap clear">
<c:choose>
<c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>
<c:url var="actionUrl" value="/gtm/${siteIdx}/bbsSetList.do" />
</c:when>
<c:otherwise>
<c:url var="actionUrl" value="/menu/${siteIdx}/bbsSetList.do" />
</c:otherwise>
</c:choose>
<form:form name="frmSearch" id="frmSearch" action="${actionUrl}" method="post">
<input type="hidden" name="page" value="1" />
<input type="hidden" name="row" value="<c:out escapeXml='true' value='${row}' />" />
<input type="hidden" name="orderColumn" value="<c:out escapeXml='true' value='${orderColumn}' />" />
<input type="hidden" name="order" value="<c:out escapeXml='true' value='${order}' />" />
<input type="hidden" name="siteMenuIdx" value="<c:out escapeXml='true' value='${siteMenuIdx}' />"/>
<input type="hidden" name="menuCode" value="<c:out escapeXml='true' value='${menuCode}' />"/>
<fieldset>
<legend>검색 폼</legend>
<select name="column" id="column" title="<s:message code="common.select.option.value"/>" class="sch-select">
<option value="A" <c:if test="${column == 'A'}">selected="selected"</c:if>><s:message code="common.select.option.value.all"/></option>
<option value="bbsSetName" <c:if test="${column == 'bbsSetName'}">selected="selected"</c:if>><s:message code="manager.bbs.bbsSetList.bbsSetName"/></option>
<option value="tMember.memberName" <c:if test="${column == 'tMember.memberName'}">selected="selected"</c:if>><s:message code="common.memberName"/></option>
</select>
<input type="search" name="search" id="search" value="<c:out escapeXml='true' value='${search}' />" title="<s:message code="common.search.value"/>" class="sch-text">
<button type="submit" class="btn-page-sch"><s:message code="common.button.search"/></button>
</fieldset>
</form:form>
</div>
</div>
<form:form name="frm" id="frm" method="post" action="/gtm/proc/${siteIdx}/bbsSetStatusProc.do">
<input type="hidden" name="page" value="<c:out escapeXml='true' value='${page}' />" />
<input type="hidden" name="row" value="<c:out escapeXml='true' value='${row}' />" />
<input type="hidden" name="orderColumn" value="<c:out escapeXml='true' value='${orderColumn}' />" />
<input type="hidden" name="order" value="<c:out escapeXml='true' value='${order}' />" />
<input type="hidden" name="column" value="<c:out escapeXml='true' value='${column}' />" />
<input type="hidden" name="search" value="<c:out escapeXml='true' value='${search}' />" />
<div class="more-btn-box">
<button type="button" id="moreTableItem" class="more-table-item">칼럼 더보기</button>
</div>
<div class="form-wrap">
<div class="table-layout br-none">
<table>
<caption><s:message code="manager.bbs.bbsSetList.table.caption"/></caption>
<colgroup>
<c:if test='${(siteMenuIdx == "0" && menuCode == "N") && (memberGrant == "S" || memberAuth)}'><col class="small_checkbox"></c:if>
<col class="title">
<col class="item-mobile-hidden">
<col>
<col class="item-tablet-hidden">
<col class="item-tablet-hidden">
<col class="item-mobile-hidden">
</colgroup>
<thead>
<tr>
<c:if test='${(siteMenuIdx == "0" && menuCode == "N") && (memberGrant == "S" || memberAuth)}'><th scope="col"><input type="checkbox" class="checkbox check-all" name="allcheck" id="allcheck" title="<s:message code="common.message.allCheck"/>" /><label for="allcheck"></label></th></c:if>
<th scope="col"><s:message code="manager.bbs.bbsSetList.bbsSetName"/>&nbsp;&nbsp;<span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=bbsSetName&amp;order=ASC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.up"/>" width="7" height="10" alt="<s:message code="common.move.up"/>" /></a></span> <span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=bbsSetName&amp;order=DESC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.down"/>" width="7" height="10" alt="<s:message code="common.move.down"/>" /></a></span></th>
<th scope="col" class="item-mobile-hidden"><s:message code="manager.bbs.bbsSetList.bbsSetType"/>&nbsp;&nbsp;<span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=bbsSetType&amp;order=ASC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.up"/>" width="7" height="10" alt="<s:message code="common.move.up"/>" /></a></span> <span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=bbsSetType&amp;order=DESC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.down"/>" width="7" height="10" alt="<s:message code="common.move.down"/>" /></a></span></th>
<th scope="col"><s:message code="manager.bbs.bbsSetList.bbsDataCnt"/></th>
<th scope="col" class="item-tablet-hidden"><s:message code="common.memberName"/>&nbsp;&nbsp;<span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=tMember.memberName&amp;order=ASC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.up"/>" width="7" height="10" alt="<s:message code="common.move.up"/>" /></a></span> <span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=tMember.memberName&amp;order=DESC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.down"/>" width="7" height="10" alt="<s:message code="common.move.down"/>" /></a></span></th>
<th scope="col" class="item-tablet-hidden"><s:message code="common.regDate"/>&nbsp;&nbsp;<span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=bbsSetRegDate&amp;order=ASC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.up"/>" width="7" height="10" alt="<s:message code="common.move.up"/>" /></a></span> <span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=bbsSetRegDate&amp;order=DESC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.down"/>" width="7" height="10" alt="<s:message code="common.move.down"/>" /></a></span></th>
<th scope="col" class="item-mobile-hidden"><s:message code="common.status"/>&nbsp;&nbsp;<span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=bbsSetStatus&amp;order=ASC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.up"/>" width="7" height="10" alt="<s:message code="common.move.up"/>" /></a></span> <span><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=bbsSetStatus&amp;order=DESC&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><img src="<s:message code="common.column.down"/>" width="7" height="10" alt="<s:message code="common.move.down"/>" /></a></span></th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty bbsSetList}">
<c:forEach items="${bbsSetList}" var="bbsSetList" varStatus="status">
<tr>
<c:if test='${(siteMenuIdx == "0" && menuCode == "N") && (memberGrant == "S" || memberAuth)}'><td><input type="checkbox" class="checkbox check-base" name="idxs" id="bbs_${bbsSetList._bbsSetIdx}" value='${bbsSetList._bbsSetIdx}' /><label for="bbs_${bbsSetList._bbsSetIdx}"></label> <%-- ${bbsSetListCnt - (page-1)*row - status.index} --%></td></c:if>
<td class="al">
<c:choose>
<c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>
<a class="hover-link" href="/gtm/<c:out escapeXml='true' value='${siteIdx}' />/bbsSetEdit/<c:out escapeXml='true' value='${bbsSetList._bbsSetIdx}' />.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><span><c:out escapeXml='true' value='${bbsSetList._bbsSetName}' /></span></a>
</c:when>
<c:when test='${menuCode == "bbs"}'>
<a class="hover-link codeClick" href="/<c:out escapeXml='true' value='${siteIdx}' />/<c:out escapeXml='true' value='${menuCode}' />/<c:out escapeXml='true' value='${bbsSetList._bbsSetIdx}' />/mini.do"><span><c:out escapeXml='true' value='${bbsSetList._bbsSetName}' /></span></a>
</c:when>
<c:otherwise>
<a class="hover-link funcClick" href="/user/bbs/<c:out escapeXml='true' value='${siteIdx}' />/<c:out escapeXml='true' value='${bbsSetList._bbsSetIdx}' />/<c:out escapeXml='true' value='${siteMenuIdx}' />/bbsDataList.do" id="<c:out escapeXml='true' value='${bbsSetList._bbsSetIdx}' />"><span><c:out escapeXml='true' value='${bbsSetList._bbsSetName}' /></span></a>
</c:otherwise>
</c:choose>
</td>
<td class="item-mobile-hidden">
<c:choose>
<c:when test="${bbsSetList._bbsSetType == 'B'}">
<s:message code="manager.bbs.bbsSetList.bbsSetBasic"/>
</c:when>
<c:when test="${bbsSetList._bbsSetType == 'W'}">
<s:message code="manager.bbs.bbsSetList.bbsSetAnswer"/>
</c:when>
<c:when test="${bbsSetList._bbsSetType == 'L'}">
<s:message code="manager.bbs.bbsSetList.bbsSetLink"/>
</c:when>
<c:when test="${bbsSetList._bbsSetType == 'A'}">
<s:message code="manager.bbs.bbsSetList.bbsSetAlbum"/>
</c:when>
<c:when test="${bbsSetList._bbsSetType == 'M'}">
<s:message code="manager.bbs.bbsSetList.bbsSetMovie"/>
</c:when>
<c:when test="${bbsSetList._bbsSetType == 'T'}">
<s:message code="manager.bbs.bbsSetList.bbsSetThumbFile"/>
</c:when>
<c:when test="${bbsSetList._bbsSetType == 'F'}">
<s:message code="manager.bbs.bbsSetList.bbsSetFile"/>
</c:when>
<c:when test="${bbsSetList._bbsSetType == 'R'}">
<s:message code="manager.bbs.bbsSetList.bbsSetRequest"/>
</c:when>
<c:when test="${bbsSetList._bbsSetType == 'E'}">
<s:message code="manager.bbs.bbsSetList.bbsSetEvent"/>
</c:when>
</c:choose>
</td>
<td><a class="hover-link" href="/gtm/<c:out escapeXml='true' value='${siteIdx}' />/<c:out escapeXml='true' value='${bbsSetList._bbsSetIdx}' />/bbsDataList.do"><span><c:out escapeXml='true' value='${bbsSetList._bbsDataIdxCnt}' /></span></a></td>
<td class="item-tablet-hidden"><c:out escapeXml='true' value='${bbsSetList._memberName}' />(<c:out escapeXml='true' value='${bbsSetList._memberId}' />)</td>
<td class="item-tablet-hidden"><c:out escapeXml='true' value='${fn:substring(bbsSetList._bbsSetRegDate, 0, 10)}' /></td>
<c:choose>
<c:when test="${bbsSetList._bbsSetStatus == 'U'}">
<td class="item-mobile-hidden skin-default"><s:message code="common.use"/></td>
</c:when>
<c:when test="${bbsSetList._bbsSetStatus == 'S'}">
<td class="state-stop item-mobile-hidden"><s:message code="common.stop"/></td>
</c:when>
<c:when test="${bbsSetList._bbsSetStatus == 'D'}">
<c:choose>
<c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>
<td class="state-delete item-mobile-hidden">
<a class="dataDel" href="/gtm/proc/<c:out escapeXml='true' value='${siteIdx}' />/bbsSetDelProc/<c:out escapeXml='true' value='${bbsSetList._bbsSetIdx}' />.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />"><s:message code="common.button.del"/></a>
</td>
</c:when>
<c:otherwise>
<td class="state-delete item-mobile-hidden"><s:message code="common.button.del"/></td>
</c:otherwise>
</c:choose>
</c:when>
</c:choose>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td class="no-data-colspan"><s:message code="common.message.no.data"/></td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<c:if test='${(siteMenuIdx == "0" && menuCode == "N") && (memberGrant == "S" || memberAuth)}'>
<div class="change-state-area">
<label for="selStatus"><s:message code="common.message.choice"/></label>
<select name="selStatus" id="selStatus" title="<s:message code="common.select.option.value"/>" class="change-list">
<option value=""><s:message code="common.select.option.value"/></option>
<option value="U"><s:message code="common.select.option.value.use"/></option>
<option value="S"><s:message code="common.select.option.value.stop"/></option>
<option value="D"><s:message code="common.select.option.value.delete"/></option>
</select>
<button type="submit" class="btn-change-state"><s:message code="common.button.status"/></button>
</div>
</c:if>
</div>
</form:form>
<div class="pagination-container">
<div class="pagination-inner clear">
<div class="pagination-control prev clear">
<a class="first-btn" href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=1&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />" title="<s:message code="common.page.first"/>" ><s:message code="common.page.first"/></a>
<c:choose>
<c:when test="${block > 1}">
<a class="prev-btn" href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${fPage-1}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />" title="<s:message code="common.page.prev"/>" ><s:message code="common.page.prev"/></a>
</c:when>
<c:otherwise>
<a class="prev-btn" href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${fPage}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />" title="<s:message code="common.page.prev"/>" ><s:message code="common.page.prev"/></a>
</c:otherwise>
</c:choose>
</div>
<ul class="pagination clear">
<c:forEach begin="0" end="${lPage-fPage}" var="index" >
<c:choose>
<c:when test="${index+fPage==page}">
<li><a class="on" href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${page}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />" title="<s:message code="common.page.now"/>" ><c:out escapeXml='true' value='${page}' /></a></li>
</c:when>
<c:otherwise>
<li><a href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${index+fPage}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />" title="<c:out escapeXml='true' value='${index+fPage}' /> <s:message code="common.page.page"/>" ><c:out escapeXml='true' value='${index+fPage}' /></a></li>
</c:otherwise>
</c:choose>
</c:forEach>
</ul>
<div class="pagination-control next clear">
<c:choose>
<c:when test="${block < blocks}">
<a class="next-btn" href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${lPage+1}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />" title="<s:message code="common.page.next"/>" ><s:message code="common.page.next"/></a>
</c:when>
<c:otherwise>
<a class="next-btn" href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${lPage}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />" title="<s:message code="common.page.next"/>" ><s:message code="common.page.next"/></a>
</c:otherwise>
</c:choose>
<a class="last-btn" href="<c:choose><c:when test='${siteMenuIdx == "0" && menuCode == "N"}'>/gtm/</c:when><c:otherwise>/menu/</c:otherwise></c:choose><c:out escapeXml='true' value='${siteIdx}' />/bbsSetList.do?page=<c:out escapeXml='true' value='${pages}' />&amp;row=<c:out escapeXml='true' value='${row}' />&amp;orderColumn=<c:out escapeXml='true' value='${orderColumn}' />&amp;order=<c:out escapeXml='true' value='${order}' />&amp;column=<c:out escapeXml='true' value='${column}' />&amp;search=<c:out escapeXml='true' value='${search}' />&amp;siteMenuIdx=<c:out escapeXml='true' value='${siteMenuIdx}' />&amp;menuCode=<c:out escapeXml='true' value='${menuCode}' />" title="<s:message code="common.page.last"/>" ><s:message code="common.page.last"/></a>
</div>
</div>
</div>
<c:if test='${(siteMenuIdx == "0" && menuCode == "N") && (memberGrant == "S" || memberAuth)}'>
<div class="btn-area">
<a class="btn-normal lightgray" href="/gtm/<c:out escapeXml='true' value='${siteIdx}' />/bbsSkinList.do"><s:message code="common.button.skin.list"/></a>
<a class="btn-normal violet" href="/gtm/<c:out escapeXml='true' value='${siteIdx}' />/bbsSetForm.do"><s:message code="common.button.create"/></a>
</div>
</c:if>
<script>
/* <![CDATA[ */
$(".dataDel").click(function(){
if(!confirm("<s:message code='common.message.bbs.set.confirm.del'/>")){
return false;
}
$.blockUI({ message : '<h1><img src="/img/blockbusy.gif" />&nbsp;&nbsp;<s:message code="common.message.ajaxwait"/></h1>' });
});
$(".funcClick").click(function(){
var url = $(this).attr("href");
var id = $(this).attr("id");
$("#siteMenuLinkUrl", parent.document).val(url);
$("#funcData", parent.document).val("bbs"+":"+id);
});
$(".codeClick").click(function(){
var url = $(this).attr("href");
location.replace("/common/getCode/<c:out escapeXml='true' value='${siteIdx}' />.do?getUrl="+Base64.encode(url)+"&codeType=func&pageType=manager");
return false;
});
$("#frm").submit(function(){
if(!$('input:checkbox[name="idxs"]').is(":checked")){
alert("<s:message code="common.message.no.check"/>");
return false;
}
if($("#selStatus option:selected").val() == ""){
alert("<s:message code="common.message.no.select"/>");
$("#selStatus").focus();
return false;
}
$.blockUI({ message : '<h1><img src="/img/blockbusy.gif" />&nbsp;&nbsp;<s:message code="common.message.ajaxwait"/></h1>' });
});
/* ]]> */
</script>
<c:if test='${(siteMenuIdx != "0" && menuCode == "N") || menuCode == "bbs"}'>
</div>
</c:if>
</body>
</html>

View File

@ -0,0 +1,14 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!doctype html>
<html lang="ko">
<body>
<c:import url="/WEB-INF/views/_extra/gtm/${pageFolder}/${pageName}.jsp?siteIdx=${siteIdx}&siteMenuIdx=${siteMenuIdx}"></c:import>
</body>
</html>

View File

@ -0,0 +1,366 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<form:form name="frm" id="frm" action="" method="post">
<input type="hidden" id="CLIPDATA_MEMBERPOSITION" name="CLIPDATA_MEMBERPOSITION" value="${memberPosition}">
<input type="hidden" id="CLIPDATA_MEMBERID" name="CLIPDATA_MEMBERID" value="${memberId}">
<input type="hidden" id="CLIPDATA_MEMBERDEPT" name="CLIPDATA_MEMBERDEPT" value="${memberDept}">
<input type="hidden" id="CLIPDATA_SEARCHVAL" name="CLIPDATA_SEARCHVAL" value="">
<input type="hidden" id="CLIPDATA_SEARCHTYPE" name="CLIPDATA_SEARCHTYPE" value="">
<input type="hidden" id="CLIPDATA_DATEST" name="CLIPDATA_DATEST" value="">
<input type="hidden" id="CLIPDATA_DATEEND" name="CLIPDATA_DATEEND" value="">
<input type="hidden" id="CLIPDATA_MEMBERNAME" name="CLIPDATA_MEMBERNAME" value="${memberName}">
<input type="hidden" id="CLIPDATA_MEDIATIONBIGTYPE" name="CLIPDATA_MEDIATIONBIGTYPE" value="${mediationBigType}">
<input type="hidden" id="CLIPDATA_MEDIATIONSMALLTYPE" name="CLIPDATA_MEDIATIONSMALLTYPE" value="${mediationSmallType}">
<input type="hidden" id="crfNm" name="crfNm" value="">
<input type="hidden" id="type" name="type" value="N">
<input type="hidden" name="setIdx" value="${param.setIdx}">
<input type="hidden" name="page" id="page" value="">
<input type="hidden" name="caseNo" id="caseNo" value="">
<input type="hidden" name="medBig" id="medBig" value="">
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title">종료사건 조회</h3>
<div class="sch-content-wrap clear" style="margin-left: 20px">
<button type="button" class="btn-page-sch" title="검색 완료 버튼" onclick="clipCall('trublend');">엑셀다운로드</button>
</div>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p>종료사건 조회 화면 입니다.</p>
</div>
</div>
</div>
<div class="sch-content-wrap clear">
<fieldset>
<select name="mediationBigType" id="mediationBigType" class="sch-select" onchange="mediationSmall()">
<option value="">대분류 선택</option>
<option value="big1"<c:if test="${mediationBigType == 'big1'}">selected="selected"</c:if>>불성립</option>
<option value="big2"<c:if test="${mediationBigType == 'big2'}">selected="selected"</c:if>>성립</option>
<option value="big4"<c:if test="${mediationBigType == 'big4'}">selected="selected"</c:if>>심의</option>
<option value="big5"<c:if test="${mediationBigType == 'big5'}">selected="selected"</c:if>>종결</option>
<option value="big3"<c:if test="${mediationBigType == 'big3'}">selected="selected"</c:if>>중지</option>
</select>
<select name="mediationSmallType" id="mediationSmallType" class="sch-select">
<option value="">소분류 선택</option>
</select>
<select name="searchType" id="searchType" class="sch-select" title="자료유형 선택">
<option value="">선택</option>
<option value="caseNoSearch" <c:if test="${searchType == 'caseNoSearch'}">selected="selected"</c:if>>사건번호</option>
<option value="cfrncSearch" <c:if test="${searchType == 'cfrncSearch'}">selected="selected"</c:if>>협의회 명</option>
<option value="companyCeo" <c:if test="${searchType == 'companyCeo'}">selected="selected"</c:if>>신청인</option>
<option value="respondentCeo" <c:if test="${searchType == 'respondentCeo'}">selected="selected"</c:if>>피신청인</option>
<option value="examiner" <c:if test="${searchType == 'examiner'}">selected="selected"</c:if>>담당자</option>
</select>
<input type="text" id="searchVal" name="searchVal" value="${searchVal}" class="sch-text" title="검색">
<button type="button" class="btn-page-sch" title="검색 완료 버튼" onclick="goPage('search', '')">검색</button>
</fieldset>
</div>
<div style="float: right; margin-right: 10px;">
<input type="text" id="dateSt" name="dateSt" value="${dateSt }"> ~ <input type="text" id="dateEnd" name="dateEnd" value="${dateEnd }">
</div>
</div>
<div class="form-wrap">
<div class="table-layout br-none">
<table>
<caption>분쟁사건에 대한 처리관리 목록화면 입니다.</caption>
<colgroup>
<col class="title10">
<col class="title10">
<col class="title20">
<col class="title20">
<col class="title10">
<col class="title10">
<col class="title10">
</colgroup>
<thead>
<tr>
<th scope="col">사건번호</th>
<th scope="col">종료회차</th>
<th scope="col" style="text-align: center;">당사자
<ul style="list-style-type:none;">
<li style="display:inline-block;width: 49%;">신청인</li>
<li style="display:inline-block;width: 49%;">피신청인</li>
</ul>
</th>
<th scope="col" style="text-align: center;">처리결과
<ul style="list-style-type:none;">
<li style="display:inline-block;width: 39%;">대분류</li>
<li style="display:inline-block;width: 59%;">중분류</li>
</ul>
</th>
<th scope="col">접수일자</th>
<th scope="col">협의회 의결일</th>
<th scope="col">담당자</th>
<th scope="col">기간연장여부</th>
</tr>
</thead>
<tbody>
<c:forEach items="${data}" var="list" varStatus="status">
<tr>
<td><a href="javascript:void(0);" onclick="goPage('TP_RCEPTEDIT', '${list.caseNo}')">${list.caseNo}</a></td>
<td>${list.conferenceNames}</td>
<td style="text-align: center;">
<ul style="list-style-type:none;">
<li style="display:inline-block;width: 49%;">
<c:set var="ceoName" value=""/>
<c:choose>
<c:when test='${list.companyGubun eq "1301000000" && list.companyCeo ne null && list.companyCeo ne ""}'>
<c:set var="ceoName" value="${list.companyCeo}"/>
<c:if test='${list.applcntCompany ne null}'>
<c:set var="ceoName"><c:out value="${ceoName}"/> (<c:out value="${list.applcntCompany}"/> 대표)</c:set>
</c:if>
</c:when>
<c:when test='${list.companyGubun eq "1302000000" && list.companyCeo ne null && list.companyCeo ne ""}'>
<c:set var="ceoName" value="${list.companyCeo}"/>
<c:if test='${list.applcntCompany ne null}'>
<c:set var="ceoName"><c:out value="${list.applcntCompany}"/> (대표이사 <c:out value="${ceoName}"/>)</c:set>
</c:if>
</c:when>
</c:choose>
<c:if test='${fn:length(ceoName)>13}'>
<c:set var="ceoName" value="${fn:substring(ceoName, 0, 13)}.."/>
</c:if>
<c:out value="${ceoName}"/>
</li>
<li style="display:inline-block;width: 49%;">
<c:set var="ceoName" value=""/>
<c:choose>
<c:when test='${list.respondentGubun eq "1301000000" && list.respondentCeo ne null && list.respondentCeo ne ""}'>
<c:set var="ceoName"><c:out value="${list.respondentCeo}"/></c:set>
<c:if test='${list.respondentCompany ne null}'>
<c:set var="ceoName"><c:out value="${ceoName}"/> (<c:out value="${list.respondentCompany}"/> 대표)</c:set>
</c:if>
</c:when>
<c:when test='${list.respondentGubun eq "1302000000" && list.respondentCeo ne null && list.respondentCeo ne ""}'>
<c:set var="ceoName"><c:out value="${list.respondentCeo}"/></c:set>
<c:if test='${list.respondentCompany ne null}'>
<c:set var="ceoName"><c:out value="${list.respondentCompany}"/> (대표이사 <c:out value="${ceoName}"/>)</c:set>
</c:if>
</c:when>
</c:choose>
<c:if test='${fn:length(ceoName)>13}'>
<c:set var="ceoName" value="${fn:substring(ceoName, 0, 13)}.."/>
</c:if>
<c:out value="${ceoName}"/>
</li>
</ul>
</td>
<td style="text-align: center;">
<ul style="list-style-type:none;">
<li style="display:inline-block;width: 39%;">${list.mediationBig}</li>
<li style="display:inline-block;width: 59%;">${list.mediationSmall}</li>
</ul>
</td>
<td>${list.caseDate}</td>
<td>${list.fixDay }</td>
<td>${list.caseExaminerName}</td>
<td><c:if test='${list.caseExtend != null}'>연장</c:if><c:if test='${list.caseExtend == null}'>N</c:if></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<!-- 페이징 -->
<div class="pagination-container">
<div class="pagination-inner clear">
<div class='pagination-control prev clear'>
<a class='first-btn' href="javascript:goPage('paging', '1')" title="첫페이지"></a>
<c:choose>
<c:when test="${pageMaker.prev}">
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page - 1}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
</c:when>
<c:otherwise>
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
</c:otherwise>
</c:choose>
</div>
<ul class='pagination clear'>
<c:forEach begin="${pageMaker.startPage}" end="${pageMaker.endPage }" var="idx">
<c:choose>
<c:when test="${idx == pageMaker.cri.page }">
<li><a class='on' href="javascript:goPage('paging', '${idx}')" title="현재페이지">${idx}</a></li>
</c:when>
<c:otherwise>
<li><a href="javascript:goPage('paging', '${idx}')" title="${idx}페이지">${idx}</a></li>
</c:otherwise>
</c:choose>
</c:forEach>
</ul>
<div class='pagination-control next clear'>
<c:choose>
<c:when test="${pageMaker.next}">
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page + 1}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
</c:when>
<c:otherwise>
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
</c:otherwise>
</c:choose>
<a class='last-btn' href="javascript:goPage('paging', '${pageMaker.endPage}')" title="마지막페이지"><img src="/img/common/list_navi4.gif" alt="마지막 목록으로 이동" /></a>
</div>
</div>
</div>
<!-- 페이징 END -->
<script type="text/javascript">
$(document).ready(function(){
var page = '${pageMaker.cri.page}';
if(page.length != 0){
$("#page").val(page);
}
//jQuery DatePicker Option
var dateOption = {
showOn: "button",
buttonImage: "/img/icon_calendar.gif",
buttonImageOnly: true,
dateFormat: 'yy-mm-dd',
showMonthAfterYear:true,
buttonText: "달력",
monthNames: ['년 1월','년 2월','년 3월','년 4월','년 5월','년 6월','년 7월','년 8월','년 9월','년 10월','년 11월','년 12월'],
dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
changeMonth: true,
changeYear: true,
gotoCurrent: false,
showButtonPanel:true,
yearRange:'-100:+10'
,maxDate : '+0d'
//오늘을 기준으로 지난 날만 선택하려면 minDate를 maxDate로 변경, 전체 선택하려면 minDate나 maxDate 삭제
};
//시작일
jQuery("#dateSt, #dateEnd").datepicker(dateOption);
//종료일
//jQuery("#Dateend").datepicker(dateOption);
/*
제작자 : 최병기
제작일 : 2013.01.25
시작일 종료일 검증
시작일의 ID 맨 뒤에 st를 붙인다.
종료일의 ID 맨 뒤에 end를 붙인다.
단, ID는 동일하게 설정하고 뒤에 st, end를 붙이면 된다.
*/
jQuery('input').change(function(){
if(this.type == 'text'){
var startid = "";
var endid = "";
var startval = "";
var endval = "";
var id = "";
startid = this.id.substring(this.id.length-2);
endid = this.id.substring(this.id.length-3);
if(startid != "" && startid == 'St'){
var id = this.id.substring(this.id.length-2, -this.id.length);
//시작일 값
startval = jQuery(this).val();
//종료일값
endval = jQuery("#"+id+"End").val();
if(endval != ""){
startval = startval.replace(/-/gi, "").replace(/ /gi, "").replace(/:/gi, "");
endval = endval.replace(/-/gi, "").replace(/ /gi, "").replace(/:/gi, "");
if(startval > endval){
alert("종료일이 시작일보다 앞섭니다. 다시 선택해 주세요.");
jQuery(this).val("");
}
}
}else if(endid != "" && endid == 'End'){
var id = this.id.substring(this.id.length-3, -this.id.length);
//시작일 값
startval = jQuery("#"+id+"St").val();
endval = jQuery(this).val();
if(endval != ""){
startval = startval.replace(/-/gi, "").replace(/ /gi, "").replace(/:/gi, "");
endval = endval.replace(/-/gi, "").replace(/ /gi, "").replace(/:/gi, "");
if(startval > endval){
alert("종료일이 시작일보다 앞섭니다. 다시 선택해 주세요.");
jQuery(this).val("");
}
}
}
}
});
mediationSmall();
var list = $("#mediationSmallType option");
for(var i = 0; i < list.size(); i++){
if(list[i].value == '${mediationSmallType}'){
$(list[i]).attr("selected", true);
}
}
});
//클립리포트 호출
function clipCall(crfNm){
$("#crfNm").val(crfNm);
$("#CLIPDATA_SEARCHVAL").val($("#searchVal").val());
$("#CLIPDATA_SEARCHTYPE").val($("#searchType").val());
$("#CLIPDATA_DATEST").val($("#dateSt").val());
$("#CLIPDATA_DATEEND").val($("#dateEnd").val());
var f = document.frm;
f.target = "blank";
f.action = "/clip/ClipReport4/ClipReportViewer/ClipReport4.do";
f.submit();
f.target = "_self";
}
function goPage(type, param){
if(type == 'view'){
$("#rceptNo").val(param);
$("#type").val("TRS_EDIT");
$("#frm").attr("action","/gtm/case/trublprocessmng/trublprocessmngView/View.do");
$("#frm").submit();
}else if(type == 'TP_RCEPTEDIT'){
$("#caseNo").val(param);
$("#type").val("TP_RCEPTEDIT");
$("#frm").attr("action","/gtm/case/trublend/trublendView/View.do");
$("#frm").submit();
}else if(type == 'search'){
$("#page").val("1");
$("#type").val("L");
$("#frm").attr("action","/gtm/case/trublend/trublendList/TrublendPagingList.do");
$("#frm").submit();
}else if(type == 'paging'){
$("#page").val(param);
$("#type").val("L");
$("#frm").attr("action","/gtm/case/trublend/trublendList/TrublendPagingList.do");
$("#frm").submit();
}
}
function mediationSmall(){
var url = "";
$("#type").val("L");
$("#medBig").val($("#mediationBigType option:selected").text());
var param = jQuery('#frm').serialize();
url = "/gtm/case/common/ajax/MediationEndCase.do";
XHR2(url, param, function(r){
var sel = "";
var objList = $("#mediationSmallType");
ajaxCombo(r.data, objList, sel);
});
}
</script>
</form:form>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,196 @@
<%@ page pageEncoding = "UTF-8" %>
<%@ include file="./api/WNDefine.jsp" %>
<%!
static String SEARCH_IP="211.245.106.116";
static int SEARCH_PORT=7000;
static String MANAGER_IP="211.245.106.11";
static int MANAGER_PORT=7800;
public String[] COLLECTIONS = new String[]{"process","conference","application","completed","board","counsel"};
public String[] COLLECTIONS_NAME = new String[]{"process","conference","application","completed","board","counsel"};
public String[] MERGE_COLLECTIONS = new String[]{""};
public class WNCollection{
public String[][] MERGE_COLLECTION_INFO = null;
public String[][] COLLECTION_INFO = null;
WNCollection(){
COLLECTION_INFO = new String[][]
{
{
"process", // set index name
"process", // set collection name
"0,3", // set pageinfo (start,count)
"1,0,0,0,0", // set query analyzer (useKMA,isCase,useOriginal,useSynonym, duplcated detection)
"RANK/DESC,DATE/DESC", // set sort field (field,order) multi sort '/'
"basic,rpmol,100", // set sort field (field,order) multi sort '/'
"DOCID/150,APPLCNT_COMPANY/120,RESPONDENT_COMPANY/120,COMPANY_CEO/120,RESPONDENT_CEO/120,MEDIATION_BIG/100,MEDIATION_SMALL/90,APPLICATION_OBJ/80,ROAD_ADDR,DOC_CHECK/70,FILE_NAME/60,ATTACH/50,KPI_ASSETS1/40",// set search field
"DOCID,DATE,CASE_GUBUN,GUBUN_NM,EXAMINER_NM,STATE_NM,STATE_NEXT,MEDIATION_BIG,MEDIATION_SMALL,CASE_DATE,PRO_DATE,TERM_CHECK,TIMHDER_ASSIGN,FILE_NAME,ATTACH,CASE_NO,COMPANY_CEO,APPLCNT_COMPANY,RESPONDENT_CEO,RESPONDENT_COMPANY,CONTACT_HP,P_CONTACT_HP,APPLICATION_OBJ,ROAD_ADDR,DOC_CHECK,KPI_ASSETS1,ALIAS",// set document field
"", // set date range
"", // set rank range
"", // set prefix query, example: <fieldname:contains:value1>|<fieldname:contains:value2>/1, (fieldname:contains:value) and ' ', or '|', not '!' / operator (AND:1, OR:0)
"", // set collection query (<fieldname:contains:value^weight | value^weight>/option...) and ' ', or '|'
"", // set boost query (<fieldname:contains:value> | <field3:contains:value>...) and ' ', or '|'
"", // set filter operation (<fieldname:operator:value>)
"", // set groupby field(field, count)
"", // set sort field group(field/order,field/order,...)
"", // set categoryBoost(fieldname,matchType,boostID,boostKeyword)
"", // set categoryGroupBy (fieldname:value)
"", // set categoryQuery (fieldname:value)
"", // set property group (fieldname,min,max, groupcount)
"TIMHDER_ASSIGN", // use check prefix query filed
"TIMHDER_ASSIGN", // set use check fast access field
"", // set multigroupby field
"", // set auth query (Auth Target Field, Auth Collection, Auth Reference Field, Authority Query)
"", // set Duplicate Detection Criterion Field, RANK/DESC,DATE/DESC
"사건처리관리" // collection display name
}
,
{
"conference", // set index name
"conference", // set collection name
"0,3", // set pageinfo (start,count)
"1,0,0,0,0", // set query analyzer (useKMA,isCase,useOriginal,useSynonym, duplcated detection)
"RANK/DESC,DATE/DESC", // set sort field (field,order) multi sort '/'
"basic,rpmol,100", // set sort field (field,order) multi sort '/'
"APPLCNT_COMPANY/120,RESPONDENT_COMPANY/120,COMPANY_CEO/120,RESPONDENT_CEO/120,MEDIATION_BIG/100,MEDIATION_SMALL/90,APPLICATION_OBJ/80,ROAD_ADDR1/70,MEMBER_NAME/60,PLACE,CASE_NO/150,FILE_NAME/50,TITLE",// set search field
"DOCID,DATE,CASE_GUBUN,STATE_PRO,TITLE,MEMBER_NAME,REPORT,CONSIDERATION,FIX_DAY,PLACE,CON_DIVISION,STATE_PRO_NM,CASE_EXAMINER_NM,FILE_NAME,ATTACH,CFRNC_NO,APPLCNT_COMPANY,RESPONDENT_COMPANY,COMPANY_CEO,RESPONDENT_CEO,CONTACT_HP,P_CONTACT_HP,APPLICATION_OBJ,ROAD_ADDR1,MEDIATION_BIG,MEDIATION_SMALL,CASE_NO,ALIAS",// set document field
"", // set date range
"", // set rank range
"", // set prefix query, example: <fieldname:contains:value1>|<fieldname:contains:value2>/1, (fieldname:contains:value) and ' ', or '|', not '!' / operator (AND:1, OR:0)
"", // set collection query (<fieldname:contains:value^weight | value^weight>/option...) and ' ', or '|'
"", // set boost query (<fieldname:contains:value> | <field3:contains:value>...) and ' ', or '|'
"", // set filter operation (<fieldname:operator:value>)
"", // set groupby field(field, count)
"", // set sort field group(field/order,field/order,...)
"", // set categoryBoost(fieldname,matchType,boostID,boostKeyword)
"", // set categoryGroupBy (fieldname:value)
"", // set categoryQuery (fieldname:value)
"", // set property group (fieldname,min,max, groupcount)
"CASE_GUBUN", // use check prefix query filed
"CASE_GUBUN", // set use check fast access field
"", // set multigroupby field
"", // set auth query (Auth Target Field, Auth Collection, Auth Reference Field, Authority Query)
"", // set Duplicate Detection Criterion Field, RANK/DESC,DATE/DESC
"협의회관리" // collection display name
}
,
{
"application", // set index name
"application", // set collection name
"0,3", // set pageinfo (start,count)
"1,0,0,0,0", // set query analyzer (useKMA,isCase,useOriginal,useSynonym, duplcated detection)
"RANK/DESC,DATE/DESC", // set sort field (field,order) multi sort '/'
"basic,rpmol,100", // set sort field (field,order) multi sort '/'
"COMPANY_CEO/100,APPLCNT_COMPANY/150,RESPONDENT_CEO/100,RESPONDENT_COMPANY/150,MEMBER_NAME/80,FILE_NAME/70,ATTACH/60",// set search field
"DOCID,COMPANY_CEO,APPLCNT_COMPANY,RESPONDENT_CEO,RESPONDENT_COMPANY,DATE,CASE_GUBUN,MEMBER_NAME,FILE_NAME,ATTACH,RCEPT_NO,CONTACT_HP,P_CONTACT_HP,APPLICATION_OBJ,ROAD_ADDR,DOC_CHECK,ALIAS",// set document field
"", // set date range
"", // set rank range
"", // set prefix query, example: <fieldname:contains:value1>|<fieldname:contains:value2>/1, (fieldname:contains:value) and ' ', or '|', not '!' / operator (AND:1, OR:0)
"", // set collection query (<fieldname:contains:value^weight | value^weight>/option...) and ' ', or '|'
"", // set boost query (<fieldname:contains:value> | <field3:contains:value>...) and ' ', or '|'
"", // set filter operation (<fieldname:operator:value>)
"", // set groupby field(field, count)
"", // set sort field group(field/order,field/order,...)
"", // set categoryBoost(fieldname,matchType,boostID,boostKeyword)
"", // set categoryGroupBy (fieldname:value)
"", // set categoryQuery (fieldname:value)
"", // set property group (fieldname,min,max, groupcount)
"CASE_GUBUN", // use check prefix query filed
"CASE_GUBUN", // set use check fast access field
"", // set multigroupby field
"", // set auth query (Auth Target Field, Auth Collection, Auth Reference Field, Authority Query)
"", // set Duplicate Detection Criterion Field, RANK/DESC,DATE/DESC
"신청관리" // collection display name
}
,
{
"completed", // set index name
"completed", // set collection name
"0,3", // set pageinfo (start,count)
"1,0,0,0,0", // set query analyzer (useKMA,isCase,useOriginal,useSynonym, duplcated detection)
"RANK/DESC,DATE/DESC", // set sort field (field,order) multi sort '/'
"basic,rpmol,100", // set sort field (field,order) multi sort '/'
"DOCID/150,APPLCNT_COMPANY/120,RESPONDENT_COMPANY/120,COMPANY_CEO/120,RESPONDENT_CEO/120,MEDIATION_BIG/90,MEDIATION_SMALL/90,APPLICATION_OBJ/80,ROAD_ADDR/70,KPI_ASSETS/60,FILE_NAME/50",// set search field
"DOCID,DATE,CASE_GUBUN,GUBUN_NM,EXAMINER_NM,MEDIATION_BIG,MEDIATION_SMALL,CASE_DATE,CASE_NO,COMPANY_CEO,APPLCNT_COMPANY,RESPONDENT_CEO,RESPONDENT_COMPANY,CONTACT_HP,P_CONTACT_HP,APPLICATION_OBJ,ROAD_ADDR,KPI_ASSETS,CONFERENCE_NAMES,FILE_NAME,ATTACH,FIX_DAY,ALIAS",// set document field
"", // set date range
"", // set rank range
"", // set prefix query, example: <fieldname:contains:value1>|<fieldname:contains:value2>/1, (fieldname:contains:value) and ' ', or '|', not '!' / operator (AND:1, OR:0)
"", // set collection query (<fieldname:contains:value^weight | value^weight>/option...) and ' ', or '|'
"", // set boost query (<fieldname:contains:value> | <field3:contains:value>...) and ' ', or '|'
"", // set filter operation (<fieldname:operator:value>)
"", // set groupby field(field, count)
"", // set sort field group(field/order,field/order,...)
"", // set categoryBoost(fieldname,matchType,boostID,boostKeyword)
"", // set categoryGroupBy (fieldname:value)
"", // set categoryQuery (fieldname:value)
"", // set property group (fieldname,min,max, groupcount)
"CASE_GUBUN", // use check prefix query filed
"CASE_GUBUN", // set use check fast access field
"", // set multigroupby field
"", // set auth query (Auth Target Field, Auth Collection, Auth Reference Field, Authority Query)
"", // set Duplicate Detection Criterion Field, RANK/DESC,DATE/DESC
"사건종료관리" // collection display name
}
,
{
"board", // set index name
"board", // set collection name
"0,3", // set pageinfo (start,count)
"1,0,0,0,0", // set query analyzer (useKMA,isCase,useOriginal,useSynonym, duplcated detection)
"RANK/DESC,DATE/DESC", // set sort field (field,order) multi sort '/'
"basic,rpmol,100", // set sort field (field,order) multi sort '/'
"TITLE/100,CONTENT,REGID/80,DATE,FILE_NAME",// set search field
"DOCID,TITLE,CONTENT,REGID,DATE,TEAM_NO,FILE_NAME,ATTACH,TEAM_GUBUN,ALIAS",// set document field
"", // set date range
"", // set rank range
"", // set prefix query, example: <fieldname:contains:value1>|<fieldname:contains:value2>/1, (fieldname:contains:value) and ' ', or '|', not '!' / operator (AND:1, OR:0)
"", // set collection query (<fieldname:contains:value^weight | value^weight>/option...) and ' ', or '|'
"", // set boost query (<fieldname:contains:value> | <field3:contains:value>...) and ' ', or '|'
"", // set filter operation (<fieldname:operator:value>)
"", // set groupby field(field, count)
"", // set sort field group(field/order,field/order,...)
"", // set categoryBoost(fieldname,matchType,boostID,boostKeyword)
"", // set categoryGroupBy (fieldname:value)
"", // set categoryQuery (fieldname:value)
"", // set property group (fieldname,min,max, groupcount)
"TEAM_GUBUN", // use check prefix query filed
"TEAM_GUBUN", // set use check fast access field
"", // set multigroupby field
"", // set auth query (Auth Target Field, Auth Collection, Auth Reference Field, Authority Query)
"", // set Duplicate Detection Criterion Field, RANK/DESC,DATE/DESC
"게시판" // collection display name
}
,
{
"counsel", // set index name
"counsel", // set collection name
"0,3", // set pageinfo (start,count)
"1,0,0,0,0", // set query analyzer (useKMA,isCase,useOriginal,useSynonym, duplcated detection)
"RANK/DESC,DATE/DESC", // set sort field (field,order) multi sort '/'
"basic,rpmol,100", // set sort field (field,order) multi sort '/'
"APPLCNT_NM/100,MANAGER_NM/80,CIVIL_TYPE/60,NOTICE_TYPE/50,FILE_NAME",// set search field
"DOCID,APPLCNT_NM,MEDIATION_TYPE,TITLE,DATE,MANAGER_NM,NOTICE_DATE,COUNSEL_STATE,ATTACH,FILE_NAME,COUNSEL_SEQ,CIVIL_TYPE,NOTICE_TYPE,ALIAS",// set document field
"", // set date range
"", // set rank range
"", // set prefix query, example: <fieldname:contains:value1>|<fieldname:contains:value2>/1, (fieldname:contains:value) and ' ', or '|', not '!' / operator (AND:1, OR:0)
"", // set collection query (<fieldname:contains:value^weight | value^weight>/option...) and ' ', or '|'
"", // set boost query (<fieldname:contains:value> | <field3:contains:value>...) and ' ', or '|'
"", // set filter operation (<fieldname:operator:value>)
"", // set groupby field(field, count)
"", // set sort field group(field/order,field/order,...)
"", // set categoryBoost(fieldname,matchType,boostID,boostKeyword)
"", // set categoryGroupBy (fieldname:value)
"", // set categoryQuery (fieldname:value)
"", // set property group (fieldname,min,max, groupcount)
"COUNSEL_SEQ", // use check prefix query filed
"COUNSEL_SEQ", // set use check fast access field
"", // set multigroupby field
"", // set auth query (Auth Target Field, Auth Collection, Auth Reference Field, Authority Query)
"", // set Duplicate Detection Criterion Field, RANK/DESC,DATE/DESC
"상담관리" // collection display name
}
};
}
}
%>

View File

@ -0,0 +1,117 @@
<%!
/**
* file: WNAnchor.jsp
* subject: 페이징 처리를 하기 위한 정보처리클래스
* ------------------------------------------------------------------------
* @original author: WISEnut
* @edit author:WISEnut
* @update date 2012.02.03
* ------------------------------------------------------------------------
*/
public class WNAnchor {
private int m_before = -1;
private int m_next = -1;
private int m_bundleBefore = -1;
private int m_bundleNext = -1;
private int m_firstPage = -1;
private int m_lastPage = -1;
private int m_totalPgCount = 0;
private int m_totlalBundlePgCount = 0;
private int m_pageCount = 0;
private int m_curPageNumber = 1;
private String[][] m_pages = new String[1][2];
public WNAnchor() {
m_pages[0][0] = "1";
m_pages[0][1] = "-1";
}
public int getBefore() {
return m_before;
}
public void setBefore(int before) {
m_before = before;
}
public int getFirstPage() {
return m_firstPage;
}
public void setFirstPage(int firstPage) {
m_firstPage = firstPage;
}
public int getLastPage() {
return m_lastPage;
}
public void setLastPage(int lastPage) {
m_lastPage = lastPage;
}
public int getNext() {
return m_next;
}
public void setNext(int next) {
m_next = next;
}
public int getBundleBefore() {
return m_bundleBefore;
}
public void setBundleBefore(int bundleBefore) {
m_bundleBefore = bundleBefore;
}
public int getBundleNext() {
return m_bundleNext;
}
public void setBundleNext(int bundleNext) {
m_bundleNext = bundleNext;
}
public int getTotalPgCount() {
return m_totalPgCount;
}
public void setTotalPgCount(int totalPgCount) {
m_totalPgCount = totalPgCount;
}
public int getTotlalBundlePgCount() {
return m_totlalBundlePgCount;
}
public void setTotlalBundlePgCount(int totlalBundlePgCount) {
m_totlalBundlePgCount = totlalBundlePgCount;
}
public int getPageCount() {
return m_pageCount;
}
public void setPageCount(int pageCount) {
m_pageCount = pageCount;
}
public int getCurPageNumber() {
return m_curPageNumber;
}
public void setCurPageNumber(int curPageNumber) {
m_curPageNumber = curPageNumber;
}
public String[][] getPages() {
return m_pages;
}
public void setPages(String[][] pages) {
m_pages = pages;
}
}
%>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,76 @@
<%@ page pageEncoding = "UTF-8" %><%!
/**
* subject: 검색 환경 설정 페이지
**/
final static int CONNECTION_TIMEOUT = 20000;
final static String CHARSET = "UTF-8";
final static int REALTIME_COUNT=100;
final static int PAGE_SCALE = 10; //view page list count
final static int CONNECTION_KEEP = 0; //recevive mode
final static int CONNECTION_REUSE = 2;
final static int CONNECTION_CLOSE = 3;
final static int ASC = 0; //order
final static int DESC = 1; //order
final static int USE_KMA_OFFOFF = 0; //synonym, morpheme
final static int USE_KMA_ONON = 1;
final static int USE_KMA_ONOFF = 2;
final static int USE_RESULT_STRING = 0; //result data type
final static int USE_RESULT_XML = 1;
final static int USE_RESULT_JSON = 2;
final static int USE_RESULT_DUPLICATE_STRING = 3; //uid result data type
final static int USE_RESULT_DUPLICATE_XML = 4;
final static int USE_RESULT_DUPLICATE_JSON = 5;
final static int IS_CASE_ON = 1; //case on, off
final static int IS_CASE_OFF = 0;
final static int HI_SUM_OFFOFF = 0; //summarizing, highlighting
final static int HI_SUM_OFFON = 1;
final static int HI_SUM_ONOFF = 2;
final static int HI_SUM_ONON = 3;
final static int COMMON_OR_WHEN_NORESULT_OFF = 0;
final static int COMMON_OR_WHEN_NORESULT_ON = 1;
final static int INDEX_NAME = 0;
final static int COLLECTION_NAME = 1;
final static int PAGE_INFO = 2;
final static int ANALYZER = 3;
final static int SORT_FIELD = 4;
final static int RANKING_OPTION = 5;
final static int SEARCH_FIELD = 6;
final static int RESULT_FIELD = 7;
final static int DATE_RANGE = 8;
final static int RANK_RANGE = 9;
final static int EXQUERY_FIELD = 10;
final static int COLLECTION_QUERY =11;
final static int BOOST_QUERY =12;
final static int FILTER_OPERATION = 13;
final static int GROUP_BY = 14;
final static int GROUP_SORT_FIELD = 15;
final static int CATEGORY_BOOST = 16;
final static int CATEGORY_GROUPBY = 17;
final static int CATEGORY_QUERY = 18;
final static int PROPERTY_GROUP = 19;
final static int PREFIX_FIELD = 20;
final static int FAST_ACCESS = 21;
final static int MULTI_GROUP_BY = 22;
final static int AUTH_QUERY = 23;
final static int DEDUP_SORT_FIELD = 24;
final static int COLLECTION_KOR = 25;
final static int MERGE_COLLECTION_NAME = 0;
final static int MERGE_MAPPING_COLLECTION_NAME = 1;
final static int MERGE_PAGE_INFO = 2;
final static int MERGE_RESULT_FIELD = 3;
final static int MERGE_MAPPING_RESULT_FIELD = 4;
final static int MERGE_MULTI_GROUP_BY_FIELD = 5;
final static int MERGE_MAPPING_MULTI_GROUP_BY_FIELD = 6;
final static int MERGE_CATEGORY_GROUPBY_FIELD = 7;
final static int MERGE_MAPPING_CATEGORY_GROUPBY_FIELD = 8;
%>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,481 @@
<%@ page import="java.text.DecimalFormat,
java.text.FieldPosition,
java.io.UnsupportedEncodingException,
java.text.*,
javax.xml.parsers.*,
org.w3c.dom.*,
org.xml.sax.SAXException,
java.util.*"%><%!
/**
* file: WNUtils.jsp
* subject: 검색 구현에 필요한 일반 메소드를 구현한다.
* ------------------------------------------------------------------------
* @original author: KoreaWISEnut
* @edit author: KoreaWISEnut
* @update date 2006.12.03
* ------------------------------------------------------------------------
*/
/*
* 문자셋 관련 설정
*/
final static String ENCODE_ORI = "EUC-KR";
final static String ENCODE_NEW = "UTF-8";
/**
* 문자 배열 값을 검색하여 키 값을 리턴
* @param fieldName
* @param value
* @param operation
* @return
*/
private int findArrayValue(String find, String[] arr) {
int findKey = -1;
for (int i = 0; i < arr.length; i++) {
if (find.equals(arr[i])){
findKey = i;
break;
}
}
return findKey;
}
/**
*
* @param s
* @param findStr
* @param replaceStr
* @return
*/
public static String replace(String s, String findStr, String replaceStr){
int pos;
int index = 0;
while ((pos = s.indexOf(findStr, index)) >= 0) {
s = s.substring(0, pos) + replaceStr + s.substring(pos + findStr.length());
index = pos + replaceStr.length();
}
return s;
}
/**
*
* @param s
* @return
*/
public static String trimDuplecateSpace(String s){
StringBuffer sb = new StringBuffer();
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
if(i < s.length()-1) {
if( c == ' ' && s.charAt(i+1)==' '){
continue;
}
}
sb.append(c);
}
return sb.toString().trim();
}
public static String parseDate(String input, String inFormat, String outFormat) {
String retStr = "";
Date date = null;
SimpleDateFormat formatter = null;
try {
date = (new SimpleDateFormat(inFormat)).parse(input.trim());
} catch (ParseException e) {
e.printStackTrace();
}
formatter = new SimpleDateFormat(outFormat);
retStr = formatter.format(date);
return retStr;
}
public static String getCurrentDate() {
java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat
("yyyy.MM.dd", java.util.Locale.KOREA);
return dateFormat.format(new java.util.Date());
}
/**
*
* @param strNum
* @param def
* @return
*/
public static int parseInt(String strNum, int def){
if(strNum == null) return def;
try{
return Integer.parseInt(strNum);
}catch(Exception e){
return def;
}
}
/**
* String의 값이 null일 경우 ""로 변환하여 리턴한다.
* @param temp
* @return
*/
public static String checkNull(String temp) {
if (temp != null) {
temp = temp.trim();
} else {
temp = "";
}
return temp;
}
/**
* 1차원 배열의 값중 null인 값을 ""로 변환하여 리턴한다.
* @param temp
* @return
*/
public static String[] checkNull(String[] temp){
for(int i=0; i<temp.length; i++) {
temp[i] = checkNull(temp[i]);
}
return temp;
}
/**
* 2차원 배열의 값중 null인 값을 ""로 변환하여 리턴한다.
* @param temp
* @return
*/
public static String[][] checkNull(String[][] temp) {
for(int i=0; i<temp.length; i++) {
temp[i][0] = checkNull(temp[i][0]);
temp[i][1] = checkNull(temp[i][1]);
}
return temp;
}
/**
* 스트링을 format 에 맞게 변환을 한다.
* convertFormat("1", "00") return "01" 로 입력 값을 리턴한다.
* @param inputStr
* @param format
* @return String
*/
public static String convertFormat(String inputStr, String format){
int _input = Integer.parseInt(inputStr);
StringBuffer result = new StringBuffer();
DecimalFormat df = new DecimalFormat(format);
df.format( _input, result, new FieldPosition(1) );
return result.toString();
}
/**
*
* @param str
* @param outFormat
* @return
*/
public static String numberFormat(String str, String outFormat) {
return new DecimalFormat(outFormat).format(str);
}
/**
*
* @param str
* @return
*/
public static String numberFormat(int num) {
return NumberFormat.getNumberInstance().format(num);
}
/**
*
* @param str
* @param oriEncode
* @param newEncode
* @return
*/
public static String encoding(String str, String oriEncode, String newEncode) {
str = checkNull(str);
if(str.length() > 0) {
try {
str = new String(str.getBytes(oriEncode), newEncode);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return str;
}
/**
* 구분자를 가지고 있는 문자열을 구분자를 기준으로 나누어주는 메소드
* @param splittee 구분자를 가진 문자열
* @param splitChar 구분자
* @return
*/
public static String[] split(String splittee, String splitChar){
String taRetVal[] = null;
StringTokenizer toTokenizer = null;
int tnTokenCnt = 0;
try {
toTokenizer = new StringTokenizer(splittee, splitChar);
tnTokenCnt = toTokenizer.countTokens();
taRetVal = new String[tnTokenCnt];
for(int i=0; i<tnTokenCnt; i++) {
if(toTokenizer.hasMoreTokens()) taRetVal[i] = toTokenizer.nextToken();
}
} catch (Exception e) {
taRetVal = new String[0];
}
return taRetVal ;
}
/**
* String 을 받아 UTF-8 범위내 문자가 이닌경우 공백(0x0020) 으로 치환
* @param str
* @return String
*/
public static String validate(String str) {
StringBuffer buf = new StringBuffer();
char ch;
for(int i=0; i < str.length(); i++) {
ch = str.charAt(i);
if(Character.isLetterOrDigit(ch)) {
} else {
if(Character.isWhitespace(ch)) {
} else {
if(Character.isISOControl(ch)) {
// UTF-8 에서 지원하지 않는 문자 제거
ch = (char)0x0020;
}
}
}
buf.append(ch);
}
return buf.toString();
}
/**
* request null체크
**/
public String getCheckReq(javax.servlet.http.HttpServletRequest req, String parameter, String default_value) {
String req_value = (req.getParameter(parameter) == null || req.getParameter(parameter).equals("")) ? default_value : req.getParameter(parameter);
return req_value;
}
/**
* request Array null체크
**/
public String[] getCheckReqs(javax.servlet.http.HttpServletRequest req, String parameter, String[] default_value) {
String[] req_value = req.getParameterValues(parameter);
String[] tmp = null;
int c = 0;
if(req_value!=null) {
tmp = new String[req_value.length];
for(int i=0; i<req_value.length; i++) {
tmp[c] = req_value[i];
c++;
}
}
req_value = req.getParameterValues(parameter)!=null ? tmp : default_value;
return req_value;
}
public String replaceURL(String base, String url, String param, String value) {
String sURL = "";
if ( url != null && !url.equals("")) {
if ( url.indexOf(param) < 0 )
url = url + "&" + param + "=" + value;
String [] params = url.split("&");
for ( int idx=0; idx < params.length; idx++ ) {
if ( params[idx].indexOf(param) >= 0 ) {
params[idx] = param + "=" + value;
}
sURL = sURL + params[idx] ;
if ( idx + 1 < params.length)
sURL = sURL + "&" ;
}
} else {
sURL = param + "=" + value;
}
sURL = base + "?" + sURL;
return sURL;
}
/**
* null체크
**/
public String nvl(String parameter, String default_value) {
String req_value = parameter !=null ? parameter:default_value;
return req_value;
}
/**
* request null체크, uncoding
**/
public String getCheckReqUnocode(javax.servlet.http.HttpServletRequest req, String parameter, String default_value) {
String req_value = req.getParameter(parameter)!=null ? encoding(req.getParameter(parameter), ENCODE_ORI, ENCODE_NEW):default_value;
return req_value;
}
/**
* request Array null체크, uncoding
**/
public String[] getCheckReqsUnocode(javax.servlet.http.HttpServletRequest req, String parameter, String[] default_value) {
String[] req_value = req.getParameterValues(parameter);
String[] tmp = null;
int c = 0;
if(req_value!=null) {
tmp = new String[req_value.length];
for(int i=0; i<req_value.length; i++) {
tmp[c] = encoding(req_value[i], ENCODE_ORI, ENCODE_NEW);
c++;
}
}
req_value = req.getParameterValues(parameter)!=null ? tmp : default_value;
return req_value;
}
/**
* 인기검색어
**/
/*
public String getPopKeyword() {
String url ="http://127.0.0.1:7800/sample/normal/popword/popword.jsp?target=popword&range=D&collection=_ALL_";
NodeList list = null;
int count=0;
StringBuffer sb = new StringBuffer();
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //DOM parser factory 생성
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder builder = factory.newDocumentBuilder(); //DOM parser 생성
Document document = builder.parse(url); //xml 문서 파싱
Element eRoot = document.getDocumentElement();
NodeList data = eRoot.getElementsByTagName("Data");
Element element = (Element) data.item(0);
list = eRoot.getElementsByTagName("Query");
count = list.getLength();
if(list != null){
for(int i=0; i < count; i++){
Element eQuery = (Element)list.item(i);
String popQuery = eQuery.getTextContent();
sb.append("<li class=\"ranking\">");
sb.append(" <ul>");
sb.append(" <li class=\"ranktxt\"><img src=\"images/"+ eQuery.getAttribute("id")+".gif\" alt=\"\" /> <a href=\"#none\" onclick=\"javascript:doKeyword('" + eQuery.getTextContent() + "');\">" + eQuery.getTextContent() + "</a></li>");
sb.append(" <li class=\"rankico\">");
if (eQuery.getAttribute("updown") == "U") {
sb.append("<img src=\"images/ico_up.gif\" alt=\"상승\" />");
} else if (eQuery.getAttribute("updown") == "D") {
sb.append("<img src=\"images/ico_down.gif\" alt=\"하락\" />");
} else if (eQuery.getAttribute("updown") == "N") {
sb.append("<img src=\"images/ico_new.gif\" alt=\"신규\" />");
} else if (eQuery.getAttribute("updown") == "C") {
sb.append("-");
}
sb.append(" </li>");
sb.append(" <li class=\"rankstep\">" + eQuery.getAttribute("count") + "</li>");
sb.append(" ");
sb.append(" </ul>");
sb.append("</li>");
}
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}*/
/**
* 문자의 길이를 지정된 길이만큼 잘라서 반환하는 함수<br>
* 한글과 영문,숫자에 따라서 길이를 다르게 계산한다.
* @param str 변환할 문자열<br>
* byteLength 문자열의 길이
* @return rtStr 지정된 길이로 수정된 문자열을 반환한다.
*/
public static String getSubString(String str, int byteLength) {
if (str==null) {
return "";
}
StringBuffer rtStr = new StringBuffer();
rtStr.append(str.substring(0,getLengthInString(str,byteLength)));
if(rtStr.length() != str.length()) {
rtStr.append("...");
}
return rtStr.toString();
}
/**
* 문자의 길이를 한글 2자 영문,숫자를 1자로 계산하여<br>
* 문자열의 길이를 반환하는 함수
* @param str 변환할 문자열<br>
* byteLength 문자열의 길이
* @return int 문자열의 길이
*/
public static int getLengthInString(String str, int byteLength)
{
int length = str.length();
int retLength = 0;
int tempSize = 0;
int asc;
for(int i = 1; i<=length; i++) {
asc = (int)str.charAt(i-1);
if(asc > 127) {
if ( byteLength > tempSize ) {
tempSize += 2;
retLength++;
}
} else {
if ( byteLength > tempSize ) {
tempSize++;
retLength++;
}
}
}
return retLength;
}
/**
* request XSS 처리
**/
public String getCheckReqXSS(javax.servlet.http.HttpServletRequest req, String parameter, String default_value) {
String req_value = (req.getParameter(parameter) == null || req.getParameter(parameter).equals("")) ? default_value : req.getParameter(parameter);
req_value = req_value.replaceAll("</?[a-zA-Z][0-9a-zA-Z가-\uD7A3ㄱ-ㅎ=/\"\'%;:,._()\\-# ]+>","");
req_value = req_value.replaceAll(">","");
req_value = req_value.replaceAll(">","");
return req_value;
}
%>

View File

@ -0,0 +1,66 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%
/*
* subject: application 페이지
* @original author: SearchTool
*/
thisCollection = "application";
if (collection.equals("ALL") || collection.equals(thisCollection)) {
int count = wnsearch.getResultCount(thisCollection);
int thisTotalCount = wnsearch.getResultTotalCount(thisCollection);
if ( thisTotalCount > 0 ) {
%>
<div class="result-box">
<h2>신청관리</h2>
<%
for(int idx = 0; idx < count; idx ++) {
String DOCID = wnsearch.getField(thisCollection,"DOCID",idx,false);
String COMPANY_CEO = wnsearch.getField(thisCollection,"COMPANY_CEO",idx,true);
String APPLCNT_COMPANY = wnsearch.getField(thisCollection,"APPLCNT_COMPANY",idx,true);
String RESPONDENT_CEO = wnsearch.getField(thisCollection,"RESPONDENT_CEO",idx,true);
String RESPONDENT_COMPANY = wnsearch.getField(thisCollection,"RESPONDENT_COMPANY",idx,true);
String DATE = wnsearch.getField(thisCollection,"DATE",idx,false);
String CASE_GUBUN = wnsearch.getField(thisCollection,"CASE_GUBUN",idx,false);
String MEMBER_NAME = wnsearch.getField(thisCollection,"MEMBER_NAME",idx,false);
String FILE_NAME = wnsearch.getField(thisCollection,"FILE_NAME",idx,true);
String RCEPT_NO = wnsearch.getField(thisCollection,"RCEPT_NO",idx,true);
String CONTACT_HP = wnsearch.getField(thisCollection,"CONTACT_HP",idx,false);
String P_CONTACT_HP = wnsearch.getField(thisCollection,"P_CONTACT_HP",idx,false);
String APPLICATION_OBJ = wnsearch.getField(thisCollection,"APPLICATION_OBJ",idx,true);
String ROAD_ADDR = wnsearch.getField(thisCollection,"ROAD_ADDR",idx,true);
String DOC_CHECK = wnsearch.getField(thisCollection,"DOC_CHECK",idx,true);
String ALIAS = wnsearch.getField(thisCollection,"ALIAS",idx,false);
String URL = "/gtm/case/trublreqstmng/administView/View.do?type=TRS_EDIT&rceptNo="+DOCID;
%>
<div class="result-list">
<a href="<%=URL%>" class="result-link" target="_blank"><%=RCEPT_NO%></a>
<div class="result-content">신청인: <%=COMPANY_CEO%>, 신청인 상호명: <%=APPLCNT_COMPANY%>, 신청인소재지 <%=ROAD_ADDR %>, 신청경로 <%=DOC_CHECK %></div>
<div class="result-content">신청인담당자 연락처: <%=CONTACT_HP%></div>
<div class="result-content">피신청인: <%=RESPONDENT_CEO%>, 피신청인 상호명: <%=RESPONDENT_COMPANY%></div>
<div class="result-content">피신청인담당자 연락처: <%=P_CONTACT_HP%></div>
<div class="result-content">신청취지: <%=APPLICATION_OBJ%></div>
<div class="result-content">분쟁유형: <%=CASE_GUBUN%></div>
<div class="result-content">담당자: <%=MEMBER_NAME%></div>
<span class="result-date">등록일 : <%=DATE %></span>
</div>
<%
}
if ( collection.equals("ALL") && thisTotalCount > TOTALVIEWCOUNT ) {
%>
<a href="#none" class="result-link.more" onClick="javascript:doCollection('<%=thisCollection%>');">더보기</a>
<%
}
%>
</div>
<%
}
}
%>

View File

@ -0,0 +1,51 @@
<%@ page contentType="text/html; charset=UTF-8"%><%
/*
* subject: board 페이지
* @original author: SearchTool
*/
thisCollection = "board";
if (collection.equals("ALL") || collection.equals(thisCollection)) {
int count = wnsearch.getResultCount(thisCollection);
int thisTotalCount = wnsearch.getResultTotalCount(thisCollection);
if ( thisTotalCount > 0 ) {
%>
<div class="result-box">
<h2>게시판</h2>
<%
for(int idx = 0; idx < count; idx ++) {
String DOCID = wnsearch.getField(thisCollection,"DOCID",idx,false);
String TITLE = wnsearch.getField(thisCollection,"TITLE",idx,false);
String CONTENT = wnsearch.getField(thisCollection,"CONTENT",idx,false);
String REGID = wnsearch.getField(thisCollection,"REGID",idx,false);
String DATE = wnsearch.getField(thisCollection,"DATE",idx,false);
String TEAM_NO = wnsearch.getField(thisCollection,"TEAM_NO",idx,false);
String TEAM_GUBUN = wnsearch.getField(thisCollection,"TEAM_GUBUN",idx,false);
String ALIAS = wnsearch.getField(thisCollection,"ALIAS",idx,false);
TITLE= wnsearch.getKeywordHl(TITLE,"<font color=red>","</font>");
CONTENT= wnsearch.getKeywordHl(CONTENT,"<font color=red>","</font>");
REGID= wnsearch.getKeywordHl(REGID,"<font color=red>","</font>");
DATE= wnsearch.getKeywordHl(DATE,"<font color=red>","</font>");
String URL = "/gtm/case/team/board/view.do?fileFuncType=team&page=1&teamNo="+DOCID;
%>
<div class="result-list">
<a href="<%=URL %>" class="result-link" target="_blank"><%=TITLE%></a>
<div class="result-content">내용: <%=CONTENT %></div>
<div class="result-content">작성자: <%=REGID %> </div>
<span class="result-date">작성일: <%=DATE %> </span>
</div>
<%
}
if ( collection.equals("ALL") && thisTotalCount > TOTALVIEWCOUNT ) {
%>
<a href="#none" class="result-link.more" onClick="javascript:doCollection('<%=thisCollection%>');">더보기</a>
<%
}
%>
</div>
<%
}
}
%>

View File

@ -0,0 +1,68 @@
<%@ page contentType="text/html; charset=UTF-8"%><%
/*
* subject: completed 페이지
* @original author: SearchTool
*/
thisCollection = "completed";
if (collection.equals("ALL") || collection.equals(thisCollection)) {
int count = wnsearch.getResultCount(thisCollection);
int thisTotalCount = wnsearch.getResultTotalCount(thisCollection);
if ( thisTotalCount > 0 ) {
%>
<div class="result-box">
<h2>사건종료관리</h2>
<%
for(int idx = 0; idx < count; idx ++) {
String DOCID = wnsearch.getField(thisCollection,"DOCID",idx,true);
String DATE = wnsearch.getField(thisCollection,"DATE",idx,false);
String CASE_GUBUN = wnsearch.getField(thisCollection,"CASE_GUBUN",idx,false);
String GUBUN_NM = wnsearch.getField(thisCollection,"GUBUN_NM",idx,false);
String EXAMINER_NM = wnsearch.getField(thisCollection,"EXAMINER_NM",idx,false);
String MEDIATION_BIG = wnsearch.getField(thisCollection,"MEDIATION_BIG",idx,false);
String MEDIATION_SMALL = wnsearch.getField(thisCollection,"MEDIATION_SMALL",idx,false);
String CASE_DATE = wnsearch.getField(thisCollection,"CASE_DATE",idx,false);
String CASE_NO = wnsearch.getField(thisCollection,"CASE_NO",idx,false);
String COMPANY_CEO = wnsearch.getField(thisCollection,"COMPANY_CEO",idx,true);
String APPLCNT_COMPANY = wnsearch.getField(thisCollection,"APPLCNT_COMPANY",idx,true);
String RESPONDENT_CEO = wnsearch.getField(thisCollection,"RESPONDENT_CEO",idx,true);
String RESPONDENT_COMPANY = wnsearch.getField(thisCollection,"RESPONDENT_COMPANY",idx,true);
String CONTACT_HP = wnsearch.getField(thisCollection,"CONTACT_HP",idx,false);
String P_CONTACT_HP = wnsearch.getField(thisCollection,"P_CONTACT_HP",idx,false);
String APPLICATION_OBJ = wnsearch.getField(thisCollection,"APPLICATION_OBJ",idx,true);
String ROAD_ADDR = wnsearch.getField(thisCollection,"ROAD_ADDR",idx,true);
String KPI_ASSETS = wnsearch.getField(thisCollection,"KPI_ASSETS",idx,true);
String CONFERENCE_NAMES = wnsearch.getField(thisCollection,"CONFERENCE_NAMES",idx,false);
String FILE_NAME = wnsearch.getField(thisCollection,"FILE_NAME",idx,true);
String FIX_DAY = wnsearch.getField(thisCollection,"FIX_DAY",idx,false);
String ALIAS = wnsearch.getField(thisCollection,"ALIAS",idx,false);
String URL = "/gtm/case/trublend/trublendView/View.do?type=TP_RCEPTEDIT&caseNo="+java.net.URLEncoder.encode(CASE_NO, "UTF-8");
%>
<div class="result-list">
<a href="<%=URL %>" class="result-link" target="_blank"><%=DOCID %></a>
<div class="result-content">신청인: <%=COMPANY_CEO %>, 피신청인: <%=APPLCNT_COMPANY %>, 신청인소재지: <%=ROAD_ADDR %></div>
<div class="result-content">신청인 담당자 연락처: <%=CONTACT_HP %></div>
<div class="result-content">피신청인: <%=RESPONDENT_CEO %>, 피신청인: <%=RESPONDENT_COMPANY %></div>
<div class="result-content">피신청인 담당자 연락처: <%=P_CONTACT_HP %></div>
<div class="result-content">신청취지: <%=APPLICATION_OBJ%></div>
<div class="result-content">조정결과: <%=MEDIATION_BIG %> [<%=MEDIATION_SMALL %>]</div>
<div class="result-content">접수일: <%=DATE %>, 종료회차 :<%=CONFERENCE_NAMES %> </div>
<div class="result-content">담당자: <%=EXAMINER_NM %></div>
<span class="result-date">종료일자 : <%=FIX_DAY %> </span>
</div>
<%
}
if ( collection.equals("ALL") && thisTotalCount > TOTALVIEWCOUNT ) {
%>
<a href="#none" class="result-link.more" onClick="javascript:doCollection('<%=thisCollection%>');">더보기</a>
<%
}
%>
</div>
<%
}
}
%>

View File

@ -0,0 +1,92 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%
/*
* subject: conference 페이지
* @original author: SearchTool
*/
thisCollection = "conference";
if (collection.equals("ALL") || collection.equals(thisCollection)) {
int count = wnsearch.getResultCount(thisCollection);
int thisTotalCount = wnsearch.getResultTotalCount(thisCollection);
if ( thisTotalCount > 0 ) {
%>
<div class="result-box">
<h2>협의회관리</h2>
<%
for(int idx = 0; idx < count; idx ++) {
String DOCID = wnsearch.getField(thisCollection,"DOCID",idx,true);
String DATE = wnsearch.getField(thisCollection,"DATE",idx,false);
String CASE_GUBUN = wnsearch.getField(thisCollection,"CASE_GUBUN",idx,false);
String STATE_PRO = wnsearch.getField(thisCollection,"STATE_PRO",idx,false);
String TITLE = wnsearch.getField(thisCollection,"TITLE",idx,false);
String MEMBER_NAME = wnsearch.getField(thisCollection,"MEMBER_NAME",idx,true);
String REPORT = wnsearch.getField(thisCollection,"REPORT",idx,false);
String CONSIDERATION = wnsearch.getField(thisCollection,"CONSIDERATION",idx,false);
String FIX_DAY = wnsearch.getField(thisCollection,"FIX_DAY",idx,false);
String PLACE = wnsearch.getField(thisCollection,"PLACE",idx,false);
String CON_DIVISION = wnsearch.getField(thisCollection,"CON_DIVISION",idx,true); //회의구분
String STATE_PRO_NM = wnsearch.getField(thisCollection,"STATE_PRO_NM",idx,true);
String CASE_EXAMINER_NM = wnsearch.getField(thisCollection,"CASE_EXAMINER_NM",idx,false);
String FILE_NAME = wnsearch.getField(thisCollection,"FILE_NAME",idx,true);
String CFRNC_NO = wnsearch.getField(thisCollection,"CFRNC_NO",idx,true);
String APPLCNT_COMPANY = wnsearch.getField(thisCollection,"APPLCNT_COMPANY",idx,true);
String RESPONDENT_COMPANY = wnsearch.getField(thisCollection,"RESPONDENT_COMPANY",idx,true);
String COMPANY_CEO = wnsearch.getField(thisCollection,"COMPANY_CEO",idx,true);
String RESPONDENT_CEO = wnsearch.getField(thisCollection,"RESPONDENT_CEO",idx,true);
String CONTACT_HP = wnsearch.getField(thisCollection,"CONTACT_HP",idx,false);
String P_CONTACT_HP = wnsearch.getField(thisCollection,"P_CONTACT_HP",idx,false);
String APPLICATION_OBJ = wnsearch.getField(thisCollection,"APPLICATION_OBJ",idx,true); //신청취지
String ROAD_ADDR1 = wnsearch.getField(thisCollection,"ROAD_ADDR1",idx,true);
String MEDIATION_BIG = wnsearch.getField(thisCollection,"MEDIATION_BIG",idx,true);
String MEDIATION_SMALL = wnsearch.getField(thisCollection,"MEDIATION_SMALL",idx,true);
String CASE_NO = wnsearch.getField(thisCollection,"CASE_NO",idx,true);
String ALIAS = wnsearch.getField(thisCollection,"ALIAS",idx,false);
System.out.println("["+idx+"]"+CFRNC_NO);
String URL = "";
if(STATE_PRO.equals("0501000000")){
URL = "/gtm/case/trublcfrncmng/redyView/View.do?type=N&cfrncNo="+CFRNC_NO;
}else if(STATE_PRO.equals("0502000000")){
URL ="/gtm/case/trublcfrncmng/reportView/View.do?type=N&cfrncNo="+CFRNC_NO;
}else if(STATE_PRO.equals("0503000000")){
URL ="/gtm/case/trublcfrncmng/endNticeView/View.do?type=N&cfrncNo="+CFRNC_NO;
}
%>
<div class="result-list">
<a href="<%=URL %>" class="result-link" target="_blank"><%=TITLE%></a>
<div class="result-content">사건번호: <%=CASE_NO %></div>
<div class="result-content">신청인: <%=COMPANY_CEO %>, 신청인상호명: <%=APPLCNT_COMPANY %>, 신청인 소재지:<%=ROAD_ADDR1 %></div>
<div class="result-content">신청인 담당자 전화번호: <%=CONTACT_HP %></div>
<div class="result-content">피신청인: <%=RESPONDENT_CEO %>, 피신청인상호명: <%=RESPONDENT_COMPANY %></div>
<div class="result-content">피신청인 담당자 전화번호: <%=P_CONTACT_HP %></div>
<div class="result-content">신청취지: <%=APPLICATION_OBJ%></div>
<div class="result-content">조정결과: <%=MEDIATION_BIG%> [<%=MEDIATION_SMALL %>]</div>
<div class="result-content">회의구분: <%=CON_DIVISION%> [<%=STATE_PRO_NM%>]</div>
<div class="result-content">보고안건: <%=REPORT %>, 심의안건: <%=CONSIDERATION %></div>
<div class="result-content">참석의원: <%=MEMBER_NAME %></div>
<div class="result-content">회의장소: <%=PLACE %></div>
<span class="result-date">개최일시 : <%=FIX_DAY%> </span>
</div>
<%
}
if ( collection.equals("ALL") && thisTotalCount > TOTALVIEWCOUNT ) {
%>
<a href="#none" class="result-link.more" onClick="javascript:doCollection('<%=thisCollection%>');">더보기</a>
<%
}
%>
</div>
<%
}
}
%>

View File

@ -0,0 +1,60 @@
<%@ page contentType="text/html; charset=UTF-8"%><%
/*
* subject: counsel 페이지
* @original author: SearchTool
*/
thisCollection = "counsel";
if (collection.equals("ALL") || collection.equals(thisCollection)) {
int count = wnsearch.getResultCount(thisCollection);
int thisTotalCount = wnsearch.getResultTotalCount(thisCollection);
if ( thisTotalCount > 0 ) {
%>
<div class="result-box">
<h2>상담관리</h2>
<%
for(int idx = 0; idx < count; idx ++) {
String DOCID = wnsearch.getField(thisCollection,"DOCID",idx,false);
String APPLCNT_NM = wnsearch.getField(thisCollection,"APPLCNT_NM",idx,false);
String MEDIATION_TYPE = wnsearch.getField(thisCollection,"MEDIATION_TYPE",idx,false);
String TITLE = wnsearch.getField(thisCollection,"TITLE",idx,false);
String DATE = wnsearch.getField(thisCollection,"DATE",idx,false);
String MANAGER_NM = wnsearch.getField(thisCollection,"MANAGER_NM",idx,false);
String NOTICE_DATE = wnsearch.getField(thisCollection,"NOTICE_DATE",idx,false);
String COUNSEL_STATE = wnsearch.getField(thisCollection,"COUNSEL_STATE",idx,false);
String COUNSEL_SEQ = wnsearch.getField(thisCollection,"COUNSEL_SEQ",idx,false);
String CIVIL_TYPE = wnsearch.getField(thisCollection,"CIVIL_TYPE",idx,false);
String NOTICE_TYPE = wnsearch.getField(thisCollection,"NOTICE_TYPE",idx,false);
String ALIAS = wnsearch.getField(thisCollection,"ALIAS",idx,false);
String URL = "";
if(CIVIL_TYPE.equals("online")){
URL = "/gtm/case/onlineCounsel/view.do?type=L&fileFuncType=CIVIL_TYPE&counselSeq="+COUNSEL_SEQ;
} else if(CIVIL_TYPE.equals("law")){
URL ="/gtm/case/onlineCounsel/lawView.do?type=L&fileFuncType=CIVIL_TYPE&counselSeq="+COUNSEL_SEQ;
}
%>
<div class="result-list">
<a href="<%=URL %>" class="result-link" target="_blank"><%=TITLE %></a>
<div class="result-content">상담번호: <%=COUNSEL_SEQ %></div>
<div class="result-content">신청인: <%=APPLCNT_NM %>, 조정유형: <%=MEDIATION_TYPE %></div>
<div class="result-content">상담방식: <%=CIVIL_TYPE %>, 상담경로: <%=NOTICE_TYPE %></div>
<div class="result-content">진행상태: <%=COUNSEL_STATE %>, 처리일자 :<%=NOTICE_DATE %>, 담당자: <%=MANAGER_NM %></div>
<span class="result-date">등록일: <%=DATE %> </span>
</div>
<%
}
if ( collection.equals("ALL") && thisTotalCount > TOTALVIEWCOUNT ) {
%>
<a href="#none" class="result-link.more" onClick="javascript:doCollection('<%=thisCollection%>');">더보기</a>
<%
}
%>
</div>
<%
}
}
%>

View File

@ -0,0 +1,86 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%
/*
* subject: process 페이지
* @original author: SearchTool
*/
thisCollection = "process";
if (collection.equals("ALL") || collection.equals(thisCollection)) {
int count = wnsearch.getResultCount(thisCollection);
int thisTotalCount = wnsearch.getResultTotalCount(thisCollection);
if ( thisTotalCount > 0 ) {
%>
<div class="result-box cass">
<h2>사건처리관리</h2>
<%
for(int idx = 0; idx < count; idx ++) {
String DOCID = wnsearch.getField(thisCollection,"DOCID",idx,true);
String DATE = wnsearch.getField(thisCollection,"DATE",idx,false);
String CASE_GUBUN = wnsearch.getField(thisCollection,"CASE_GUBUN",idx,false);
String GUBUN_NM = wnsearch.getField(thisCollection,"GUBUN_NM",idx,false);
String EXAMINER_NM = wnsearch.getField(thisCollection,"EXAMINER_NM",idx,false);
String STATE_NM = wnsearch.getField(thisCollection,"STATE_NM",idx,false);
String STATE_NEXT = wnsearch.getField(thisCollection,"STATE_NEXT",idx,true);
String MEDIATION_BIG = wnsearch.getField(thisCollection,"MEDIATION_BIG",idx,true);
String MEDIATION_SMALL = wnsearch.getField(thisCollection,"MEDIATION_SMALL",idx,true);
String CASE_DATE = wnsearch.getField(thisCollection,"CASE_DATE",idx,false);
String PRO_DATE = wnsearch.getField(thisCollection,"PRO_DATE",idx,false);
String TERM_CHECK = wnsearch.getField(thisCollection,"TERM_CHECK",idx,false);
String TIMHDER_ASSIGN = wnsearch.getField(thisCollection,"TIMHDER_ASSIGN",idx,false);
String FILE_NAME = wnsearch.getField(thisCollection,"FILE_NAME",idx,true);
String CASE_NO = wnsearch.getField(thisCollection,"CASE_NO",idx,false);
String COMPANY_CEO = wnsearch.getField(thisCollection,"COMPANY_CEO",idx,true);
String APPLCNT_COMPANY = wnsearch.getField(thisCollection,"APPLCNT_COMPANY",idx,true);
String RESPONDENT_CEO = wnsearch.getField(thisCollection,"RESPONDENT_CEO",idx,true);
String RESPONDENT_COMPANY = wnsearch.getField(thisCollection,"RESPONDENT_COMPANY",idx,true);
String CONTACT_HP = wnsearch.getField(thisCollection,"CONTACT_HP",idx,false);
String P_CONTACT_HP = wnsearch.getField(thisCollection,"P_CONTACT_HP",idx,false);
String APPLICATION_OBJ = wnsearch.getField(thisCollection,"APPLICATION_OBJ",idx,true);
String ROAD_ADDR = wnsearch.getField(thisCollection,"ROAD_ADDR",idx,true);
String DOC_CHECK = wnsearch.getField(thisCollection,"DOC_CHECK",idx,true);
String KPI_ASSETS1 = wnsearch.getField(thisCollection,"KPI_ASSETS1",idx,true);
String ALIAS = wnsearch.getField(thisCollection,"ALIAS",idx,false);
String URL = "/gtm/case/trublprocessmng/rceptEdit/Edit.do?type=TP_RCEPTEDIT&caseNo="+java.net.URLEncoder.encode(CASE_NO, "UTF-8");
%>
<div class="result-list">
<a href="<%=URL %>" class="result-link" target="_blank"><%=DOCID%></a>
<div class="result-content">사건구분: <%=GUBUN_NM %></div>
<div class="result-content">신청인: <%=COMPANY_CEO%>, 신청인 상호명: <%=APPLCNT_COMPANY%>, 신청인소재지: <%=ROAD_ADDR %>, 신청경로: <%=DOC_CHECK %></div>
<div class="result-content">신청인 담당자 연락처: <%=CONTACT_HP%></div>
<div class="result-content">피신청인: <%=RESPONDENT_CEO%>, 피신청인 상호명: <%=RESPONDENT_COMPANY%>, 자산총액: <%=KPI_ASSETS1 %></div>
<div class="result-content">피신청인 담당자 연락처: <%=P_CONTACT_HP%></div>
<div class="result-content">신청취지: <%=APPLICATION_OBJ%></div>
<div class="result-content">현재단계: <%=STATE_NM%>, 다음단계: <%=STATE_NEXT%>, 기간경과여부: <%=TERM_CHECK%></div>
<div class="result-content">조정결과: <%=MEDIATION_BIG%> [<%=MEDIATION_SMALL %>]</div>
<div class="result-content">담당자: <%=EXAMINER_NM%>, 진행일수: <span class="prodate_put"></span> </div>
<div class="org_prodate" style="display:none;"><%=PRO_DATE %></div>
<span class="result-date">접수일 : <%=DATE%> </span>
</div>
<%
}
if ( collection.equals("ALL") && thisTotalCount > TOTALVIEWCOUNT ) {
%>
<a href="#none" class="result-link.more" onClick="javascript:doCollection('<%=thisCollection%>');">더보기</a>
<%
}
%>
</div>
<%
}
}
%>

View File

@ -0,0 +1,394 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ include file="./common/api/WNSearch.jsp" %><% request.setCharacterEncoding("UTF-8");%><%
/*
* subject: 검색 메인 페이지
* @original author: SearchTool
*/
//session value
String memberDept = (String)session.getAttribute("memberDept");
String memberPosition =(String)session.getAttribute("memberPosition");
String memberId =(String)session.getAttribute("memberId ");
System.out.println("[memberDept]"+memberDept+" [memberPosition]"+memberPosition+" [memberId]"+memberId);
//실시간 검색어 화면 출력 여부 체크
boolean isRealTimeKeyword = false;
//오타 후 추천 검색어 화면 출력 여부 체크
boolean useSuggestedQuery = true;
String suggestQuery = "";
//디버깅 보기 설정
boolean isDebug = true;
int TOTALVIEWCOUNT = 3; //통합검색시 출력건수
int COLLECTIONVIEWCOUNT = 10; //더보기시 출력건수
String START_DATE = "1970.01.01"; // 기본 시작일
// 결과 시작 넘버
int startCount = parseInt(getCheckReqXSS(request, "startCount", "0"), 0); //시작 번호
String query = getCheckReqXSS(request, "query", ""); //검색어
String collection = getCheckReqXSS(request, "collection", "ALL"); //컬렉션이름
String rt = getCheckReqXSS(request, "rt", ""); //결과내 재검색 체크필드
String rt2 = getCheckReqXSS(request, "rt2", ""); //결과내 재검색 체크필드
String reQuery = getCheckReqXSS(request, "reQuery", ""); //결과내 재검색 체크필드
String realQuery = getCheckReqXSS(request, "realQuery", ""); //결과내 검색어
String sort = getCheckReqXSS(request, "sort", "RANK"); //정렬필드
String range = getCheckReqXSS(request, "range", "A"); //기간관련필드
String startDate = getCheckReqXSS(request, "startDate", START_DATE); //시작날짜
String endDate = getCheckReqXSS(request, "endDate", getCurrentDate()); //끝날짜
String writer = getCheckReqXSS(request, "writer", ""); //작성자
String searchField = getCheckReqXSS(request, "searchField", ""); //검색필드
String strOperation = "" ; //operation 조건 필드
String exquery = "" ; //exquery 조건 필드
int totalCount = 0;
String[] searchFields = null;
// 상세검색 검색 필드 설정이 되었을때
if (!searchField.equals("")) {
// 작성자
if (!writer.equals("")) {
exquery = "<WRITER:" + writer + ">";
}
} else {
searchField = "ALL";
}
String[] collections = COLLECTIONS;
if (reQuery.equals("1")) {
realQuery = query + " " + realQuery;
} else if (!reQuery.equals("2")) {
realQuery = query;
}
WNSearch wnsearch = new WNSearch(isDebug,false, collections, searchFields);
int viewResultCount = COLLECTIONVIEWCOUNT;
if ( collection.equals("ALL") || collection.equals("") )
viewResultCount = TOTALVIEWCOUNT;
for (int i = 0; i < collections.length; i++) {
//출력건수
wnsearch.setCollectionInfoValue(collections[i], PAGE_INFO, startCount+","+viewResultCount);
//검색어가 없으면 DATE_RANGE 로 전체 데이터 출력
if (!query.equals("") ) {
wnsearch.setCollectionInfoValue(collections[i], SORT_FIELD, sort + "/DESC,DATE/DESC");
} else {
wnsearch.setCollectionInfoValue(collections[i], DATE_RANGE, START_DATE.replaceAll("[.]","/") + ",2030/12/31,-");
wnsearch.setCollectionInfoValue(collections[i], SORT_FIELD, " ");
}
//searchField 값이 있으면 설정, 없으면 기본검색필드
if (!searchField.equals("") && !searchField.equals("WRITER") && searchField.indexOf("ALL") == -1 ) {
wnsearch.setCollectionInfoValue(collections[i], SEARCH_FIELD, searchField);
}
//operation 설정
if (!strOperation.equals("")) {
wnsearch.setCollectionInfoValue(collections[i], FILTER_OPERATION, strOperation);
}
//exquery 설정
//seed 의 세션값 [memberDept]1020000000 [memberPosition]0915000000 [memberId]null
if(collections[i].equals("process")) {
if("1020000000".equals(memberDept) || "0910000000".equals(memberPosition) ) {
}else if("0911000000".equals(memberPosition) || "0912000000".equals(memberPosition) ) {
exquery = "<TIMHDER_ASSIGN:contains:"+memberDept+">";
}else {
exquery = "<TIMHDER_ASSIGN:contains:N>";
}
out.print("[exquery]"+exquery);
wnsearch.setCollectionInfoValue(collections[i], EXQUERY_FIELD, exquery);
}else if(collections[i].equals("conference")) {
if("1020000000".equals(memberDept) || "0910000000".equals(memberPosition) ) {
}else if("1004000000".equals(memberDept)) {
exquery = "<CASE_GUBUN:contains:0201000000>";
}else if("1005000000".equals(memberDept) ) {
exquery = "<CASE_GUBUN:contains:0202000000>";
}else if("1006000000".equals(memberDept) || "1007000000".equals(memberDept) ) {
exquery = "<CASE_GUBUN:contains:0203000000>";
}else if("1008000000".equals(memberDept)) {
exquery = "<CASE_GUBUN:contains:0205000000>";
}else if("1030000000".equals(memberDept)) {
exquery = "<CASE_GUBUN:contains:0204000000>";
}else if("1009000000".equals(memberDept)) {
exquery = "<CASE_GUBUN:contains:0206000000>";
}else {
exquery = "<CASE_GUBUN:contains:N>";
}
wnsearch.setCollectionInfoValue(collections[i], EXQUERY_FIELD, exquery);
}else if(collections[i].equals("application")||collections[i].equals("completed")) {
if("1020000000".equals(memberDept) || "0903000000".equals(memberPosition) || "0910000000".equals(memberPosition) ) {
}else if("1004000000".equals(memberDept)) {
exquery = "<CASE_GUBUN:contains:0201000000>";
}else if("1005000000".equals(memberDept) ) {
exquery = "<CASE_GUBUN:contains:0202000000>";
}else if("1006000000".equals(memberDept) || "1007000000".equals(memberDept) ) {
exquery = "<CASE_GUBUN:contains:0203000000>";
}else if("1008000000".equals(memberDept)) {
exquery = "<CASE_GUBUN:contains:0205000000>";
}else if("1030000000".equals(memberDept)) {
exquery = "<CASE_GUBUN:contains:0204000000>";
}else if("1009000000".equals(memberDept)) {
exquery = "<CASE_GUBUN:contains:0206000000>";
}else {
exquery = "<CASE_GUBUN:contains:N>";
}
wnsearch.setCollectionInfoValue(collections[i], EXQUERY_FIELD, exquery);
} else if(collections[i].equals("board")) {
if("1020000000".equals(memberDept) ||"0910000000".equals(memberDept)||"1004000000".equals(memberDept)||"1005000000".equals(memberDept)||"1006000000".equals(memberDept)||"1007000000".equals(memberDept)||"1008000000".equals(memberDept)||"1030000000".equals(memberDept)||"1009000000".equals(memberDept)) {
}else {
exquery = "<TEAM_GUBUN:contains:N>";
}
wnsearch.setCollectionInfoValue(collections[i], EXQUERY_FIELD, exquery);
}else if(collections[i].equals("counsel")) {
if("1010000000".equals(memberDept) || "0910000000".equals(memberPosition) || "1020000000".equals(memberDept)) {
}else {
exquery = "<COUNSEL_SEQ:contains:N>";
}
wnsearch.setCollectionInfoValue(collections[i], EXQUERY_FIELD, exquery);
}
//기간 설정 , 날짜가 모두 있을때
if (!startDate.equals("") && !endDate.equals("") ) {
wnsearch.setCollectionInfoValue(collections[i], DATE_RANGE, startDate.replaceAll("[.]","/") + "," + endDate.replaceAll("[.]","/") + ",-");
}
};
wnsearch.search(realQuery, isRealTimeKeyword, CONNECTION_CLOSE, useSuggestedQuery);
// 디버그 메시지 출력
String debugMsg = wnsearch.printDebug() != null ? wnsearch.printDebug().trim() : "";
if ( !debugMsg.trim().equals("")) {
//out.println(debugMsg);
}
// 전체건수 구하기
if ( collection.equals("ALL")) {
for (int i = 0; i < collections.length; i++) {
totalCount += wnsearch.getResultTotalCount(collections[i]);
}
} else {
//개별건수 구하기
totalCount = wnsearch.getResultTotalCount(collection);
}
String thisCollection = "";
if(useSuggestedQuery) {
suggestQuery = wnsearch.suggestedQuery;
}
%>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<title>정보 관리</title>
<link rel="stylesheet" type="text/css" href="/css/jquery-ui.css" >
<link rel="stylesheet" type="text/css" href="/ark/css/ark.css">
<script type="text/javascript" src="/js/jquery.min.js"></script>
<script type="text/javascript" src="/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="/js/beta.fix.js"></script>
<script type="text/javascript" src="/js/ark.js"></script>
<script type="text/javascript" src="/js/datepicker.js"></script>
<script type="text/javascript" src="/js/search.js"></script><!-- 검색관련 js -->
</head>
<body>
<style>
.page-content{padding-left:0;padding-right:0;}
.cs-search-wrapper {margin-top:40px;font-family:'Malgun Gothic';}
.cs-search{position: relative;}
.cs-search .blue_window{display:inline-block;width:561px;height:40px;border: 1px solid #676fb2;border-right:0;}
.cs-search label{background:url(/img/search-fofair.png) no-repeat 15px 50%;width:147px;height:40px;margin-bottom:0;
text-indent:-999em;}
.cs-search .query{width:100%;height:100%;padding:4px 10px;border:0;font-size:15px;}
.cs-search .query::-webkit-input-placeholder {font-family:'Malgun Gothic';color: #757575;font-size:15px;letter-spacing: -1px;}
.cs-search .query::-moz-placeholder {font-family:'Malgun Gothic';color: #757575;font-size:15px;letter-spacing: -1px;}
.cs-search .query:-ms-input-placeholder {font-family:'Malgun Gothic';color: #757575;font-size:15px;letter-spacing: -1px;}
.cs-search .query:-moz-placeholder {font-family:'Malgun Gothic';color: #757575;font-size:15px;letter-spacing: -1px;}
.cs-search .cs-search-btn{width:57px;height:40px;white-space: nowrap;background: #818ce3;color: #fff;-moz-box-shadow: inset 0 0 10px #5f6cd4;-webkit-box-shadow: inset 0 0 10px #5f6cd4;box-shadow:inset 0 0 10px #5f6cd4;}
.cs-search-lnb{overflow:hidden;list-style:none;border-bottom:1px solid #e8e8e8}
.cs-search-lnb li{float:left;}
.cs-search-lnb li:first-child{margin-left:139px;}
.cs-search-lnb li a{position:relative;display:block;height:54px;margin: 2px 8px 0;padding: 0 8px;line-height:54px;}
.cs-search-lnb li a.on{color: #5f6cd4;font-weight:700}
.cs-search-lnb li a.on:after{content:'';display:block;position:absolute;left:0;bottom:0;width:100%;height:3px;background:#5f6cd4}
.cs-content-search{padding:16px 0 0 163px;}
.cs-result-stats{font-size:13px;color:#808080;margin-bottom:38px;}
.result-box{max-width:618px;padding:16px 0;border-top:1px solid #e8e8e8}
.result-box h2{margin-bottom: 10px;font-size:15px;}
.result-link{font-size:18px;color:#1a0dab;}
.result-link.more{font-size:16px;}
.result-link:hover{text-decoration:underline;}
.result-list{position: relative;margin-bottom:23px;}
.result-list:last-child{margin-bottom:0;}
.result-date{color:#545454;line-height: 1.4;}
.result-content{padding:4px 0;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;}
/* paginate */
.paginate{width:620px; padding:16px 0; text-align:center; float:left;}
.paginate a,.paginate strong{display:inline-block;position:relative;_width /**/:17px;margin-right:1px;padding:2px 4px 3px;border:1px solid #fff;color:#000;font-family:Verdana;font-size:11px;line-height:normal;text-decoration:none}
.paginate strong{border:1px solid #ccc;color:#f23219 !important}
.paginate .pre{margin-right:6px;padding:4px 6px 2px 14px;_padding-bottom:1px;background: !important;letter-spacing:-1px}
.paginate .next{margin-left:4px;padding:4px 14px 2px 6px;_padding-bottom:1px;background: !important;letter-spacing:-1px}
.paginate a.pre{background: !important;color:#565656}
.paginate a.next{background: !important;color:#565656}
.paginate a:hover.pre{background-color:#f7f7f7;text-decoration:none}
.paginate a.next{background-color:#f7f7f7;text-decoration:none}
.paginate .pre,.paginate .next{display:inline-block;position:relative;top:0;_top:-2px;_width /**/:75px;border:1px solid #ccc;color:#ccc;font-family:'돋움',Dotum;font-size:11px;line-height:normal}
.paginate a:hover{border:1px solid #ccc;background-color:#f7f7f7 !important}
/* //paginate */
</style>
<div class="cs-search-wrapper">
<div class="search-form-wrap">
<form:form name="caseFrm" id="caseFrm" action="" method="post">
<input type="hidden" name="caseNo" value="">
</form:form>
<form:form name="search" id="search" action="/gtm/case/unifiedSearch/searchList/jsp/LayOutPage.do" class="search-form" method="post">
<input type="hidden" name="startCount" value="0">
<input type="hidden" name="sort" value="<%=sort%>">
<input type="hidden" name="collection" value="<%=collection%>">
<input type="hidden" name="range" value="<%=range%>">
<input type="hidden" name="startDate" value="<%=startDate%>">
<input type="hidden" name="endDate" value="<%=endDate%>">
<input type="hidden" name="searchField" value="<%=searchField%>">
<input type="hidden" name="reQuery" />
<input type="hidden" name="realQuery" value="<%=realQuery%>" />
<fieldset>
<div class="cs-search">
<label for="query">kofire</label>
<span class="blue_window">
<input name="query" id="query" type="text" value="<%=query%>" onKeypress="javascript:pressCheck((event),this);" autocomplete="off" class="query" title="검색어 입력" placeholder="한국공정거래조정원 통합검색" >
</span>
<a><input type="button" value="검색" class="cs-search-btn" onClick="javascript:doSearch();" />&nbsp;
<input class="" name="reChk" id="reChk" onclick="checkReSearch();" type="checkbox"/>결과내재검색</a>
</div>
<!-- ARK search suggest -->
<div id="ark"></div>
</fieldset>
</form:form>
</div>
<ul class="cs-search-lnb">
<li><a href="#none" onClick="javascript:doCollection('ALL');" class="<%=collection.equals("ALL") ? "on" : "" %>">통합검색</a></li>
<% for (int i = 0; i < COLLECTIONS.length; i++) {%>
<li><a href="#none" class="<%=collection.equals(COLLECTIONS[i]) ? "on" : "" %>" onClick="javascript:doCollection('<%=COLLECTIONS[i]%>');"><%=wnsearch.getCollectionKorName(COLLECTIONS[i])%>
[<%=wnsearch.getResultTotalCount(COLLECTIONS[i]) %>]</a></li>
<% } %>
</ul>
<div class="cs-content-search">
<% if (totalCount > 0) { %>
<div class="cs-result-stats">검색어 '<%=query %>'에 대해 총 <%=totalCount %>건이 검색되었습니다.</div>
<%@include file="./result/result_process.jsp"%>
<%@include file="./result/result_conference.jsp" %>
<%@include file="./result/result_application.jsp" %>
<%@include file="./result/result_completed.jsp" %>
<%@include file="./result/result_board.jsp" %>
<%@include file="./result/result_counsel.jsp" %>
<!-- paginate -->
<% if (!collection.equals("ALL") && totalCount > TOTALVIEWCOUNT) { %>
<div class="paginate">
<%=wnsearch.getPageLinks(startCount , totalCount, 10, 10)%>
</div>
<% } %>
<!-- //paginate -->
<% } else { %>
<div class="result-box h2">
<p>'<%=query %>'에 대한 검색결과가 없습니다.</p>
<ul>
<li>단어의 철자가 정확한지 확인해 보세요.</li>
<li>한글을 영어로 혹은 영어를 한글로 입력했는지 확인해 보세요.</li>
<li>검색어의 단어 수를 줄이거나, 보다 일반적인 검색어로 다시 검색해 보세요.</li>
<li>두 단어 이상의 검색어인 경우, 띄어쓰기를 확인해 보세요.</li>
</ul>
</div>
<% } %>
</div>
</div>
<script>
//진행일수 제대로 산출
jQuery(document).ready(function(){
getProDate();
});
function getProDate(){
var url = "/gtm/case/trublprocessmng/ajax/ProDate.do";
var count = jQuery('.cass').children('.result-list').length;
//caseNo 뽑기.
for(i=0; i<=count; i++){
var cont = jQuery('.cass').children('.result-list').eq(i).children('.result-link').text();
jQuery("#type").val("L");
if(cont != null || cont != ""){
jQuery("input[name='caseNo']").val(cont);
var param = jQuery('#caseFrm').serialize();
XHR3(url, param);
}
};
}
//비동기 false
function XHR3(url, param){
jQuery.ajax({
type: 'post',
url: url,
data: param,
dataType: 'json',
async: false,
cache: false,
success: function(r){
jQuery('.cass').children('.result-list').eq(i).find('.prodate_put').text(r.data[0].proDate);
},
error: function() {
console.log("failed");
var org = jQuery('.cass').children('.result-list').eq(i).find('.org_prodate').text();
jQuery('.cass').children('.result-list').eq(i).find('.prodate_put').text(org);
return false;
}
});
}
</script>
</body>