fairnet/src/main/java/seed/manager/group/service/ManagerGroupServiceImpl.java
tolag3 f7d819b7b8 이준호 분쟁조정시스템 커밋
- 분쟁조정 상담 관련 패키지 추가
2024-09-03 15:14:26 +09:00

1266 lines
45 KiB
Java

package seed.manager.group.service;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
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.EgovAbstractServiceImpl;
import seed.dao.BbsAuthDAO;
import seed.dao.BbsSetDAO;
import seed.dao.FormbuilderAuthDAO;
import seed.dao.FormbuilderSetDAO;
import seed.dao.GroupDAO;
import seed.dao.GroupsDAO;
import seed.dao.SiteDAO;
import seed.dao.SiteMenuAuthDAO;
import seed.dao.SiteMenuDAO;
import seed.dao.SiteMenuHistoryDAO;
import seed.dao.SurveyAuthDAO;
import seed.dao.SurveySetDAO;
import seed.map.T_BBS_AUTH;
import seed.map.T_BBS_SET;
import seed.map.T_FORMBUILDER_AUTH;
import seed.map.T_FORMBUILDER_SET;
import seed.map.T_GROUP;
import seed.map.T_GROUPS;
import seed.map.T_MEMBER;
import seed.map.T_SITE;
import seed.map.T_SITE_MENU;
import seed.map.T_SITE_MENU_AUTH;
import seed.map.T_SITE_MENU_HISTORY;
import seed.map.T_SURVEY_AUTH;
import seed.map.T_SURVEY_SET;
import seed.utils.SeedFtpType;
import seed.utils.SeedUtils;
@Service
public class ManagerGroupServiceImpl extends EgovAbstractServiceImpl implements ManagerGroupService{
protected org.apache.commons.logging.Log log;
@Autowired
private SiteDAO siteDAO;
@Autowired
private SiteMenuHistoryDAO siteMenuHistoryDAO;
@Autowired
private GroupDAO groupDAO;
@Autowired
private GroupsDAO groupsDAO;
@Autowired
private SiteMenuDAO siteMenuDAO;
@Autowired
private BbsSetDAO bbsSetDAO;
@Autowired
private FormbuilderSetDAO formbuilderSetDAO;
@Autowired
private SurveySetDAO surveySetDAO;
@Autowired
private SiteMenuAuthDAO siteMenuAuthDAO;
@Autowired
private BbsAuthDAO bbsAuthDAO;
@Autowired
private FormbuilderAuthDAO formbuilderAuthDAO;
@Autowired
private SurveyAuthDAO surveyAuthDAO;
//ManagerGroupController
public T_GROUP getGroupForm(Integer groupIdx){
return groupDAO.getGroupForm(groupIdx);
}
//ManagerMemberController
public List<T_GROUP> getGroupList(String siteIdx, String[] qryColumns){
return groupDAO.getGroupList(siteIdx, qryColumns);
}
//HomeController
public String getGroupList(String siteIdx, Integer memberIdx, String memberMerge, String memberMergeSiteIdx){
StringBuffer seedMenuAuth = new StringBuffer();
List<Map<Object, Object>> groupList = null;
if(memberMerge.equals("true")){
groupList = groupDAO.getGroupMapList(memberMergeSiteIdx, new String[] {"groupIdx"});
}else{
groupList = groupDAO.getGroupMapList(siteIdx, new String[] {"groupIdx"});
}
if(memberIdx.equals(0)){ //손님일 경우 999에 해당하는 마지막 데이타에 값을 Y로 변경
for(int i=0; i<groupList.size(); i++){
if(i == (groupList.size()-1)){
seedMenuAuth.append("Y,");
}else{
seedMenuAuth.append("N,");
}
}
}else{
List<Map<Object, Object>> groupsList = groupsDAO.getGroupsMapList(memberIdx, new String[] {"tGroup.groupIdx"});
for(int i=0; i<groupList.size(); i++){
boolean memberChk = false;
Map<Object, Object> tGroupDB = groupList.get(i);
for(int j=0; j<groupsList.size(); j++){
Map<Object, Object> tGroupsDB = groupsList.get(j);
if(tGroupsDB.get("_groupIdx").equals(tGroupDB.get("_groupIdx"))){
seedMenuAuth.append("Y,");
memberChk = true;
break;
}
}
if(!memberChk){
seedMenuAuth.append("N,");
}
}
}
return seedMenuAuth.toString().substring(0, seedMenuAuth.toString().length() - 1);
}
//ManagerGroupController
public List<T_GROUP> getGroupList(String siteIdx, String column, String search, String[] qryColumns){
return groupDAO.getGroupList(siteIdx, column, search, qryColumns);
}
//ManagerGroupController
@Transactional
public Integer setGroupRegProc(T_GROUP tGroup, Integer memberIdx, String memberMerge, String memberMergeSiteIdx, String rootPath){
Integer groupIdx = 0;
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tGroup.settMember(tMember);
tGroup.setGroupLevel(groupDAO.getGroupLevelFormCnt(tGroup.gettSite().getSiteIdx()) + 1);
tGroup.setGroupStatus("U");
tGroup.setGroupType("A");
tGroup.setGroupRegDate(new Date());
tGroup.setGroupModDate(new Date());
T_GROUP tGroupDB = groupDAO.setGroupRegProc(tGroup);
if(tGroupDB != null){
groupIdx = tGroupDB.getGroupIdx();
//권한 관련 테이블에 INSERT
List<T_SITE_MENU> tSiteMenuList = null;
if(memberMerge.equals("true")){
tSiteMenuList = siteMenuDAO.getSiteMenuList("ALL_SITE_IDX");
}else{
tSiteMenuList = siteMenuDAO.getSiteMenuList(tGroup.gettSite().getSiteIdx());
}
for(int s=0; s<tSiteMenuList.size(); s++){
T_SITE_MENU tSiteMenuDB = tSiteMenuList.get(s);
T_SITE_MENU_AUTH tSiteMenuAuth = new T_SITE_MENU_AUTH();
tSiteMenuAuth.settMember(tMember);
tSiteMenuAuth.settGroup(tGroupDB);
tSiteMenuAuth.settSiteMenu(tSiteMenuDB);
tSiteMenuAuth.setSiteMenuAuth("Y");
tSiteMenuAuth.setSiteMenuAuthRegDate(new Date());
tSiteMenuAuth.setSiteMenuAuthModDate(new Date());
if(!siteMenuAuthDAO.setSiteMenuAuthRegProc(tSiteMenuAuth)){
groupIdx = 0;
break;
}
}
//T_BBS_AUTH에 INSERT
String[] qryColumnb = null;
List<T_BBS_SET> tBbsSetList = null;
if(memberMerge.equals("true")){
tBbsSetList = bbsSetDAO.getBbsSetList("ALL_SITE_IDX", qryColumnb);
}else{
tBbsSetList = bbsSetDAO.getBbsSetList(tGroup.gettSite().getSiteIdx(), qryColumnb);
}
for(int b=0; b<tBbsSetList.size(); b++){
T_BBS_SET tBbsSetDB = tBbsSetList.get(b);
T_BBS_AUTH tBbsAuth = new T_BBS_AUTH();
tBbsAuth.settMember(tMember);
tBbsAuth.settGroup(tGroupDB);
tBbsAuth.settBbsSet(tBbsSetDB);
tBbsAuth.setBbsAuthList("Y");
tBbsAuth.setBbsAuthContent("Y");
tBbsAuth.setBbsAuthWrite("N");
tBbsAuth.setBbsAuthReply("N");
tBbsAuth.setBbsAuthRegDate(new Date());
tBbsAuth.setBbsAuthModDate(new Date());
if(!bbsAuthDAO.setBbsAuthRegProc(tBbsAuth)){
groupIdx = 0;
break;
}
}
//T_FORMBUILDER_AUTH에 INSERT
String[] qryColumnf = null;
List<T_FORMBUILDER_SET> tFormbuilderSetList = null;
if(memberMerge.equals("true")){
tFormbuilderSetList = formbuilderSetDAO.getFormbuilderSetList("ALL_SITE_IDX", qryColumnf);
}else{
tFormbuilderSetList = formbuilderSetDAO.getFormbuilderSetList(tGroup.gettSite().getSiteIdx(), qryColumnf);
}
for(int f=0; f<tFormbuilderSetList.size(); f++){
T_FORMBUILDER_SET tFormbuilderSetDB = tFormbuilderSetList.get(f);
T_FORMBUILDER_AUTH tFormbuilderAuth = new T_FORMBUILDER_AUTH();
tFormbuilderAuth.settMember(tMember);
tFormbuilderAuth.settGroup(tGroupDB);
tFormbuilderAuth.settFormbuilderSet(tFormbuilderSetDB);
tFormbuilderAuth.setFormbuilderAuthList("Y");
tFormbuilderAuth.setFormbuilderAuthWrite("Y");
tFormbuilderAuth.setFormbuilderAuthRegDate(new Date());
tFormbuilderAuth.setFormbuilderAuthModDate(new Date());
if(!formbuilderAuthDAO.setFormbuilderAuthRegProc(tFormbuilderAuth)){
groupIdx = 0;
break;
}
}
//T_SURVEY_AUTH에 INSERT
String[] qryColumns = null;
List<T_SURVEY_SET> tSurveySetList = null;
if(memberMerge.equals("true")){
tSurveySetList = surveySetDAO.getSurveySetList("ALL_SITE_IDX", qryColumns);
}else{
tSurveySetList = surveySetDAO.getSurveySetList(tGroup.gettSite().getSiteIdx(), qryColumns);
}
for(int s=0; s<tSurveySetList.size(); s++){
T_SURVEY_SET tSurveySetDB = tSurveySetList.get(s);
T_SURVEY_AUTH tSurveyAuth = new T_SURVEY_AUTH();
tSurveyAuth.settMember(tMember);
tSurveyAuth.settGroup(tGroupDB);
tSurveyAuth.settSurveySet(tSurveySetDB);
tSurveyAuth.setSurveyAuthList("Y");
tSurveyAuth.setSurveyAuthWrite("Y");
tSurveyAuth.setSurveyAuthResult("Y");
tSurveyAuth.setSurveyAuthRegDate(new Date());
tSurveyAuth.setSurveyAuthModDate(new Date());
if(!surveyAuthDAO.setSurveyAuthRegProc(tSurveyAuth)){
groupIdx = 0;
break;
}
}
//모든 메뉴 생성(권한이 추가되어 다시 컴파일해야함 data-seed)
if(memberMerge.equals("true")){
List<Map<Object, Object>> tSiteList = siteDAO.getSiteList(memberMergeSiteIdx);
if(tSiteList.size() > 0){
for(int s=0; s<tSiteList.size(); s++){
Map<Object, Object> tSiteMapDB = tSiteList.get(s);
String siteIdx = SeedUtils.setReplaceNull(tSiteMapDB.get("siteIdx"));
if(!setSiteMenuAllCompile(siteIdx, rootPath)){
groupIdx = 0;
break;
}
}
}
}else{
if(!setSiteMenuAllCompile(tGroup.gettSite().getSiteIdx(), rootPath)){
groupIdx = 0;
}
}
}
return groupIdx;
}
//ManagerGroupController
@Transactional
public boolean setGroupModProc(T_GROUP tGroup, Integer memberIdx){
T_GROUP tGroupDB = groupDAO.getGroupForm(tGroup.getGroupIdx());
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tGroupDB.settMember(tMember);
tGroupDB.setGroupName(tGroup.getGroupName());
tGroupDB.setGroupModDate(new Date());
return groupDAO.setGroupModProc(tGroupDB);
}
//ManagerGroupController
@Transactional
public boolean setGroupDelProc(Integer groupIdx, String memberMerge, String memberMergeSiteIdx, String rootPath){
boolean success = false;
T_GROUP tGroupDB = groupDAO.getGroupForm(groupIdx);
groupDAO.setGroupLevelProc(tGroupDB.getGroupLevel());
if(groupDAO.setGroupDelProc(tGroupDB)){
//모든 메뉴 생성(권한이 추가되어 다시 컴파일해야함 data-seed)
if(memberMerge.equals("true")){
List<Map<Object, Object>> tSiteList = siteDAO.getSiteList(memberMergeSiteIdx);
if(tSiteList.size() > 0){
for(int s=0; s<tSiteList.size(); s++){
Map<Object, Object> tSiteMapDB = tSiteList.get(s);
String siteIdx = SeedUtils.setReplaceNull(tSiteMapDB.get("siteIdx"));
if(!setSiteMenuAllCompile(siteIdx, rootPath)){
success = false;
break;
}else{
success = true;
}
}
}
}else{
success = setSiteMenuAllCompile(tGroupDB.gettSite().getSiteIdx(), rootPath);
}
}
return success;
}
//ManagerGroupController
@Transactional
public boolean setGroupStatusProc(Integer groupIdx, String status, Integer memberIdx, String memberMerge, String memberMergeSiteIdx, String rootPath){
boolean success = false;
T_GROUP tGroupDB = groupDAO.getGroupForm(groupIdx);
Iterator<T_GROUPS> iteratorList = tGroupDB.gettGroupss().iterator();
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tGroupDB.settMember(tMember);
tGroupDB.setGroupModDate(new Date());
tGroupDB.setGroupStatus(status);
if(groupDAO.setGroupModProc(tGroupDB)){
success = true;
while(iteratorList.hasNext()){
T_GROUPS tGroupsDB = groupsDAO.getGroupsForm(iteratorList.next().getGroupsIdx());
tGroupsDB.settMember(tMember);
tGroupsDB.setGroupsStatus(status);
if(!groupsDAO.setGroupsModProc(tGroupsDB)){
success = false;
break;
}
}
}
if(success){
//모든 메뉴 생성(권한이 추가되어 다시 컴파일해야함 data-seed)
if(memberMerge.equals("true")){
List<Map<Object, Object>> tSiteList = siteDAO.getSiteList(memberMergeSiteIdx);
if(tSiteList.size() > 0){
for(int s=0; s<tSiteList.size(); s++){
Map<Object, Object> tSiteMapDB = tSiteList.get(s);
String siteIdx = SeedUtils.setReplaceNull(tSiteMapDB.get("siteIdx"));
if(!setSiteMenuAllCompile(siteIdx, rootPath)){
success = false;
break;
}else{
success = true;
}
}
}
}else{
success = setSiteMenuAllCompile(tGroupDB.gettSite().getSiteIdx(), rootPath);
}
}
return success;
}
//ManagerGroupController
@Transactional
public boolean setGroupOrderProc(String siteIdx, Integer groupLevel, String orderType, Integer memberIdx, String rootPath){
boolean success = false;
Integer groupLevelTmp = groupLevel;
if(orderType.equals("up")){
groupLevel = groupLevel - 1;
}else{
groupLevel = groupLevel + 1;
}
T_GROUP tGroupLevelDB = groupDAO.getGroupLevelForm(siteIdx, groupLevel);
T_GROUP tGroupDB = groupDAO.getGroupLevelForm(siteIdx, groupLevelTmp);
T_MEMBER tMember = new T_MEMBER();
tMember.setMemberIdx(memberIdx);
tGroupLevelDB.settMember(tMember);
tGroupDB.settMember(tMember);
tGroupLevelDB.setGroupLevel(groupLevelTmp);
tGroupDB.setGroupLevel(groupLevel);
if(groupDAO.setGroupModProc(tGroupDB) &&
groupDAO.setGroupModProc(tGroupLevelDB)){
success = true;
}
if(success){
//모든 메뉴 생성(권한이 추가되어 다시 컴파일해야함 data-seed)
success = setSiteMenuAllCompile(tGroupDB.gettSite().getSiteIdx(), rootPath);
}
return success;
}
public synchronized boolean setSiteMenuAllCompile(String siteIdx, String rootPath){
boolean success = false;
try{
SeedFtpType seedFtpType = new SeedFtpType();
boolean fileChk = false;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String getDate = simpleDateFormat.format(new Date());
Integer depth = 0;
String siteMenuName = "";
String siteMenuHtml = "";
String siteMenuLink = "";
String siteMenuLinkTarget = "";
String tabMenuHtml = "";
ArrayList<String> siteMenuIdx1s = new ArrayList<String>();
T_SITE tSiteDB = siteDAO.getSiteForm(siteIdx);
//상단메뉴 저장
String menuTopPathMain = rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/main/menu/top";
String menuTopPathSub = rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/sub/menu/top";
SeedUtils.setSeedMkDirs(menuTopPathMain);
SeedUtils.setSeedMkDirs(menuTopPathSub);
File menuTopMakeMainFile = new File(menuTopPathMain + "/menu_main.html");
File menuTopMakeSubFile = new File(menuTopPathSub + "/menu_sub.html");
if(menuTopMakeMainFile.exists() && menuTopMakeSubFile.exists()){ //파일이 있는 경우 파일 menu_bak으로 파일명 변경
File menuTopFileMainBak = new File(menuTopPathMain + "/menu_main_"+getDate+".html");
menuTopMakeMainFile.renameTo(menuTopFileMainBak); //menu.html을 menu_bak.html로 파일명 변경
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath("menu_main.html");
//WAS 파일명
seedFtpType.setFileName("menu_main_"+getDate+".html");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("modFile");
seedFtpType.setSeedFtp();
File menuTopFileSubBak = new File(menuTopPathSub + "/menu_sub_"+getDate+".html");
menuTopMakeSubFile.renameTo(menuTopFileSubBak); //menu.html을 menu_bak.html로 파일명 변경
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/sub/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath("menu_sub.html");
//WAS 파일명
seedFtpType.setFileName("menu_sub_"+getDate+".html");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("modFile");
seedFtpType.setSeedFtp();
//T_SITE_MENU_HISTORY 에 저장
T_SITE_MENU_HISTORY tSiteMenuHistoryMain = new T_SITE_MENU_HISTORY();
tSiteMenuHistoryMain.settSite(tSiteDB);
tSiteMenuHistoryMain.setSiteMenuHistoryType("top");
tSiteMenuHistoryMain.setSiteMenuHistoryFile("menu_main_"+getDate+".html");
tSiteMenuHistoryMain.setSiteMenuHistoryRegDate(new Date());
siteMenuHistoryDAO.setSiteMenuHistoryRegProc(tSiteMenuHistoryMain);
List<T_SITE_MENU_HISTORY> siteMenuMainHisotryList = siteMenuHistoryDAO.getSiteMenuHistoryList(tSiteDB.getSiteIdx(), "top", "menu_main");
if(siteMenuMainHisotryList != null && siteMenuMainHisotryList.size() > 10){ //10개 초과시 파일 삭제
T_SITE_MENU_HISTORY tSiteMenuHistoryDB = siteMenuMainHisotryList.get(0);
File bakFile = new File(menuTopPathMain+"/"+tSiteMenuHistoryDB.getSiteMenuHistoryFile());
if(bakFile.exists()){
bakFile.delete();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath("");
//WAS 파일명
seedFtpType.setFileName(tSiteMenuHistoryDB.getSiteMenuHistoryFile());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("delFile");
seedFtpType.setSeedFtp();
}
siteMenuHistoryDAO.setSiteMenuHistoryDelProc(tSiteMenuHistoryDB);
}
//T_SITE_MENU_HISTORY 에 저장
T_SITE_MENU_HISTORY tSiteMenuHistorySub = new T_SITE_MENU_HISTORY();
tSiteMenuHistorySub.settSite(tSiteDB);
tSiteMenuHistorySub.setSiteMenuHistoryType("top");
tSiteMenuHistorySub.setSiteMenuHistoryFile("menu_sub_"+getDate+".html");
tSiteMenuHistorySub.setSiteMenuHistoryRegDate(new Date());
siteMenuHistoryDAO.setSiteMenuHistoryRegProc(tSiteMenuHistorySub);
List<T_SITE_MENU_HISTORY> siteMenuSubHisotryList = siteMenuHistoryDAO.getSiteMenuHistoryList(tSiteDB.getSiteIdx(), "top", "menu_sub");
if(siteMenuSubHisotryList != null && siteMenuSubHisotryList.size() > 10){ //10개 초과시 파일 삭제
T_SITE_MENU_HISTORY tSiteMenuHistoryDB = siteMenuSubHisotryList.get(0);
File bakFile = new File(menuTopPathSub+"/"+tSiteMenuHistoryDB.getSiteMenuHistoryFile());
if(bakFile.exists()){
bakFile.delete();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/sub/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath("");
//WAS 파일명
seedFtpType.setFileName(tSiteMenuHistoryDB.getSiteMenuHistoryFile());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("delFile");
seedFtpType.setSeedFtp();
}
siteMenuHistoryDAO.setSiteMenuHistoryDelProc(tSiteMenuHistoryDB);
}
}
Integer siteMenuParentDepth = 0;
String[] qryColumnsm = null;
List<T_SITE_MENU> siteMenuTopList = siteMenuDAO.getSiteMenuTopList(tSiteDB.getSiteIdx(), tSiteDB.getSiteMenuTopDepth(), qryColumnsm);
if(siteMenuTopList.size() > 0){
fileChk = true;
FileOutputStream htmlFileOutputStream = null;
OutputStreamWriter htmlOutputStreamWriter = null;
BufferedWriter htmlWriter = null;
FileOutputStream jspFileOutputStream = null;
OutputStreamWriter jspOutputStreamWriter = null;
BufferedWriter jspWriter = null;
try{
htmlFileOutputStream = new FileOutputStream(menuTopPathMain + "/menu_main.html");
htmlOutputStreamWriter = new OutputStreamWriter(htmlFileOutputStream, "UTF-8");
htmlWriter = new BufferedWriter(htmlOutputStreamWriter);
jspFileOutputStream = new FileOutputStream(menuTopPathMain + "/menu_main.jsp");
jspOutputStreamWriter = new OutputStreamWriter(jspFileOutputStream, "UTF-8");
jspWriter = new BufferedWriter(jspOutputStreamWriter);
jspWriter.write("<%@ page language='java' contentType='text/html; charset=UTF-8'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags' prefix='s'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %>");
jspWriter.write("\n");
jspWriter.write("\n");
boolean statusChk = false;
Integer[] tempDepth = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
for(int x=0; x<siteMenuTopList.size(); x++){
siteMenuHtml = "";
siteMenuLink = "";
siteMenuLinkTarget = "";
tabMenuHtml = "";
T_SITE_MENU tSiteMenuTmp = siteMenuTopList.get(x);
//서브 메뉴 생성해 주기 위해 배열에 담아둠
if(tSiteMenuTmp.getSiteMenuDepth().equals(1)){
siteMenuIdx1s.add(tSiteMenuTmp.getSiteMenuIdx1());
//해당 메뉴가 U상태가 아닐때는 해당 하위메뉴도 컴파일 하지 않는다.
if(tSiteMenuTmp.getSiteMenuStatus().equals("U")){
statusChk = true;
}else{
statusChk = false;
}
}
if(!statusChk){
continue;
}
//해당 메뉴가 U상태가 아닐때는 메뉴 컴파일을 하지 않는다.
if(!tSiteMenuTmp.getSiteMenuStatus().equals("U")){
continue;
}
depth = tSiteMenuTmp.getSiteMenuDepth();
siteMenuName = tSiteMenuTmp.getSiteMenuName();
//메뉴 권한설정
List<T_SITE_MENU_AUTH> siteMenuAuthList = siteMenuAuthDAO.getSiteMenuAuthList(tSiteMenuTmp.getSiteMenuIdx());
String siteMenuAuth = "";
for(int m=0; m<siteMenuAuthList.size(); m++){
T_SITE_MENU_AUTH tSiteMenuAuthDB = siteMenuAuthList.get(m);
siteMenuAuth += tSiteMenuAuthDB.getSiteMenuAuth() + ",";
}
if(siteMenuAuth.equals("")){
siteMenuAuth = " ";
}
siteMenuAuth = "data-auth='"+SeedUtils.setReplaceNull(tSiteMenuTmp.getSiteMenuAuth(), "N")+","+siteMenuAuth.substring(0, siteMenuAuth.length()-1)+"'";
if(tSiteMenuTmp.getSiteMenuNameType().equals("I")){
siteMenuName = "<img src='/site/"+tSiteDB.getSiteIdx()+"/images/menu/topMenu_"+tSiteMenuTmp.getSiteMenuIdxs()+"_off.gif' alt='"+siteMenuName+"' />";
}
if(tSiteMenuTmp.getSiteMenuType().equals("H")){
siteMenuLink = "<a href='/"+tSiteDB.getSiteIdx()+"/subIndex/"+tSiteMenuTmp.getSiteMenuIdx()+".do' title='"+tSiteMenuTmp.getSiteMenuName()+"'" +
" data-url='/"+tSiteDB.getSiteIdx()+"/subIndex/"+tSiteMenuTmp.getSiteMenuIdx()+".do' " +
" data-seed='"+tSiteDB.getSiteIdx()+"_"+tSiteMenuTmp.getSiteMenuIdxs()+"' " + siteMenuAuth +
" >"+siteMenuName+"</a>" + "\n";
}else{
if(tSiteMenuTmp.getSiteMenuLink().equals("B")){
siteMenuLinkTarget = "target='_blank' title='"+siteMenuName+" <s:message code=\"common.message.blank\"/> <s:message code=\"common.message.blank.go\"/>' ";
}else{
siteMenuLinkTarget = "title='"+tSiteMenuTmp.getSiteMenuName()+" '";
}
siteMenuLink = "<a href='"+tSiteMenuTmp.getSiteMenuLinkUrl()+"' "+siteMenuLinkTarget+
" data-url='"+tSiteMenuTmp.getSiteMenuLinkUrl()+"' " +
" data-seed='"+tSiteDB.getSiteIdx()+"_"+tSiteMenuTmp.getSiteMenuIdxs()+"' " + siteMenuAuth +
" >"+siteMenuName+"</a>" + "\n";
}
tempDepth[depth-1]++;
for(int d=0; d<depth; d++){
tabMenuHtml += " ";
}
if(siteMenuParentDepth < depth){
siteMenuHtml = tabMenuHtml + "<ul class='gnbDp-"+depth+"'>" + "\n";
siteMenuHtml += tabMenuHtml + " <li class='gnbDp-"+depth+"-"+tempDepth[depth-1]+"'>" + siteMenuLink;
}else if(siteMenuParentDepth == depth){
siteMenuHtml = tabMenuHtml + " </li>" + "\n";
siteMenuHtml += tabMenuHtml + " <li class='gnbDp-"+depth+"-"+tempDepth[depth-1]+"'>" + siteMenuLink;
}else if(siteMenuParentDepth > depth){
siteMenuHtml = "";
for(int j=0; j<(siteMenuParentDepth - depth); j++){
String tabMenuHtmlTemp = "";
for(int d=0; d<(siteMenuParentDepth-j); d++){
tabMenuHtmlTemp += " ";
}
siteMenuHtml += tabMenuHtmlTemp + " </li>" + "\n";
siteMenuHtml += tabMenuHtmlTemp + "</ul>" + "\n";
}
siteMenuHtml += tabMenuHtml + " </li>" + "\n";
siteMenuHtml += tabMenuHtml + " <li class='gnbDp-"+depth+"-"+tempDepth[depth-1]+"'>" + siteMenuLink;
}
htmlWriter.write(siteMenuHtml);
jspWriter.write(siteMenuHtml);
siteMenuParentDepth = depth;
}
siteMenuHtml = "";
tabMenuHtml = "";
for(int d=0; d<depth; d++){
tabMenuHtml += " ";
}
for(int m=0; m<(depth-1); m++){
siteMenuHtml += tabMenuHtml + " </li>" + "\n";
siteMenuHtml += tabMenuHtml + "</ul>" + "\n";
}
siteMenuHtml += " </li>" + "\n";
siteMenuHtml += " </ul>";
htmlWriter.write(siteMenuHtml);
htmlWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 파일명
seedFtpType.setFileName("menu_main.html");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
jspWriter.write(siteMenuHtml);
jspWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 파일명
seedFtpType.setFileName("menu_main.jsp");
//파일 전송 타입 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(jspWriter!=null){try{jspWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
File file = new File(menuTopPathMain + "/menu_main.jsp");
if(file.exists()){
file.setLastModified(new Date().getTime());
}
if(jspOutputStreamWriter!=null){try{jspOutputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(jspFileOutputStream!=null){try{jspFileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
}
SeedUtils.setSeedFileCopy(menuTopPathMain + "/menu_main.html", menuTopPathSub + "/menu_sub.html");
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/sub/menu/top");
//WAS 파일명
seedFtpType.setFileName("menu_sub.html");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
SeedUtils.setSeedFileCopy(menuTopPathMain + "/menu_main.jsp", menuTopPathSub + "/menu_sub.jsp");
File file = new File(menuTopPathSub + "/menu_sub.jsp");
if(file.exists()){
file.setLastModified(new Date().getTime());
}
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/sub/menu/top");
//WAS 파일명
seedFtpType.setFileName("menu_sub.jsp");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
}
if(!fileChk){
menuTopMakeMainFile.createNewFile();
menuTopMakeSubFile.createNewFile();
FileOutputStream jspFileOutputStream = null;
OutputStreamWriter jspOutputStreamWriter = null;
BufferedWriter jspWriter = null;
try{
jspFileOutputStream = new FileOutputStream(menuTopPathMain + "/menu_main.jsp");
jspOutputStreamWriter = new OutputStreamWriter(jspFileOutputStream, "UTF-8");
jspWriter = new BufferedWriter(jspOutputStreamWriter);
jspWriter.write("<%@ page language='java' contentType='text/html; charset=UTF-8'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags' prefix='s'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %>");
jspWriter.write("\n");
jspWriter.write("\n");
jspWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 파일명
seedFtpType.setFileName("menu_main.jsp");
//파일 전송 타입 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(jspWriter!=null){try{jspWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
File file = new File(menuTopPathMain + "/menu_main.jsp");
if(file.exists()){
file.setLastModified(new Date().getTime());
}
if(jspOutputStreamWriter!=null){try{jspOutputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(jspFileOutputStream!=null){try{jspFileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
}
SeedUtils.setSeedFileCopy(menuTopPathMain + "/menu_main.html", menuTopPathSub + "/menu_sub.html");
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 파일명
seedFtpType.setFileName("menu_sub.html");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
SeedUtils.setSeedFileCopy(menuTopPathMain + "/menu_main.jsp", menuTopPathSub + "/menu_sub.jsp");
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/main/menu/top");
//WAS 파일명
seedFtpType.setFileName("menu_sub.jsp");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
}
fileChk = false;
//서브메뉴 저장
if(siteMenuIdx1s.size() > 0){
for(int i=0; i<siteMenuIdx1s.size(); i++){
fileChk = false;
String menuSubPathSub = rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/sub/menu/sub/"+siteMenuIdx1s.get(i);
SeedUtils.setSeedMkDirs(menuSubPathSub);
File menuSubMakeSubFile = new File(menuSubPathSub + "/menu_sub.html");
//서브 메뉴 저장
if(menuSubMakeSubFile.exists()){ //파일이 있는 경우 파일 menu_bak으로 파일명 변경
File menuSubFileSubBak = new File(menuSubPathSub + "/menu_sub_"+getDate+".html");
menuSubMakeSubFile.renameTo(menuSubFileSubBak); //menu.html을 menu_bak.html로 파일명 변경
//T_SITE_MENU_HISTORY 에 저장
T_SITE_MENU_HISTORY tSiteMenuHistorySub = new T_SITE_MENU_HISTORY();
tSiteMenuHistorySub.settSite(tSiteDB);
tSiteMenuHistorySub.setSiteMenuHistoryType("sub/"+siteMenuIdx1s.get(i));
tSiteMenuHistorySub.setSiteMenuHistoryFile("menu_sub_"+getDate+".html");
tSiteMenuHistorySub.setSiteMenuHistoryRegDate(new Date());
siteMenuHistoryDAO.setSiteMenuHistoryRegProc(tSiteMenuHistorySub);
List<T_SITE_MENU_HISTORY> siteMenuHistoryList = siteMenuHistoryDAO.getSiteMenuHistoryList(tSiteDB.getSiteIdx(), "sub/"+siteMenuIdx1s.get(i), "menu_sub");
if(siteMenuHistoryList != null && siteMenuHistoryList.size() > 10){ //10개 초과시 파일 삭제
T_SITE_MENU_HISTORY tSiteMenuHistoryDB = siteMenuHistoryList.get(0);
File bakFile = new File(menuSubPathSub+"/"+tSiteMenuHistoryDB.getSiteMenuHistoryFile());
if(bakFile.exists()){
bakFile.delete();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/sub/menu/sub/"+siteMenuIdx1s.get(i));
//WAS 서버의 경로
seedFtpType.setSrcFilePath("");
//WAS 파일명
seedFtpType.setFileName(tSiteMenuHistoryDB.getSiteMenuHistoryFile());
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("delFile");
seedFtpType.setSeedFtp();
}
siteMenuHistoryDAO.setSiteMenuHistoryDelProc(tSiteMenuHistoryDB);
}
}
siteMenuParentDepth = 0;
qryColumnsm = null;
List<T_SITE_MENU> siteMenuSubList = siteMenuDAO.getSiteMenuSubList(tSiteDB.getSiteIdx(), tSiteDB.getSiteMenuSubSDepth(), tSiteDB.getSiteMenuSubEDepth(), siteMenuIdx1s.get(i), qryColumnsm);
if(siteMenuSubList.size() > 0){
fileChk = true;
FileOutputStream htmlFileOutputStream = null;
OutputStreamWriter htmlOutputStreamWriter = null;
BufferedWriter htmlWriter = null;
FileOutputStream jspFileOutputStream = null;
OutputStreamWriter jspOutputStreamWriter = null;
BufferedWriter jspWriter = null;
try{
htmlFileOutputStream = new FileOutputStream(menuSubPathSub + "/menu_sub.html");
htmlOutputStreamWriter = new OutputStreamWriter(htmlFileOutputStream, "UTF-8");
htmlWriter = new BufferedWriter(htmlOutputStreamWriter);
jspFileOutputStream = new FileOutputStream(menuSubPathSub + "/menu_sub.jsp");
jspOutputStreamWriter = new OutputStreamWriter(jspFileOutputStream, "UTF-8");
jspWriter = new BufferedWriter(jspOutputStreamWriter);
jspWriter.write("<%@ page language='java' contentType='text/html; charset=UTF-8'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags' prefix='s'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %>");
jspWriter.write("\n");
jspWriter.write("\n");
Integer[] tempDepth = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
for(int x=0; x<siteMenuSubList.size(); x++){
siteMenuHtml = "";
siteMenuLink = "";
siteMenuLinkTarget = "";
tabMenuHtml = "";
T_SITE_MENU tSiteMenuTmp = siteMenuSubList.get(x);
depth = tSiteMenuTmp.getSiteMenuDepth();
siteMenuName = tSiteMenuTmp.getSiteMenuName();
//메뉴 권한설정
List<T_SITE_MENU_AUTH> siteMenuAuthList = siteMenuAuthDAO.getSiteMenuAuthList(tSiteMenuTmp.getSiteMenuIdx());
String siteMenuAuth = "";
for(int m=0; m<siteMenuAuthList.size(); m++){
T_SITE_MENU_AUTH tSiteMenuAuthDB = siteMenuAuthList.get(m);
siteMenuAuth += tSiteMenuAuthDB.getSiteMenuAuth() + ",";
}
if(siteMenuAuth.equals("")){
siteMenuAuth = " ";
}
siteMenuAuth = "data-auth='"+SeedUtils.setReplaceNull(tSiteMenuTmp.getSiteMenuAuth(), "N")+","+siteMenuAuth.substring(0, siteMenuAuth.length()-1)+"'";
if(tSiteMenuTmp.getSiteMenuNameType().equals("I")){
siteMenuName = "<img src='/site/"+tSiteDB.getSiteIdx()+"/images/menu/subMenu_"+tSiteMenuTmp.getSiteMenuIdxs()+"_off.gif' alt='"+siteMenuName+"' />";
}
if(tSiteMenuTmp.getSiteMenuType().equals("H")){
siteMenuLink = "<a href='/"+tSiteDB.getSiteIdx()+"/subIndex/"+tSiteMenuTmp.getSiteMenuIdx()+".do' title='"+tSiteMenuTmp.getSiteMenuName()+"'" +
" data-url='/"+tSiteDB.getSiteIdx()+"/subIndex/"+tSiteMenuTmp.getSiteMenuIdx()+".do' " +
" data-seed='"+tSiteDB.getSiteIdx()+"_"+tSiteMenuTmp.getSiteMenuIdxs()+"' " + siteMenuAuth +
" >"+siteMenuName+"</a>" + "\n";
}else{
if(tSiteMenuTmp.getSiteMenuLink().equals("B")){
siteMenuLinkTarget = "target='_blank' title='"+siteMenuName+" <s:message code=\"common.message.blank\"/> <s:message code=\"common.message.blank.go\"/>' ";
}else{
siteMenuLinkTarget = "title='"+tSiteMenuTmp.getSiteMenuName()+" '";
}
siteMenuLink = "<a href='"+tSiteMenuTmp.getSiteMenuLinkUrl()+"' "+siteMenuLinkTarget+
" data-url='"+tSiteMenuTmp.getSiteMenuLinkUrl()+"' " +
" data-seed='"+tSiteDB.getSiteIdx()+"_"+tSiteMenuTmp.getSiteMenuIdxs()+"' " + siteMenuAuth +
" >"+siteMenuName+"</a>" + "\n";
}
tempDepth[depth-1]++;
for(int d=0; d<depth-1; d++){
tabMenuHtml += " ";
}
if(siteMenuParentDepth < depth){
if((depth-1) == 1){
siteMenuHtml = tabMenuHtml + "<ul class='subMDp-"+(depth-1)+" subPos-"+tSiteMenuTmp.getSiteMenuIdx1()+"'>" + "\n";
}else{
siteMenuHtml = tabMenuHtml + "<ul class='subMDp-"+(depth-1)+"'>" + "\n";
}
siteMenuHtml += tabMenuHtml + " <li class='subMDp-"+(depth-1)+"-"+tempDepth[depth-1]+"'>" + siteMenuLink;
}else if(siteMenuParentDepth == depth){
siteMenuHtml = tabMenuHtml + " </li>" + "\n";
siteMenuHtml += tabMenuHtml + " <li class='subMDp-"+(depth-1)+"-"+tempDepth[depth-1]+"'>" + siteMenuLink;
}else if(siteMenuParentDepth > depth){
siteMenuHtml = "";
for(int j=0; j<(siteMenuParentDepth - depth); j++){
String tabMenuHtmlTemp = "";
for(int d=0; d<(siteMenuParentDepth-j); d++){
tabMenuHtmlTemp += " ";
}
siteMenuHtml += tabMenuHtmlTemp + " </li>" + "\n";
siteMenuHtml += tabMenuHtmlTemp + "</ul>" + "\n";
}
siteMenuHtml += tabMenuHtml + " </li>" + "\n";
siteMenuHtml += tabMenuHtml + " <li class='subMDp-"+(depth-1)+"-"+tempDepth[depth-1]+"'>" + siteMenuLink;
}
htmlWriter.write(siteMenuHtml);
jspWriter.write(siteMenuHtml);
siteMenuParentDepth = depth;
}
siteMenuHtml = "";
for(int m=0; m<(depth-2); m++){
tabMenuHtml = "";
for(int d=0; d<(depth-1-m); d++){
tabMenuHtml += " ";
}
siteMenuHtml += tabMenuHtml + " </li>" + "\n";
siteMenuHtml += tabMenuHtml + "</ul>" + "\n";
}
siteMenuHtml += " </li>" + "\n";
siteMenuHtml += " </ul>";
htmlWriter.write(siteMenuHtml);
htmlWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/sub/menu/sub/"+siteMenuIdx1s.get(i));
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/sub/menu/sub/"+siteMenuIdx1s.get(i));
//WAS 파일명
seedFtpType.setFileName("menu_sub.html");
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
seedFtpType.setFtpType("regFile");
seedFtpType.setSeedFtp();
jspWriter.write(siteMenuHtml);
jspWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/sub/menu/sub/"+siteMenuIdx1s.get(i));
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/sub/menu/sub/"+siteMenuIdx1s.get(i));
//WAS 파일명
seedFtpType.setFileName("menu_sub.jsp");
//파일 전송 타입 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(jspWriter!=null){try{jspWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
File file = new File(menuSubPathSub + "/menu_sub.jsp");
if(file.exists()){
file.setLastModified(new Date().getTime());
}
if(jspOutputStreamWriter!=null){try{jspOutputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(jspFileOutputStream!=null){try{jspFileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
}
}
if(!fileChk){
menuSubMakeSubFile.createNewFile();
FileOutputStream jspFileOutputStream = null;
OutputStreamWriter jspOutputStreamWriter = null;
BufferedWriter jspWriter = null;
try{
jspFileOutputStream = new FileOutputStream(menuSubPathSub + "/menu_sub.jsp");
jspOutputStreamWriter = new OutputStreamWriter(jspFileOutputStream, "UTF-8");
jspWriter = new BufferedWriter(jspOutputStreamWriter);
jspWriter.write("<%@ page language='java' contentType='text/html; charset=UTF-8'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags' prefix='s'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%>");
jspWriter.write("\n");
jspWriter.write("<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %>");
jspWriter.write("\n");
jspWriter.write("\n");
jspWriter.flush();
//WEB 서버의 경로
seedFtpType.setDestFilePath(tSiteDB.getSiteIdx()+"/jsp/sub/menu/sub/"+siteMenuIdx1s.get(i));
//WAS 서버의 경로
seedFtpType.setSrcFilePath(rootPath+"/"+tSiteDB.getSiteIdx()+"/jsp/sub/menu/sub/"+siteMenuIdx1s.get(i));
//WAS 파일명
seedFtpType.setFileName("menu_sub.jsp");
//파일 전송 타입 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(jspWriter!=null){try{jspWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
File file = new File(menuSubPathSub + "/menu_sub.jsp");
if(file.exists()){
file.setLastModified(new Date().getTime());
}
if(jspOutputStreamWriter!=null){try{jspOutputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
if(jspFileOutputStream!=null){try{jspFileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
}
}
}
}
success = true;
}catch(IOException ex){
success = false;
log.error("CHECK ERROR:",ex);
}
return success;
}
}