1266 lines
45 KiB
Java
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;
|
|
}
|
|
}
|