Merge branch 'tolag3'
This commit is contained in:
commit
b0ce557f37
59
pom.xml
59
pom.xml
@ -342,11 +342,11 @@
|
||||
<version>3.16</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<!--<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<version>3.16</version>
|
||||
</dependency>
|
||||
</dependency>-->
|
||||
|
||||
<!-- 자동완성기능 gson 사용 -->
|
||||
<dependency>
|
||||
@ -390,11 +390,11 @@
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<!--<dependency>
|
||||
<groupId>org.apache.pdfbox</groupId>
|
||||
<artifactId>pdfbox</artifactId>
|
||||
<version>2.0.24</version>
|
||||
</dependency>
|
||||
</dependency>-->
|
||||
|
||||
<!-- OZ 스케쥴러 연동 ozsfw80 -->
|
||||
<!--<dependency>
|
||||
@ -446,6 +446,57 @@
|
||||
<version>5.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/javax.media/jai-core -->
|
||||
<dependency>
|
||||
<groupId>javax.media</groupId>
|
||||
<artifactId>jai-core</artifactId>
|
||||
<version>1.1.3</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
|
||||
<dependency>
|
||||
<groupId>com.jcraft</groupId>
|
||||
<artifactId>jsch</artifactId>
|
||||
<version>0.1.44-1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/fr.opensagres.xdocreport/org.apache.poi.xwpf.converter.core -->
|
||||
<dependency>
|
||||
<groupId>fr.opensagres.xdocreport</groupId>
|
||||
<artifactId>org.apache.poi.xwpf.converter.core</artifactId>
|
||||
<version>1.0.4</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/fr.opensagres.xdocreport/org.apache.poi.xwpf.converter.pdf -->
|
||||
<dependency>
|
||||
<groupId>fr.opensagres.xdocreport</groupId>
|
||||
<artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
|
||||
<version>1.0.4</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/fr.opensagres.xdocreport/org.apache.poi.xwpf.converter.xhtml -->
|
||||
<dependency>
|
||||
<groupId>fr.opensagres.xdocreport</groupId>
|
||||
<artifactId>org.apache.poi.xwpf.converter.xhtml</artifactId>
|
||||
<version>1.0.4</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox-app -->
|
||||
<dependency>
|
||||
<groupId>org.apache.pdfbox</groupId>
|
||||
<artifactId>pdfbox-app</artifactId>
|
||||
<version>1.8.1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<version>3.9</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@ -44,97 +44,97 @@ public class ExcelUtil {
|
||||
*
|
||||
* ***********************************************************************************************
|
||||
*/
|
||||
public static SXSSFWorkbook makeSimpleFruitExcelWorkbook(List<Object> voList, String[] header, String[] order, int[] width, String title) throws Exception {
|
||||
// 시트 생성
|
||||
SXSSFWorkbook workbook = new SXSSFWorkbook();
|
||||
SXSSFSheet sheet = workbook.createSheet(title);
|
||||
|
||||
for (int i = 0; i < width.length; i++) {
|
||||
// sheet.setColumnWidth(0, width[width.length - (i + 1)]);
|
||||
sheet.setColumnWidth(i, width[i]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int r = 2;// 줄부터 찍기
|
||||
|
||||
Font font = workbook.createFont();
|
||||
font.setBoldweight(font.BOLDWEIGHT_BOLD);
|
||||
|
||||
CellStyle styleTh = workbook.createCellStyle(); // 표 Th
|
||||
styleTh.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게
|
||||
styleTh.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
styleTh.setBorderRight(CellStyle.BORDER_THIN);
|
||||
styleTh.setBorderTop(CellStyle.BORDER_THIN);
|
||||
styleTh.setAlignment(CellStyle.ALIGN_CENTER); // 정렬
|
||||
styleTh.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
|
||||
styleTh.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
|
||||
styleTh.setFont(font);
|
||||
|
||||
CellStyle styleTd = workbook.createCellStyle(); // 표 Td
|
||||
styleTd.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게
|
||||
styleTd.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게
|
||||
styleTd.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
styleTd.setBorderRight(CellStyle.BORDER_THIN);
|
||||
styleTd.setBorderTop(CellStyle.BORDER_THIN);
|
||||
styleTd.setAlignment(CellStyle.ALIGN_CENTER); // 정렬
|
||||
styleTd.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
|
||||
styleTd.setWrapText(true); // 자동 줄바꿈
|
||||
|
||||
|
||||
// 헤더 행 생
|
||||
Row headerRow = sheet.createRow(r);
|
||||
// 해더 값 채움 (우측 방향으로)
|
||||
Cell headerCell = null;
|
||||
for (int i = 0; i < header.length; i++) {
|
||||
headerCell = headerRow.createCell(i);
|
||||
headerCell.setCellValue(header[i]);
|
||||
headerCell.setCellStyle(styleTh);
|
||||
}
|
||||
|
||||
// 내용 행 및 셀 생성
|
||||
Row bodyRow = null;
|
||||
Cell bodyCell = null;
|
||||
|
||||
|
||||
bodyRow = sheet.createRow(0);
|
||||
bodyCell = bodyRow.createCell(0);
|
||||
bodyCell.setCellValue(title);// 읽어온 데이터 표시
|
||||
|
||||
|
||||
int c = 0;// 컬럼
|
||||
for (Object vo : voList) {
|
||||
bodyRow = sheet.createRow(r + 1);
|
||||
bodyCell = bodyRow.createCell(0);
|
||||
//bodyCell.setCellValue(r + 1); // 첫 컬럼은 줄 번호
|
||||
|
||||
PropertyDescriptor pd; // 클래스의 필드 메소드를 찾아줌. 이름을 기존에 vo.setUserId() 란 메소드를 통해서만 호출이 가능 했다면, PropertyDescriptor는 이름만으로 메소드
|
||||
// 호출이 가능함. 클래스가 변경 되어도 동일한 작동으로 getter&setter 호출이 가능하도록 도와줌
|
||||
Method[] methods = vo.getClass().getDeclaredMethods(); // 메소드들 호출함
|
||||
// 배열로 준 이름 과 같으면 해당 열 데이터 쓰기
|
||||
|
||||
for (int i = 0; i < order.length; i++) {
|
||||
for (Method method : methods) { // vo 내부 메소드 반복
|
||||
|
||||
if (method.getName().equals("get" + (order[i] == null ? "" : order[i]))) { // vo메소드 이름과 order의 이름 비교
|
||||
// getter 호출 준비
|
||||
String getMethodName = method.getName().substring(3); // getter의 이름 가져옴
|
||||
pd = new PropertyDescriptor(getMethodName, vo.getClass());
|
||||
|
||||
// vo의 데이터 세팅
|
||||
String cellData = (pd.getReadMethod().invoke(vo) != null ? pd.getReadMethod().invoke(vo) : "").toString();
|
||||
//log.debug("CellData {}", cellData);
|
||||
bodyCell = bodyRow.createCell(c++); // 데이터 순서
|
||||
bodyCell.setCellValue(cellData);// 읽어온 데이터 표시
|
||||
bodyCell.setCellStyle(styleTd);
|
||||
}
|
||||
}
|
||||
}
|
||||
c = 0;
|
||||
r++;
|
||||
}
|
||||
|
||||
return workbook;
|
||||
}
|
||||
// public static SXSSFWorkbook makeSimpleFruitExcelWorkbook(List<Object> voList, String[] header, String[] order, int[] width, String title) throws Exception {
|
||||
// // 시트 생성
|
||||
// SXSSFWorkbook workbook = new SXSSFWorkbook();
|
||||
// SXSSFSheet sheet = workbook.createSheet(title);
|
||||
//
|
||||
// for (int i = 0; i < width.length; i++) {
|
||||
//// sheet.setColumnWidth(0, width[width.length - (i + 1)]);
|
||||
// sheet.setColumnWidth(i, width[i]);
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// int r = 2;// 줄부터 찍기
|
||||
//
|
||||
// Font font = workbook.createFont();
|
||||
// font.setBoldweight(font.BOLDWEIGHT_BOLD);
|
||||
//
|
||||
// CellStyle styleTh = workbook.createCellStyle(); // 표 Th
|
||||
// styleTh.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게
|
||||
// styleTh.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
// styleTh.setBorderRight(CellStyle.BORDER_THIN);
|
||||
// styleTh.setBorderTop(CellStyle.BORDER_THIN);
|
||||
// styleTh.setAlignment(CellStyle.ALIGN_CENTER); // 정렬
|
||||
// styleTh.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
|
||||
// styleTh.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
|
||||
// styleTh.setFont(font);
|
||||
//
|
||||
// CellStyle styleTd = workbook.createCellStyle(); // 표 Td
|
||||
// styleTd.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게
|
||||
// styleTd.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게
|
||||
// styleTd.setBorderLeft(CellStyle.BORDER_THIN);
|
||||
// styleTd.setBorderRight(CellStyle.BORDER_THIN);
|
||||
// styleTd.setBorderTop(CellStyle.BORDER_THIN);
|
||||
// styleTd.setAlignment(CellStyle.ALIGN_CENTER); // 정렬
|
||||
// styleTd.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
|
||||
// styleTd.setWrapText(true); // 자동 줄바꿈
|
||||
//
|
||||
//
|
||||
// // 헤더 행 생
|
||||
// Row headerRow = sheet.createRow(r);
|
||||
// // 해더 값 채움 (우측 방향으로)
|
||||
// Cell headerCell = null;
|
||||
// for (int i = 0; i < header.length; i++) {
|
||||
// headerCell = headerRow.createCell(i);
|
||||
// headerCell.setCellValue(header[i]);
|
||||
// headerCell.setCellStyle(styleTh);
|
||||
// }
|
||||
//
|
||||
// // 내용 행 및 셀 생성
|
||||
// Row bodyRow = null;
|
||||
// Cell bodyCell = null;
|
||||
//
|
||||
//
|
||||
// bodyRow = sheet.createRow(0);
|
||||
// bodyCell = bodyRow.createCell(0);
|
||||
// bodyCell.setCellValue(title);// 읽어온 데이터 표시
|
||||
//
|
||||
//
|
||||
// int c = 0;// 컬럼
|
||||
// for (Object vo : voList) {
|
||||
// bodyRow = sheet.createRow(r + 1);
|
||||
// bodyCell = bodyRow.createCell(0);
|
||||
// //bodyCell.setCellValue(r + 1); // 첫 컬럼은 줄 번호
|
||||
//
|
||||
// PropertyDescriptor pd; // 클래스의 필드 메소드를 찾아줌. 이름을 기존에 vo.setUserId() 란 메소드를 통해서만 호출이 가능 했다면, PropertyDescriptor는 이름만으로 메소드
|
||||
// // 호출이 가능함. 클래스가 변경 되어도 동일한 작동으로 getter&setter 호출이 가능하도록 도와줌
|
||||
// Method[] methods = vo.getClass().getDeclaredMethods(); // 메소드들 호출함
|
||||
// // 배열로 준 이름 과 같으면 해당 열 데이터 쓰기
|
||||
//
|
||||
// for (int i = 0; i < order.length; i++) {
|
||||
// for (Method method : methods) { // vo 내부 메소드 반복
|
||||
//
|
||||
// if (method.getName().equals("get" + (order[i] == null ? "" : order[i]))) { // vo메소드 이름과 order의 이름 비교
|
||||
// // getter 호출 준비
|
||||
// String getMethodName = method.getName().substring(3); // getter의 이름 가져옴
|
||||
// pd = new PropertyDescriptor(getMethodName, vo.getClass());
|
||||
//
|
||||
// // vo의 데이터 세팅
|
||||
// String cellData = (pd.getReadMethod().invoke(vo) != null ? pd.getReadMethod().invoke(vo) : "").toString();
|
||||
////log.debug("CellData {}", cellData);
|
||||
// bodyCell = bodyRow.createCell(c++); // 데이터 순서
|
||||
// bodyCell.setCellValue(cellData);// 읽어온 데이터 표시
|
||||
// bodyCell.setCellStyle(styleTd);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// c = 0;
|
||||
// r++;
|
||||
// }
|
||||
//
|
||||
// return workbook;
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
439
src/main/java/seed/com/gtm/counsel/OnlineCounselController.java
Normal file
439
src/main/java/seed/com/gtm/counsel/OnlineCounselController.java
Normal file
@ -0,0 +1,439 @@
|
||||
package seed.com.gtm.counsel;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import seed.com.gtm.seedfile.SeedFileService;
|
||||
import seed.com.gtm.util.SeedCriteria;
|
||||
import seed.com.gtm.util.PageMaker;
|
||||
import seed.com.user.counsel.CounselService;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/gtm/case")
|
||||
public class OnlineCounselController {
|
||||
@Autowired
|
||||
private OnlineCounselService service;
|
||||
|
||||
@Autowired
|
||||
private SeedFileService fileService;
|
||||
|
||||
@Autowired
|
||||
private CounselService service2;
|
||||
|
||||
public void setSessionMessageRemove(HttpSession session){
|
||||
session.removeAttribute("url");
|
||||
session.removeAttribute("message");
|
||||
session.removeAttribute("opener");
|
||||
session.removeAttribute("append");
|
||||
session.removeAttribute("self");
|
||||
}
|
||||
|
||||
// /gtm/case/onlineCounsel/list.do
|
||||
@RequestMapping("/onlineCounsel/list.do")
|
||||
public String counselList(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
session.setAttribute("siteIdx", "case");
|
||||
//페이징 관련
|
||||
paramMap.put("pageStart", cri.getPageStart());
|
||||
paramMap.put("perPageNum", cri.getPerPageNum());
|
||||
paramMap.put("civilType", "online");
|
||||
|
||||
List<Map<String,Object>> data = service.counselList(paramMap);
|
||||
|
||||
PageMaker pageMaker = new PageMaker();
|
||||
pageMaker.setCri(cri);
|
||||
pageMaker.setTotalCount(service.counselTot(paramMap));
|
||||
|
||||
model.addAttribute("data", data);
|
||||
model.addAttribute("pageMaker", pageMaker);
|
||||
|
||||
return "/_extra/gtm/onlineCounsel/list";
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/view.do")
|
||||
public String counselView(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
|
||||
paramMap.put("dataIdx", paramMap.get("counselSeq"));
|
||||
paramMap.put("memberDept", session.getAttribute("memberDept"));
|
||||
Map<String,Object> data = service.counselView(paramMap);
|
||||
List<Map<String,Object>> memberList = service.memberSelect(paramMap);
|
||||
|
||||
model.addAttribute("data", data);
|
||||
model.addAttribute("memberList", memberList);
|
||||
model.addAttribute("fileList", fileService.fileList(paramMap));
|
||||
|
||||
return "/_extra/gtm/onlineCounsel/view";
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/writePage.do")
|
||||
public String counselWritePage(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
|
||||
paramMap.put("memberDept", session.getAttribute("memberDept"));
|
||||
List<Map<String,Object>> memberList = service.memberSelect(paramMap);
|
||||
|
||||
model.addAttribute("memberList", memberList);
|
||||
|
||||
return "/_extra/gtm/onlineCounsel/write";
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/write.do")
|
||||
public String counselWrite(ModelMap model,HttpServletRequest request, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map){
|
||||
|
||||
String applcntTel01 = SeedUtils.setReplaceNull(paramMap.get("applcntTel01"));
|
||||
String applcntTel02 = SeedUtils.setReplaceNull(paramMap.get("applcntTel02"));
|
||||
String applcntTel03 = SeedUtils.setReplaceNull(paramMap.get("applcntTel03"));
|
||||
String applcntTel = applcntTel01 + "-" + applcntTel02 + "-" + applcntTel03;
|
||||
paramMap.put("applcntTel", applcntTel);
|
||||
|
||||
paramMap.put("applcntCi", "");
|
||||
paramMap.put("applcntDi", "");
|
||||
paramMap.put("memberId", session.getAttribute("memberId"));
|
||||
paramMap.put("managerNm", session.getAttribute("memberName"));
|
||||
|
||||
service2.onlineCounselInsert(paramMap);
|
||||
paramMap.put("dataIdx", paramMap.get("seq"));
|
||||
fileService.fileInsert(paramMap, request, session);
|
||||
|
||||
|
||||
map.put("message", "common.message.reg");
|
||||
map.put("url", "/gtm/case/onlineCounsel/list.do");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/edit.do")
|
||||
public String counselEdit(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
|
||||
if( SeedUtils.setReplaceNull(paramMap.get("managerNm")).equals("") ){
|
||||
paramMap.put("managerNm", session.getAttribute("memberName"));
|
||||
}
|
||||
|
||||
if( SeedUtils.setReplaceNull(paramMap.get("managerId")).equals("") ){
|
||||
paramMap.put("managerId", session.getAttribute("memberId"));
|
||||
}
|
||||
|
||||
|
||||
service.counselUpdate(paramMap);
|
||||
|
||||
String counselSeq = SeedUtils.setReplaceNull(paramMap.get("counselSeq"));
|
||||
String page = SeedUtils.setReplaceNull(paramMap.get("page"));
|
||||
String searchDate1 = SeedUtils.setReplaceNull(paramMap.get("searchDate1"));
|
||||
String searchDate2 = SeedUtils.setReplaceNull(paramMap.get("searchDate2"));
|
||||
String searchDate3 = SeedUtils.setReplaceNull(paramMap.get("searchDate3"));
|
||||
String searchDate4 = SeedUtils.setReplaceNull(paramMap.get("searchDate4"));
|
||||
String searchDate5 = SeedUtils.setReplaceNull(paramMap.get("searchDate5"));
|
||||
String searchDate6 = SeedUtils.setReplaceNull(paramMap.get("searchDate6"));
|
||||
String searchApp = SeedUtils.setReplaceNull(paramMap.get("searchApp"));
|
||||
String searchMa = SeedUtils.setReplaceNull(paramMap.get("searchMa"));
|
||||
String searchTitle = SeedUtils.setReplaceNull(paramMap.get("searchTitle"));
|
||||
String searchType = SeedUtils.setReplaceNull(paramMap.get("searchType"));
|
||||
String searchState = SeedUtils.setReplaceNull(paramMap.get("searchState"));
|
||||
String fileFuncType = SeedUtils.setReplaceNull(paramMap.get("fileFuncType"));
|
||||
|
||||
this.setSessionMessageRemove(session);
|
||||
|
||||
map.put("message", "common.message.reg");
|
||||
map.put("url", "/gtm/case/onlineCounsel/view.do?counselSeq=" + counselSeq + "&page=" + page +
|
||||
"&searchDate1=" + searchDate1 + "&searchDate2=" + searchDate2 + "&searchDate3=" + searchDate3 +
|
||||
"&searchDate4=" + searchDate4 + "&searchDate5=" + searchDate5 + "&searchDate6=" + searchDate6 + "&searchApp=" + searchApp + "&searchMa=" + searchMa + "&searchTitle=" + searchTitle +
|
||||
"&searchType=" + searchType + "&searchState=" + searchState + "&fileFuncType=" + fileFuncType);
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/state.do")
|
||||
public String counselState(HttpServletRequest request ,ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
String[] checkList = request.getParameterValues("okCheck");
|
||||
|
||||
//센터장(memberPosition : 0902000000)만 승인가능 하도록
|
||||
String memberPosition = SeedUtils.setReplaceNull(session.getAttribute("memberPosition"));
|
||||
String siteIdx = SeedUtils.setReplaceNull(session.getAttribute("siteIdx"));
|
||||
if(!"0902000000".equals(memberPosition)){
|
||||
session.setAttribute("sSiteIdx", siteIdx);
|
||||
session.setAttribute("message", "(message)승인 권한이 없습니다.");
|
||||
session.setAttribute("self", "history");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
}
|
||||
|
||||
if(checkList != null && checkList.length > 0){
|
||||
for(int i = 0; i < checkList.length; i++){
|
||||
paramMap.put("counselSeq", checkList[i]);
|
||||
service.counselUpdateState(paramMap);
|
||||
}
|
||||
}else{
|
||||
service.counselUpdateState(paramMap);
|
||||
}
|
||||
|
||||
|
||||
/*service.counselUpdateState(paramMap);*/
|
||||
|
||||
String page = SeedUtils.setReplaceNull(paramMap.get("page"));
|
||||
String searchDate1 = SeedUtils.setReplaceNull(paramMap.get("searchDate1"));
|
||||
String searchDate2 = SeedUtils.setReplaceNull(paramMap.get("searchDate2"));
|
||||
String searchDate3 = SeedUtils.setReplaceNull(paramMap.get("searchDate3"));
|
||||
String searchDate4 = SeedUtils.setReplaceNull(paramMap.get("searchDate4"));
|
||||
String searchApp = SeedUtils.setReplaceNull(paramMap.get("searchApp"));
|
||||
String searchMa = SeedUtils.setReplaceNull(paramMap.get("searchMa"));
|
||||
String searchTitle = SeedUtils.setReplaceNull(paramMap.get("searchTitle"));
|
||||
String searchType = SeedUtils.setReplaceNull(paramMap.get("searchType"));
|
||||
String searchState = SeedUtils.setReplaceNull(paramMap.get("searchState"));
|
||||
|
||||
this.setSessionMessageRemove(session);
|
||||
|
||||
map.put("message", "common.message.reg");
|
||||
map.put("url", "/gtm/case/onlineCounsel/list.do?page=" + page +
|
||||
"&searchDate1=" + searchDate1 + "&searchDate2=" + searchDate2 + "&searchDate3=" + searchDate3 +
|
||||
"&searchDate4=" + searchDate4 + "&searchApp=" + searchApp + "&searchMa=" + searchMa + "&searchTitle=" + searchTitle +
|
||||
"&searchType=" + searchType + "&searchState=" + searchState);
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/onlineCounsel/del.do")
|
||||
public String counselDel(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
|
||||
service.counselDelete(paramMap);
|
||||
map.put("message", "common.message.del");
|
||||
map.put("url", "/gtm/case/onlineCounsel/list.do");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
|
||||
|
||||
// /gtm/case/onlineCounsel/lawList.do
|
||||
@RequestMapping("/onlineCounsel/lawList.do")
|
||||
public String lawCounselList(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
session.setAttribute("siteIdx", "case");
|
||||
//페이징 관련
|
||||
paramMap.put("pageStart", cri.getPageStart());
|
||||
paramMap.put("perPageNum", cri.getPerPageNum());
|
||||
paramMap.put("civilType", "law");
|
||||
|
||||
List<Map<String,Object>> data = service.counselList(paramMap);
|
||||
|
||||
PageMaker pageMaker = new PageMaker();
|
||||
pageMaker.setCri(cri);
|
||||
pageMaker.setTotalCount(service.counselTot(paramMap));
|
||||
|
||||
model.addAttribute("data", data);
|
||||
model.addAttribute("pageMaker", pageMaker);
|
||||
|
||||
return "/_extra/gtm/onlineCounsel/lawList";
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/lawView.do")
|
||||
public String lawCounselView(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
|
||||
paramMap.put("dataIdx", paramMap.get("counselSeq"));
|
||||
paramMap.put("memberDept", session.getAttribute("memberDept"));
|
||||
Map<String,Object> data = service.counselView(paramMap);
|
||||
List<Map<String,Object>> memberList = service.memberSelect(paramMap);
|
||||
|
||||
model.addAttribute("data", data);
|
||||
model.addAttribute("memberList", memberList);
|
||||
model.addAttribute("fileList", fileService.fileList(paramMap));
|
||||
paramMap.put("fileFuncType", SeedUtils.setReplaceNull(paramMap.get("fileFuncType2")));
|
||||
model.addAttribute("fileList2", fileService.fileList(paramMap));
|
||||
|
||||
return "/_extra/gtm/onlineCounsel/lawView";
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/lawWritePage.do")
|
||||
public String lawWritePage(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
|
||||
paramMap.put("memberDept", session.getAttribute("memberDept"));
|
||||
List<Map<String,Object>> memberList = service.memberSelect(paramMap);
|
||||
|
||||
model.addAttribute("memberList", memberList);
|
||||
|
||||
return "/_extra/gtm/onlineCounsel/lawWrite";
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/onlineCounsel/lawWrite.do")
|
||||
public String lawWrite(ModelMap model,HttpServletRequest request, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map){
|
||||
|
||||
paramMap.put("applcntCi", "");
|
||||
paramMap.put("applcntDi", "");
|
||||
paramMap.put("memberId", session.getAttribute("memberId"));
|
||||
paramMap.put("managerNm", session.getAttribute("memberName"));
|
||||
paramMap.put("memberDept", session.getAttribute("memberDept"));
|
||||
|
||||
service2.lawCounselInsert(paramMap);
|
||||
paramMap.put("dataIdx", paramMap.get("seq"));
|
||||
fileService.fileInsert(paramMap, request, session);
|
||||
|
||||
map.put("message", "common.message.reg");
|
||||
map.put("url", "/gtm/case/onlineCounsel/lawList.do");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/rawEdit.do")
|
||||
public String lawCounselEdit(ModelMap model, HttpServletRequest request,HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
|
||||
if( SeedUtils.setReplaceNull(paramMap.get("managerNm")).equals("") ){
|
||||
paramMap.put("managerNm", session.getAttribute("memberName"));
|
||||
}
|
||||
|
||||
if( SeedUtils.setReplaceNull(paramMap.get("managerId")).equals("") ){
|
||||
paramMap.put("managerId", session.getAttribute("memberId"));
|
||||
}
|
||||
|
||||
paramMap.put("dataIdx", paramMap.get("counselSeq"));
|
||||
|
||||
service.lawCounselUpdate(paramMap);
|
||||
fileService.fileInsert(paramMap, request, session);
|
||||
fileService.fileDel(paramMap);
|
||||
|
||||
String counselSeq = SeedUtils.setReplaceNull(paramMap.get("counselSeq"));
|
||||
String page = SeedUtils.setReplaceNull(paramMap.get("page"));
|
||||
String searchDate1 = SeedUtils.setReplaceNull(paramMap.get("searchDate1"));
|
||||
String searchDate2 = SeedUtils.setReplaceNull(paramMap.get("searchDate2"));
|
||||
String searchDate3 = SeedUtils.setReplaceNull(paramMap.get("searchDate3"));
|
||||
String searchDate4 = SeedUtils.setReplaceNull(paramMap.get("searchDate4"));
|
||||
String searchDate5 = SeedUtils.setReplaceNull(paramMap.get("searchDate5"));
|
||||
String searchDate6 = SeedUtils.setReplaceNull(paramMap.get("searchDate6"));
|
||||
String searchApp = SeedUtils.setReplaceNull(paramMap.get("searchApp"));
|
||||
String searchMa = SeedUtils.setReplaceNull(paramMap.get("searchMa"));
|
||||
String searchTitle = SeedUtils.setReplaceNull(paramMap.get("searchTitle"));
|
||||
String searchType = SeedUtils.setReplaceNull(paramMap.get("searchType"));
|
||||
String searchState = SeedUtils.setReplaceNull(paramMap.get("searchState"));
|
||||
String fileFuncType = "law";
|
||||
String fileFuncType2 = "lawCard";
|
||||
|
||||
this.setSessionMessageRemove(session);
|
||||
|
||||
map.put("message", "common.message.reg");
|
||||
map.put("url", "/gtm/case/onlineCounsel/lawView.do?counselSeq=" + counselSeq + "&page=" + page +
|
||||
"&searchDate1=" + searchDate1 + "&searchDate2=" + searchDate2 + "&searchDate3=" + searchDate3 +
|
||||
"&searchDate4=" + searchDate4 + "&searchDate5=" + searchDate5 + "&searchDate6=" + searchDate6 + "&searchApp=" + searchApp + "&searchMa=" + searchMa + "&searchTitle=" + searchTitle +
|
||||
"&searchType=" + searchType + "&searchState=" + searchState + "&fileFuncType=" + fileFuncType + "&fileFuncType2=" + fileFuncType2);
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/lawState.do")
|
||||
public String lawCounselState(HttpServletRequest request ,ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
String[] checkList = request.getParameterValues("okCheck");
|
||||
|
||||
//센터장(memberPosition : 0902000000)만 승인가능 하도록
|
||||
String memberPosition = SeedUtils.setReplaceNull(session.getAttribute("memberPosition"));
|
||||
String siteIdx = SeedUtils.setReplaceNull(session.getAttribute("siteIdx"));
|
||||
if(!"0902000000".equals(memberPosition)){
|
||||
session.setAttribute("sSiteIdx", siteIdx);
|
||||
session.setAttribute("message", "(message)승인 권한이 없습니다.");
|
||||
session.setAttribute("self", "history");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
}
|
||||
|
||||
if(checkList != null && checkList.length > 0){
|
||||
for(int i = 0; i < checkList.length; i++){
|
||||
paramMap.put("counselSeq", checkList[i]);
|
||||
service.counselUpdateState(paramMap);
|
||||
}
|
||||
}else{
|
||||
service.counselUpdateState(paramMap);
|
||||
}
|
||||
|
||||
|
||||
/*service.counselUpdateState(paramMap);*/
|
||||
|
||||
String page = SeedUtils.setReplaceNull(paramMap.get("page"));
|
||||
String searchDate1 = SeedUtils.setReplaceNull(paramMap.get("searchDate1"));
|
||||
String searchDate2 = SeedUtils.setReplaceNull(paramMap.get("searchDate2"));
|
||||
String searchDate3 = SeedUtils.setReplaceNull(paramMap.get("searchDate3"));
|
||||
String searchDate4 = SeedUtils.setReplaceNull(paramMap.get("searchDate4"));
|
||||
String searchDate5 = SeedUtils.setReplaceNull(paramMap.get("searchDate5"));
|
||||
String searchDate6 = SeedUtils.setReplaceNull(paramMap.get("searchDate6"));
|
||||
String searchApp = SeedUtils.setReplaceNull(paramMap.get("searchApp"));
|
||||
String searchMa = SeedUtils.setReplaceNull(paramMap.get("searchMa"));
|
||||
String searchTitle = SeedUtils.setReplaceNull(paramMap.get("searchTitle"));
|
||||
String searchType = SeedUtils.setReplaceNull(paramMap.get("searchType"));
|
||||
String searchState = SeedUtils.setReplaceNull(paramMap.get("searchState"));
|
||||
|
||||
this.setSessionMessageRemove(session);
|
||||
|
||||
map.put("message", "common.message.reg");
|
||||
map.put("url", "/gtm/case/onlineCounsel/lawList.do?page=" + page +
|
||||
"&searchDate1=" + searchDate1 + "&searchDate2=" + searchDate2 + "&searchDate3=" + searchDate3 +
|
||||
"&searchDate4=" + searchDate4 + "&searchDate5=" + searchDate5 + "&searchDate6=" + searchDate6 + "&searchApp=" + searchApp + "&searchMa=" + searchMa + "&searchTitle=" + searchTitle +
|
||||
"&searchType=" + searchType + "&searchState=" + searchState);
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/onlineCounsel/lawDel.do")
|
||||
public String counselLawDel(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
|
||||
service.counselDelete(paramMap);
|
||||
map.put("message", "common.message.del");
|
||||
map.put("url", "/gtm/case/onlineCounsel/lawList.do");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping("/onlineCounsel/civilChange.do")
|
||||
public String counselCivilChange(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map, SeedCriteria cri){
|
||||
|
||||
if( SeedUtils.setReplaceNull(paramMap.get("managerNm")).equals("") ){
|
||||
paramMap.put("managerNm", session.getAttribute("memberName"));
|
||||
}
|
||||
|
||||
if( SeedUtils.setReplaceNull(paramMap.get("managerId")).equals("") ){
|
||||
paramMap.put("managerId", session.getAttribute("memberId"));
|
||||
}
|
||||
|
||||
service.counselCivilChange(paramMap);
|
||||
|
||||
String counselSeq = SeedUtils.setReplaceNull(paramMap.get("counselSeq"));
|
||||
String civilType = SeedUtils.setReplaceNull(paramMap.get("civilType"));
|
||||
String page = SeedUtils.setReplaceNull(paramMap.get("page"));
|
||||
String searchDate1 = SeedUtils.setReplaceNull(paramMap.get("searchDate1"));
|
||||
String searchDate2 = SeedUtils.setReplaceNull(paramMap.get("searchDate2"));
|
||||
String searchDate3 = SeedUtils.setReplaceNull(paramMap.get("searchDate3"));
|
||||
String searchDate4 = SeedUtils.setReplaceNull(paramMap.get("searchDate4"));
|
||||
String searchDate5 = SeedUtils.setReplaceNull(paramMap.get("searchDate5"));
|
||||
String searchDate6 = SeedUtils.setReplaceNull(paramMap.get("searchDate6"));
|
||||
String searchApp = SeedUtils.setReplaceNull(paramMap.get("searchApp"));
|
||||
String searchMa = SeedUtils.setReplaceNull(paramMap.get("searchMa"));
|
||||
String searchTitle = SeedUtils.setReplaceNull(paramMap.get("searchTitle"));
|
||||
String searchType = SeedUtils.setReplaceNull(paramMap.get("searchType"));
|
||||
String searchState = SeedUtils.setReplaceNull(paramMap.get("searchState"));
|
||||
|
||||
this.setSessionMessageRemove(session);
|
||||
|
||||
map.put("message", "common.message.mod");
|
||||
|
||||
if(civilType.equals("online")) {
|
||||
map.put("url", "/gtm/case/onlineCounsel/list.do#onlineCounsel_17");
|
||||
} else {
|
||||
map.put("url", "/gtm/case/onlineCounsel/lawList.do#onlineCounsel_18");
|
||||
}
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
}
|
||||
51
src/main/java/seed/com/gtm/counsel/OnlineCounselService.java
Normal file
51
src/main/java/seed/com/gtm/counsel/OnlineCounselService.java
Normal file
@ -0,0 +1,51 @@
|
||||
package seed.com.gtm.counsel;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import seed.com.gtm.dao.OnlineConunselDao;
|
||||
|
||||
@Service
|
||||
public class OnlineCounselService {
|
||||
@Autowired
|
||||
private OnlineConunselDao dao;
|
||||
|
||||
public List<Map<String, Object>> counselList(Map<String,Object> paramMap){
|
||||
return dao.counselList(paramMap);
|
||||
}
|
||||
|
||||
public int counselTot(Map<String,Object> paramMap){
|
||||
return dao.counselTot(paramMap);
|
||||
}
|
||||
|
||||
public Map<String, Object> counselView(Map<String,Object> paramMap){
|
||||
return dao.counselView(paramMap);
|
||||
}
|
||||
|
||||
public void counselUpdate(Map<String,Object> paramMap){
|
||||
dao.counselUpdate(paramMap);
|
||||
}
|
||||
|
||||
public void counselUpdateState(Map<String,Object> paramMap){
|
||||
dao.counselUpdateState(paramMap);
|
||||
}
|
||||
|
||||
public void lawCounselUpdate(Map<String,Object> paramMap){
|
||||
dao.lawCounselUpdate(paramMap);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> memberSelect(Map<String,Object> paramMap){
|
||||
return dao.memberSelect(paramMap);
|
||||
}
|
||||
|
||||
public void counselDelete(Map<String,Object> paramMap){
|
||||
dao.counselDelete(paramMap);
|
||||
}
|
||||
|
||||
public void counselCivilChange(Map<String,Object> paramMap){
|
||||
dao.counselCivilChange(paramMap);
|
||||
}
|
||||
}
|
||||
16
src/main/java/seed/com/gtm/dao/OnlineConunselDao.java
Normal file
16
src/main/java/seed/com/gtm/dao/OnlineConunselDao.java
Normal file
@ -0,0 +1,16 @@
|
||||
package seed.com.gtm.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface OnlineConunselDao {
|
||||
public List<Map<String,Object>> counselList(Map<String,Object> paramMap);
|
||||
public int counselTot(Map<String,Object> paramMap);
|
||||
public Map<String,Object> counselView(Map<String,Object> paramMap);
|
||||
public void counselUpdate(Map<String,Object> paramMap);
|
||||
public void counselUpdateState(Map<String,Object> paramMap);
|
||||
public void lawCounselUpdate(Map<String,Object> paramMap);
|
||||
public List<Map<String,Object>> memberSelect(Map<String,Object> paramMap);
|
||||
public void counselDelete(Map<String,Object> paramMap);
|
||||
public void counselCivilChange(Map<String,Object> paramMap);
|
||||
}
|
||||
60
src/main/java/seed/com/gtm/dao/OnlineCounselDaoImpl.java
Normal file
60
src/main/java/seed/com/gtm/dao/OnlineCounselDaoImpl.java
Normal file
@ -0,0 +1,60 @@
|
||||
package seed.com.gtm.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class OnlineCounselDaoImpl implements OnlineConunselDao {
|
||||
|
||||
@Autowired
|
||||
private SqlSession sqlSession;
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> counselList(Map<String,Object> paramMap) {
|
||||
return sqlSession.selectList("onlineCounsel.select", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int counselTot(Map<String, Object> paramMap) {
|
||||
return sqlSession.selectOne("onlineCounsel.selectTot", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> counselView(Map<String, Object> paramMap) {
|
||||
return sqlSession.selectOne("onlineCounsel.view", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void counselUpdate(Map<String, Object> paramMap) {
|
||||
sqlSession.update("onlineCounsel.update", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void counselUpdateState(Map<String, Object> paramMap) {
|
||||
sqlSession.update("onlineCounsel.updateState", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void lawCounselUpdate(Map<String, Object> paramMap) {
|
||||
sqlSession.update("onlineCounsel.lawUpdate", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> memberSelect(Map<String, Object> paramMap) {
|
||||
return sqlSession.selectList("onlineCounsel.memberSelect", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void counselDelete(Map<String, Object> paramMap) {
|
||||
sqlSession.update("onlineCounsel.delete", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void counselCivilChange(Map<String, Object> paramMap) {
|
||||
sqlSession.update("onlineCounsel.civilChange", paramMap);
|
||||
}
|
||||
}
|
||||
42
src/main/java/seed/com/gtm/util/Criteria.java
Normal file
42
src/main/java/seed/com/gtm/util/Criteria.java
Normal file
@ -0,0 +1,42 @@
|
||||
package seed.com.gtm.util;
|
||||
|
||||
public class Criteria {
|
||||
private int page;
|
||||
private int perPageNum;
|
||||
|
||||
public Criteria(){
|
||||
this.page= 1;
|
||||
this.perPageNum = 10;
|
||||
}
|
||||
|
||||
public void setPage(int page){
|
||||
if(page <= 0){
|
||||
this.page = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
public void setPerPageNum(int perPageNum){
|
||||
if(perPageNum <= 0 || perPageNum > 100){
|
||||
this.perPageNum = 10;
|
||||
return;
|
||||
}
|
||||
|
||||
this.perPageNum = perPageNum;
|
||||
}
|
||||
|
||||
public int getPage(){
|
||||
return page;
|
||||
}
|
||||
|
||||
public int getPageStart(){
|
||||
return (this.page - 1) * perPageNum;
|
||||
}
|
||||
|
||||
public int getPerPageNum(){
|
||||
return this.perPageNum;
|
||||
}
|
||||
|
||||
}
|
||||
1568
src/main/java/seed/com/user/counsel/CounselController.java
Normal file
1568
src/main/java/seed/com/user/counsel/CounselController.java
Normal file
File diff suppressed because it is too large
Load Diff
22
src/main/java/seed/com/user/counsel/CounselService.java
Normal file
22
src/main/java/seed/com/user/counsel/CounselService.java
Normal file
@ -0,0 +1,22 @@
|
||||
package seed.com.user.counsel;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import seed.com.user.dao.CounselDao;
|
||||
|
||||
@Service
|
||||
public class CounselService {
|
||||
@Autowired
|
||||
private CounselDao dao;
|
||||
|
||||
public void onlineCounselInsert(Map<String, Object> paramMap){
|
||||
dao.onlineCounselInsert(paramMap);
|
||||
}
|
||||
|
||||
public void lawCounselInsert(Map<String, Object> paramMap){
|
||||
dao.lawCounselInsert(paramMap);
|
||||
}
|
||||
}
|
||||
8
src/main/java/seed/com/user/dao/CounselDao.java
Normal file
8
src/main/java/seed/com/user/dao/CounselDao.java
Normal file
@ -0,0 +1,8 @@
|
||||
package seed.com.user.dao;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface CounselDao {
|
||||
public void onlineCounselInsert(Map<String,Object> paramMap);
|
||||
public void lawCounselInsert(Map<String,Object> paramMap);
|
||||
}
|
||||
27
src/main/java/seed/com/user/dao/CounselDaoImpl.java
Normal file
27
src/main/java/seed/com/user/dao/CounselDaoImpl.java
Normal file
@ -0,0 +1,27 @@
|
||||
package seed.com.user.dao;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class CounselDaoImpl implements CounselDao {
|
||||
|
||||
@Autowired
|
||||
private SqlSession sqlSession;
|
||||
|
||||
@Override
|
||||
public void onlineCounselInsert(Map<String, Object> paramMap) {
|
||||
// TODO Auto-generated method stub
|
||||
sqlSession.insert("onlineCounsel.insert", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void lawCounselInsert(Map<String, Object> paramMap) {
|
||||
// TODO Auto-generated method stub
|
||||
sqlSession.insert("onlineCounsel.lawInsert", paramMap);
|
||||
}
|
||||
|
||||
}
|
||||
20
src/main/java/seed/common/service/CommonFileService.java
Normal file
20
src/main/java/seed/common/service/CommonFileService.java
Normal file
@ -0,0 +1,20 @@
|
||||
package seed.common.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import seed.map.T_COMMON_FILE;
|
||||
|
||||
public interface CommonFileService {
|
||||
|
||||
public T_COMMON_FILE getCommonFileForm(Integer commonFileIdx);
|
||||
|
||||
public List<T_COMMON_FILE> getCommonFileList(Integer funcIdx, String fileCode);
|
||||
|
||||
public T_COMMON_FILE setCommonFileRegProc(T_COMMON_FILE tCommonFile, MultipartFile upFile, String siteIdx, boolean fileEncryChk, Integer funcIdx, String fileCode, String rootPath);
|
||||
|
||||
public boolean setCommonFileDelProc(Integer commonFileIdx, String siteIdx, String rootPath);
|
||||
|
||||
public boolean setMultiFileRegProc(List<MultipartFile> upFiles, String siteIdx, String filePath, String rootPath);
|
||||
}
|
||||
191
src/main/java/seed/common/service/CommonFileServiceImpl.java
Normal file
191
src/main/java/seed/common/service/CommonFileServiceImpl.java
Normal file
@ -0,0 +1,191 @@
|
||||
package seed.common.service;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import net.coobird.thumbnailator.Thumbnails;
|
||||
|
||||
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.CommonFileDAO;
|
||||
import seed.map.T_COMMON_FILE;
|
||||
import seed.utils.SeedFileUtils;
|
||||
import seed.utils.SeedFtpType;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Service
|
||||
public class CommonFileServiceImpl extends AbstractServiceImpl implements CommonFileService{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
private CommonFileDAO commonFileDAO;
|
||||
|
||||
public List<T_COMMON_FILE> getCommonFileList(Integer funcIdx, String fileCode){
|
||||
|
||||
return commonFileDAO.getCommonFileList(funcIdx, fileCode);
|
||||
}
|
||||
|
||||
public T_COMMON_FILE getCommonFileForm(Integer commonFileIdx){
|
||||
|
||||
return commonFileDAO.getCommonFileForm(commonFileIdx);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public T_COMMON_FILE setCommonFileRegProc(T_COMMON_FILE tCommonFile, MultipartFile upFile, String siteIdx, boolean fileEncryChk, Integer funcIdx, String fileCode, String rootPath){
|
||||
|
||||
try{
|
||||
|
||||
SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
|
||||
String toDate = sdfFormat.format(new Date()).substring(0, 8);
|
||||
|
||||
//오늘날짜 18시 이후면 다른 폴더 삭제 및 DB삭제
|
||||
if(Integer.parseInt(sdfFormat.format(new Date()).substring(8, 10)) >= 18){
|
||||
SeedUtils.setSeedDeleteFiles(rootPath + "/" + siteIdx + "/upload/tempFiles/", toDate);
|
||||
|
||||
List<T_COMMON_FILE> tCommonFileList = commonFileDAO.getCommonFileList(toDate);
|
||||
if(tCommonFileList != null && tCommonFileList.size() > 0){
|
||||
for(int i=0; i<tCommonFileList.size(); i++){
|
||||
T_COMMON_FILE tCommonFileDB = tCommonFileList.get(i);
|
||||
commonFileDAO.setCommonFileDelProc(tCommonFileDB);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//오늘날짜로 폴더 생성(MD5로 폴더 변환하여 생성)
|
||||
SeedUtils.setSeedMkDirs(rootPath + "/" + siteIdx + "/upload/tempFiles/" + toDate + "/" + fileCode);
|
||||
|
||||
String reFileName = funcIdx + "_" + sdfFormat.format(new Date()) + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
|
||||
|
||||
File makeFile = new File(rootPath + "/" + siteIdx + "/upload/tempFiles/" + toDate + "/" +
|
||||
fileCode + "/" + reFileName + upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
|
||||
upFile.transferTo(makeFile);
|
||||
|
||||
if(upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")+1).toLowerCase().equals("jpg") ||
|
||||
upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")+1).toLowerCase().equals("jpeg") ||
|
||||
upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")+1).toLowerCase().equals("bmp") ||
|
||||
upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")+1).toLowerCase().equals("png")){
|
||||
|
||||
Thumbnails.of(
|
||||
new File(rootPath + "/" + siteIdx + "/upload/tempFiles/" + toDate + "/" +
|
||||
fileCode + "/" + reFileName + upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")))).
|
||||
size(100, 50).
|
||||
toFile(new File(rootPath + "/" + siteIdx + "/upload/tempFiles/" + toDate + "/" +
|
||||
fileCode + "/thumb_" + reFileName + upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")))
|
||||
);
|
||||
|
||||
}else if(upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")+1).toLowerCase().equals("gif")){
|
||||
|
||||
SeedUtils.setSeedFileCopy(rootPath + "/" + siteIdx + "/upload/tempFiles/" + toDate + "/" +
|
||||
fileCode + "/" + reFileName + upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")),
|
||||
rootPath + "/" + siteIdx + "/upload/tempFiles/" + toDate + "/" + fileCode + "/thumb_" + reFileName + upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
|
||||
}
|
||||
|
||||
tCommonFile.setCommonFileFuncIdx(funcIdx);
|
||||
tCommonFile.setCommonFileCode(fileCode);
|
||||
tCommonFile.setCommonFileDate(toDate);
|
||||
tCommonFile.setCommonFileRegDate(new Date());
|
||||
tCommonFile.setCommonFileName(upFile.getOriginalFilename());
|
||||
tCommonFile.setCommonFileReName(reFileName+upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
|
||||
tCommonFile.setCommonFileSize(upFile.getSize());
|
||||
tCommonFile.setCommonFileType(upFile.getOriginalFilename().toLowerCase().substring(upFile.getOriginalFilename().lastIndexOf(".")+1));
|
||||
tCommonFile.setCommonFileEncryption("N");
|
||||
|
||||
if(fileEncryChk){
|
||||
|
||||
//파일 암호화
|
||||
SeedFileUtils.setSeedEncryptFile(rootPath + "/" + siteIdx + "/upload/tempFiles/" + toDate + "/" +
|
||||
fileCode + "/" + reFileName + upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf(".")));
|
||||
|
||||
//원본 파일 삭제
|
||||
makeFile.delete();
|
||||
|
||||
//암호화된 파일명 원본 파일명으로 변경
|
||||
File encryFile = new File(rootPath + "/" + siteIdx + "/upload/tempFiles/" + toDate + "/" +
|
||||
fileCode + "/" + reFileName + upFile.getOriginalFilename().substring(upFile.getOriginalFilename().lastIndexOf("."))+".des");
|
||||
|
||||
encryFile.renameTo(makeFile);
|
||||
|
||||
tCommonFile.setCommonFileEncryption("Y");
|
||||
}
|
||||
}catch(IOException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return commonFileDAO.setCommonFileRegProc(tCommonFile);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public boolean setCommonFileDelProc(Integer commonFileIdx, String siteIdx, String rootPath){
|
||||
|
||||
SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
String toDate = sdfFormat.format(new Date()).substring(0, 8);
|
||||
|
||||
T_COMMON_FILE tCommonFile = commonFileDAO.getCommonFileForm(commonFileIdx);
|
||||
|
||||
SeedUtils.setSeedDeleteFile(rootPath + "/" + siteIdx + "/upload/tempFiles/" + toDate + "/" +
|
||||
tCommonFile.getCommonFileCode() + "/" + tCommonFile.getCommonFileReName());
|
||||
|
||||
return commonFileDAO.setCommonFileDelProc(tCommonFile);
|
||||
}
|
||||
|
||||
public boolean setMultiFileRegProc(List<MultipartFile> upFiles, String siteIdx, String filePath, String rootPath){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
|
||||
//FTP 전송
|
||||
SeedFtpType seedFtpType = new SeedFtpType();
|
||||
|
||||
for(int f=0; f<upFiles.size(); f++){
|
||||
|
||||
if(filePath != null && !filePath.equals("")){
|
||||
File makeFile = new File(rootPath + "/" + siteIdx + filePath + "/" + upFiles.get(f).getOriginalFilename());
|
||||
upFiles.get(f).transferTo(makeFile);
|
||||
|
||||
//WEB 서버의 경로
|
||||
seedFtpType.setDestFilePath(siteIdx + filePath);
|
||||
//WAS 서버의 경로
|
||||
seedFtpType.setSrcFilePath(rootPath + "/" + siteIdx + filePath);
|
||||
//WAS 파일명
|
||||
seedFtpType.setFileName(upFiles.get(f).getOriginalFilename());
|
||||
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
||||
seedFtpType.setFtpType("regFile");
|
||||
seedFtpType.setSeedFtp();
|
||||
|
||||
}else{
|
||||
File makeFile = new File(rootPath + "/" + siteIdx + "/" + upFiles.get(f).getOriginalFilename());
|
||||
upFiles.get(f).transferTo(makeFile);
|
||||
|
||||
//WEB 서버의 경로
|
||||
seedFtpType.setDestFilePath(siteIdx);
|
||||
//WAS 서버의 경로
|
||||
seedFtpType.setSrcFilePath(rootPath + "/" + siteIdx);
|
||||
//WAS 파일명
|
||||
seedFtpType.setFileName(upFiles.get(f).getOriginalFilename());
|
||||
//파일 전송 타입 regFile=WEB 서버에 파일전송, delFile=WEB 서버에 파일삭제
|
||||
seedFtpType.setFtpType("regFile");
|
||||
seedFtpType.setSeedFtp();
|
||||
}
|
||||
}
|
||||
success = true;
|
||||
|
||||
}catch(IOException e){
|
||||
success = false;
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
14
src/main/java/seed/common/service/CommonMenuAuthService.java
Normal file
14
src/main/java/seed/common/service/CommonMenuAuthService.java
Normal file
@ -0,0 +1,14 @@
|
||||
package seed.common.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_MENU_AUTH;
|
||||
|
||||
public interface CommonMenuAuthService {
|
||||
|
||||
//AdminSiteController, CommonController
|
||||
public List<T_MENU_AUTH> getMenuAuthList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public List<Map<Object, Object>> getMenuAuthMapList(String siteIdx, String[] qryColumns);}
|
||||
@ -0,0 +1,31 @@
|
||||
package seed.common.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.MenuAuthDAO;
|
||||
import seed.map.T_MENU_AUTH;
|
||||
|
||||
@Service
|
||||
public class CommonMenuAuthServiceImpl extends AbstractServiceImpl implements CommonMenuAuthService{
|
||||
|
||||
@Autowired
|
||||
private MenuAuthDAO menuAuthDAO;
|
||||
|
||||
//AdminSiteController
|
||||
public List<T_MENU_AUTH> getMenuAuthList(String siteIdx, String[] qryColumns){
|
||||
|
||||
return menuAuthDAO.getMenuAuthList(siteIdx, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<Map<Object, Object>> getMenuAuthMapList(String siteIdx, String[] qryColumns){
|
||||
|
||||
return menuAuthDAO.getMenuAuthMapList(siteIdx, qryColumns);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package seed.common.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_SITE_SATISFACTION;
|
||||
|
||||
public interface CommonSatisfactionService {
|
||||
|
||||
//AdminSiteController
|
||||
public List<T_SITE_SATISFACTION> getCommonSatisfactionList(Integer siteMenuIdx, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public boolean setCommonSatisfactionRegProc(T_SITE_SATISFACTION tSiteSatisfaction, String memberIp);
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package seed.common.service;
|
||||
|
||||
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.SiteSatisfactionDAO;
|
||||
import seed.map.T_SITE_SATISFACTION;
|
||||
|
||||
@Service
|
||||
public class CommonSatisfactionServiceImpl extends AbstractServiceImpl implements CommonSatisfactionService{
|
||||
|
||||
@Autowired
|
||||
private SiteSatisfactionDAO siteSatisfactionDAO;
|
||||
|
||||
//AdminSiteController
|
||||
public List<T_SITE_SATISFACTION> getCommonSatisfactionList(Integer siteMenuIdx, String[] qryColumns){
|
||||
|
||||
return siteSatisfactionDAO.getCommonSatisfactionList(siteMenuIdx, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setCommonSatisfactionRegProc(T_SITE_SATISFACTION tSiteSatisfaction, String memberIp){
|
||||
|
||||
tSiteSatisfaction.setSiteSatisfactionMemberIp(memberIp);
|
||||
tSiteSatisfaction.setSiteSatisfactionRegDate(new Date());
|
||||
|
||||
return siteSatisfactionDAO.setCommonSatisfactionRegProc(tSiteSatisfaction);
|
||||
}
|
||||
}
|
||||
10
src/main/java/seed/common/service/LogsService.java
Normal file
10
src/main/java/seed/common/service/LogsService.java
Normal file
@ -0,0 +1,10 @@
|
||||
package seed.common.service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface LogsService {
|
||||
|
||||
public void setLogsRegProc(Integer memberIdx, Integer memberModIdx, String memberIp, Map<Object, Object> memberOldMap, String logsType);
|
||||
|
||||
public void setLogsRegProc(String memberId, String memberName, Integer memberModIdx, String memberIp, Map<Object, Object> memberOldMap, String logsType);
|
||||
}
|
||||
228
src/main/java/seed/common/service/LogsServiceImpl.java
Normal file
228
src/main/java/seed/common/service/LogsServiceImpl.java
Normal file
@ -0,0 +1,228 @@
|
||||
package seed.common.service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
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.LogsDAO;
|
||||
import seed.dao.MemberDAO;
|
||||
import seed.map.T_LOGS;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Service
|
||||
public class LogsServiceImpl extends AbstractServiceImpl implements LogsService{
|
||||
|
||||
@Autowired
|
||||
private LogsDAO logsDAO;
|
||||
|
||||
@Autowired
|
||||
private MemberDAO memberDAO;
|
||||
|
||||
@Transactional
|
||||
public void setLogsRegProc(Integer memberIdx, Integer memberModIdx, String memberIp, Map<Object, Object> memberOldMap, String logsType){
|
||||
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
String getDate = simpleDateFormat.format(new Date());
|
||||
|
||||
ArrayList<String> logsText = new ArrayList<String>();
|
||||
|
||||
T_MEMBER tMember = memberDAO.getMemberForm(memberIdx);
|
||||
|
||||
T_MEMBER tMemberMod = memberDAO.getMemberForm(memberModIdx);
|
||||
|
||||
if(logsType.equals("M")){
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberId()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberId").toString()))){
|
||||
logsText.add("memberId");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberName()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberName")).toString())){
|
||||
logsText.add("memberName");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberPost()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberPost")).toString())){
|
||||
logsText.add("memberPost");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberAddress1()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberAddress1")).toString())){
|
||||
logsText.add("memberAddress1");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberAddress2()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberAddress2")).toString())){
|
||||
logsText.add("memberAddress2");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberEmail1()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberEmail1")).toString()) ||
|
||||
!SeedUtils.setReplaceNull(tMember.getMemberEmail2()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberEmail2")).toString())){
|
||||
logsText.add("memberEmail");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberPw()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberPw")).toString())){
|
||||
logsText.add("memberPw");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberDept()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberDept")).toString())){
|
||||
logsText.add("memberDept");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberPosition()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberPosition")).toString())){
|
||||
logsText.add("memberPosition");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberTel()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberTel")).toString())){
|
||||
logsText.add("memberTel");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberPhone()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberPhone")).toString())){
|
||||
logsText.add("memberPhone");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemA1()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemA1")).toString())){
|
||||
logsText.add("memberItemA1");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemB2()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemB2")).toString())){
|
||||
logsText.add("memberItemB2");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemC3()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemC3")).toString())){
|
||||
logsText.add("memberItemC3");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemD4()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemD4")).toString())){
|
||||
logsText.add("memberItemD4");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemE5()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemE5")).toString())){
|
||||
logsText.add("memberItemE5");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemF6()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemF6")).toString())){
|
||||
logsText.add("memberItemF6");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemG7()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemG7")).toString())){
|
||||
logsText.add("memberItemG7");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemH8()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemH8")).toString())){
|
||||
logsText.add("memberItemH8");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemI9()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemI9")).toString())){
|
||||
logsText.add("memberItemI9");
|
||||
}
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tMember.getMemberItemJ10()).equals(SeedUtils.setReplaceNull(memberOldMap.get("memberItemJ10")).toString())){
|
||||
logsText.add("memberItemJ10");
|
||||
}
|
||||
|
||||
if(logsText.size() > 0){
|
||||
|
||||
for(int i=0; i<logsText.size(); i++){
|
||||
|
||||
if(!SeedUtils.setReplaceNull(logsText.get(i).toString()).equals("")){
|
||||
|
||||
T_LOGS tLogsDB = new T_LOGS();
|
||||
|
||||
tLogsDB.setMemberId(tMember.getMemberId());
|
||||
tLogsDB.setMemberName(tMember.getMemberName());
|
||||
tLogsDB.setLogsType("MEMBER");
|
||||
tLogsDB.setLogsSubType(logsType);
|
||||
tLogsDB.setLogsYYYY(getDate.substring(0, 4));
|
||||
tLogsDB.setLogsMM(getDate.substring(4, 6));
|
||||
tLogsDB.setLogsDD(getDate.substring(6, 8));
|
||||
tLogsDB.setLogsHour(getDate.substring(8, 10));
|
||||
tLogsDB.setLogsMinute(getDate.substring(10, 12));
|
||||
tLogsDB.setLogsSecond(getDate.substring(12, 14));
|
||||
tLogsDB.setMemberIp(memberIp);
|
||||
tLogsDB.setMemberModId(tMemberMod.getMemberId());
|
||||
tLogsDB.setMemberModName(tMemberMod.getMemberName());
|
||||
tLogsDB.setLogsText(SeedUtils.setReplaceNull(logsText.get(i).toString()));
|
||||
tLogsDB.setLogsRegDate(new Date());
|
||||
|
||||
logsDAO.setLogsRegProc(tLogsDB);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
T_LOGS tLogsDB = new T_LOGS();
|
||||
|
||||
tLogsDB.setMemberId(tMember.getMemberId());
|
||||
tLogsDB.setMemberName(tMember.getMemberName());
|
||||
tLogsDB.setLogsType("MEMBER");
|
||||
tLogsDB.setLogsSubType(logsType);
|
||||
tLogsDB.setLogsYYYY(getDate.substring(0, 4));
|
||||
tLogsDB.setLogsMM(getDate.substring(4, 6));
|
||||
tLogsDB.setLogsDD(getDate.substring(6, 8));
|
||||
tLogsDB.setLogsHour(getDate.substring(8, 10));
|
||||
tLogsDB.setLogsMinute(getDate.substring(10, 12));
|
||||
tLogsDB.setLogsSecond(getDate.substring(12, 14));
|
||||
tLogsDB.setMemberIp(memberIp);
|
||||
tLogsDB.setMemberModId(tMemberMod.getMemberId());
|
||||
tLogsDB.setMemberModName(tMemberMod.getMemberName());
|
||||
tLogsDB.setLogsRegDate(new Date());
|
||||
|
||||
logsDAO.setLogsRegProc(tLogsDB);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void setLogsRegProc(String memberId, String memberName, Integer memberModIdx, String memberIp, Map<Object, Object> memberOldMap, String logsType){
|
||||
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
String getDate = simpleDateFormat.format(new Date());
|
||||
|
||||
T_LOGS tLogsDB = new T_LOGS();
|
||||
|
||||
//사용자 페이지에서 회원탈퇴한 경우
|
||||
if(memberModIdx.equals(0)){
|
||||
|
||||
tLogsDB.setMemberId(memberId);
|
||||
tLogsDB.setMemberName(memberName);
|
||||
tLogsDB.setLogsType("MEMBER");
|
||||
tLogsDB.setLogsSubType(logsType);
|
||||
tLogsDB.setLogsYYYY(getDate.substring(0, 4));
|
||||
tLogsDB.setLogsMM(getDate.substring(4, 6));
|
||||
tLogsDB.setLogsDD(getDate.substring(6, 8));
|
||||
tLogsDB.setLogsHour(getDate.substring(8, 10));
|
||||
tLogsDB.setLogsMinute(getDate.substring(10, 12));
|
||||
tLogsDB.setLogsSecond(getDate.substring(12, 14));
|
||||
tLogsDB.setMemberIp(memberIp);
|
||||
tLogsDB.setMemberModId(memberId);
|
||||
tLogsDB.setMemberModName(memberName);
|
||||
tLogsDB.setLogsRegDate(new Date());
|
||||
|
||||
}else{
|
||||
|
||||
T_MEMBER tMemberMod = memberDAO.getMemberForm(memberModIdx);
|
||||
|
||||
tLogsDB.setMemberId(memberId);
|
||||
tLogsDB.setMemberName(memberName);
|
||||
tLogsDB.setLogsType("MEMBER");
|
||||
tLogsDB.setLogsSubType(logsType);
|
||||
tLogsDB.setLogsYYYY(getDate.substring(0, 4));
|
||||
tLogsDB.setLogsMM(getDate.substring(4, 6));
|
||||
tLogsDB.setLogsDD(getDate.substring(6, 8));
|
||||
tLogsDB.setLogsHour(getDate.substring(8, 10));
|
||||
tLogsDB.setLogsMinute(getDate.substring(10, 12));
|
||||
tLogsDB.setLogsSecond(getDate.substring(12, 14));
|
||||
tLogsDB.setMemberIp(memberIp);
|
||||
tLogsDB.setMemberModId(tMemberMod.getMemberId());
|
||||
tLogsDB.setMemberModName(tMemberMod.getMemberName());
|
||||
tLogsDB.setLogsRegDate(new Date());
|
||||
}
|
||||
|
||||
logsDAO.setLogsRegProc(tLogsDB);
|
||||
}
|
||||
}
|
||||
41
src/main/java/seed/dao/SiteManagerDAO.java
Normal file
41
src/main/java/seed/dao/SiteManagerDAO.java
Normal file
@ -0,0 +1,41 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_SITE_MANAGER;
|
||||
import seed.map.VIEW_MANAGER_DATA;
|
||||
|
||||
public interface SiteManagerDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(Integer memberIdx);
|
||||
|
||||
//ManagerMemberService
|
||||
public List<VIEW_MANAGER_DATA> getSiteManagerList(Integer memberIdx, String[] qryColumns);
|
||||
|
||||
public Long getSiteManagerListCnt(String siteIdx, Integer memberIdx);
|
||||
|
||||
//AdminGroupsService , AdminSiteService
|
||||
public Long getSiteManagerListCnt(Integer memberIdx);
|
||||
|
||||
//AdminSiteManagerService
|
||||
public Long getSiteManagerListCnt(String siteIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//AdminSiteManagerService
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(String siteIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerSiteManagerService
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(String memberMergeSiteIdx, Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//AdminSiteService, AdminSiteManagerService
|
||||
public T_SITE_MANAGER getSiteManagerForm(Integer siteManagerIdx);
|
||||
|
||||
//AdminSiteManagerService
|
||||
public boolean setSiteManagerRegProc(T_SITE_MANAGER tSiteManager);
|
||||
|
||||
//AdminSiteService, AdminSiteManagerService
|
||||
public boolean setSiteManagerModProc(T_SITE_MANAGER tSiteManager);
|
||||
|
||||
//AdminSiteManagerService
|
||||
public boolean setSiteManagerDelProc(T_SITE_MANAGER tSiteManager);
|
||||
}
|
||||
311
src/main/java/seed/dao/SiteManagerDAOImpl.java
Normal file
311
src/main/java/seed/dao/SiteManagerDAOImpl.java
Normal file
@ -0,0 +1,311 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.hibernate.criterion.MatchMode;
|
||||
import org.hibernate.criterion.Order;
|
||||
import org.hibernate.criterion.ProjectionList;
|
||||
import org.hibernate.criterion.Projections;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import seed.map.T_SITE_MANAGER;
|
||||
import seed.map.VIEW_MANAGER_DATA;
|
||||
|
||||
@Repository
|
||||
public class SiteManagerDAOImpl implements SiteManagerDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MANAGER.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<VIEW_MANAGER_DATA> getSiteManagerList(Integer memberIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(VIEW_MANAGER_DATA.class);
|
||||
|
||||
if(qryColumns != null && qryColumns.length > 0){
|
||||
ProjectionList projectionList = Projections.projectionList();
|
||||
boolean groupCheck = false;
|
||||
for(int q=0; q<qryColumns.length; q++){
|
||||
if(!groupCheck && qryColumns[q].indexOf("groupBy") >= 0){
|
||||
groupCheck = true;
|
||||
continue;
|
||||
}
|
||||
if(groupCheck){
|
||||
if(qryColumns[q].indexOf("Cnt") >= 0){
|
||||
String qryColumn = qryColumns[q].substring(0, qryColumns[q].indexOf("Cnt"));
|
||||
projectionList.add(Projections.count(qryColumn).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
||||
}else{
|
||||
projectionList.add(Projections.groupProperty(qryColumns[q]).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
||||
}
|
||||
}else{
|
||||
projectionList.add(Projections.property(qryColumns[q]).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(projectionList);
|
||||
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
||||
}
|
||||
|
||||
criteria.add(Restrictions.eq("memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getSiteManagerListCnt(String siteIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("siteManagerStatus", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
//AdminGroupsService , AdminSiteService
|
||||
public Long getSiteManagerListCnt(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MANAGER.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("siteManagerStatus", "U"),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
//AdminSiteManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getSiteManagerListCnt(String siteIdx, Integer selGroup, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
if(!selGroup.equals(0)){
|
||||
criteria.add(Restrictions.eq("tGroups.tGroup.groupIdx", selGroup));
|
||||
}
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("tMember.memberId", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
//AdminSiteManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(String siteIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
if(qryColumns != null && qryColumns.length > 0){
|
||||
ProjectionList projectionList = Projections.projectionList();
|
||||
boolean groupCheck = false;
|
||||
for(int q=0; q<qryColumns.length; q++){
|
||||
if(!groupCheck && qryColumns[q].indexOf("groupBy") >= 0){
|
||||
groupCheck = true;
|
||||
continue;
|
||||
}
|
||||
if(groupCheck){
|
||||
if(qryColumns[q].indexOf("Cnt") >= 0){
|
||||
String qryColumn = qryColumns[q].substring(0, qryColumns[q].indexOf("Cnt"));
|
||||
projectionList.add(Projections.count(qryColumn).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
||||
}else{
|
||||
projectionList.add(Projections.groupProperty(qryColumns[q]).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
||||
}
|
||||
}else{
|
||||
projectionList.add(Projections.property(qryColumns[q]).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(projectionList);
|
||||
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
||||
}
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
if(!selGroup.equals(0)){
|
||||
criteria.add(Restrictions.eq("tGroups.tGroup.groupIdx", selGroup));
|
||||
}
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("tMember.memberId", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(orderColumn.equals("")){
|
||||
orderColumn = "siteManagerIdx";
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//ManagerSiteManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(String memberMergeSiteIdx, Integer memberIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tSite", "tSite", Criteria.LEFT_JOIN);
|
||||
|
||||
if(qryColumns != null && qryColumns.length > 0){
|
||||
ProjectionList projectionList = Projections.projectionList();
|
||||
boolean groupCheck = false;
|
||||
for(int q=0; q<qryColumns.length; q++){
|
||||
if(!groupCheck && qryColumns[q].indexOf("groupBy") >= 0){
|
||||
groupCheck = true;
|
||||
continue;
|
||||
}
|
||||
if(groupCheck){
|
||||
if(qryColumns[q].indexOf("Cnt") >= 0){
|
||||
String qryColumn = qryColumns[q].substring(0, qryColumns[q].indexOf("Cnt"));
|
||||
projectionList.add(Projections.count(qryColumn).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
||||
}else{
|
||||
projectionList.add(Projections.groupProperty(qryColumns[q]).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
||||
}
|
||||
}else{
|
||||
projectionList.add(Projections.property(qryColumns[q]).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(projectionList);
|
||||
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
||||
}
|
||||
|
||||
if(!memberMergeSiteIdx.equals("")){
|
||||
criteria.add(Restrictions.ne("tSite.siteIdx", memberMergeSiteIdx));
|
||||
}
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//AdminSiteService, AdminSiteManagerService
|
||||
public T_SITE_MANAGER getSiteManagerForm(Integer siteManagerIdx){
|
||||
|
||||
return (T_SITE_MANAGER) this.sessionFactory.getCurrentSession().load(T_SITE_MANAGER.class, siteManagerIdx);
|
||||
}
|
||||
|
||||
//AdminSiteService, AdminSiteManagerService, ManagerSiteService
|
||||
public boolean setSiteManagerRegProc(T_SITE_MANAGER tSiteManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tSiteManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//AdminSiteService, AdminSiteManagerService
|
||||
public boolean setSiteManagerModProc(T_SITE_MANAGER tSiteManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tSiteManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//AdminSiteManagerService
|
||||
public boolean setSiteManagerDelProc(T_SITE_MANAGER tSiteManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tSiteManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
package seed.manager.bbs.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import seed.map.T_BBS_DATA;
|
||||
|
||||
public interface ManagerBbsDataService {
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsDashboardList(String siteIdx, int page, int row, ArrayList<String> qryArrayList);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsDataMiniList(Integer bbsSetIdx, int page, int row, String bbsSetDateOrder, ArrayList<String> qryArrayList);
|
||||
|
||||
//ManagerBbsController
|
||||
public T_BBS_DATA getBbsDataForm(Integer bbsDataIdx);
|
||||
|
||||
//ManagerBbsController
|
||||
public T_BBS_DATA getBbsReplyForm(Integer bbsDataGroup, Integer bbsDataFam);
|
||||
|
||||
//ManagerBbsController
|
||||
public Map<Object, Object> getBbsDataPreForm(T_BBS_DATA tBbsData, String column, String search, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public Map<Object, Object> getBbsDataNextForm(T_BBS_DATA tBbsData, String column, String search, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsNoticeDataList(Integer bbsSetIdx, String column, String search, String bbsSetDateOrder, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
|
||||
|
||||
//ManagerBbsController
|
||||
public Long getBbsDataListCnt(Integer bbsSetIdx, String column, String search, String bbsSetType, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsDataList(Integer bbsSetIdx, int page, int row, String column, String search, String bbsSetDateOrder, String bbsSetType, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsDataList(Integer bbsSetIdx, String column, String search, String bbsSetType, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsDataCopyProc(Integer bbsDataIdxOriginal, Integer bbsSetIdx, Integer memberIdx, String memberIp, Integer thumbWidth, Integer thumbHeight, String rootPath);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsDataMoveProc(Integer bbsDataIdxOriginal, Integer bbsSetIdx);
|
||||
|
||||
//ManagerBbsController
|
||||
public Integer setBbsDataRegProc(T_BBS_DATA tBbsData, Integer memberIdx, String memberIp, String fileCode, List<MultipartFile> upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath);
|
||||
|
||||
//ManagerBbsController
|
||||
public Integer setBbsDataReplyProc(T_BBS_DATA tBbsData, Integer bbsFamIdx, Integer memberIdx, String memberIp, String fileCode, List<MultipartFile> upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath);
|
||||
|
||||
//ManagerBbsController
|
||||
public String setBbsDataModProc(T_BBS_DATA tBbsData, Integer memberIdx, String memberIp, Integer[] bbsFileIdx, String fileCode, List<MultipartFile> upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath);
|
||||
|
||||
//ManagerBbsController
|
||||
public String setBbsDataDelProc(Integer bbsDataIdx, String bbsSetTrash, String rootPath);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsDataStatusProc(Integer bbsDataIdx, String status, String memberIp, String rootPath);
|
||||
|
||||
//ManagerBbsController
|
||||
public void setBbsDataHitProc(Integer bbsDataIdx);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,57 @@
|
||||
package seed.manager.bbs.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_BBS_ITEM;
|
||||
|
||||
public interface ManagerBbsItemService {
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsItemMiniList(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_ITEM> getBbsItemViewOrderList(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_ITEM> getBbsItemMiniOrderList(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsItemList(Integer bbsSetIdx, String orderType, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_ITEM> getBbsItemValuesList(Integer bbsSetIdx, String orderType, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_ITEM> getBbsItemValuesGroupList(Integer bbsSetIdx, String bbsItemGroup, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public Long getBbsItemListCnt(Integer bbsSetIdx);
|
||||
|
||||
//ManagerBbsController
|
||||
public T_BBS_ITEM getBbsItemValueForm(Integer bbsSetIdx, String bbsItemGroup);
|
||||
|
||||
//ManagerBbsController
|
||||
public T_BBS_ITEM getBbsItemForm(Integer bbsSetIdx, String bbsItemGroup);
|
||||
|
||||
//ManagerBbsController
|
||||
public String setBbsItemRegProc(T_BBS_ITEM tBbsItem, Integer[] bbsItemWidth, Integer[] bbsItemHeight, String[] bbsItemValues, Integer memberIdx);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsItemModProc(T_BBS_ITEM tBbsItem, Integer[] bbsItemWidth, Integer[] bbsItemHeight, String[] bbsItemValues, Integer[] bbsItemIdxs);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsItemDelProc(Integer bbsSetIdx, String bbsItemGroup);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsItemStatusProc(Integer bbsSetIdx, String bbsItemGroup, String status);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsItemMiniOrderProc(Integer bbsSetIdx, Integer bbsItemMiniOrder, String orderType);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsItemListOrderProc(Integer bbsSetIdx, Integer bbsItemListOrder, String orderType);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsItemViewOrderProc(Integer bbsSetIdx, Integer bbsItemViewOrder, String orderType);
|
||||
}
|
||||
@ -0,0 +1,749 @@
|
||||
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.BbsItemDAO;
|
||||
import seed.map.T_BBS_ITEM;
|
||||
import seed.map.T_MEMBER;
|
||||
|
||||
@Service
|
||||
public class ManagerBbsItemServiceImpl extends AbstractServiceImpl implements ManagerBbsItemService{
|
||||
|
||||
@Autowired
|
||||
private BbsItemDAO bbsItemDAO;
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsItemMiniList(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
return bbsItemDAO.getBbsItemMiniList(bbsSetIdx, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_ITEM> getBbsItemViewOrderList(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
return bbsItemDAO.getBbsItemViewOrderList(bbsSetIdx, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_ITEM> getBbsItemMiniOrderList(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
return bbsItemDAO.getBbsItemMiniOrderList(bbsSetIdx, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsItemList(Integer bbsSetIdx, String orderType, String[] qryColumns){
|
||||
|
||||
return bbsItemDAO.getBbsItemList(bbsSetIdx, orderType, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_ITEM> getBbsItemValuesList(Integer bbsSetIdx, String orderType, String[] qryColumns){
|
||||
|
||||
return bbsItemDAO.getBbsItemValuesList(bbsSetIdx, orderType, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_ITEM> getBbsItemValuesGroupList(Integer bbsSetIdx, String bbsItemGroup, String[] qryColumns){
|
||||
|
||||
return bbsItemDAO.getBbsItemValuesGroupList(bbsSetIdx, bbsItemGroup, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public Long getBbsItemListCnt(Integer bbsSetIdx){
|
||||
|
||||
return bbsItemDAO.getBbsItemListCnt(bbsSetIdx);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public T_BBS_ITEM getBbsItemValueForm(Integer bbsSetIdx, String bbsItemGroup){
|
||||
|
||||
return bbsItemDAO.getBbsItemValueForm(bbsSetIdx, bbsItemGroup);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public T_BBS_ITEM getBbsItemForm(Integer bbsSetIdx, String bbsItemGroup){
|
||||
|
||||
return bbsItemDAO.getBbsItemForm(bbsSetIdx, bbsItemGroup);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
@Transactional
|
||||
public String setBbsItemRegProc(T_BBS_ITEM tBbsItem, Integer[] bbsItemWidth, Integer[] bbsItemHeight, String[] bbsItemValues, Integer memberIdx){
|
||||
|
||||
String bbsItemGroup = "";
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
String[] qryColumns = {"groupBy", "bbsItemGroup"};
|
||||
|
||||
List<Map<String, Object>> tBbsItemMapList = bbsItemDAO.getBbsItemGroupList(tBbsItem.gettBbsSet().getBbsSetIdx(), qryColumns);
|
||||
|
||||
String[] bbsItemGroups = {"bbsDataItemA1", "bbsDataItemB2", "bbsDataItemC3", "bbsDataItemD4", "bbsDataItemE5",
|
||||
"bbsDataItemF6", "bbsDataItemG7", "bbsDataItemH8", "bbsDataItemI9", "bbsDataItemJ10"};
|
||||
|
||||
if(tBbsItemMapList.size() > 0){
|
||||
for(int g=0; g<tBbsItemMapList.size(); g++){
|
||||
Map<String, Object> tBbsItemMapDB = tBbsItemMapList.get(g);
|
||||
if(!tBbsItemMapDB.get("_bbsItemGroup").equals(bbsItemGroups[g])){
|
||||
bbsItemGroup = bbsItemGroups[g];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(bbsItemGroup.equals("")){
|
||||
bbsItemGroup = bbsItemGroups[tBbsItemMapList.size()];
|
||||
}
|
||||
}else{
|
||||
bbsItemGroup = bbsItemGroups[0];
|
||||
}
|
||||
|
||||
Integer bbsItemMiniOrder = bbsItemDAO.getBbsItemMiniOrderFormCnt(tBbsItem.gettBbsSet().getBbsSetIdx())+1;
|
||||
Integer bbsItemListOrder = bbsItemDAO.getBbsItemListOrderFormCnt(tBbsItem.gettBbsSet().getBbsSetIdx())+1;
|
||||
Integer bbsItemViewOrder = bbsItemDAO.getBbsItemViewOrderFormCnt(tBbsItem.gettBbsSet().getBbsSetIdx())+1;
|
||||
|
||||
if(bbsItemValues.length == 0){
|
||||
|
||||
tBbsItem.settMember(tMember);
|
||||
tBbsItem.setBbsItemValue("");
|
||||
tBbsItem.setBbsItemWidth(bbsItemWidth[0]);
|
||||
|
||||
if(bbsItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tBbsItem.setBbsItemHeight(bbsItemHeight[0]);
|
||||
}
|
||||
|
||||
tBbsItem.setBbsItemGroup(bbsItemGroup);
|
||||
|
||||
if(tBbsItem.getBbsItemMiniList() != null && tBbsItem.getBbsItemMiniList().equals("Y")){
|
||||
tBbsItem.setBbsItemMiniOrder(bbsItemMiniOrder);
|
||||
}
|
||||
|
||||
tBbsItem.setBbsItemListOrder(bbsItemListOrder);
|
||||
tBbsItem.setBbsItemViewOrder(bbsItemViewOrder);
|
||||
tBbsItem.setBbsItemType("A");
|
||||
tBbsItem.setBbsItemStatus("U");
|
||||
tBbsItem.setBbsItemCount(1);
|
||||
tBbsItem.setBbsItemRegDate(new Date());
|
||||
|
||||
if(bbsItemDAO.setBbsItemRegProc(tBbsItem).getBbsItemIdx() == 0){
|
||||
bbsItemGroup = "";
|
||||
}
|
||||
|
||||
}else{
|
||||
for(int i=0; i<bbsItemValues.length; i++){
|
||||
|
||||
tBbsItem.settMember(tMember);
|
||||
|
||||
if(bbsItemWidth.length == 1){
|
||||
tBbsItem.setBbsItemWidth(bbsItemWidth[0]);
|
||||
}else if(bbsItemWidth.length > 1){ //TEXT, LINK, TEXTAREA 인 경우에만 적용
|
||||
tBbsItem.setBbsItemWidth(bbsItemWidth[i]);
|
||||
}
|
||||
|
||||
if(bbsItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tBbsItem.setBbsItemHeight(bbsItemHeight[i]);
|
||||
}
|
||||
|
||||
tBbsItem.setBbsItemValue(bbsItemValues[i]);
|
||||
tBbsItem.setBbsItemGroup(bbsItemGroup);
|
||||
|
||||
if(tBbsItem.getBbsItemMiniList() != null && tBbsItem.getBbsItemMiniList().equals("Y")){
|
||||
tBbsItem.setBbsItemMiniOrder(bbsItemMiniOrder);
|
||||
}
|
||||
|
||||
tBbsItem.setBbsItemListOrder(bbsItemListOrder);
|
||||
tBbsItem.setBbsItemViewOrder(bbsItemViewOrder);
|
||||
tBbsItem.setBbsItemType("A");
|
||||
tBbsItem.setBbsItemStatus("U");
|
||||
tBbsItem.setBbsItemRegDate(new Date());
|
||||
|
||||
if(bbsItemDAO.setBbsItemRegProc(tBbsItem).getBbsItemIdx() == 0){
|
||||
bbsItemGroup = "";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return bbsItemGroup;
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
@Transactional
|
||||
public boolean setBbsItemModProc(T_BBS_ITEM tBbsItem, Integer[] bbsItemWidth, Integer[] bbsItemHeight, String[] bbsItemValues, Integer[] bbsItemIdxs){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
Integer bbsItemMiniOrder = null;
|
||||
|
||||
if(bbsItemValues.length > 0 && bbsItemIdxs.length > 0){//bbsItemValues와 bbsItemIdxs의 값이 있으면 기존값 수정
|
||||
|
||||
for(int i=0; i<bbsItemValues.length; i++){
|
||||
|
||||
T_BBS_ITEM tBbsItemDB = bbsItemDAO.getBbsItemForm(bbsItemIdxs[i]);
|
||||
|
||||
if(i == 0){
|
||||
if(tBbsItemDB.getBbsItemMiniList() != null && tBbsItemDB.getBbsItemMiniList().equals("Y")){ //기존에 미니리스트 목록 사용을 한경우
|
||||
if(tBbsItem.getBbsItemMiniList() == null){//기존에 미니리스트를 사용 하다가 사용안한경우
|
||||
//현재 bbsItemMiniOrder보다 큰 bbsItemMiniOrder를 -1
|
||||
bbsItemDAO.setBbsItemMiniOrderProc(tBbsItem.gettBbsSet().getBbsSetIdx(), tBbsItemDB.getBbsItemMiniOrder());
|
||||
}else{
|
||||
//기존의 미니리스트를 사용하고 현재도 사용한경우
|
||||
bbsItemMiniOrder = tBbsItemDB.getBbsItemMiniOrder();
|
||||
}
|
||||
}else{ //기존에 미니리스트 목록 사용을 안한경우
|
||||
if(tBbsItem.getBbsItemMiniList() != null && tBbsItem.getBbsItemMiniList().equals("Y")){//기존에 미니리스트를 사용안하다가 사용한 경우
|
||||
//MAX bbsItemMiniOrder를 가져옴
|
||||
bbsItemMiniOrder = bbsItemDAO.getBbsItemMiniOrderFormCnt(tBbsItem.gettBbsSet().getBbsSetIdx())+1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tBbsItemDB.setBbsItemValue(bbsItemValues[i]);
|
||||
|
||||
if(bbsItemWidth.length == 1){
|
||||
tBbsItemDB.setBbsItemWidth(bbsItemWidth[0]);
|
||||
}else if(bbsItemWidth.length > 1){ //TEXT, LINK, TEXTAREA 인 경우에만 적용
|
||||
tBbsItemDB.setBbsItemWidth(bbsItemWidth[i]);
|
||||
}
|
||||
|
||||
if(bbsItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tBbsItemDB.setBbsItemHeight(bbsItemHeight[i]);
|
||||
}
|
||||
|
||||
tBbsItemDB.setBbsItemName(tBbsItem.getBbsItemName());
|
||||
tBbsItemDB.setBbsItemPattern(tBbsItem.getBbsItemPattern());
|
||||
tBbsItemDB.setBbsItemWL(tBbsItem.getBbsItemWL());
|
||||
tBbsItemDB.setBbsItemText(tBbsItem.getBbsItemText());
|
||||
tBbsItemDB.setBbsItemEssential(tBbsItem.getBbsItemEssential());
|
||||
tBbsItemDB.setBbsItemColWidth(tBbsItem.getBbsItemColWidth());
|
||||
tBbsItemDB.setBbsItemCount(tBbsItem.getBbsItemCount());
|
||||
|
||||
if(tBbsItem.getBbsItemDataMiniLength() == null){
|
||||
tBbsItemDB.setBbsItemDataMiniLength(0);
|
||||
}else{
|
||||
tBbsItemDB.setBbsItemDataMiniLength(tBbsItem.getBbsItemDataMiniLength());
|
||||
}
|
||||
|
||||
if(tBbsItem.getBbsItemDataLength() == null){
|
||||
tBbsItemDB.setBbsItemDataLength(0);
|
||||
}else{
|
||||
tBbsItemDB.setBbsItemDataLength(tBbsItem.getBbsItemDataLength());
|
||||
}
|
||||
|
||||
tBbsItemDB.setBbsItemMiniList(tBbsItem.getBbsItemMiniList());
|
||||
tBbsItemDB.setBbsItemList(tBbsItem.getBbsItemList());
|
||||
tBbsItemDB.setBbsItemView(tBbsItem.getBbsItemView());
|
||||
tBbsItemDB.setBbsItemLink(tBbsItem.getBbsItemLink());
|
||||
tBbsItemDB.setBbsItemSearch(tBbsItem.getBbsItemSearch());
|
||||
tBbsItemDB.setBbsItemActiveHidden(tBbsItem.getBbsItemActiveHidden());
|
||||
tBbsItemDB.setBbsItemMiniOrder(bbsItemMiniOrder);
|
||||
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}else if(bbsItemValues.length > 0){//bbsItemValues에만 값이 있으면 비교하여 수정 및 삭제 또는 추가
|
||||
|
||||
T_BBS_ITEM tBbsItemDB = bbsItemDAO.getBbsItemForm(tBbsItem.getBbsItemIdx());
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemList = bbsItemDAO.getBbsItemValuesGroupList(tBbsItemDB.gettBbsSet().getBbsSetIdx(), tBbsItemDB.getBbsItemGroup(), qryColumns);
|
||||
|
||||
if(tBbsItemList.size() > bbsItemValues.length){//기존의 row수가 현재보다 크면 수정 후 삭제
|
||||
|
||||
for(int i=0; i<tBbsItemList.size(); i++){
|
||||
|
||||
T_BBS_ITEM tBbsItemTmp = tBbsItemList.get(i);
|
||||
|
||||
if(i == 0){
|
||||
if(tBbsItemDB.getBbsItemMiniList() != null && tBbsItemDB.getBbsItemMiniList().equals("Y")){ //기존에 미니리스트 목록 사용을 한경우
|
||||
if(tBbsItem.getBbsItemMiniList() == null){//기존에 미니리스트를 사용 하다가 사용안한경우
|
||||
//현재 bbsItemMiniOrder보다 큰 bbsItemMiniOrder를 -1
|
||||
bbsItemDAO.setBbsItemMiniOrderProc(tBbsItem.gettBbsSet().getBbsSetIdx(), tBbsItemDB.getBbsItemMiniOrder());
|
||||
}else{
|
||||
//기존의 미니리스트를 사용하고 현재도 사용한경우
|
||||
bbsItemMiniOrder = tBbsItemDB.getBbsItemMiniOrder();
|
||||
}
|
||||
}else{ //기존에 미니리스트 목록 사용을 안한경우
|
||||
if(tBbsItem.getBbsItemMiniList() != null && tBbsItem.getBbsItemMiniList().equals("Y")){//기존에 미니리스트를 사용안하다가 사용한 경우
|
||||
//MAX bbsItemMiniOrder를 가져옴
|
||||
bbsItemMiniOrder = bbsItemDAO.getBbsItemMiniOrderFormCnt(tBbsItem.gettBbsSet().getBbsSetIdx())+1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(i < bbsItemValues.length){
|
||||
|
||||
tBbsItemTmp.setBbsItemValue(bbsItemValues[i]);
|
||||
|
||||
if(bbsItemWidth.length == 1){
|
||||
tBbsItemTmp.setBbsItemWidth(bbsItemWidth[0]);
|
||||
}else if(bbsItemWidth.length > 1){ //TEXT, LINK, TEXTAREA 인 경우에만 적용
|
||||
tBbsItemTmp.setBbsItemWidth(bbsItemWidth[i]);
|
||||
}
|
||||
|
||||
if(bbsItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tBbsItemTmp.setBbsItemHeight(bbsItemHeight[i]);
|
||||
}
|
||||
|
||||
tBbsItemTmp.setBbsItemName(tBbsItem.getBbsItemName());
|
||||
tBbsItemTmp.setBbsItemPattern(tBbsItem.getBbsItemPattern());
|
||||
tBbsItemTmp.setBbsItemWL(tBbsItem.getBbsItemWL());
|
||||
tBbsItemTmp.setBbsItemText(tBbsItem.getBbsItemText());
|
||||
tBbsItemTmp.setBbsItemEssential(tBbsItem.getBbsItemEssential());
|
||||
tBbsItemTmp.setBbsItemColWidth(tBbsItem.getBbsItemColWidth());
|
||||
tBbsItemTmp.setBbsItemCount(tBbsItem.getBbsItemCount());
|
||||
|
||||
if(tBbsItem.getBbsItemDataMiniLength() == null){
|
||||
tBbsItemTmp.setBbsItemDataMiniLength(0);
|
||||
}else{
|
||||
tBbsItemTmp.setBbsItemDataMiniLength(tBbsItem.getBbsItemDataMiniLength());
|
||||
}
|
||||
|
||||
if(tBbsItem.getBbsItemDataLength() == null){
|
||||
tBbsItemTmp.setBbsItemDataLength(0);
|
||||
}else{
|
||||
tBbsItemTmp.setBbsItemDataLength(tBbsItem.getBbsItemDataLength());
|
||||
}
|
||||
|
||||
tBbsItemTmp.setBbsItemMiniList(tBbsItem.getBbsItemMiniList());
|
||||
tBbsItemTmp.setBbsItemList(tBbsItem.getBbsItemList());
|
||||
tBbsItemTmp.setBbsItemView(tBbsItem.getBbsItemView());
|
||||
tBbsItemTmp.setBbsItemLink(tBbsItem.getBbsItemLink());
|
||||
tBbsItemTmp.setBbsItemSearch(tBbsItem.getBbsItemSearch());
|
||||
tBbsItemTmp.setBbsItemActiveHidden(tBbsItem.getBbsItemActiveHidden());
|
||||
tBbsItemTmp.setBbsItemMiniOrder(bbsItemMiniOrder);
|
||||
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemTmp)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}else{
|
||||
if(!bbsItemDAO.setBbsItemDelProc(tBbsItemTmp)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{//기존의 row수가 현재보다 작거나 같으면 수정 후 추가 또는 수정
|
||||
|
||||
for(int i=0; i<bbsItemValues.length; i++){
|
||||
|
||||
if(i == 0){
|
||||
if(tBbsItemDB.getBbsItemMiniList() != null && tBbsItemDB.getBbsItemMiniList().equals("Y")){ //기존에 미니리스트 목록 사용을 한경우
|
||||
if(tBbsItem.getBbsItemMiniList() == null){//기존에 미니리스트를 사용 하다가 사용안한경우
|
||||
//현재 bbsItemMiniOrder보다 큰 bbsItemMiniOrder를 -1
|
||||
bbsItemDAO.setBbsItemMiniOrderProc(tBbsItem.gettBbsSet().getBbsSetIdx(), tBbsItemDB.getBbsItemMiniOrder());
|
||||
}else{
|
||||
//기존의 미니리스트를 사용하고 현재도 사용한경우
|
||||
bbsItemMiniOrder = tBbsItemDB.getBbsItemMiniOrder();
|
||||
}
|
||||
}else{ //기존에 미니리스트 목록 사용을 안한경우
|
||||
if(tBbsItem.getBbsItemMiniList() != null && tBbsItem.getBbsItemMiniList().equals("Y")){//기존에 미니리스트를 사용안하다가 사용한 경우
|
||||
//MAX bbsItemMiniOrder를 가져옴
|
||||
bbsItemMiniOrder = bbsItemDAO.getBbsItemMiniOrderFormCnt(tBbsItem.gettBbsSet().getBbsSetIdx())+1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(i < tBbsItemList.size()){
|
||||
|
||||
T_BBS_ITEM tBbsItemTmp = tBbsItemList.get(i);
|
||||
|
||||
tBbsItemTmp.setBbsItemValue(bbsItemValues[i]);
|
||||
|
||||
if(bbsItemWidth.length == 1){
|
||||
tBbsItemTmp.setBbsItemWidth(bbsItemWidth[0]);
|
||||
}else if(bbsItemWidth.length > 1){ //TEXT, LINK, TEXTAREA 인 경우에만 적용
|
||||
tBbsItemTmp.setBbsItemWidth(bbsItemWidth[i]);
|
||||
}
|
||||
|
||||
if(bbsItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tBbsItemTmp.setBbsItemHeight(bbsItemHeight[i]);
|
||||
}
|
||||
|
||||
tBbsItemTmp.setBbsItemName(tBbsItem.getBbsItemName());
|
||||
tBbsItemTmp.setBbsItemPattern(tBbsItem.getBbsItemPattern());
|
||||
tBbsItemTmp.setBbsItemWL(tBbsItem.getBbsItemWL());
|
||||
tBbsItemTmp.setBbsItemText(tBbsItem.getBbsItemText());
|
||||
tBbsItemTmp.setBbsItemEssential(tBbsItem.getBbsItemEssential());
|
||||
tBbsItemTmp.setBbsItemColWidth(tBbsItem.getBbsItemColWidth());
|
||||
tBbsItemTmp.setBbsItemCount(tBbsItem.getBbsItemCount());
|
||||
|
||||
if(tBbsItem.getBbsItemDataMiniLength() == null){
|
||||
tBbsItemTmp.setBbsItemDataMiniLength(0);
|
||||
}else{
|
||||
tBbsItemTmp.setBbsItemDataMiniLength(tBbsItem.getBbsItemDataMiniLength());
|
||||
}
|
||||
|
||||
if(tBbsItem.getBbsItemDataLength() == null){
|
||||
tBbsItemTmp.setBbsItemDataLength(0);
|
||||
}else{
|
||||
tBbsItemTmp.setBbsItemDataLength(tBbsItem.getBbsItemDataLength());
|
||||
}
|
||||
|
||||
tBbsItemTmp.setBbsItemMiniList(tBbsItem.getBbsItemMiniList());
|
||||
tBbsItemTmp.setBbsItemList(tBbsItem.getBbsItemList());
|
||||
tBbsItemTmp.setBbsItemView(tBbsItem.getBbsItemView());
|
||||
tBbsItemTmp.setBbsItemLink(tBbsItem.getBbsItemLink());
|
||||
tBbsItemTmp.setBbsItemSearch(tBbsItem.getBbsItemSearch());
|
||||
tBbsItemTmp.setBbsItemActiveHidden(tBbsItem.getBbsItemActiveHidden());
|
||||
tBbsItemTmp.setBbsItemMiniOrder(bbsItemMiniOrder);
|
||||
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemTmp)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
T_BBS_ITEM tBbsItemTmp = new T_BBS_ITEM();
|
||||
|
||||
tBbsItemTmp.setBbsItemValue(bbsItemValues[i]);
|
||||
|
||||
if(bbsItemWidth.length == 1){
|
||||
tBbsItemTmp.setBbsItemWidth(bbsItemWidth[0]);
|
||||
}else if(bbsItemWidth.length > 1){ //TEXT, LINK, TEXTAREA 인 경우에만 적용
|
||||
tBbsItemTmp.setBbsItemWidth(bbsItemWidth[i]);
|
||||
}
|
||||
|
||||
if(bbsItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tBbsItemTmp.setBbsItemHeight(bbsItemHeight[i]);
|
||||
}
|
||||
|
||||
tBbsItemTmp.setBbsItemName(tBbsItem.getBbsItemName());
|
||||
tBbsItemTmp.setBbsItemPattern(tBbsItem.getBbsItemPattern());
|
||||
tBbsItemTmp.setBbsItemWL(tBbsItem.getBbsItemWL());
|
||||
tBbsItemTmp.setBbsItemText(tBbsItem.getBbsItemText());
|
||||
tBbsItemTmp.setBbsItemEssential(tBbsItem.getBbsItemEssential());
|
||||
tBbsItemTmp.setBbsItemColWidth(tBbsItem.getBbsItemColWidth());
|
||||
tBbsItemTmp.setBbsItemCount(tBbsItem.getBbsItemCount());
|
||||
|
||||
if(tBbsItem.getBbsItemDataMiniLength() == null){
|
||||
tBbsItemTmp.setBbsItemDataMiniLength(0);
|
||||
}else{
|
||||
tBbsItemTmp.setBbsItemDataMiniLength(tBbsItem.getBbsItemDataMiniLength());
|
||||
}
|
||||
|
||||
if(tBbsItem.getBbsItemDataLength() == null){
|
||||
tBbsItemTmp.setBbsItemDataLength(0);
|
||||
}else{
|
||||
tBbsItemTmp.setBbsItemDataLength(tBbsItem.getBbsItemDataLength());
|
||||
}
|
||||
|
||||
tBbsItemTmp.setBbsItemMiniList(tBbsItem.getBbsItemMiniList());
|
||||
tBbsItemTmp.setBbsItemList(tBbsItem.getBbsItemList());
|
||||
tBbsItemTmp.setBbsItemView(tBbsItem.getBbsItemView());
|
||||
tBbsItemTmp.setBbsItemLink(tBbsItem.getBbsItemLink());
|
||||
tBbsItemTmp.setBbsItemSearch(tBbsItem.getBbsItemSearch());
|
||||
tBbsItemTmp.setBbsItemActiveHidden(tBbsItem.getBbsItemActiveHidden());
|
||||
tBbsItemTmp.setBbsItemMiniOrder(bbsItemMiniOrder);
|
||||
tBbsItemTmp.setBbsItemType(tBbsItemDB.getBbsItemType());
|
||||
tBbsItemTmp.setBbsItemStatus("U");
|
||||
tBbsItemTmp.settBbsSet(tBbsItemDB.gettBbsSet());
|
||||
tBbsItemTmp.settMember(tBbsItemDB.gettMember());
|
||||
tBbsItemTmp.setBbsItemGroup(tBbsItemDB.getBbsItemGroup());
|
||||
tBbsItemTmp.setBbsItemListOrder(tBbsItemDB.getBbsItemListOrder());
|
||||
tBbsItemTmp.setBbsItemViewOrder(tBbsItemDB.getBbsItemViewOrder());
|
||||
tBbsItemTmp.setBbsItemRegDate(tBbsItemDB.getBbsItemRegDate());
|
||||
|
||||
if(bbsItemDAO.setBbsItemRegProc(tBbsItemTmp).getBbsItemIdx() == 0){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
T_BBS_ITEM tBbsItemTmpDB = bbsItemDAO.getBbsItemForm(tBbsItem.getBbsItemIdx());
|
||||
|
||||
if(tBbsItemTmpDB.getBbsItemMiniList() != null && tBbsItemTmpDB.getBbsItemMiniList().equals("Y")){ //기존에 미니리스트 목록 사용을 한경우
|
||||
if(tBbsItem.getBbsItemMiniList() == null){//기존에 미니리스트를 사용 하다가 사용안한경우
|
||||
//현재 bbsItemMiniOrder보다 큰 bbsItemMiniOrder를 -1
|
||||
bbsItemDAO.setBbsItemMiniOrderProc(tBbsItem.gettBbsSet().getBbsSetIdx(), tBbsItemTmpDB.getBbsItemMiniOrder());
|
||||
}else{
|
||||
//기존의 미니리스트를 사용하고 현재도 사용한경우
|
||||
bbsItemMiniOrder = tBbsItemTmpDB.getBbsItemMiniOrder();
|
||||
}
|
||||
}else{ //기존에 미니리스트 목록 사용을 안한경우
|
||||
if(tBbsItem.getBbsItemMiniList() != null && tBbsItem.getBbsItemMiniList().equals("Y")){//기존에 미니리스트를 사용안하다가 사용한 경우
|
||||
//MAX bbsItemMiniOrder를 가져옴
|
||||
bbsItemMiniOrder = bbsItemDAO.getBbsItemMiniOrderFormCnt(tBbsItem.gettBbsSet().getBbsSetIdx())+1;
|
||||
}
|
||||
}
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemList = bbsItemDAO.getBbsItemValuesGroupList(tBbsItemTmpDB.gettBbsSet().getBbsSetIdx(), tBbsItemTmpDB.getBbsItemGroup(), qryColumns);
|
||||
|
||||
if(tBbsItemList.size() > 1){ //SELECT, RADIO, CHECKBOX였다가 TEXT, LINK, TEXTAREA로 변경되었을때 추가 항목 삭제 (1개 이상일때)
|
||||
for(int i=0; i<tBbsItemList.size(); i++){
|
||||
T_BBS_ITEM tBbsItemDBTmp = tBbsItemList.get(i);
|
||||
if(!tBbsItemTmpDB.getBbsItemIdx().equals(tBbsItemDBTmp.getBbsItemIdx())){ //넘어온 bbsItemIdx는 수정 해야하므로 삭제 하지 않음
|
||||
if(!bbsItemDAO.setBbsItemDelProc(tBbsItemDBTmp)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(success){
|
||||
|
||||
T_BBS_ITEM tBbsItemDB = bbsItemDAO.getBbsItemForm(tBbsItem.getBbsItemIdx());
|
||||
|
||||
tBbsItemDB.setBbsItemName(tBbsItem.getBbsItemName());
|
||||
tBbsItemDB.setBbsItemColWidth(tBbsItem.getBbsItemColWidth());
|
||||
|
||||
if(tBbsItem.getBbsItemDataMiniLength() == null){
|
||||
tBbsItemDB.setBbsItemDataMiniLength(0);
|
||||
}else{
|
||||
tBbsItemDB.setBbsItemDataMiniLength(tBbsItem.getBbsItemDataMiniLength());
|
||||
}
|
||||
|
||||
if(tBbsItem.getBbsItemDataLength() == null){
|
||||
tBbsItemDB.setBbsItemDataLength(0);
|
||||
}else{
|
||||
tBbsItemDB.setBbsItemDataLength(tBbsItem.getBbsItemDataLength());
|
||||
}
|
||||
|
||||
tBbsItemDB.setBbsItemMiniList(tBbsItem.getBbsItemMiniList());
|
||||
tBbsItemDB.setBbsItemList(tBbsItem.getBbsItemList());
|
||||
tBbsItemDB.setBbsItemView(tBbsItem.getBbsItemView());
|
||||
tBbsItemDB.setBbsItemLink(tBbsItem.getBbsItemLink());
|
||||
tBbsItemDB.setBbsItemSearch(tBbsItem.getBbsItemSearch());
|
||||
tBbsItemDB.setBbsItemActiveHidden(tBbsItem.getBbsItemActiveHidden());
|
||||
tBbsItemDB.setBbsItemMiniOrder(bbsItemMiniOrder);
|
||||
|
||||
//첨부파일일경우는 항목설명을 넣어준다
|
||||
if(tBbsItemDB.getBbsItemPattern().equals("FILE")){
|
||||
tBbsItemDB.setBbsItemText(tBbsItem.getBbsItemText());
|
||||
}
|
||||
|
||||
if(!tBbsItemDB.getBbsItemPattern().equals("IDX") &&
|
||||
!tBbsItemDB.getBbsItemPattern().equals("THUMB") &&
|
||||
!tBbsItemDB.getBbsItemPattern().equals("REGDATE") &&
|
||||
!tBbsItemDB.getBbsItemPattern().equals("HIT") &&
|
||||
!tBbsItemDB.getBbsItemPattern().equals("FILE")){
|
||||
|
||||
if(tBbsItemDB.getBbsItemType().equals("A")){
|
||||
tBbsItemDB.setBbsItemPattern(tBbsItem.getBbsItemPattern());
|
||||
}
|
||||
|
||||
if(bbsItemValues.length == 0){
|
||||
tBbsItemDB.setBbsItemValue("");
|
||||
}
|
||||
|
||||
tBbsItemDB.setBbsItemText(tBbsItem.getBbsItemText());
|
||||
tBbsItemDB.setBbsItemEssential(tBbsItem.getBbsItemEssential());
|
||||
|
||||
tBbsItemDB.setBbsItemWidth(bbsItemWidth[0]);
|
||||
|
||||
if(bbsItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tBbsItemDB.setBbsItemHeight(bbsItemHeight[0]);
|
||||
}
|
||||
|
||||
tBbsItemDB.setBbsItemCount(tBbsItem.getBbsItemCount());
|
||||
}
|
||||
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
@Transactional
|
||||
public boolean setBbsItemDelProc(Integer bbsSetIdx, String bbsItemGroup){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemList = bbsItemDAO.getBbsItemValuesGroupList(bbsSetIdx, bbsItemGroup, qryColumns);
|
||||
|
||||
for(int d=0; d<tBbsItemList.size(); d++){
|
||||
|
||||
T_BBS_ITEM tBbsItemTmp = tBbsItemList.get(d);
|
||||
|
||||
if(d == 0){
|
||||
if(bbsItemDAO.getBbsItemListCnt(tBbsItemTmp.gettBbsSet().getBbsSetIdx()) > 1){
|
||||
bbsItemDAO.setBbsItemListOrderProc(tBbsItemTmp.gettBbsSet().getBbsSetIdx(), tBbsItemTmp.getBbsItemListOrder());
|
||||
bbsItemDAO.setBbsItemViewOrderProc(tBbsItemTmp.gettBbsSet().getBbsSetIdx(), tBbsItemTmp.getBbsItemViewOrder());
|
||||
if(tBbsItemTmp.getBbsItemMiniOrder() != null && tBbsItemTmp.getBbsItemMiniOrder() > 0){
|
||||
bbsItemDAO.setBbsItemMiniOrderProc(tBbsItemTmp.gettBbsSet().getBbsSetIdx(), tBbsItemTmp.getBbsItemMiniOrder());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!bbsItemDAO.setBbsItemDelProc(tBbsItemTmp)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
@Transactional
|
||||
public boolean setBbsItemStatusProc(Integer bbsSetIdx, String bbsItemGroup, String status){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemList = bbsItemDAO.getBbsItemValuesGroupList(bbsSetIdx, bbsItemGroup, qryColumns);
|
||||
|
||||
for(int m=0; m<tBbsItemList.size(); m++){
|
||||
T_BBS_ITEM tBbsItemTmp = tBbsItemList.get(m);
|
||||
tBbsItemTmp.setBbsItemStatus(status);
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemTmp)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
@Transactional
|
||||
public boolean setBbsItemMiniOrderProc(Integer bbsSetIdx, Integer bbsItemMiniOrder, String orderType){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
Integer bbsItemMiniOrderTmp = bbsItemMiniOrder;
|
||||
|
||||
if(orderType.equals("up")){
|
||||
bbsItemMiniOrder = bbsItemMiniOrder - 1;
|
||||
}else{
|
||||
bbsItemMiniOrder = bbsItemMiniOrder + 1;
|
||||
}
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemMiniOrderList = bbsItemDAO.getBbsItemMiniOrderList(bbsSetIdx, bbsItemMiniOrder, qryColumns);
|
||||
List<T_BBS_ITEM> tBbsItemMiniList = bbsItemDAO.getBbsItemMiniOrderList(bbsSetIdx, bbsItemMiniOrderTmp, qryColumns);
|
||||
|
||||
for(int i=0; i<tBbsItemMiniOrderList.size(); i++){
|
||||
T_BBS_ITEM tBbsItemDB = tBbsItemMiniOrderList.get(i);
|
||||
tBbsItemDB.setBbsItemMiniOrder(bbsItemMiniOrderTmp);
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(success = true){
|
||||
for(int i=0; i<tBbsItemMiniList.size(); i++){
|
||||
T_BBS_ITEM tBbsItemDB = tBbsItemMiniList.get(i);
|
||||
tBbsItemDB.setBbsItemMiniOrder(bbsItemMiniOrder);
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
@Transactional
|
||||
public boolean setBbsItemListOrderProc(Integer bbsSetIdx, Integer bbsItemListOrder, String orderType){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
Integer bbsItemListOrderTmp = bbsItemListOrder;
|
||||
|
||||
if(orderType.equals("up")){
|
||||
bbsItemListOrder = bbsItemListOrder - 1;
|
||||
}else{
|
||||
bbsItemListOrder = bbsItemListOrder + 1;
|
||||
}
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemOrderList = bbsItemDAO.getBbsItemListOrderList(bbsSetIdx, bbsItemListOrder, qryColumns);
|
||||
List<T_BBS_ITEM> tBbsItemList = bbsItemDAO.getBbsItemListOrderList(bbsSetIdx, bbsItemListOrderTmp, qryColumns);
|
||||
|
||||
for(int i=0; i<tBbsItemOrderList.size(); i++){
|
||||
T_BBS_ITEM tBbsItemDB = tBbsItemOrderList.get(i);
|
||||
tBbsItemDB.setBbsItemListOrder(bbsItemListOrderTmp);
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(success = true){
|
||||
for(int i=0; i<tBbsItemList.size(); i++){
|
||||
T_BBS_ITEM tBbsItemDB = tBbsItemList.get(i);
|
||||
tBbsItemDB.setBbsItemListOrder(bbsItemListOrder);
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
@Transactional
|
||||
public boolean setBbsItemViewOrderProc(Integer bbsSetIdx, Integer bbsItemViewOrder, String orderType){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
Integer bbsItemViewOrderTmp = bbsItemViewOrder;
|
||||
|
||||
if(orderType.equals("up")){
|
||||
bbsItemViewOrder = bbsItemViewOrder - 1;
|
||||
}else{
|
||||
bbsItemViewOrder = bbsItemViewOrder + 1;
|
||||
}
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemOrderList = bbsItemDAO.getBbsItemViewOrderList(bbsSetIdx, bbsItemViewOrder, qryColumns);
|
||||
List<T_BBS_ITEM> tBbsItemList = bbsItemDAO.getBbsItemViewOrderList(bbsSetIdx, bbsItemViewOrderTmp, qryColumns);
|
||||
|
||||
for(int i=0; i<tBbsItemOrderList.size(); i++){
|
||||
T_BBS_ITEM tBbsItemDB = tBbsItemOrderList.get(i);
|
||||
tBbsItemDB.setBbsItemViewOrder(bbsItemViewOrderTmp);
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(success = true){
|
||||
for(int i=0; i<tBbsItemList.size(); i++){
|
||||
T_BBS_ITEM tBbsItemDB = tBbsItemList.get(i);
|
||||
tBbsItemDB.setBbsItemViewOrder(bbsItemViewOrder);
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package seed.manager.bbs.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_BBS_MANAGER;
|
||||
|
||||
public interface ManagerBbsManagerService {
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean getBbsManagerListGrantCnt(Integer bbsSetIdx, Integer memberIdx);
|
||||
|
||||
//UserBbsController
|
||||
public boolean getBbsManagerListCnt(Integer bbsSetIdx, Integer memberIdx);
|
||||
|
||||
//CommonController
|
||||
public Long getBbsManagerListCnt(Integer bbsSetIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//ManagerBbsController
|
||||
public Long getBbsManagerListCnt(String siteIdx, Integer memberIdx, String column, String search);
|
||||
|
||||
//CommonController
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(Integer bbsSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsManagerList(String siteIdx, Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public boolean setBbsManagerRegProc(Integer bbsSetIdx, Integer[] idxsc);
|
||||
|
||||
//CommonController
|
||||
public boolean setBbsManagerDelProc(Integer bbsManagerIdx);
|
||||
|
||||
//CommonController
|
||||
public boolean setBbsManagerStatusProc(Integer bbsManagerIdx, String status);
|
||||
|
||||
//CommonController
|
||||
public boolean setBbsManagerGrantProc(Integer bbsManagerIdx, String grant);
|
||||
}
|
||||
@ -0,0 +1,196 @@
|
||||
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.BbsManagerDAO;
|
||||
import seed.dao.MemberDAO;
|
||||
import seed.dao.SiteManagerDAO;
|
||||
import seed.map.T_BBS_MANAGER;
|
||||
import seed.map.T_BBS_SET;
|
||||
import seed.map.T_MEMBER;
|
||||
|
||||
@Service
|
||||
public class ManagerBbsManagerServiceImpl extends AbstractServiceImpl implements ManagerBbsManagerService{
|
||||
|
||||
@Autowired
|
||||
private BbsManagerDAO bbsManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteManagerDAO siteManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private MemberDAO memberDAO;
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean getBbsManagerListGrantCnt(Integer bbsSetIdx, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(bbsManagerDAO.getBbsManagerListGrantCnt(bbsSetIdx, memberIdx) > 0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//UserBbsController
|
||||
public boolean getBbsManagerListCnt(Integer bbsSetIdx, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(bbsManagerDAO.getBbsManagerListCnt(bbsSetIdx, memberIdx) > 0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public Long getBbsManagerListCnt(Integer bbsSetIdx, Integer selGroup, String column, String search){
|
||||
|
||||
return bbsManagerDAO.getBbsManagerListCnt(bbsSetIdx, selGroup, column, search);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public Long getBbsManagerListCnt(String siteIdx, Integer memberIdx, String column, String search){
|
||||
|
||||
return bbsManagerDAO.getBbsManagerListCnt(siteIdx, memberIdx, column, search);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(Integer bbsSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
return bbsManagerDAO.getBbsManagerList(bbsSetIdx, ((page-1) * row), row, orderColumn, order, selGroup, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
return bbsManagerDAO.getBbsManagerList(siteIdx, memberIdx, ((page-1) * row), row, orderColumn, order, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerBbsController
|
||||
public List<Map<Object, Object>> getBbsManagerList(String siteIdx, Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
return bbsManagerDAO.getBbsManagerList(siteIdx, bbsSetIdx, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setBbsManagerRegProc(Integer bbsSetIdx, Integer[] idxsc){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(idxsc.length > 0){
|
||||
|
||||
for(int i=0; i<idxsc.length; i++){
|
||||
|
||||
if(bbsManagerDAO.getBbsManagerListCnt(bbsSetIdx, idxsc[i]) > 0){
|
||||
success = true;
|
||||
}else{
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(idxsc[i]);
|
||||
|
||||
T_BBS_SET tBbsSet = new T_BBS_SET();
|
||||
tBbsSet.setBbsSetIdx(bbsSetIdx);
|
||||
|
||||
T_BBS_MANAGER tBbsManager = new T_BBS_MANAGER();
|
||||
|
||||
tBbsManager.settMember(tMember);
|
||||
tBbsManager.settBbsSet(tBbsSet);
|
||||
tBbsManager.setBbsManagerStatus("U");
|
||||
tBbsManager.setBbsManagerGrant("S");
|
||||
tBbsManager.setBbsManagerRegDate(new Date());
|
||||
|
||||
if(bbsManagerDAO.setBbsManagerRegProc(tBbsManager)){
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(idxsc[i]);
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
|
||||
if(tMemberDB.getMemberGrant().equals("SM")){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
}else{
|
||||
tMemberDB.setMemberGrant("M");
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setBbsManagerDelProc(Integer bbsManagerIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
T_BBS_MANAGER tBbsManagerDB = bbsManagerDAO.getBbsManagerForm(bbsManagerIdx);
|
||||
|
||||
if(bbsManagerDAO.setBbsManagerDelProc(tBbsManagerDB)){
|
||||
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(tBbsManagerDB.gettMember().getMemberIdx());
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
|
||||
if(siteManagerDAO.getSiteManagerListCnt(tMemberDB.getMemberIdx()) > 0){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
}else if((tMemberDB.getMemberGrant().equals("SM") || tMemberDB.getMemberGrant().equals("M"))){
|
||||
tMemberDB.setMemberGrant("M");
|
||||
}else{
|
||||
tMemberDB.setMemberGrant("N");
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setBbsManagerStatusProc(Integer bbsManagerIdx, String status){
|
||||
|
||||
T_BBS_MANAGER tBbsManagerDB = bbsManagerDAO.getBbsManagerForm(bbsManagerIdx);
|
||||
|
||||
tBbsManagerDB.setBbsManagerStatus(status);
|
||||
|
||||
return bbsManagerDAO.setBbsManagerModProc(tBbsManagerDB);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setBbsManagerGrantProc(Integer bbsManagerIdx, String grant){
|
||||
|
||||
T_BBS_MANAGER tBbsManagerDB = bbsManagerDAO.getBbsManagerForm(bbsManagerIdx);
|
||||
|
||||
tBbsManagerDB.setBbsManagerGrant(grant);
|
||||
|
||||
return bbsManagerDAO.setBbsManagerModProc(tBbsManagerDB);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package seed.manager.bbs.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import seed.map.T_BBS_SET;
|
||||
import seed.map.T_BBS_SKIN;
|
||||
|
||||
public interface ManagerBbsSetService {
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public T_BBS_SET getBbsSetForm(String siteIdx, String siteMenuIdx);
|
||||
|
||||
//ManagerBbsController, CommonController
|
||||
public T_BBS_SET getBbsSetForm(Integer bbsSetIdx);
|
||||
|
||||
//ManagerBbsController
|
||||
public Long getBbsSetListCnt(String siteIdx, String column, String search);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_SET> getBbsSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_SET> getBbsSetList(String siteIdx, Integer bbsSetIdx, String bbsSetType, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public Integer setBbsSetRegProc(T_BBS_SET tBbsSet, MultipartFile upFile, Integer memberIdx, String memberMerge, String memberMergeSiteIdx, String rootPath);
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public boolean setBbsSetModProc(T_BBS_SET tBbsSet);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsSetModProc(T_BBS_SET tBbsSet, MultipartFile upFile, Integer memberIdx, boolean fileEncryChk, boolean filePreviewChk, String rootPath);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsSetDelProc(Integer bbsSetIdx, String rootPath);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsSetStatusProc(Integer bbsSetIdx, String status, Integer memberIdx);
|
||||
|
||||
//ManagerBbsController
|
||||
public Long getBbsSetSkinListCnt(String siteIdx, String bbsSetType, String bbsSetSubType);
|
||||
|
||||
//ManagerBbsController
|
||||
public List<T_BBS_SKIN> getBbsSetSkinList(String siteIdx, String bbsSetType, String bbsSetSubType, int page, int row, String[] qryColumns);
|
||||
|
||||
//ManagerBbsController
|
||||
public boolean setBbsSetSkinProc(Integer bbsSetIdx, String bbsSkinCode, Integer memberIdx);
|
||||
}
|
||||
1203
src/main/java/seed/manager/bbs/service/ManagerBbsSetServiceImpl.java
Normal file
1203
src/main/java/seed/manager/bbs/service/ManagerBbsSetServiceImpl.java
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,42 @@
|
||||
package seed.manager.formbuilder.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_FORMBUILDER_MANAGER;
|
||||
|
||||
public interface ManagerFormbuilderManagerService {
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public boolean getFormbuilderManagerListGrantCnt(Integer formbuilderSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public boolean getFormbuilderManagerListCnt(Integer formbuilderSetIdx, Integer memberIdx);
|
||||
|
||||
//CommonController
|
||||
public Long getFormbuilderManagerListCnt(Integer formbuilderSetIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//CommonController
|
||||
public Long getFormbuilderManagerListCnt(String siteIdx, Integer memberIdx, String column, String search);
|
||||
|
||||
//CommonController
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(Integer formbuilderSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public List<Map<Object, Object>> getFormbuilderManagerList(String siteIdx, Integer formbuilderSetIdx, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public boolean setFormbuilderManagerRegProc(Integer formbuilderSetIdx, Integer[] idxsc);
|
||||
|
||||
//CommonController
|
||||
public boolean setFormbuilderManagerDelProc(Integer formbuilderManagerIdx);
|
||||
|
||||
//CommonController
|
||||
public boolean setFormbuilderManagerStatusProc(Integer formbuilderManagerIdx, String status);
|
||||
|
||||
//CommonController
|
||||
public boolean setFormbuilderManagerGrantProc(Integer formbuilderManagerIdx, String grant);
|
||||
}
|
||||
@ -0,0 +1,196 @@
|
||||
package seed.manager.formbuilder.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.FormbuilderManagerDAO;
|
||||
import seed.dao.MemberDAO;
|
||||
import seed.dao.SiteManagerDAO;
|
||||
import seed.map.T_FORMBUILDER_MANAGER;
|
||||
import seed.map.T_FORMBUILDER_SET;
|
||||
import seed.map.T_MEMBER;
|
||||
|
||||
@Service
|
||||
public class ManagerFormbuilderManagerServiceImpl extends AbstractServiceImpl implements ManagerFormbuilderManagerService{
|
||||
|
||||
@Autowired
|
||||
private FormbuilderManagerDAO formbuilderManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteManagerDAO siteManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private MemberDAO memberDAO;
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public boolean getFormbuilderManagerListGrantCnt(Integer formbuilderSetIdx, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(formbuilderManagerDAO.getFormbuilderManagerListGrantCnt(formbuilderSetIdx, memberIdx) > 0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public boolean getFormbuilderManagerListCnt(Integer formbuilderSetIdx, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(formbuilderManagerDAO.getFormbuilderManagerListCnt(formbuilderSetIdx, memberIdx) > 0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public Long getFormbuilderManagerListCnt(Integer formbuilderSetIdx, Integer selGroup, String column, String search){
|
||||
|
||||
return formbuilderManagerDAO.getFormbuilderManagerListCnt(formbuilderSetIdx, selGroup, column, search);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public Long getFormbuilderManagerListCnt(String siteIdx, Integer memberIdx, String column, String search){
|
||||
|
||||
return formbuilderManagerDAO.getFormbuilderManagerListCnt(siteIdx, memberIdx, column, search);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(Integer formbuilderSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
return formbuilderManagerDAO.getFormbuilderManagerList(formbuilderSetIdx, ((page-1) * row), row, orderColumn, order, selGroup, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
return formbuilderManagerDAO.getFormbuilderManagerList(siteIdx, memberIdx, ((page-1) * row), row, orderColumn, order, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public List<Map<Object, Object>> getFormbuilderManagerList(String siteIdx, Integer formbuilderSetIdx, String[] qryColumns){
|
||||
|
||||
return formbuilderManagerDAO.getFormbuilderManagerList(siteIdx, formbuilderSetIdx, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setFormbuilderManagerRegProc(Integer formbuilderSetIdx, Integer[] idxsc){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(idxsc.length > 0){
|
||||
|
||||
for(int i=0; i<idxsc.length; i++){
|
||||
|
||||
if(formbuilderManagerDAO.getFormbuilderManagerListCnt(formbuilderSetIdx, idxsc[i]) > 0){
|
||||
success = true;
|
||||
}else{
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(idxsc[i]);
|
||||
|
||||
T_FORMBUILDER_SET tFormbuilderSet = new T_FORMBUILDER_SET();
|
||||
tFormbuilderSet.setFormbuilderSetIdx(formbuilderSetIdx);
|
||||
|
||||
T_FORMBUILDER_MANAGER tFormbuilderManager = new T_FORMBUILDER_MANAGER();
|
||||
|
||||
tFormbuilderManager.settMember(tMember);
|
||||
tFormbuilderManager.settFormbuilderSet(tFormbuilderSet);
|
||||
tFormbuilderManager.setFormbuilderManagerStatus("U");
|
||||
tFormbuilderManager.setFormbuilderManagerGrant("S");
|
||||
tFormbuilderManager.setFormbuilderManagerRegDate(new Date());
|
||||
|
||||
if(formbuilderManagerDAO.setFormbuilderManagerRegProc(tFormbuilderManager)){
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(idxsc[i]);
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
|
||||
if(tMemberDB.getMemberGrant().equals("SM")){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
}else{
|
||||
tMemberDB.setMemberGrant("M");
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setFormbuilderManagerDelProc(Integer formbuilderManagerIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
T_FORMBUILDER_MANAGER tFormbuilderManagerDB = formbuilderManagerDAO.getFormbuilderManagerForm(formbuilderManagerIdx);
|
||||
|
||||
if(formbuilderManagerDAO.setFormbuilderManagerDelProc(tFormbuilderManagerDB)){
|
||||
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(tFormbuilderManagerDB.gettMember().getMemberIdx());
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
|
||||
if(siteManagerDAO.getSiteManagerListCnt(tMemberDB.getMemberIdx()) > 0){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
}else if((tMemberDB.getMemberGrant().equals("SM") || tMemberDB.getMemberGrant().equals("M"))){
|
||||
tMemberDB.setMemberGrant("M");
|
||||
}else{
|
||||
tMemberDB.setMemberGrant("N");
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setFormbuilderManagerStatusProc(Integer formbuilderManagerIdx, String status){
|
||||
|
||||
T_FORMBUILDER_MANAGER tFormbuilderManagerDB = formbuilderManagerDAO.getFormbuilderManagerForm(formbuilderManagerIdx);
|
||||
|
||||
tFormbuilderManagerDB.setFormbuilderManagerStatus(status);
|
||||
|
||||
return formbuilderManagerDAO.setFormbuilderManagerModProc(tFormbuilderManagerDB);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setFormbuilderManagerGrantProc(Integer formbuilderManagerIdx, String grant){
|
||||
|
||||
T_FORMBUILDER_MANAGER tFormbuilderManagerDB = formbuilderManagerDAO.getFormbuilderManagerForm(formbuilderManagerIdx);
|
||||
|
||||
tFormbuilderManagerDB.setFormbuilderManagerGrant(grant);
|
||||
|
||||
return formbuilderManagerDAO.setFormbuilderManagerModProc(tFormbuilderManagerDB);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package seed.manager.formbuilder.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_FORMBUILDER_SET;
|
||||
import seed.map.T_FORMBUILDER_SKIN;
|
||||
import seed.map.VIEW_FORMBUILDER_SET;
|
||||
|
||||
public interface ManagerFormbuilderSetService {
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public T_FORMBUILDER_SET getFormbuilderSetForm(String siteIdx, String siteMenuIdx);
|
||||
|
||||
//ManagerFormbuilderController, CommonController
|
||||
public T_FORMBUILDER_SET getFormbuilderSetForm(Integer formbuilderSetIdx);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public List<Map<Object, Object>> getFormbuilderSetMiniList(Integer formbuilderSetIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public Long getFormbuilderSetListCnt(String siteIdx, String column, String search);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public List<VIEW_FORMBUILDER_SET> getFormbuilderSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public Integer setFormbuilderSetRegProc(T_FORMBUILDER_SET tFormbuilderSet, Integer memberIdx, String memberMerge, String memberMergeSiteIdx);
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public boolean setFormbuilderSetModProc(T_FORMBUILDER_SET tFormbuilderSet);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public boolean setFormbuilderSetModProc(T_FORMBUILDER_SET tFormbuilderSet, Integer memberIdx);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public boolean setFormbuilderSetDelProc(Integer formbuilderSetIdx, String rootPath);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public boolean setFormbuilderSetStatusProc(Integer formbuilderSetIdx, String status, Integer memberIdx);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public Long getFormbuilderSetSkinListCnt(String siteIdx);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSetSkinList(String siteIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public boolean setFormbuilderSetSkinProc(Integer formbuilderSetIdx, String formbuilderSkinCode, Integer memberIdx);
|
||||
}
|
||||
@ -0,0 +1,237 @@
|
||||
package seed.manager.formbuilder.service;
|
||||
|
||||
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.AbstractServiceImpl;
|
||||
|
||||
import seed.dao.FormbuilderAuthDAO;
|
||||
import seed.dao.FormbuilderDataDAO;
|
||||
import seed.dao.FormbuilderSetDAO;
|
||||
import seed.dao.FormbuilderSkinDAO;
|
||||
import seed.dao.GroupDAO;
|
||||
import seed.map.T_FORMBUILDER_AUTH;
|
||||
import seed.map.T_FORMBUILDER_DATA;
|
||||
import seed.map.T_FORMBUILDER_SET;
|
||||
import seed.map.T_FORMBUILDER_SKIN;
|
||||
import seed.map.T_GROUP;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.map.VIEW_FORMBUILDER_SET;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Service
|
||||
public class ManagerFormbuilderSetServiceImpl extends AbstractServiceImpl implements ManagerFormbuilderSetService{
|
||||
|
||||
@Autowired
|
||||
private FormbuilderSetDAO formbuilderSetDAO;
|
||||
|
||||
@Autowired
|
||||
private GroupDAO groupDAO;
|
||||
|
||||
@Autowired
|
||||
private FormbuilderAuthDAO formbuilderAuthDAO;
|
||||
|
||||
@Autowired
|
||||
private FormbuilderDataDAO formbuilderDataDAO;
|
||||
|
||||
@Autowired
|
||||
private FormbuilderSkinDAO formbuilderSkinDAO;
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public T_FORMBUILDER_SET getFormbuilderSetForm(String siteIdx, String siteMenuIdx){
|
||||
|
||||
return formbuilderSetDAO.getFormbuilderSetForm(siteIdx, siteMenuIdx);
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public T_FORMBUILDER_SET getFormbuilderSetForm(Integer formbuilderSetIdx){
|
||||
|
||||
return formbuilderSetDAO.getFormbuilderSetForm(formbuilderSetIdx);
|
||||
}
|
||||
|
||||
public List<Map<Object, Object>> getFormbuilderSetMiniList(Integer formbuilderSetIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
return formbuilderSetDAO.getFormbuilderSetMiniList(formbuilderSetIdx, ((page-1) * row), row, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public Long getFormbuilderSetListCnt(String siteIdx, String column, String search){
|
||||
|
||||
return formbuilderSetDAO.getFormbuilderSetListCnt(siteIdx, column, search);
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public List<VIEW_FORMBUILDER_SET> getFormbuilderSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
return formbuilderSetDAO.getFormbuilderSetList(siteIdx, ((page-1) * row), row, orderColumn, order, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
@Transactional
|
||||
public Integer setFormbuilderSetRegProc(T_FORMBUILDER_SET tFormbuilderSet, Integer memberIdx, String memberMerge, String memberMergeSiteIdx){
|
||||
|
||||
Integer formbuilderSetIdx = 0;
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
tFormbuilderSet.settMember(tMember);
|
||||
tFormbuilderSet.setFormbuilderSetSkinCode("basic");
|
||||
tFormbuilderSet.setFormbuilderSetStatus("U");
|
||||
tFormbuilderSet.setFormbuilderSetRegDate(new Date());
|
||||
tFormbuilderSet.setFormbuilderSetModDate(new Date());
|
||||
|
||||
T_FORMBUILDER_SET tFormbuilderSetDB = formbuilderSetDAO.setFormbuilderSetRegProc(tFormbuilderSet);
|
||||
|
||||
if(tFormbuilderSetDB != null){
|
||||
|
||||
formbuilderSetIdx = tFormbuilderSetDB.getFormbuilderSetIdx();
|
||||
|
||||
//그룹 테이블의 내용을 T_FORMBUILDER_AUTH에 INSERT
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_GROUP> tGroupList = null;
|
||||
|
||||
if(memberMerge.equals("true")){
|
||||
tGroupList = groupDAO.getGroupList(memberMergeSiteIdx, qryColumns);
|
||||
}else{
|
||||
tGroupList = groupDAO.getGroupList(tFormbuilderSet.gettSite().getSiteIdx(), qryColumns);
|
||||
}
|
||||
|
||||
if(tGroupList != null && tGroupList.size() > 0){
|
||||
for(int g=0; g<tGroupList.size(); g++){
|
||||
|
||||
T_GROUP tGroupDB = tGroupList.get(g);
|
||||
|
||||
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)){
|
||||
formbuilderSetIdx = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return formbuilderSetIdx;
|
||||
}
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
@Transactional
|
||||
public boolean setFormbuilderSetModProc(T_FORMBUILDER_SET tFormbuilderSet){
|
||||
|
||||
return formbuilderSetDAO.setFormbuilderSetModProc(tFormbuilderSet);
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
@Transactional
|
||||
public boolean setFormbuilderSetModProc(T_FORMBUILDER_SET tFormbuilderSet, Integer memberIdx){
|
||||
|
||||
T_FORMBUILDER_SET tFormbuilderSetDB = formbuilderSetDAO.getFormbuilderSetForm(tFormbuilderSet.getFormbuilderSetIdx());
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
tFormbuilderSetDB.settMember(tMember);
|
||||
tFormbuilderSetDB.setFormbuilderSetName(tFormbuilderSet.getFormbuilderSetName());
|
||||
tFormbuilderSetDB.setFormbuilderSetSdate(tFormbuilderSet.getFormbuilderSetSdate());
|
||||
tFormbuilderSetDB.setFormbuilderSetEdate(tFormbuilderSet.getFormbuilderSetEdate());
|
||||
tFormbuilderSetDB.setFormbuilderSetOverlap(tFormbuilderSet.getFormbuilderSetOverlap());
|
||||
tFormbuilderSetDB.setFormbuilderSetMiniRow(tFormbuilderSet.getFormbuilderSetMiniRow());
|
||||
tFormbuilderSetDB.setFormbuilderSetModDate(new Date());
|
||||
tFormbuilderSetDB.setFormbuilderSetTHtml(tFormbuilderSet.getFormbuilderSetTHtml());
|
||||
tFormbuilderSetDB.setFormbuilderSetFHtml(tFormbuilderSet.getFormbuilderSetFHtml());
|
||||
|
||||
return formbuilderSetDAO.setFormbuilderSetModProc(tFormbuilderSetDB);
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
@Transactional
|
||||
public boolean setFormbuilderSetDelProc(Integer formbuilderSetIdx, String rootPath){
|
||||
|
||||
T_FORMBUILDER_SET tFormbuilderSetDB = formbuilderSetDAO.getFormbuilderSetForm(formbuilderSetIdx);
|
||||
|
||||
if(tFormbuilderSetDB.gettFormbuilderDatas().size() > 0){
|
||||
SeedUtils.setSeedDeleteFiles(rootPath + "/" + tFormbuilderSetDB.gettSite().getSiteIdx() + "/upload/formbuilder/" + tFormbuilderSetDB.getFormbuilderSetIdx(), "");
|
||||
}
|
||||
|
||||
return formbuilderSetDAO.setFormbuilderSetDelProc(tFormbuilderSetDB);
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
@Transactional
|
||||
public boolean setFormbuilderSetStatusProc(Integer formbuilderSetIdx, String status, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
T_FORMBUILDER_SET tFormbuilderSetDB = formbuilderSetDAO.getFormbuilderSetForm(formbuilderSetIdx);
|
||||
Iterator<T_FORMBUILDER_DATA> iteratorList = tFormbuilderSetDB.gettFormbuilderDatas().iterator();
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
tFormbuilderSetDB.settMember(tMember);
|
||||
tFormbuilderSetDB.setFormbuilderSetModDate(new Date());
|
||||
tFormbuilderSetDB.setFormbuilderSetStatus(status);
|
||||
|
||||
if(formbuilderSetDAO.setFormbuilderSetModProc(tFormbuilderSetDB)){
|
||||
|
||||
success = true;
|
||||
|
||||
while(iteratorList.hasNext()){
|
||||
|
||||
T_FORMBUILDER_DATA tFormbuilderDataDB = formbuilderDataDAO.getFormbuilderDataForm(iteratorList.next().getFormbuilderDataIdx());
|
||||
|
||||
tFormbuilderDataDB.setFormbuilderDataStatus(status);
|
||||
|
||||
if(!formbuilderDataDAO.setFormbuilderDataModProc(tFormbuilderDataDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public Long getFormbuilderSetSkinListCnt(String siteIdx){
|
||||
|
||||
return formbuilderSkinDAO.getFormbuilderSetSkinListCnt(siteIdx);
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSetSkinList(String siteIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
return formbuilderSkinDAO.getFormbuilderSetSkinList(siteIdx, ((page-1) * row), row, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerFormbuilderController
|
||||
@Transactional
|
||||
public boolean setFormbuilderSetSkinProc(Integer formbuilderSetIdx, String formbuilderSkinCode, Integer memberIdx){
|
||||
|
||||
T_FORMBUILDER_SET tFormbuilderSetDB = formbuilderSetDAO.getFormbuilderSetForm(formbuilderSetIdx);
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
tFormbuilderSetDB.settMember(tMember);
|
||||
tFormbuilderSetDB.setFormbuilderSetSkinCode(formbuilderSkinCode);
|
||||
|
||||
return formbuilderSetDAO.setFormbuilderSetModProc(tFormbuilderSetDB);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package seed.manager.group.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_GROUP;
|
||||
|
||||
public interface ManagerGroupService {
|
||||
|
||||
//ManagerGroupController
|
||||
public T_GROUP getGroupForm(Integer groupIdx);
|
||||
|
||||
//ManagerMemberController
|
||||
public List<T_GROUP> getGroupList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//HomeController
|
||||
public String getGroupList(String siteIdx, Integer memberIdx, String memberMerge, String memberMergeSiteIdx);
|
||||
|
||||
//ManagerGroupController
|
||||
public List<T_GROUP> getGroupList(String siteIdx, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerGroupController
|
||||
public Integer setGroupRegProc(T_GROUP tGroup, Integer memberIdx, String memberMerge, String memberMergeSiteIdx, String rootPath);
|
||||
|
||||
//ManagerGroupController
|
||||
public boolean setGroupModProc(T_GROUP tGroup, Integer memberIdx);
|
||||
|
||||
//ManagerGroupController
|
||||
public boolean setGroupDelProc(Integer groupIdx, String memberMerge, String memberMergeSiteIdx, String rootPath);
|
||||
|
||||
//ManagerGroupController
|
||||
public boolean setGroupStatusProc(Integer groupIdx, String status, Integer memberIdx, String memberMerge, String memberMergeSiteIdx, String rootPath);
|
||||
|
||||
//ManagerGroupController
|
||||
public boolean setGroupOrderProc(String siteIdx, Integer groupLevel, String orderType, Integer memberIdx, String rootPath);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,26 @@
|
||||
package seed.manager.group.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_GROUPS;
|
||||
|
||||
public interface ManagerGroupsService {
|
||||
|
||||
//ManagerGroupController
|
||||
public Long getGroupsListCnt(Integer groupIdx, String column, String search);
|
||||
|
||||
//ManagerGroupController
|
||||
public List<T_GROUPS> getGroupsList(Integer groupIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerMemberController
|
||||
public List<T_GROUPS> getGroupsList(String siteIdx, Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//ManagerGroupController
|
||||
public boolean setGroupsRegProc(String siteIdx, Integer groupIdx, Integer[] idxsc);
|
||||
|
||||
//ManagerGroupController
|
||||
public String setGroupsDelProc(Integer groupsIdx);
|
||||
|
||||
//ManagerGroupController
|
||||
public boolean setGroupsStatusProc(Integer groupsIdx, String status);
|
||||
}
|
||||
@ -0,0 +1,116 @@
|
||||
package seed.manager.group.service;
|
||||
|
||||
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.map.T_GROUP;
|
||||
import seed.map.T_GROUPS;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.map.T_SITE;
|
||||
import seed.dao.GroupsDAO;
|
||||
|
||||
@Service
|
||||
public class ManagerGroupsServiceImpl extends AbstractServiceImpl implements ManagerGroupsService{
|
||||
|
||||
@Autowired
|
||||
private GroupsDAO groupsDAO;
|
||||
|
||||
//ManagerGroupController
|
||||
public Long getGroupsListCnt(Integer groupIdx, String column, String search){
|
||||
|
||||
return groupsDAO.getGroupsListCnt(groupIdx, column, search);
|
||||
}
|
||||
|
||||
//ManagerGroupController
|
||||
public List<T_GROUPS> getGroupsList(Integer groupIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
return groupsDAO.getGroupsList(groupIdx, ((page-1) * row), row, orderColumn, order, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
public List<T_GROUPS> getGroupsList(String siteIdx, Integer memberIdx, String[] qryColumns){
|
||||
|
||||
return groupsDAO.getGroupsList(siteIdx, memberIdx, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerGroupController
|
||||
@Transactional
|
||||
public boolean setGroupsRegProc(String siteIdx, Integer groupIdx, Integer[] idxsc){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(idxsc.length > 0){
|
||||
|
||||
for(int i=0; i<idxsc.length; i++){
|
||||
|
||||
if(groupsDAO.getGroupsListCnt(siteIdx, groupIdx, idxsc[i]) > 0){
|
||||
success = true;
|
||||
}else{
|
||||
|
||||
T_SITE tSite = new T_SITE();
|
||||
tSite.setSiteIdx(siteIdx);
|
||||
|
||||
T_GROUP tGroup = new T_GROUP();
|
||||
tGroup.setGroupIdx(groupIdx);
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(idxsc[i]);
|
||||
|
||||
T_GROUPS tGroups = new T_GROUPS();
|
||||
|
||||
tGroups.settSite(tSite);
|
||||
tGroups.settGroup(tGroup);
|
||||
tGroups.settMember(tMember);
|
||||
tGroups.setGroupsStatus("U");
|
||||
tGroups.setGroupsRegDate(new Date());
|
||||
|
||||
if(groupsDAO.setGroupsRegProc(tGroups)){
|
||||
success = true;
|
||||
}else{
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerGroupController
|
||||
@Transactional
|
||||
public String setGroupsDelProc(Integer groupsIdx){
|
||||
|
||||
String success = "";
|
||||
|
||||
T_GROUPS tGroupsDB = groupsDAO.getGroupsForm(groupsIdx);
|
||||
|
||||
//그룹이 한개만 있을경우 그룹 삭제는 불가능(회원은 적어도 한개의 그룹에 속해야함)
|
||||
if(groupsDAO.getGroupsListCnt(tGroupsDB.gettMember().getMemberIdx()) <= 1){
|
||||
success = "N";
|
||||
}else{
|
||||
if(groupsDAO.setGroupsDelProc(tGroupsDB)){
|
||||
success = "Y";
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerGroupController
|
||||
@Transactional
|
||||
public boolean setGroupsStatusProc(Integer groupsIdx, String status){
|
||||
|
||||
T_GROUPS tGroupsDB = groupsDAO.getGroupsForm(groupsIdx);
|
||||
|
||||
tGroupsDB.setGroupsStatus(status);
|
||||
|
||||
return groupsDAO.setGroupsModProc(tGroupsDB);
|
||||
}
|
||||
}
|
||||
655
src/main/java/seed/manager/group/web/ManagerGroupController.java
Normal file
655
src/main/java/seed/manager/group/web/ManagerGroupController.java
Normal file
@ -0,0 +1,655 @@
|
||||
package seed.manager.group.web;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import seed.manager.group.service.ManagerGroupService;
|
||||
import seed.manager.group.service.ManagerGroupsService;
|
||||
import seed.manager.member.service.ManagerMemberService;
|
||||
import seed.manager.site.service.ManagerSiteManagerService;
|
||||
import seed.map.T_GROUP;
|
||||
import seed.utils.InterceptorCheck;
|
||||
import seed.utils.Paging;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Controller
|
||||
public class ManagerGroupController {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
private ManagerGroupService managerGroupService;
|
||||
|
||||
@Autowired
|
||||
private ManagerGroupsService managerGroupsService;
|
||||
|
||||
@Autowired
|
||||
private ManagerSiteManagerService managerSiteManagerService;
|
||||
|
||||
@Autowired
|
||||
private ManagerMemberService managerMemberService;
|
||||
|
||||
@Value("#{config['root.path']}")
|
||||
private String rootPath;
|
||||
|
||||
@Value("#{config['member.merge']}")
|
||||
private String memberMerge;
|
||||
|
||||
@Value("#{config['member.merge.siteIdx']}")
|
||||
private String memberMergeSiteIdx;
|
||||
|
||||
public void getSeedLicense(HttpServletResponse httpServletResponse){
|
||||
|
||||
if(SeedUtils.setReplaceNull(InterceptorCheck.getLicenseKey()).equals("")){
|
||||
try {
|
||||
httpServletResponse.sendRedirect("/common/seed.do");
|
||||
} catch (IOException ex) {
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setSessionRemove(HttpSession session){
|
||||
session.removeAttribute("memberIdx");
|
||||
session.removeAttribute("memberId");
|
||||
session.removeAttribute("memberName");
|
||||
session.removeAttribute("memberDept");
|
||||
session.removeAttribute("memberPosition");
|
||||
session.removeAttribute("memberTel");
|
||||
session.removeAttribute("memberPhone");
|
||||
session.removeAttribute("memberEmail1");
|
||||
session.removeAttribute("memberEmail2");
|
||||
session.removeAttribute("memberGrant");
|
||||
|
||||
session.removeAttribute("url");
|
||||
session.removeAttribute("message");
|
||||
session.removeAttribute("opener");
|
||||
session.removeAttribute("append");
|
||||
session.removeAttribute("self");
|
||||
}
|
||||
|
||||
public void setSessionMessageRemove(HttpSession session){
|
||||
session.removeAttribute("url");
|
||||
session.removeAttribute("message");
|
||||
session.removeAttribute("opener");
|
||||
session.removeAttribute("append");
|
||||
session.removeAttribute("self");
|
||||
}
|
||||
|
||||
public void setPaging(@ModelAttribute("paging") Paging paging){
|
||||
|
||||
if(paging != null){
|
||||
if(paging.getPage() == null){paging.setPage(1);}
|
||||
if(paging.getRow() == null){paging.setRow(10);}
|
||||
if(paging.getPagec() == null){paging.setPagec(1);}
|
||||
if(paging.getRowc() == null){paging.setRowc(10);}
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/{siteIdx}/groupList.do")
|
||||
public ModelAndView getGroupList(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
String[] qryColumns = {"groupBy", "tGroupss.groupsIdxCnt", "groupIdx", "groupName", "groupType", "groupName", "groupLevel", "groupRegDate", "groupStatus", "tMember.memberId", "tMember.memberName"};
|
||||
|
||||
List<T_GROUP> tGroupList = managerGroupService.getGroupList(siteIdx, column, search, qryColumns);
|
||||
|
||||
map.put("groupList", tGroupList);
|
||||
map.put("groupListCnt", tGroupList.size());
|
||||
|
||||
map.put("column", column);
|
||||
map.put("search", search);
|
||||
|
||||
map.put("memberAuth", memberAuth);
|
||||
|
||||
return new ModelAndView("/manager/group/groupList");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/{siteIdx}/groupForm.do")
|
||||
public ModelAndView getGroupForm(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
map.put("memberAuth", memberAuth);
|
||||
|
||||
return new ModelAndView("/manager/group/groupForm");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/{siteIdx}/groupEdit/{groupIdx}.do", method=RequestMethod.GET)
|
||||
public ModelAndView getGroupEdit(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@PathVariable(value="groupIdx") Integer groupIdx,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
map.put("column", column);
|
||||
map.put("search", search);
|
||||
|
||||
map.put("tGroupDB", managerGroupService.getGroupForm(groupIdx));
|
||||
|
||||
map.put("memberAuth", memberAuth);
|
||||
|
||||
return new ModelAndView("/manager/group/groupEdit");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/proc/{siteIdx}/groupRegProc.do", method=RequestMethod.POST)
|
||||
public ModelAndView setGroupRegProc(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@ModelAttribute("T_GROUP") T_GROUP tGroup,
|
||||
BindingResult bindingResult){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
Integer groupIdx = managerGroupService.setGroupRegProc(tGroup, memberIdx, memberMerge, memberMergeSiteIdx, rootPath);
|
||||
|
||||
if(groupIdx > 0){
|
||||
map.put("url", "/gtm/"+siteIdx+"/groupList.do");
|
||||
map.put("message", "common.message.reg");
|
||||
}else{
|
||||
map.put("url", "/gtm/"+siteIdx+"/groupForm.do");
|
||||
map.put("message", "common.message.error.reg");
|
||||
}
|
||||
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/proc/{siteIdx}/groupModProc.do", method=RequestMethod.POST)
|
||||
public ModelAndView setGroupModProc(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@ModelAttribute("T_GROUP") T_GROUP tGroup,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search,
|
||||
BindingResult bindingResult){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
if(managerGroupService.setGroupModProc(tGroup, memberIdx)){
|
||||
map.put("message", "common.message.mod");
|
||||
}else{
|
||||
map.put("message", "common.message.error.mod");
|
||||
}
|
||||
|
||||
map.put("url", "/gtm/"+siteIdx+"/groupEdit/"+tGroup.getGroupIdx()+".do?"+
|
||||
"column="+column+"&"+
|
||||
"search="+search);
|
||||
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/proc/{siteIdx}/groupDelProc/{groupIdx}.do", method=RequestMethod.GET)
|
||||
public ModelAndView setGroupDelProc(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@PathVariable(value="groupIdx") Integer groupIdx,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
if(managerGroupService.setGroupDelProc(groupIdx, memberMerge, memberMergeSiteIdx, rootPath)){
|
||||
map.put("message", "common.message.del");
|
||||
}else{
|
||||
map.put("message", "common.message.error.del");
|
||||
}
|
||||
|
||||
map.put("url", "/gtm/"+siteIdx+"/groupList.do?"+
|
||||
"column="+column+"&"+
|
||||
"search="+search);
|
||||
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/proc/{siteIdx}/groupStatusProc.do", method=RequestMethod.POST)
|
||||
public ModelAndView setGroupStatusProc(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search,
|
||||
@RequestParam(value="idxs", required=true) Integer[] idxs,
|
||||
@RequestParam(value="selStatus", required=true) String selStatus){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(idxs.length > 0){
|
||||
for(int i=0; i<idxs.length; i++){
|
||||
if(managerGroupService.setGroupStatusProc(idxs[i], selStatus, memberIdx, memberMerge, memberMergeSiteIdx, rootPath)){
|
||||
success = true;
|
||||
}else{
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(success){
|
||||
map.put("message", "common.message.status");
|
||||
}else{
|
||||
map.put("message", "common.message.error.status");
|
||||
}
|
||||
|
||||
map.put("url", "/gtm/"+siteIdx+"/groupList.do?"+
|
||||
"column="+column+"&"+
|
||||
"search="+search);
|
||||
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/proc/{siteIdx}/groupOrderProc/{groupLevel}.do", method=RequestMethod.GET)
|
||||
public ModelAndView setGroupOrderProc(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@PathVariable(value="groupLevel") Integer groupLevel,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search,
|
||||
@RequestParam(value="orderType", required=true) String orderType){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
if(managerGroupService.setGroupOrderProc(siteIdx, groupLevel, orderType, memberIdx, rootPath)){
|
||||
map.put("message", "common.message.level");
|
||||
}else{
|
||||
map.put("message", "common.message.error.level");
|
||||
}
|
||||
|
||||
map.put("url", "/gtm/"+siteIdx+"/groupList.do?"+
|
||||
"column="+column+"&"+
|
||||
"search="+search);
|
||||
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/{siteIdx}/{groupIdx}/groupsList.do")
|
||||
public ModelAndView getGroupsList(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@PathVariable(value="groupIdx") Integer groupIdx,
|
||||
@ModelAttribute("paging") Paging paging,
|
||||
@RequestParam(value="orderColumn", defaultValue="groupsIdx", required=false) String orderColumn,
|
||||
@RequestParam(value="order", defaultValue="DESC", required=false) String order,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search,
|
||||
@RequestParam(value="orderColumnc", defaultValue="memberIdx", required=false) String orderColumnc,
|
||||
@RequestParam(value="orderc", defaultValue="DESC", required=false) String orderc,
|
||||
@RequestParam(value="selGroup", defaultValue="0", required=false) Integer selGroup,
|
||||
@RequestParam(value="columnc", defaultValue="", required=false) String columnc,
|
||||
@RequestParam(value="searchc", defaultValue="", required=false) String searchc){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
setPaging(paging);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
map.put("groupList", managerGroupService.getGroupList(siteIdx, new String[] {"groupIdx", "groupName", "groupLevel"}));
|
||||
|
||||
String[] qryColumnsg = {"groupsIdx", "tGroup.groupName", "groupsRegDate", "groupsStatus", "tMember.memberId", "tMember.memberName", "tMember.memberDept", "tMember.memberPosition"};
|
||||
|
||||
paging.setCount(managerGroupsService.getGroupsListCnt(groupIdx, column, search));
|
||||
|
||||
map.put("groupsList", managerGroupsService.getGroupsList(groupIdx, paging.getPage(), paging.getRow(), orderColumn, order, column, search, qryColumnsg));
|
||||
map.put("groupsListCnt", paging.getCount());
|
||||
|
||||
String[] qryColumnsm = {"groupBy", "memberIdx", "memberId", "memberName", "memberRegDate", "memberGrant", "memberStatus", "memberDept", "memberPosition"};
|
||||
|
||||
paging.setCountc(managerMemberService.getMemberListCnt(siteIdx, selGroup, columnc, searchc));
|
||||
|
||||
map.put("memberList", managerMemberService.getMemberList(siteIdx, paging.getPagec(), paging.getRowc(), orderColumnc, orderc, selGroup, columnc, searchc, qryColumnsm));
|
||||
map.put("memberListCnt", paging.getCountc());
|
||||
|
||||
map.put("page", paging.getPage());
|
||||
map.put("row", paging.getRow());
|
||||
map.put("pages", paging.getPages());
|
||||
map.put("blocks", paging.getBlocks());
|
||||
map.put("block", paging.getBlock());
|
||||
map.put("fPage", paging.getfPage());
|
||||
map.put("lPage", paging.getlPage());
|
||||
|
||||
map.put("orderColumn", orderColumn);
|
||||
map.put("order", order);
|
||||
map.put("column", column);
|
||||
map.put("search", search);
|
||||
|
||||
map.put("pagec", paging.getPagec());
|
||||
map.put("rowc", paging.getRowc());
|
||||
map.put("pagesc", paging.getPagesc());
|
||||
map.put("blocksc", paging.getBlocksc());
|
||||
map.put("blockc", paging.getBlockc());
|
||||
map.put("fPagec", paging.getfPagec());
|
||||
map.put("lPagec", paging.getlPagec());
|
||||
|
||||
map.put("orderColumnc", orderColumnc);
|
||||
map.put("orderc", orderc);
|
||||
map.put("selGroup", selGroup);
|
||||
map.put("columnc", columnc);
|
||||
map.put("searchc", searchc);
|
||||
|
||||
map.put("memberAuth", memberAuth);
|
||||
|
||||
return new ModelAndView("/manager/group/groupsList");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/proc/{siteIdx}/{groupIdx}/groupsDelProc/{groupsIdx}.do", method=RequestMethod.GET)
|
||||
public ModelAndView setGroupsDelProc(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@PathVariable(value="groupIdx") Integer groupIdx,
|
||||
@PathVariable(value="groupsIdx") Integer groupsIdx,
|
||||
@ModelAttribute("paging") Paging paging,
|
||||
@RequestParam(value="orderColumn", defaultValue="groupsIdx", required=false) String orderColumn,
|
||||
@RequestParam(value="order", defaultValue="DESC", required=false) String order,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search,
|
||||
@RequestParam(value="orderColumnc", defaultValue="memberIdx", required=false) String orderColumnc,
|
||||
@RequestParam(value="orderc", defaultValue="DESC", required=false) String orderc,
|
||||
@RequestParam(value="selGroup", defaultValue="0", required=false) Integer selGroup,
|
||||
@RequestParam(value="columnc", defaultValue="", required=false) String columnc,
|
||||
@RequestParam(value="searchc", defaultValue="", required=false) String searchc){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
setPaging(paging);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
String success = managerGroupsService.setGroupsDelProc(groupsIdx);
|
||||
|
||||
if(success.equals("Y")){
|
||||
map.put("message", "common.message.del");
|
||||
}else if(success.equals("N")){
|
||||
map.put("message", "common.message.error.groups");
|
||||
}else{
|
||||
map.put("message", "common.message.error.del");
|
||||
}
|
||||
|
||||
map.put("url", "/gtm/"+siteIdx+"/"+groupIdx+"/groupsList.do?"+
|
||||
"page="+paging.getPage()+"&"+
|
||||
"row="+paging.getRow()+"&"+
|
||||
"orderColumn="+orderColumn+"&"+
|
||||
"order="+order+"&"+
|
||||
"column="+column+"&"+
|
||||
"search="+search+"&"+
|
||||
"pagec="+paging.getPagec()+"&"+
|
||||
"rowc="+paging.getRowc()+"&"+
|
||||
"orderColumnc="+orderColumnc+"&"+
|
||||
"orderc="+orderc+"&"+
|
||||
"selGroup="+selGroup+"&"+
|
||||
"columnc="+columnc+"&"+
|
||||
"searchc="+searchc);
|
||||
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/proc/{siteIdx}/{groupIdx}/groupsStatusProc.do", method=RequestMethod.POST)
|
||||
public ModelAndView setGroupsStatusProc(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@PathVariable(value="groupIdx") Integer groupIdx,
|
||||
@ModelAttribute("paging") Paging paging,
|
||||
@RequestParam(value="orderColumn", defaultValue="groupsIdx", required=false) String orderColumn,
|
||||
@RequestParam(value="order", defaultValue="DESC", required=false) String order,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search,
|
||||
@RequestParam(value="orderColumnc", defaultValue="memberIdx", required=false) String orderColumnc,
|
||||
@RequestParam(value="orderc", defaultValue="DESC", required=false) String orderc,
|
||||
@RequestParam(value="selGroup", defaultValue="0", required=false) Integer selGroup,
|
||||
@RequestParam(value="columnc", defaultValue="", required=false) String columnc,
|
||||
@RequestParam(value="searchc", defaultValue="", required=false) String searchc,
|
||||
@RequestParam(value="idxs", required=true) Integer[] idxs,
|
||||
@RequestParam(value="selStatus", required=true) String selStatus){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
setPaging(paging);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(idxs.length > 0){
|
||||
for(int i=0; i<idxs.length; i++){
|
||||
if(managerGroupsService.setGroupsStatusProc(idxs[i], selStatus)){
|
||||
success = true;
|
||||
}else{
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(success){
|
||||
map.put("message", "common.message.status");
|
||||
}else{
|
||||
map.put("message", "common.message.error.status");
|
||||
}
|
||||
|
||||
map.put("url", "/gtm/"+siteIdx+"/"+groupIdx+"/groupsList.do?"+
|
||||
"page="+paging.getPage()+"&"+
|
||||
"row="+paging.getRow()+"&"+
|
||||
"orderColumn="+orderColumn+"&"+
|
||||
"order="+order+"&"+
|
||||
"column="+column+"&"+
|
||||
"search="+search+"&"+
|
||||
"pagec="+paging.getPagec()+"&"+
|
||||
"rowc="+paging.getRowc()+"&"+
|
||||
"orderColumnc="+orderColumnc+"&"+
|
||||
"orderc="+orderc+"&"+
|
||||
"selGroup="+selGroup+"&"+
|
||||
"columnc="+columnc+"&"+
|
||||
"searchc="+searchc);
|
||||
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/gtm/proc/{siteIdx}/{groupIdx}/groupsRegProc.do", method=RequestMethod.POST)
|
||||
public ModelAndView setGroupsRegProc(HttpServletResponse httpServletResponse, HttpSession session, Map<String, Object> map,
|
||||
@PathVariable(value="siteIdx") String siteIdx,
|
||||
@PathVariable(value="groupIdx") Integer groupIdx,
|
||||
@ModelAttribute("paging") Paging paging,
|
||||
@RequestParam(value="idxsc", required=true) Integer[] idxsc,
|
||||
@RequestParam(value="orderColumn", defaultValue="groupsIdx", required=false) String orderColumn,
|
||||
@RequestParam(value="order", defaultValue="DESC", required=false) String order,
|
||||
@RequestParam(value="column", defaultValue="", required=false) String column,
|
||||
@RequestParam(value="search", defaultValue="", required=false) String search,
|
||||
@RequestParam(value="orderColumnc", defaultValue="memberIdx", required=false) String orderColumnc,
|
||||
@RequestParam(value="orderc", defaultValue="DESC", required=false) String orderc,
|
||||
@RequestParam(value="selGroup", defaultValue="0", required=false) Integer selGroup,
|
||||
@RequestParam(value="columnc", defaultValue="", required=false) String columnc,
|
||||
@RequestParam(value="searchc", defaultValue="", required=false) String searchc){
|
||||
|
||||
setSessionMessageRemove(session);
|
||||
|
||||
getSeedLicense(httpServletResponse);
|
||||
|
||||
setPaging(paging);
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N");
|
||||
boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx);
|
||||
|
||||
if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){
|
||||
setSessionRemove(session);
|
||||
map.put("url", "/gtm/login.do");
|
||||
map.put("message", "common.message.no.grant");
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
|
||||
if(managerGroupsService.setGroupsRegProc(siteIdx, groupIdx, idxsc)){
|
||||
map.put("message", "common.message.reg");
|
||||
}else{
|
||||
map.put("message", "common.message.error.reg");
|
||||
}
|
||||
|
||||
map.put("url", "/gtm/"+siteIdx+"/"+groupIdx+"/groupsList.do?"+
|
||||
"page="+paging.getPage()+"&"+
|
||||
"row="+paging.getRow()+"&"+
|
||||
"orderColumn="+orderColumn+"&"+
|
||||
"order="+order+"&"+
|
||||
"column="+column+"&"+
|
||||
"search="+search+"&"+
|
||||
"pagec="+paging.getPagec()+"&"+
|
||||
"rowc="+paging.getRowc()+"&"+
|
||||
"orderColumnc="+orderColumnc+"&"+
|
||||
"orderc="+orderc+"&"+
|
||||
"selGroup="+selGroup+"&"+
|
||||
"columnc="+columnc+"&"+
|
||||
"searchc="+searchc);
|
||||
|
||||
return new ModelAndView("/_common/jsp/message");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
package seed.manager.member.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_MEMBER_ITEM;
|
||||
|
||||
public interface ManagerMemberItemService {
|
||||
|
||||
//ManagerMemberController
|
||||
public List<Map<Object, Object>> getMemberItemList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerMemberController
|
||||
public List<T_MEMBER_ITEM> getMemberItemValuesList(String siteIdx, String memberItemGroup, String[] qryColumns);
|
||||
|
||||
//ManagerMemberController
|
||||
public List<T_MEMBER_ITEM> getMemberItemValuesList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerMemberController
|
||||
public Long getMemberItemListCnt(String siteIdx);
|
||||
|
||||
//ManagerMemberController
|
||||
public T_MEMBER_ITEM getMemberItemForm(String siteIdx, String memberItemGroup);
|
||||
|
||||
//ManagerMemberController
|
||||
public String setMemberItemRegProc(T_MEMBER_ITEM tMemberItem, Integer[] memberItemWidth, Integer[] memberItemHeight, String[] memberItemValues, Integer memberIdx);
|
||||
|
||||
//ManagerMemberController
|
||||
public boolean setMemberItemModProc(T_MEMBER_ITEM tMemberItem, Integer[] memberItemWidth, Integer[] memberItemHeight, String[] memberItemValues, Integer[] memberItemIdxs);
|
||||
|
||||
//ManagerMemberController
|
||||
public boolean setMemberItemDelProc(String siteIdx, String memberItemGroup);
|
||||
|
||||
//ManagerMemberController
|
||||
public boolean setMemberItemStatusProc(String siteIdx, String memberItemGroup, String status);
|
||||
|
||||
//ManagerMemberController
|
||||
public boolean setMemberItemOrderProc(String siteIdx, Integer memberItemOrder, String orderType);
|
||||
}
|
||||
@ -0,0 +1,418 @@
|
||||
package seed.manager.member.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.MemberItemDAO;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.map.T_MEMBER_ITEM;
|
||||
|
||||
@Service
|
||||
public class ManagerMemberItemServiceImpl extends AbstractServiceImpl implements ManagerMemberItemService{
|
||||
|
||||
@Autowired
|
||||
private MemberItemDAO memberItemDAO;
|
||||
|
||||
//ManagerMemberController
|
||||
public List<Map<Object, Object>> getMemberItemList(String siteIdx, String[] qryColumns){
|
||||
|
||||
return memberItemDAO.getMemberItemList(siteIdx, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
public List<T_MEMBER_ITEM> getMemberItemValuesList(String siteIdx, String memberItemGroup, String[] qryColumns){
|
||||
|
||||
return memberItemDAO.getMemberItemValuesList(siteIdx, memberItemGroup, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
public List<T_MEMBER_ITEM> getMemberItemValuesList(String siteIdx, String[] qryColumns){
|
||||
|
||||
return memberItemDAO.getMemberItemValuesList(siteIdx, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
public Long getMemberItemListCnt(String siteIdx){
|
||||
|
||||
return memberItemDAO.getMemberItemListCnt(siteIdx);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
public T_MEMBER_ITEM getMemberItemForm(String siteIdx, String memberItemGroup){
|
||||
|
||||
return memberItemDAO.getMemberItemForm(siteIdx, memberItemGroup);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
@Transactional
|
||||
public String setMemberItemRegProc(T_MEMBER_ITEM tMemberItem, Integer[] memberItemWidth, Integer[] memberItemHeight, String[] memberItemValues, Integer memberIdx){
|
||||
|
||||
String memberItemGroup = "";
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
String[] qryColumns = {"groupBy", "memberItemGroup"};
|
||||
|
||||
List<Map<String, Object>> tMemberItemMapList = memberItemDAO.getMemberItemGroupList(tMemberItem.gettSite().getSiteIdx(), qryColumns);
|
||||
|
||||
String[] memberItemGroups = {"memberItemA1", "memberItemB2", "memberItemC3", "memberItemD4", "memberItemE5",
|
||||
"memberItemF6", "memberItemG7", "memberItemH8", "memberItemI9", "memberItemJ10"};
|
||||
|
||||
if(tMemberItemMapList.size() > 0){
|
||||
for(int g=0; g<tMemberItemMapList.size(); g++){
|
||||
Map<String, Object> tMemberItemMapDB = tMemberItemMapList.get(g);
|
||||
if(!tMemberItemMapDB.get("_memberItemGroup").equals(memberItemGroups[g])){
|
||||
memberItemGroup = memberItemGroups[g];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(memberItemGroup.equals("")){
|
||||
memberItemGroup = memberItemGroups[tMemberItemMapList.size()];
|
||||
}
|
||||
}else{
|
||||
memberItemGroup = memberItemGroups[0];
|
||||
}
|
||||
|
||||
Integer memberItemOrder = memberItemDAO.getMemberItemOrderFormCnt(tMemberItem.gettSite().getSiteIdx())+1;
|
||||
|
||||
if(memberItemValues.length == 0){
|
||||
|
||||
tMemberItem.settMember(tMember);
|
||||
tMemberItem.setMemberItemValue("");
|
||||
tMemberItem.setMemberItemWidth(memberItemWidth[0]);
|
||||
|
||||
if(memberItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tMemberItem.setMemberItemHeight(memberItemHeight[0]);
|
||||
}
|
||||
|
||||
tMemberItem.setMemberItemGroup(memberItemGroup);
|
||||
tMemberItem.setMemberItemOrder(memberItemOrder);
|
||||
tMemberItem.setMemberItemStatus("U");
|
||||
tMemberItem.setMemberItemCount(1);
|
||||
tMemberItem.setMemberItemRegDate(new Date());
|
||||
|
||||
if(memberItemDAO.setMemberItemRegProc(tMemberItem).getMemberItemIdx() == 0){
|
||||
memberItemGroup = "";
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
for(int i=0; i<memberItemValues.length; i++){
|
||||
|
||||
tMemberItem.settMember(tMember);
|
||||
|
||||
if(memberItemWidth.length == 1){
|
||||
tMemberItem.setMemberItemWidth(memberItemWidth[0]);
|
||||
}else if(memberItemWidth.length > 1){ //TEXT, TEXTAREA 인 경우에만 적용
|
||||
tMemberItem.setMemberItemWidth(memberItemWidth[i]);
|
||||
}
|
||||
|
||||
if(memberItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tMemberItem.setMemberItemHeight(memberItemHeight[i]);
|
||||
}
|
||||
|
||||
tMemberItem.setMemberItemValue(memberItemValues[i]);
|
||||
tMemberItem.setMemberItemGroup(memberItemGroup);
|
||||
tMemberItem.setMemberItemOrder(memberItemOrder);
|
||||
tMemberItem.setMemberItemStatus("U");
|
||||
tMemberItem.setMemberItemRegDate(new Date());
|
||||
|
||||
if(memberItemDAO.setMemberItemRegProc(tMemberItem).getMemberItemIdx() == 0){
|
||||
memberItemGroup = "";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return memberItemGroup;
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
@Transactional
|
||||
public boolean setMemberItemModProc(T_MEMBER_ITEM tMemberItem, Integer[] memberItemWidth, Integer[] memberItemHeight, String[] memberItemValues, Integer[] memberItemIdxs){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
if(memberItemValues.length > 0 && memberItemIdxs.length > 0){//memberItemValues와 memberItemIdxs의 값이 있으면 기존값 수정
|
||||
|
||||
for(int i=0; i<memberItemValues.length; i++){
|
||||
|
||||
T_MEMBER_ITEM tMemberItemDB = memberItemDAO.getMemberItemForm(memberItemIdxs[i]);
|
||||
|
||||
tMemberItemDB.setMemberItemValue(memberItemValues[i]);
|
||||
|
||||
if(memberItemWidth.length == 1){
|
||||
tMemberItemDB.setMemberItemWidth(memberItemWidth[0]);
|
||||
}else if(memberItemWidth.length > 1){ //TEXT, TEXTAREA 인 경우에만 적용
|
||||
tMemberItemDB.setMemberItemWidth(memberItemWidth[i]);
|
||||
}
|
||||
|
||||
if(memberItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tMemberItemDB.setMemberItemHeight(memberItemHeight[i]);
|
||||
}
|
||||
|
||||
tMemberItemDB.setMemberItemName(tMemberItem.getMemberItemName());
|
||||
tMemberItemDB.setMemberItemPattern(tMemberItem.getMemberItemPattern());
|
||||
tMemberItemDB.setMemberItemText(tMemberItem.getMemberItemText());
|
||||
tMemberItemDB.setMemberItemEssential(tMemberItem.getMemberItemEssential());
|
||||
tMemberItemDB.setMemberItemCount(tMemberItem.getMemberItemCount());
|
||||
|
||||
if(!memberItemDAO.setMemberItemModProc(tMemberItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}else if(memberItemValues.length > 0){//memberItemValues에만 값이 있으면 비교하여 수정 및 삭제 또는 추가
|
||||
|
||||
T_MEMBER_ITEM tMemberItemDB = memberItemDAO.getMemberItemForm(tMemberItem.getMemberItemIdx());
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_MEMBER_ITEM> tMemberItemList = memberItemDAO.getMemberItemValuesList(tMemberItemDB.gettSite().getSiteIdx(), tMemberItemDB.getMemberItemGroup(), qryColumns);
|
||||
|
||||
if(tMemberItemList.size() > memberItemValues.length){//기존의 row수가 현재보다 크면 수정 후 삭제
|
||||
|
||||
for(int i=0; i<tMemberItemList.size(); i++){
|
||||
|
||||
T_MEMBER_ITEM tMemberItemtMp = tMemberItemList.get(i);
|
||||
|
||||
if(i < memberItemValues.length){
|
||||
|
||||
tMemberItemtMp.setMemberItemValue(memberItemValues[i]);
|
||||
|
||||
if(memberItemWidth.length == 1){
|
||||
tMemberItemtMp.setMemberItemWidth(memberItemWidth[0]);
|
||||
}else if(memberItemWidth.length > 1){ //TEXT, TEXTAREA 인 경우에만 적용
|
||||
tMemberItemtMp.setMemberItemWidth(memberItemWidth[i]);
|
||||
}
|
||||
|
||||
if(memberItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tMemberItemtMp.setMemberItemHeight(memberItemHeight[i]);
|
||||
}
|
||||
|
||||
tMemberItemtMp.setMemberItemName(tMemberItem.getMemberItemName());
|
||||
tMemberItemtMp.setMemberItemPattern(tMemberItem.getMemberItemPattern());
|
||||
tMemberItemtMp.setMemberItemText(tMemberItem.getMemberItemText());
|
||||
tMemberItemtMp.setMemberItemEssential(tMemberItem.getMemberItemEssential());
|
||||
tMemberItemtMp.setMemberItemCount(tMemberItem.getMemberItemCount());
|
||||
|
||||
if(!memberItemDAO.setMemberItemModProc(tMemberItemtMp)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}else{
|
||||
if(!memberItemDAO.setMemberItemDelProc(tMemberItemtMp)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{//기존의 row수가 현재보다 작거나 같으면 수정 후 추가 또는 수정
|
||||
|
||||
for(int i=0; i<memberItemValues.length; i++){
|
||||
|
||||
if(i < tMemberItemList.size()){
|
||||
|
||||
T_MEMBER_ITEM tMemberItemtMp = tMemberItemList.get(i);
|
||||
|
||||
tMemberItemtMp.setMemberItemValue(memberItemValues[i]);
|
||||
|
||||
if(memberItemWidth.length == 1){
|
||||
tMemberItemtMp.setMemberItemWidth(memberItemWidth[0]);
|
||||
}else if(memberItemWidth.length > 1){ //TEXT, TEXTAREA 인 경우에만 적용
|
||||
tMemberItemtMp.setMemberItemWidth(memberItemWidth[i]);
|
||||
}
|
||||
|
||||
if(memberItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tMemberItemtMp.setMemberItemHeight(memberItemHeight[i]);
|
||||
}
|
||||
|
||||
tMemberItemtMp.setMemberItemName(tMemberItem.getMemberItemName());
|
||||
tMemberItemtMp.setMemberItemPattern(tMemberItem.getMemberItemPattern());
|
||||
tMemberItemtMp.setMemberItemText(tMemberItem.getMemberItemText());
|
||||
tMemberItemtMp.setMemberItemEssential(tMemberItem.getMemberItemEssential());
|
||||
tMemberItemtMp.setMemberItemCount(tMemberItem.getMemberItemCount());
|
||||
|
||||
if(!memberItemDAO.setMemberItemModProc(tMemberItemtMp)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
T_MEMBER_ITEM tMemberItemtMp = new T_MEMBER_ITEM();
|
||||
|
||||
tMemberItemtMp.setMemberItemValue(memberItemValues[i]);
|
||||
|
||||
if(memberItemWidth.length == 1){
|
||||
tMemberItemtMp.setMemberItemWidth(memberItemWidth[0]);
|
||||
}else if(memberItemWidth.length > 1){ //TEXT, TEXTAREA 인 경우에만 적용
|
||||
tMemberItemtMp.setMemberItemWidth(memberItemWidth[i]);
|
||||
}
|
||||
|
||||
if(memberItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tMemberItemtMp.setMemberItemHeight(memberItemHeight[i]);
|
||||
}
|
||||
|
||||
tMemberItemtMp.setMemberItemName(tMemberItem.getMemberItemName());
|
||||
tMemberItemtMp.setMemberItemPattern(tMemberItem.getMemberItemPattern());
|
||||
tMemberItemtMp.setMemberItemText(tMemberItem.getMemberItemText());
|
||||
tMemberItemtMp.setMemberItemEssential(tMemberItem.getMemberItemEssential());
|
||||
tMemberItemtMp.setMemberItemCount(tMemberItem.getMemberItemCount());
|
||||
tMemberItemtMp.setMemberItemStatus("U");
|
||||
tMemberItemtMp.settSite(tMemberItemDB.gettSite());
|
||||
tMemberItemtMp.settMember(tMemberItemDB.gettMember());
|
||||
tMemberItemtMp.setMemberItemGroup(tMemberItemDB.getMemberItemGroup());
|
||||
tMemberItemtMp.setMemberItemOrder(tMemberItemDB.getMemberItemOrder());
|
||||
tMemberItemtMp.setMemberItemRegDate(tMemberItemDB.getMemberItemRegDate());
|
||||
|
||||
if(memberItemDAO.setMemberItemRegProc(tMemberItemtMp).getMemberItemIdx() == 0){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
T_MEMBER_ITEM tMemberItemDB = memberItemDAO.getMemberItemForm(tMemberItem.getMemberItemIdx());
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_MEMBER_ITEM> tMemberItemList = memberItemDAO.getMemberItemValuesList(tMemberItemDB.gettSite().getSiteIdx(), tMemberItemDB.getMemberItemGroup(), qryColumns);
|
||||
|
||||
if(tMemberItemList.size() > 1){ //SELECT, RADIO, CHECKBOX였다가 TEXT, TEXTAREA로 변경되었을때 추가 항목 삭제 (1개 이상일때)
|
||||
for(int i=0; i<tMemberItemList.size(); i++){
|
||||
T_MEMBER_ITEM tMemberItemDBtMp = tMemberItemList.get(i);
|
||||
if(!tMemberItemDB.getMemberItemIdx().equals(tMemberItemDBtMp.getMemberItemIdx())){ //넘어온 memberItemIdx는 수정 해야하므로 삭제 하지 않음
|
||||
if(!memberItemDAO.setMemberItemDelProc(tMemberItemDBtMp)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(success){
|
||||
tMemberItemDB.setMemberItemName(tMemberItem.getMemberItemName());
|
||||
tMemberItemDB.setMemberItemText(tMemberItem.getMemberItemText());
|
||||
tMemberItemDB.setMemberItemEssential(tMemberItem.getMemberItemEssential());
|
||||
tMemberItemDB.setMemberItemWidth(memberItemWidth[0]);
|
||||
|
||||
if(memberItemHeight.length > 0){ //TEXTAREA 인 경우에만 적용
|
||||
tMemberItemDB.setMemberItemHeight(memberItemHeight[0]);
|
||||
}
|
||||
|
||||
tMemberItemDB.setMemberItemCount(tMemberItem.getMemberItemCount());
|
||||
}
|
||||
|
||||
if(!memberItemDAO.setMemberItemModProc(tMemberItemDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
@Transactional
|
||||
public boolean setMemberItemDelProc(String siteIdx, String memberItemGroup){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_MEMBER_ITEM> tMemberItemList = memberItemDAO.getMemberItemValuesList(siteIdx, memberItemGroup, qryColumns);
|
||||
|
||||
for(int d=0; d<tMemberItemList.size(); d++){
|
||||
|
||||
T_MEMBER_ITEM tMemberItemtMp = tMemberItemList.get(d);
|
||||
|
||||
if(d == 0){
|
||||
if(memberItemDAO.getMemberItemListCnt(tMemberItemtMp.gettSite().getSiteIdx()) > 1){
|
||||
memberItemDAO.setMemberItemOrderProc(tMemberItemtMp.gettSite().getSiteIdx(), tMemberItemtMp.getMemberItemOrder());
|
||||
}
|
||||
}
|
||||
|
||||
if(!memberItemDAO.setMemberItemDelProc(tMemberItemtMp)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
@Transactional
|
||||
public boolean setMemberItemStatusProc(String siteIdx, String memberItemGroup, String status){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_MEMBER_ITEM> tMemberItemList = memberItemDAO.getMemberItemValuesList(siteIdx, memberItemGroup, qryColumns);
|
||||
|
||||
for(int m=0; m<tMemberItemList.size(); m++){
|
||||
T_MEMBER_ITEM tMemberItemtMp = tMemberItemList.get(m);
|
||||
tMemberItemtMp.setMemberItemStatus(status);
|
||||
if(!memberItemDAO.setMemberItemModProc(tMemberItemtMp)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
@Transactional
|
||||
public boolean setMemberItemOrderProc(String siteIdx, Integer memberItemOrder, String orderType){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
Integer memberItemOrdertMp = memberItemOrder;
|
||||
|
||||
if(orderType.equals("up")){
|
||||
memberItemOrder = memberItemOrder - 1;
|
||||
}else{
|
||||
memberItemOrder = memberItemOrder + 1;
|
||||
}
|
||||
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_MEMBER_ITEM> tMemberItemOrderList = memberItemDAO.getMemberItemOrderList(siteIdx, memberItemOrder, qryColumns);
|
||||
List<T_MEMBER_ITEM> tMemberItemList = memberItemDAO.getMemberItemOrderList(siteIdx, memberItemOrdertMp, qryColumns);
|
||||
|
||||
for(int i=0; i<tMemberItemOrderList.size(); i++){
|
||||
T_MEMBER_ITEM tMemberItemDB = tMemberItemOrderList.get(i);
|
||||
tMemberItemDB.setMemberItemOrder(memberItemOrdertMp);
|
||||
if(!memberItemDAO.setMemberItemModProc(tMemberItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(success = true){
|
||||
for(int i=0; i<tMemberItemList.size(); i++){
|
||||
T_MEMBER_ITEM tMemberItemDB = tMemberItemList.get(i);
|
||||
tMemberItemDB.setMemberItemOrder(memberItemOrder);
|
||||
if(!memberItemDAO.setMemberItemModProc(tMemberItemDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package seed.manager.member.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_GROUP;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.map.T_SITE;
|
||||
|
||||
public interface ManagerMemberService {
|
||||
|
||||
//ManagerMemberController, ManagerBbsController, ManagerGroupController, ManagerSiteController, ManagerBannerController
|
||||
public T_MEMBER getMemberForm(Integer memberIdx);
|
||||
|
||||
//HomeController
|
||||
public Map<Object, Object> getMemberMapForm(Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//ManagerMemberController
|
||||
public Long getMemberFormCnt(String memberId);
|
||||
|
||||
//ManagerMemberController
|
||||
public Long getMemberListCnt(String siteIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//ManagerMemberController
|
||||
public List<T_MEMBER> getMemberList(String siteIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public List<T_MEMBER> getMemberList(ArrayList<Integer> arrayListMemberIdx);
|
||||
|
||||
//ManagerMemberController
|
||||
public Integer setMemberRegProc(T_MEMBER tMember, T_SITE tSite, T_GROUP tGroup, String memberAuto);
|
||||
|
||||
//ManagerMemberController
|
||||
public boolean setMemberModProc(T_MEMBER tMember);
|
||||
|
||||
//ManagerMemberController
|
||||
public boolean setMemberDelProc(String siteIdx, Integer memberIdx, String memberOut);
|
||||
|
||||
//ManagerMemberController
|
||||
public boolean setMemberStatusProc(Integer memberIdx, String status);
|
||||
}
|
||||
@ -0,0 +1,908 @@
|
||||
package seed.manager.member.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
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.BannerDataDAO;
|
||||
import seed.dao.BannerManagerDAO;
|
||||
import seed.dao.BannerSetDAO;
|
||||
import seed.dao.BbsAuthDAO;
|
||||
import seed.dao.BbsCommentDAO;
|
||||
import seed.dao.BbsDataDAO;
|
||||
import seed.dao.BbsItemDAO;
|
||||
import seed.dao.BbsManagerDAO;
|
||||
import seed.dao.BbsSetDAO;
|
||||
import seed.dao.BbsSkinDAO;
|
||||
import seed.dao.CommonMessageDAO;
|
||||
import seed.dao.FormbuilderAuthDAO;
|
||||
import seed.dao.FormbuilderItemDAO;
|
||||
import seed.dao.FormbuilderManagerDAO;
|
||||
import seed.dao.FormbuilderSetDAO;
|
||||
import seed.dao.FormbuilderSkinDAO;
|
||||
import seed.dao.GroupsDAO;
|
||||
import seed.dao.MemberDAO;
|
||||
import seed.dao.MenuAuthDAO;
|
||||
import seed.dao.PopupDataDAO;
|
||||
import seed.dao.PopupManagerDAO;
|
||||
import seed.dao.PopupSetDAO;
|
||||
import seed.dao.QuickDataDAO;
|
||||
import seed.dao.QuickManagerDAO;
|
||||
import seed.dao.QuickSetDAO;
|
||||
import seed.dao.SiteDAO;
|
||||
import seed.dao.SiteManagerDAO;
|
||||
import seed.dao.SiteMenuDAO;
|
||||
import seed.dao.SiteMenuManagerDAO;
|
||||
import seed.dao.SurveyAuthDAO;
|
||||
import seed.dao.SurveyItemDAO;
|
||||
import seed.dao.SurveyManagerDAO;
|
||||
import seed.dao.SurveySetDAO;
|
||||
import seed.dao.SurveySkinDAO;
|
||||
import seed.dao.VisualDataDAO;
|
||||
import seed.dao.VisualManagerDAO;
|
||||
import seed.dao.VisualSetDAO;
|
||||
import seed.map.T_BANNER_DATA;
|
||||
import seed.map.T_BANNER_MANAGER;
|
||||
import seed.map.T_BANNER_SET;
|
||||
import seed.map.T_BBS_AUTH;
|
||||
import seed.map.T_BBS_COMMENT;
|
||||
import seed.map.T_BBS_DATA;
|
||||
import seed.map.T_BBS_ITEM;
|
||||
import seed.map.T_BBS_MANAGER;
|
||||
import seed.map.T_BBS_SET;
|
||||
import seed.map.T_BBS_SKIN;
|
||||
import seed.map.T_FORMBUILDER_AUTH;
|
||||
import seed.map.T_FORMBUILDER_ITEM;
|
||||
import seed.map.T_FORMBUILDER_MANAGER;
|
||||
import seed.map.T_FORMBUILDER_SET;
|
||||
import seed.map.T_FORMBUILDER_SKIN;
|
||||
import seed.map.T_GROUP;
|
||||
import seed.map.T_GROUPS;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.map.T_MENU_AUTH;
|
||||
import seed.map.T_MESSAGE;
|
||||
import seed.map.T_POPUP_DATA;
|
||||
import seed.map.T_POPUP_MANAGER;
|
||||
import seed.map.T_POPUP_SET;
|
||||
import seed.map.T_QUICK_DATA;
|
||||
import seed.map.T_QUICK_MANAGER;
|
||||
import seed.map.T_QUICK_SET;
|
||||
import seed.map.T_SITE;
|
||||
import seed.map.T_SITE_MANAGER;
|
||||
import seed.map.T_SITE_MENU;
|
||||
import seed.map.T_SITE_MENU_MANAGER;
|
||||
import seed.map.T_SURVEY_AUTH;
|
||||
import seed.map.T_SURVEY_ITEM;
|
||||
import seed.map.T_SURVEY_MANAGER;
|
||||
import seed.map.T_SURVEY_SET;
|
||||
import seed.map.T_SURVEY_SKIN;
|
||||
import seed.map.T_VISUAL_DATA;
|
||||
import seed.map.T_VISUAL_MANAGER;
|
||||
import seed.map.T_VISUAL_SET;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Service
|
||||
public class ManagerMemberServiceImpl extends AbstractServiceImpl implements ManagerMemberService{
|
||||
|
||||
@Autowired
|
||||
private MemberDAO memberDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteDAO siteDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteMenuDAO siteMenuDAO;
|
||||
|
||||
@Autowired
|
||||
private BbsSetDAO bbsSetDAO;
|
||||
|
||||
@Autowired
|
||||
private FormbuilderSetDAO formbuilderSetDAO;
|
||||
|
||||
@Autowired
|
||||
private SurveySetDAO surveySetDAO;
|
||||
|
||||
@Autowired
|
||||
private BannerSetDAO bannerSetDAO;
|
||||
|
||||
@Autowired
|
||||
private PopupSetDAO popupSetDAO;
|
||||
|
||||
@Autowired
|
||||
private QuickSetDAO quickSetDAO;
|
||||
|
||||
@Autowired
|
||||
private VisualSetDAO visualSetDAO;
|
||||
|
||||
@Autowired
|
||||
private GroupsDAO groupsDAO;
|
||||
|
||||
@Autowired
|
||||
private BbsDataDAO bbsDataDAO;
|
||||
|
||||
@Autowired
|
||||
private CommonMessageDAO commonMessageDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteManagerDAO siteManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteMenuManagerDAO siteMenuManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private BbsManagerDAO bbsManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private FormbuilderManagerDAO formbuilderManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private SurveyManagerDAO surveyManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private BannerManagerDAO bannerManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private PopupManagerDAO popupManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private VisualManagerDAO visualManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private QuickManagerDAO quickManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private BbsSkinDAO bbsSkinDAO;
|
||||
|
||||
@Autowired
|
||||
private BbsAuthDAO bbsAuthDAO;
|
||||
|
||||
@Autowired
|
||||
private BbsItemDAO bbsItemDAO;
|
||||
|
||||
@Autowired
|
||||
private BbsCommentDAO bbsCommentDAO;
|
||||
|
||||
@Autowired
|
||||
private FormbuilderSkinDAO formbuilderSkinDAO;
|
||||
|
||||
@Autowired
|
||||
private FormbuilderAuthDAO formbuilderAuthDAO;
|
||||
|
||||
@Autowired
|
||||
private FormbuilderItemDAO formbuilderItemDAO;
|
||||
|
||||
@Autowired
|
||||
private SurveySkinDAO surveySkinDAO;
|
||||
|
||||
@Autowired
|
||||
private SurveyAuthDAO surveyAuthDAO;
|
||||
|
||||
@Autowired
|
||||
private SurveyItemDAO surveyItemDAO;
|
||||
|
||||
@Autowired
|
||||
private MenuAuthDAO menuAuthDAO;
|
||||
|
||||
@Autowired
|
||||
private BannerDataDAO bannerDataDAO;
|
||||
|
||||
@Autowired
|
||||
private PopupDataDAO popupDataDAO;
|
||||
|
||||
@Autowired
|
||||
private VisualDataDAO visualDataDAO;
|
||||
|
||||
@Autowired
|
||||
private QuickDataDAO quickDataDAO;
|
||||
|
||||
//ManagerMemberController, ManagerBbsController, ManagerGroupController, ManagerSiteController
|
||||
public T_MEMBER getMemberForm(Integer memberIdx){
|
||||
|
||||
return memberDAO.getMemberForm(memberIdx);
|
||||
}
|
||||
|
||||
//HomeController
|
||||
public Map<Object, Object> getMemberMapForm(Integer memberIdx, String[] qryColumns){
|
||||
|
||||
return memberDAO.getMemberMapForm(memberIdx, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
public Long getMemberFormCnt(String memberId){
|
||||
|
||||
return memberDAO.getMemberFormCnt(memberId);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
public Long getMemberListCnt(String siteIdx, Integer selGroup, String column, String search){
|
||||
|
||||
return memberDAO.getMemberListCnt(siteIdx, selGroup, column, search);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
public List<T_MEMBER> getMemberList(String siteIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
return memberDAO.getMemberList(siteIdx, ((page-1) * row), row, orderColumn, order, selGroup, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<T_MEMBER> getMemberList(ArrayList<Integer> arrayListMemberIdx){
|
||||
|
||||
return memberDAO.getMemberList(arrayListMemberIdx);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
@Transactional
|
||||
public Integer setMemberRegProc(T_MEMBER tMember, T_SITE tSite, T_GROUP tGroup, String memberAuto){
|
||||
|
||||
Integer memberIdx = 0;
|
||||
String strCode = SeedUtils.getSeedMD5Code(tMember.getMemberPw());
|
||||
tMember.setMemberPw(SeedUtils.getSeedSHA256Code(strCode));
|
||||
tMember.setMemberGrant("N");
|
||||
|
||||
if(memberAuto.equals("true")){
|
||||
tMember.setMemberStatus("U");
|
||||
}else if(memberAuto.equals("false")){
|
||||
tMember.setMemberStatus("S");
|
||||
}
|
||||
|
||||
tMember.setMemberCode(strCode);
|
||||
tMember.setMemberRegDate(new Date());
|
||||
tMember.setMemberModDate(new Date());
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.setMemberRegProc(tMember);
|
||||
|
||||
if(tMemberDB != null){
|
||||
|
||||
memberIdx = tMemberDB.getMemberIdx();
|
||||
|
||||
T_GROUPS tGroups = new T_GROUPS();
|
||||
tGroups.settSite(tSite);
|
||||
tGroups.settGroup(tGroup);
|
||||
tGroups.settMember(tMemberDB);
|
||||
tGroups.setGroupsStatus("U");
|
||||
tGroups.setGroupsRegDate(new Date());
|
||||
|
||||
if(!groupsDAO.setGroupsRegProc(tGroups)){
|
||||
memberIdx = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return memberIdx;
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
@Transactional
|
||||
public boolean setMemberModProc(T_MEMBER tMember){
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(tMember.getMemberIdx());
|
||||
|
||||
if(!tMember.getMemberPw().equals("")){
|
||||
String strCode = SeedUtils.getSeedMD5Code(tMember.getMemberPw());
|
||||
tMemberDB.setMemberPw(SeedUtils.getSeedSHA256Code(strCode));
|
||||
tMemberDB.setMemberCode(strCode);
|
||||
}
|
||||
|
||||
tMemberDB.setMemberOldPwChk("Y");
|
||||
tMemberDB.setMemberId(tMember.getMemberId());
|
||||
tMemberDB.setMemberName(tMember.getMemberName());
|
||||
tMemberDB.setMemberEmail1(tMember.getMemberEmail1());
|
||||
tMemberDB.setMemberEmail2(tMember.getMemberEmail2());
|
||||
tMemberDB.setMemberModDate(new Date());
|
||||
|
||||
tMemberDB.setMemberPost(tMember.getMemberPost());
|
||||
tMemberDB.setMemberAddress1(tMember.getMemberAddress1());
|
||||
tMemberDB.setMemberAddress2(tMember.getMemberAddress2());
|
||||
tMemberDB.setMemberDept(tMember.getMemberDept());
|
||||
tMemberDB.setMemberPosition(tMember.getMemberPosition());
|
||||
tMemberDB.setMemberTel(tMember.getMemberTel());
|
||||
tMemberDB.setMemberPhone(tMember.getMemberPhone());
|
||||
|
||||
tMemberDB.setMemberItemA1(tMember.getMemberItemA1());
|
||||
tMemberDB.setMemberItemB2(tMember.getMemberItemB2());
|
||||
tMemberDB.setMemberItemC3(tMember.getMemberItemC3());
|
||||
tMemberDB.setMemberItemD4(tMember.getMemberItemD4());
|
||||
tMemberDB.setMemberItemE5(tMember.getMemberItemE5());
|
||||
tMemberDB.setMemberItemF6(tMember.getMemberItemF6());
|
||||
tMemberDB.setMemberItemG7(tMember.getMemberItemG7());
|
||||
tMemberDB.setMemberItemH8(tMember.getMemberItemH8());
|
||||
tMemberDB.setMemberItemI9(tMember.getMemberItemI9());
|
||||
tMemberDB.setMemberItemJ10(tMember.getMemberItemJ10());
|
||||
|
||||
return memberDAO.setMemberModProc(tMemberDB);
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
@Transactional
|
||||
public boolean setMemberDelProc(String siteIdx, Integer memberIdx, String memberFlag){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
List<T_GROUPS> groupsList = groupsDAO.getGroupsList(memberIdx);
|
||||
|
||||
if(groupsList.size() > 0){
|
||||
for(int g=0; g<groupsList.size(); g++){
|
||||
T_GROUPS tGroups = groupsList.get(g);
|
||||
if(!groupsDAO.setGroupsDelProc(tGroups)){
|
||||
success = false;
|
||||
break;
|
||||
}else{
|
||||
success = true;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
success = true;
|
||||
}
|
||||
|
||||
if(success){
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(memberIdx);
|
||||
|
||||
if(memberFlag.equals("false")){
|
||||
|
||||
String memberGrant = tMemberDB.getMemberGrant();
|
||||
|
||||
//쪽지 리스트
|
||||
List<T_MESSAGE> messageList = commonMessageDAO.getMessageList(memberIdx);
|
||||
|
||||
//게시글 리스트
|
||||
List<T_BBS_DATA> bbsDataList = bbsDataDAO.getBbsDataList(memberIdx);
|
||||
|
||||
//쪽지 삭제
|
||||
if(messageList.size() > 0){
|
||||
for(int i=0; i<messageList.size(); i++){
|
||||
T_MESSAGE tMessageDB = messageList.get(i);
|
||||
if(!commonMessageDAO.setMessageDelProc(tMessageDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(memberGrant.equals("N")){ //일반 사용자
|
||||
|
||||
//게시글 삭제
|
||||
if(bbsDataList.size() > 0){
|
||||
for(int i=0; i<bbsDataList.size(); i++){
|
||||
T_BBS_DATA tBbsDataDB = bbsDataList.get(i);
|
||||
if(!bbsDataDAO.setBbsDataDelProc(tBbsDataDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else{ //관리자
|
||||
|
||||
//슈퍼관리자 MEMBER_IDX = 1
|
||||
T_MEMBER tMemberSDB = memberDAO.getMemberForm(1);
|
||||
|
||||
/***************************** 사이트 관련 *****************************/
|
||||
//사이트
|
||||
List<T_SITE> siteList = siteDAO.getSiteList(memberIdx);
|
||||
|
||||
if(siteList.size() > 0){
|
||||
for(int i=0; i<siteList.size(); i++){
|
||||
T_SITE tSiteDB = siteList.get(i);
|
||||
tSiteDB.settMember(tMemberSDB);
|
||||
if(!siteDAO.setSiteModProc(tSiteDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//사이트 관리자 리스트
|
||||
List<T_SITE_MANAGER> siteManagerList = siteManagerDAO.getSiteManagerList(memberIdx);
|
||||
|
||||
//사이트 관리자 삭제
|
||||
if(siteManagerList.size() > 0){
|
||||
for(int i=0; i<siteManagerList.size(); i++){
|
||||
T_SITE_MANAGER tSiteManagerDB = siteManagerList.get(i);
|
||||
if(!siteManagerDAO.setSiteManagerDelProc(tSiteManagerDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//사이트 메뉴 작성자 리스트
|
||||
List<T_SITE_MENU> siteMenuList = siteMenuDAO.getSiteMenuList(memberIdx);
|
||||
|
||||
if(siteMenuList.size() > 0){
|
||||
for(int i=0; i<siteMenuList.size(); i++){
|
||||
T_SITE_MENU tSiteMenuDB = siteMenuList.get(i);
|
||||
tSiteMenuDB.settMember(tMemberSDB);
|
||||
if(!siteMenuDAO.setSiteMenuModProc(tSiteMenuDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//사이트 메뉴 관리자 리스트
|
||||
List<T_SITE_MENU_MANAGER> siteMenuManagerList = siteMenuManagerDAO.getSiteMenuManagerList(memberIdx);
|
||||
|
||||
//사이트 메뉴 관리자 삭제
|
||||
if(siteMenuManagerList.size() > 0){
|
||||
for(int i=0; i<siteMenuManagerList.size(); i++){
|
||||
T_SITE_MENU_MANAGER tSiteMenuManagerDB = siteMenuManagerList.get(i);
|
||||
if(!siteMenuManagerDAO.setSiteMenuManagerDelProc(tSiteMenuManagerDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************** 사이트 관련 *****************************/
|
||||
|
||||
|
||||
/***************************** 게시판 관련 *****************************/
|
||||
//게시글 MEMBER_IDX 변경
|
||||
if(bbsDataList.size() > 0){
|
||||
for(int i=0; i<bbsDataList.size(); i++){
|
||||
T_BBS_DATA tBbsDataDB = bbsDataList.get(i);
|
||||
tBbsDataDB.settMember(tMemberSDB);
|
||||
if(!bbsDataDAO.setBbsDataModProc(tBbsDataDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//게시판 스킨
|
||||
List<T_BBS_SKIN> bbsSkinList = bbsSkinDAO.getBbsSkinList(memberIdx);
|
||||
|
||||
if(bbsSkinList.size() > 0){
|
||||
for(int i=0; i<bbsSkinList.size(); i++){
|
||||
T_BBS_SKIN tBbsSkinDB = bbsSkinList.get(i);
|
||||
tBbsSkinDB.settMember(tMemberSDB);
|
||||
if(!bbsSkinDAO.setBbsSkinModProc(tBbsSkinDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//게시판 기능 리스트
|
||||
List<T_BBS_SET> bbsSetList = bbsSetDAO.getBbsSetList(memberIdx);
|
||||
|
||||
if(bbsSetList.size() > 0){
|
||||
for(int i=0; i<bbsSetList.size(); i++){
|
||||
T_BBS_SET tBbsSetDB = bbsSetList.get(i);
|
||||
tBbsSetDB.settMember(tMemberSDB);
|
||||
if(!bbsSetDAO.setBbsSetModProc(tBbsSetDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//게시판 관리자 리스트
|
||||
List<T_BBS_MANAGER> bbsManagerList = bbsManagerDAO.getBbsManagerList(memberIdx);
|
||||
|
||||
//게시판 관리자 삭제
|
||||
if(bbsManagerList.size() > 0){
|
||||
for(int i=0; i<bbsManagerList.size(); i++){
|
||||
T_BBS_MANAGER tBbsManagerDB = bbsManagerList.get(i);
|
||||
if(!bbsManagerDAO.setBbsManagerDelProc(tBbsManagerDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//게시판 권한 리스트
|
||||
List<T_BBS_AUTH> bbsAuthList = bbsAuthDAO.getBbsAuthList(memberIdx);
|
||||
|
||||
if(bbsAuthList.size() > 0){
|
||||
for(int i=0; i<bbsAuthList.size(); i++){
|
||||
T_BBS_AUTH tBbsAuthDB = bbsAuthList.get(i);
|
||||
tBbsAuthDB.settMember(tMemberSDB);
|
||||
if(!bbsAuthDAO.setBbsAuthModProc(tBbsAuthDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//게시판 항목 리스트
|
||||
List<T_BBS_ITEM> bbsItemList = bbsItemDAO.getBbsItemAllList(memberIdx);
|
||||
|
||||
if(bbsItemList.size() > 0){
|
||||
for(int i=0; i<bbsItemList.size(); i++){
|
||||
T_BBS_ITEM tBbsItemDB = bbsItemList.get(i);
|
||||
tBbsItemDB.settMember(tMemberSDB);
|
||||
if(!bbsItemDAO.setBbsItemModProc(tBbsItemDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//게시판 코멘트 리스트
|
||||
List<T_BBS_COMMENT> bbsCommentList = bbsCommentDAO.getBbsCommentList(memberIdx);
|
||||
|
||||
if(bbsCommentList.size() > 0){
|
||||
for(int i=0; i<bbsCommentList.size(); i++){
|
||||
T_BBS_COMMENT tBbsCommentDB = bbsCommentList.get(i);
|
||||
tBbsCommentDB.settMember(tMemberSDB);
|
||||
if(!bbsCommentDAO.setBbsCommentModProc(tBbsCommentDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************** 게시판 관련 *****************************/
|
||||
|
||||
|
||||
/***************************** 폼빌더 관련 *****************************/
|
||||
//폼빌더 스킨
|
||||
List<T_FORMBUILDER_SKIN> formbuilderSkinList = formbuilderSkinDAO.getFormbuilderSkinList(memberIdx);
|
||||
|
||||
if(formbuilderSkinList.size() > 0){
|
||||
for(int i=0; i<formbuilderSkinList.size(); i++){
|
||||
T_FORMBUILDER_SKIN tFormbuilderSkinDB = formbuilderSkinList.get(i);
|
||||
tFormbuilderSkinDB.settMember(tMemberSDB);
|
||||
if(!formbuilderSkinDAO.setFormbuilderSkinModProc(tFormbuilderSkinDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//폼빌더 기능 리스트
|
||||
List<T_FORMBUILDER_SET> formbuilderSetList = formbuilderSetDAO.getFormbuilderSetList(memberIdx);
|
||||
|
||||
if(formbuilderSetList.size() > 0){
|
||||
for(int i=0; i<formbuilderSetList.size(); i++){
|
||||
T_FORMBUILDER_SET tFormbuilderSetDB = formbuilderSetList.get(i);
|
||||
tFormbuilderSetDB.settMember(tMemberSDB);
|
||||
if(!formbuilderSetDAO.setFormbuilderSetModProc(tFormbuilderSetDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//폼빌더 관리자 리스트
|
||||
List<T_FORMBUILDER_MANAGER> formbuilderManagerList = formbuilderManagerDAO.getFormbuilderManagerList(memberIdx);
|
||||
|
||||
//폼빌더 관리자 삭제
|
||||
if(formbuilderManagerList.size() > 0){
|
||||
for(int i=0; i<formbuilderManagerList.size(); i++){
|
||||
T_FORMBUILDER_MANAGER tFormbuilderManagerDB = formbuilderManagerList.get(i);
|
||||
if(!formbuilderManagerDAO.setFormbuilderManagerDelProc(tFormbuilderManagerDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//폼빌더 권한 리스트
|
||||
List<T_FORMBUILDER_AUTH> formbuilderAuthList = formbuilderAuthDAO.getFormbuilderAuthList(memberIdx);
|
||||
|
||||
if(formbuilderAuthList.size() > 0){
|
||||
for(int i=0; i<formbuilderAuthList.size(); i++){
|
||||
T_FORMBUILDER_AUTH tFormbuilderAuthDB = formbuilderAuthList.get(i);
|
||||
tFormbuilderAuthDB.settMember(tMemberSDB);
|
||||
if(!formbuilderAuthDAO.setFormbuilderAuthModProc(tFormbuilderAuthDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//폼빌더 항목 리스트
|
||||
List<T_FORMBUILDER_ITEM> formbuilderItemList = formbuilderItemDAO.getFormbuilderItemAllList(memberIdx);
|
||||
|
||||
if(formbuilderItemList.size() > 0){
|
||||
for(int i=0; i<formbuilderItemList.size(); i++){
|
||||
T_FORMBUILDER_ITEM tFormbuilderItemDB = formbuilderItemList.get(i);
|
||||
tFormbuilderItemDB.settMember(tMemberSDB);
|
||||
if(!formbuilderItemDAO.setFormbuilderItemModProc(tFormbuilderItemDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************** 폼빌더 관련 *****************************/
|
||||
|
||||
|
||||
/***************************** 설문 관련 *****************************/
|
||||
//설문 스킨
|
||||
List<T_SURVEY_SKIN> surveySkinList = surveySkinDAO.getSurveySkinList(memberIdx);
|
||||
|
||||
if(surveySkinList.size() > 0){
|
||||
for(int i=0; i<surveySkinList.size(); i++){
|
||||
T_SURVEY_SKIN tSurveySkinDB = surveySkinList.get(i);
|
||||
tSurveySkinDB.settMember(tMemberSDB);
|
||||
if(!surveySkinDAO.setSurveySkinModProc(tSurveySkinDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//설문 기능 리스트
|
||||
List<T_SURVEY_SET> surveySetList = surveySetDAO.getSurveySetList(memberIdx);
|
||||
|
||||
if(surveySetList.size() > 0){
|
||||
for(int i=0; i<surveySetList.size(); i++){
|
||||
T_SURVEY_SET tSurveySetDB = surveySetList.get(i);
|
||||
tSurveySetDB.settMember(tMemberSDB);
|
||||
if(!surveySetDAO.setSurveySetModProc(tSurveySetDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//설문 관리자 리스트
|
||||
List<T_SURVEY_MANAGER> surveyManagerList = surveyManagerDAO.getSurveyManagerList(memberIdx);
|
||||
|
||||
//설문 관리자 삭제
|
||||
if(surveyManagerList.size() > 0){
|
||||
for(int i=0; i<surveyManagerList.size(); i++){
|
||||
T_SURVEY_MANAGER tSurveyManagerDB = surveyManagerList.get(i);
|
||||
if(!surveyManagerDAO.setSurveyManagerDelProc(tSurveyManagerDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//설문 권한 리스트
|
||||
List<T_SURVEY_AUTH> surveyAuthList = surveyAuthDAO.getSurveyAuthList(memberIdx);
|
||||
|
||||
if(surveyAuthList.size() > 0){
|
||||
for(int i=0; i<surveyAuthList.size(); i++){
|
||||
T_SURVEY_AUTH tSurveyAuthDB = surveyAuthList.get(i);
|
||||
tSurveyAuthDB.settMember(tMemberSDB);
|
||||
if(!surveyAuthDAO.setSurveyAuthModProc(tSurveyAuthDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//설문 항목 리스트
|
||||
List<T_SURVEY_ITEM> surveyItemList = surveyItemDAO.getSurveyItemAllList(memberIdx);
|
||||
|
||||
if(surveyItemList.size() > 0){
|
||||
for(int i=0; i<surveyItemList.size(); i++){
|
||||
T_SURVEY_ITEM tSurveyItemDB = surveyItemList.get(i);
|
||||
tSurveyItemDB.settMember(tMemberSDB);
|
||||
if(!surveyItemDAO.setSurveyItemModProc(tSurveyItemDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************** 설문 관련 *****************************/
|
||||
|
||||
|
||||
/***************************** 메뉴 권한 관련 *****************************/
|
||||
//메뉴 권한 리스트
|
||||
List<T_MENU_AUTH> menuAuthList = menuAuthDAO.getMenuAuthList(memberIdx);
|
||||
|
||||
if(menuAuthList.size() > 0){
|
||||
for(int i=0; i<menuAuthList.size(); i++){
|
||||
T_MENU_AUTH tMenuAuthDB = menuAuthList.get(i);
|
||||
tMenuAuthDB.settMember(tMemberSDB);
|
||||
if(!menuAuthDAO.setMenuAuthModProc(tMenuAuthDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************** 메뉴 권한 관련 *****************************/
|
||||
|
||||
|
||||
/***************************** 배너 관련 *****************************/
|
||||
//배너 기능 리스트
|
||||
List<T_BANNER_SET> bannerSetList = bannerSetDAO.getBannerSetList(memberIdx);
|
||||
|
||||
if(bannerSetList.size() > 0){
|
||||
for(int i=0; i<bannerSetList.size(); i++){
|
||||
T_BANNER_SET tBannerSetDB = bannerSetList.get(i);
|
||||
tBannerSetDB.settMember(tMemberSDB);
|
||||
if(!bannerSetDAO.setBannerSetModProc(tBannerSetDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//배너 관리자 리스트
|
||||
List<T_BANNER_MANAGER> bannerManagerList = bannerManagerDAO.getBannerManagerList(memberIdx);
|
||||
|
||||
//배너 관리자 삭제
|
||||
if(bannerManagerList.size() > 0){
|
||||
for(int i=0; i<bannerManagerList.size(); i++){
|
||||
T_BANNER_MANAGER tBannerManagerDB = bannerManagerList.get(i);
|
||||
if(!bannerManagerDAO.setBannerManagerDelProc(tBannerManagerDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//배너 리스트
|
||||
List<T_BANNER_DATA> bannerDataList = bannerDataDAO.getBannerDataAllList(memberIdx);
|
||||
|
||||
if(bannerDataList.size() > 0){
|
||||
for(int i=0; i<bannerDataList.size(); i++){
|
||||
T_BANNER_DATA tBannerDataDB = bannerDataList.get(i);
|
||||
tBannerDataDB.settMember(tMemberSDB);
|
||||
if(!bannerDataDAO.setBannerDataModProc(tBannerDataDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************** 배너 관련 *****************************/
|
||||
|
||||
|
||||
/***************************** 팝업 관련 *****************************/
|
||||
//팝업 기능 리스트
|
||||
List<T_POPUP_SET> popupSetList = popupSetDAO.getPopupSetList(memberIdx);
|
||||
|
||||
if(popupSetList.size() > 0){
|
||||
for(int i=0; i<popupSetList.size(); i++){
|
||||
T_POPUP_SET tPopupSetDB = popupSetList.get(i);
|
||||
tPopupSetDB.settMember(tMemberSDB);
|
||||
if(!popupSetDAO.setPopupSetModProc(tPopupSetDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//팝업 관리자 리스트
|
||||
List<T_POPUP_MANAGER> popupManagerList = popupManagerDAO.getPopupManagerList(memberIdx);
|
||||
|
||||
//팝업 관리자 삭제
|
||||
if(popupManagerList.size() > 0){
|
||||
for(int i=0; i<popupManagerList.size(); i++){
|
||||
T_POPUP_MANAGER tPopupManagerDB = popupManagerList.get(i);
|
||||
if(!popupManagerDAO.setPopupManagerDelProc(tPopupManagerDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//팝업 리스트
|
||||
List<T_POPUP_DATA> popupDataList = popupDataDAO.getPopupDataAllList(memberIdx);
|
||||
|
||||
if(popupDataList.size() > 0){
|
||||
for(int i=0; i<popupDataList.size(); i++){
|
||||
T_POPUP_DATA tPopupDataDB = popupDataList.get(i);
|
||||
tPopupDataDB.settMember(tMemberSDB);
|
||||
if(!popupDataDAO.setPopupDataModProc(tPopupDataDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************** 팝업 관련 *****************************/
|
||||
|
||||
|
||||
/***************************** 비주얼 관련 *****************************/
|
||||
//비주얼 기능 리스트
|
||||
List<T_VISUAL_SET> visualSetList = visualSetDAO.getVisualSetList(memberIdx);
|
||||
|
||||
if(visualSetList.size() > 0){
|
||||
for(int i=0; i<visualSetList.size(); i++){
|
||||
T_VISUAL_SET tVisualSetDB = visualSetList.get(i);
|
||||
tVisualSetDB.settMember(tMemberSDB);
|
||||
if(!visualSetDAO.setVisualSetModProc(tVisualSetDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//비주얼 관리자 리스트
|
||||
List<T_VISUAL_MANAGER> visualManagerList = visualManagerDAO.getVisualManagerList(memberIdx);
|
||||
|
||||
//비주얼 관리자 삭제
|
||||
if(visualManagerList.size() > 0){
|
||||
for(int i=0; i<visualManagerList.size(); i++){
|
||||
T_VISUAL_MANAGER tVisualManagerDB = visualManagerList.get(i);
|
||||
if(!visualManagerDAO.setVisualManagerDelProc(tVisualManagerDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//비주얼 리스트
|
||||
List<T_VISUAL_DATA> visualDataList = visualDataDAO.getVisualDataAllList(memberIdx);
|
||||
|
||||
if(visualDataList.size() > 0){
|
||||
for(int i=0; i<visualDataList.size(); i++){
|
||||
T_VISUAL_DATA tVisualDataDB = visualDataList.get(i);
|
||||
tVisualDataDB.settMember(tMemberSDB);
|
||||
if(!visualDataDAO.setVisualDataModProc(tVisualDataDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************** 비주얼 관련 *****************************/
|
||||
|
||||
|
||||
/***************************** 퀵 관련 *****************************/
|
||||
//퀵 기능 리스트
|
||||
List<T_QUICK_SET> quickSetList = quickSetDAO.getQuickSetList(memberIdx);
|
||||
|
||||
if(quickSetList.size() > 0){
|
||||
for(int i=0; i<quickSetList.size(); i++){
|
||||
T_QUICK_SET tQuickSetDB = quickSetList.get(i);
|
||||
tQuickSetDB.settMember(tMemberSDB);
|
||||
if(!quickSetDAO.setQuickSetModProc(tQuickSetDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//퀵 관리자 리스트
|
||||
List<T_QUICK_MANAGER> quickManagerList = quickManagerDAO.getQuickManagerList(memberIdx);
|
||||
|
||||
//퀵 관리자 삭제
|
||||
if(quickManagerList.size() > 0){
|
||||
for(int i=0; i<quickManagerList.size(); i++){
|
||||
T_QUICK_MANAGER tQuickManagerDB = quickManagerList.get(i);
|
||||
if(!quickManagerDAO.setQuickManagerDelProc(tQuickManagerDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//퀵 리스트
|
||||
List<T_QUICK_DATA> quickDataList = quickDataDAO.getQuickDataAllList(memberIdx);
|
||||
|
||||
if(quickDataList.size() > 0){
|
||||
for(int i=0; i<quickDataList.size(); i++){
|
||||
T_QUICK_DATA tQuickDataDB = quickDataList.get(i);
|
||||
tQuickDataDB.settMember(tMemberSDB);
|
||||
if(!quickDataDAO.setQuickDataModProc(tQuickDataDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
/***************************** 퀵 관련 *****************************/
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberDelProc(tMemberDB)){
|
||||
success = false;
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
tMemberDB.setMemberId(" ");
|
||||
tMemberDB.setMemberCode(" ");
|
||||
tMemberDB.setMemberEmail1(" ");
|
||||
tMemberDB.setMemberEmail2(" ");
|
||||
tMemberDB.setMemberGrant(" ");
|
||||
|
||||
tMemberDB.setMemberPost(" ");
|
||||
tMemberDB.setMemberAddress1(" ");
|
||||
tMemberDB.setMemberAddress2(" ");
|
||||
tMemberDB.setMemberDept(" ");
|
||||
tMemberDB.setMemberPosition(" ");
|
||||
tMemberDB.setMemberTel(" ");
|
||||
tMemberDB.setMemberPhone(" ");
|
||||
|
||||
tMemberDB.setMemberItemA1(" ");
|
||||
tMemberDB.setMemberItemB2(" ");
|
||||
tMemberDB.setMemberItemC3(" ");
|
||||
tMemberDB.setMemberItemD4(" ");
|
||||
tMemberDB.setMemberItemE5(" ");
|
||||
tMemberDB.setMemberItemF6(" ");
|
||||
tMemberDB.setMemberItemG7(" ");
|
||||
tMemberDB.setMemberItemH8(" ");
|
||||
tMemberDB.setMemberItemI9(" ");
|
||||
tMemberDB.setMemberItemJ10(" ");
|
||||
tMemberDB.setMemberLockNum(0);
|
||||
tMemberDB.setMemberPost(" ");
|
||||
tMemberDB.setMemberPw(" ");
|
||||
tMemberDB.setMemberStatus("Z");
|
||||
tMemberDB.setMemberModDate(new Date());
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerMemberController
|
||||
@Transactional
|
||||
public boolean setMemberStatusProc(Integer memberIdx, String status){
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(memberIdx);
|
||||
|
||||
tMemberDB.setMemberStatus(status);
|
||||
tMemberDB.setMemberModDate(new Date());
|
||||
|
||||
return memberDAO.setMemberModProc(tMemberDB);
|
||||
}
|
||||
}
|
||||
1087
src/main/java/seed/manager/member/web/ManagerMemberController.java
Normal file
1087
src/main/java/seed/manager/member/web/ManagerMemberController.java
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,34 @@
|
||||
package seed.manager.site.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_SITE_MANAGER;
|
||||
import seed.map.VIEW_MANAGER_DATA;
|
||||
|
||||
public interface ManagerSiteManagerService {
|
||||
|
||||
//ManagerLoginController
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(String memberMergeSiteIdx, Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//ManagerELoginController
|
||||
public List<VIEW_MANAGER_DATA> getSiteManagerList(Integer memberIdx, String[] qryColumns);
|
||||
|
||||
public boolean getSiteManagerListCnt(String siteIdx, Integer memberIdx);
|
||||
|
||||
public boolean getSiteManagerListCnt(Integer memberIdx);
|
||||
|
||||
//CommonController
|
||||
public Long getSiteManagerListCnt(String siteIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//CommonController
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(String siteIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public boolean setSiteManagerRegProc(String siteIdx, Integer[] idxsc);
|
||||
|
||||
//CommonController
|
||||
public boolean setSiteManagerDelProc(Integer siteManagerIdx);
|
||||
|
||||
//CommonController
|
||||
public boolean setSiteManagerStatusProc(Integer siteManagerIdx, String status);
|
||||
}
|
||||
@ -0,0 +1,167 @@
|
||||
package seed.manager.site.service;
|
||||
|
||||
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.MemberDAO;
|
||||
import seed.dao.SiteManagerDAO;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.map.T_SITE;
|
||||
import seed.map.T_SITE_MANAGER;
|
||||
import seed.map.VIEW_MANAGER_DATA;
|
||||
|
||||
@Service
|
||||
public class ManagerSiteManagerServiceImpl extends AbstractServiceImpl implements ManagerSiteManagerService{
|
||||
|
||||
@Autowired
|
||||
private SiteManagerDAO siteManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private MemberDAO memberDAO;
|
||||
|
||||
//ManagerLoginController
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(String memberMergeSiteIdx, Integer memberIdx, String[] qryColumns){
|
||||
|
||||
return siteManagerDAO.getSiteManagerList(memberMergeSiteIdx, memberIdx, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerELoginController
|
||||
public List<VIEW_MANAGER_DATA> getSiteManagerList(Integer memberIdx, String[] qryColumns){
|
||||
|
||||
return siteManagerDAO.getSiteManagerList(memberIdx, qryColumns);
|
||||
}
|
||||
|
||||
public boolean getSiteManagerListCnt(String siteIdx, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(siteManagerDAO.getSiteManagerListCnt(siteIdx, memberIdx) > 0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean getSiteManagerListCnt(Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(siteManagerDAO.getSiteManagerListCnt(memberIdx) > 0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public Long getSiteManagerListCnt(String siteIdx, Integer selGroup, String column, String search){
|
||||
|
||||
return siteManagerDAO.getSiteManagerListCnt(siteIdx, selGroup, column, search);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<T_SITE_MANAGER> getSiteManagerList(String siteIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
return siteManagerDAO.getSiteManagerList(siteIdx, ((page-1) * row), row, orderColumn, order, selGroup, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSiteManagerRegProc(String siteIdx, Integer[] idxsc){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(idxsc.length > 0){
|
||||
|
||||
for(int i=0; i<idxsc.length; i++){
|
||||
|
||||
if(siteManagerDAO.getSiteManagerListCnt(siteIdx, idxsc[i]) > 0){
|
||||
success = true;
|
||||
}else{
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(idxsc[i]);
|
||||
|
||||
T_SITE tSite = new T_SITE();
|
||||
tSite.setSiteIdx(siteIdx);
|
||||
|
||||
T_SITE_MANAGER tSiteManager = new T_SITE_MANAGER();
|
||||
|
||||
tSiteManager.settMember(tMember);
|
||||
tSiteManager.settSite(tSite);
|
||||
tSiteManager.setSiteManagerStatus("U");
|
||||
tSiteManager.setSiteManagerRegDate(new Date());
|
||||
|
||||
if(siteManagerDAO.setSiteManagerRegProc(tSiteManager)){
|
||||
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(idxsc[i]);
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSiteManagerDelProc(Integer siteManagerIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
T_SITE_MANAGER tSiteManagerDB = siteManagerDAO.getSiteManagerForm(siteManagerIdx);
|
||||
|
||||
if(siteManagerDAO.setSiteManagerDelProc(tSiteManagerDB)){
|
||||
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(tSiteManagerDB.gettMember().getMemberIdx());
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
|
||||
if(siteManagerDAO.getSiteManagerListCnt(tMemberDB.getMemberIdx()) > 0){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
}else if((tMemberDB.getMemberGrant().equals("SM") || tMemberDB.getMemberGrant().equals("M"))){
|
||||
tMemberDB.setMemberGrant("M");
|
||||
}else{
|
||||
tMemberDB.setMemberGrant("N");
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSiteManagerStatusProc(Integer siteManagerIdx, String status){
|
||||
|
||||
T_SITE_MANAGER tSiteManagerDB = siteManagerDAO.getSiteManagerForm(siteManagerIdx);
|
||||
|
||||
tSiteManagerDB.setSiteManagerStatus(status);
|
||||
|
||||
return siteManagerDAO.setSiteManagerModProc(tSiteManagerDB);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package seed.manager.site.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_SITE_MENU_AUTH;
|
||||
|
||||
public interface ManagerSiteMenuAuthService {
|
||||
|
||||
//ManagerSiteController
|
||||
public List<T_SITE_MENU_AUTH> getSiteMenuAuthList(Integer siteMenuIdx, String[] qryColumns);
|
||||
|
||||
//HomeController
|
||||
public boolean getSiteMenuAuthChk(Integer siteMenuIdx, Integer memberIdx);
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
package seed.manager.site.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.SiteMenuAuthDAO;
|
||||
import seed.map.T_SITE_MENU_AUTH;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Service
|
||||
public class ManagerSiteMenuAuthServiceImpl extends AbstractServiceImpl implements ManagerSiteMenuAuthService{
|
||||
|
||||
@Autowired
|
||||
private SiteMenuAuthDAO siteMenuAuthDAO;
|
||||
|
||||
//ManagerSiteController
|
||||
public List<T_SITE_MENU_AUTH> getSiteMenuAuthList(Integer siteMenuIdx, String[] qryColumns){
|
||||
|
||||
return siteMenuAuthDAO.getSiteMenuAuthList(siteMenuIdx, qryColumns);
|
||||
}
|
||||
|
||||
//HomeController
|
||||
public boolean getSiteMenuAuthChk(Integer siteMenuIdx, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
List<Map<Object, Object>> tSiteMenuAuthList = siteMenuAuthDAO.getSiteMenuAuthMapList(siteMenuIdx, memberIdx, new String[] {"siteMenuAuth"});
|
||||
|
||||
for(int a=0; a<tSiteMenuAuthList.size(); a++){
|
||||
Map<Object, Object> tSiteMenuAuthDB = tSiteMenuAuthList.get(a);
|
||||
|
||||
if(SeedUtils.setReplaceNull(tSiteMenuAuthDB.get("_siteMenuAuth")).equals("Y")){
|
||||
success = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package seed.manager.site.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_SITE_MENU_HISTORY;
|
||||
|
||||
public interface ManagerSiteMenuHistoryService {
|
||||
|
||||
public List<T_SITE_MENU_HISTORY> getSiteMenuHistoryDList(String siteIdx, String type, String siteMenuIdxs);
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package seed.manager.site.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.AbstractServiceImpl;
|
||||
|
||||
import seed.dao.SiteMenuHistoryDAO;
|
||||
import seed.map.T_SITE_MENU_HISTORY;
|
||||
|
||||
@Service
|
||||
public class ManagerSiteMenuHistoryServiceImpl extends AbstractServiceImpl implements ManagerSiteMenuHistoryService{
|
||||
|
||||
@Autowired
|
||||
private SiteMenuHistoryDAO siteMenuHistoryDAO;
|
||||
|
||||
public List<T_SITE_MENU_HISTORY> getSiteMenuHistoryDList(String siteIdx, String type, String siteMenuIdxs){
|
||||
|
||||
return siteMenuHistoryDAO.getSiteMenuHistoryDList(siteIdx, type, siteMenuIdxs);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package seed.manager.site.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_SITE_MENU_MANAGER;
|
||||
import seed.map.VIEW_SITE_MENU_MANAGER;
|
||||
|
||||
public interface ManagerSiteMenuManagerService {
|
||||
|
||||
//HomeController
|
||||
public boolean getSiteMenuManagerListCnt(Integer siteMenuIdx, Integer memberIdx);
|
||||
|
||||
//CommonController
|
||||
public Long getSiteMenuManagerListCnt(String siteIdx, Integer memberIdx);
|
||||
|
||||
//CommonController
|
||||
public Long getSiteMenuManagerListCnt(Integer siteMenuIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//CommonController
|
||||
public List<T_SITE_MENU_MANAGER> getSiteMenuManagerList(Integer siteMenuIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerSiteController
|
||||
public List<VIEW_SITE_MENU_MANAGER> getSiteMenuManagerList(String siteIdx, Integer memberIdx, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerSiteController
|
||||
public List<Map<Object, Object>> getSiteMenuManagerList(String siteIdx, Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public List<Map<Object, Object>> getSiteMenuManagerMapList(Integer siteMenuIdx, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public boolean setSiteMenuManagerRegProc(Integer siteMenuIdx, Integer[] idxsc);
|
||||
|
||||
//CommonController
|
||||
public boolean setSiteMenuManagerDelProc(Integer siteMenuManagerIdx);
|
||||
|
||||
//CommonController
|
||||
public boolean setSiteMenuManagerStatusProc(Integer siteMenuManagerIdx, String status);
|
||||
}
|
||||
@ -0,0 +1,180 @@
|
||||
package seed.manager.site.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.MemberDAO;
|
||||
import seed.dao.SiteManagerDAO;
|
||||
import seed.dao.SiteMenuManagerDAO;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.map.T_SITE_MENU;
|
||||
import seed.map.T_SITE_MENU_MANAGER;
|
||||
import seed.map.VIEW_SITE_MENU_MANAGER;
|
||||
|
||||
@Service
|
||||
public class ManagerSiteMenuManagerServiceImpl extends AbstractServiceImpl implements ManagerSiteMenuManagerService{
|
||||
|
||||
@Autowired
|
||||
private SiteMenuManagerDAO siteMenuManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteManagerDAO siteManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private MemberDAO memberDAO;
|
||||
|
||||
//HomeController
|
||||
public boolean getSiteMenuManagerListCnt(Integer siteMenuIdx, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(siteMenuManagerDAO.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx) > 0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public Long getSiteMenuManagerListCnt(String siteIdx, Integer memberIdx){
|
||||
|
||||
return siteMenuManagerDAO.getSiteMenuManagerListCnt(siteIdx, memberIdx);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public Long getSiteMenuManagerListCnt(Integer siteMenuIdx, Integer selGroup, String column, String search){
|
||||
|
||||
return siteMenuManagerDAO.getSiteMenuManagerListCnt(siteMenuIdx, selGroup, column, search);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<T_SITE_MENU_MANAGER> getSiteMenuManagerList(Integer siteMenuIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
return siteMenuManagerDAO.getSiteMenuManagerList(siteMenuIdx, ((page-1) * row), row, orderColumn, order, selGroup, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerSiteController
|
||||
public List<VIEW_SITE_MENU_MANAGER> getSiteMenuManagerList(String siteIdx, Integer memberIdx, String column, String search, String[] qryColumns){
|
||||
|
||||
return siteMenuManagerDAO.getSiteMenuManagerList(siteIdx, memberIdx, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerSiteController
|
||||
public List<Map<Object, Object>> getSiteMenuManagerList(String siteIdx, Integer memberIdx, String[] qryColumns){
|
||||
|
||||
return siteMenuManagerDAO.getSiteMenuManagerList(siteIdx, memberIdx, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<Map<Object, Object>> getSiteMenuManagerMapList(Integer siteMenuIdx, String[] qryColumns){
|
||||
|
||||
return siteMenuManagerDAO.getSiteMenuManagerMapList(siteMenuIdx, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSiteMenuManagerRegProc(Integer siteMenuIdx, Integer[] idxsc){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(idxsc.length > 0){
|
||||
|
||||
for(int i=0; i<idxsc.length; i++){
|
||||
|
||||
if(siteMenuManagerDAO.getSiteMenuManagerListCnt(siteMenuIdx, idxsc[i]) > 0){
|
||||
success = true;
|
||||
}else{
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(idxsc[i]);
|
||||
|
||||
T_SITE_MENU tSiteMenu = new T_SITE_MENU();
|
||||
tSiteMenu.setSiteMenuIdx(siteMenuIdx);
|
||||
|
||||
T_SITE_MENU_MANAGER tSiteMenuManager = new T_SITE_MENU_MANAGER();
|
||||
|
||||
tSiteMenuManager.settMember(tMember);
|
||||
tSiteMenuManager.settSiteMenu(tSiteMenu);
|
||||
tSiteMenuManager.setSiteMenuManagerStatus("U");
|
||||
tSiteMenuManager.setSiteMenuManagerRegDate(new Date());
|
||||
|
||||
if(siteMenuManagerDAO.setSiteMenuManagerRegProc(tSiteMenuManager)){
|
||||
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(idxsc[i]);
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
|
||||
if(tMemberDB.getMemberGrant().equals("SM")){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
}else{
|
||||
tMemberDB.setMemberGrant("M");
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSiteMenuManagerDelProc(Integer siteMenuManagerIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
T_SITE_MENU_MANAGER tSiteMenuManagerDB = siteMenuManagerDAO.getSiteMenuManagerForm(siteMenuManagerIdx);
|
||||
|
||||
if(siteMenuManagerDAO.setSiteMenuManagerDelProc(tSiteMenuManagerDB)){
|
||||
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(tSiteMenuManagerDB.gettMember().getMemberIdx());
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
|
||||
if(siteManagerDAO.getSiteManagerListCnt(tMemberDB.getMemberIdx()) > 0){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
}else if((tMemberDB.getMemberGrant().equals("SM") || tMemberDB.getMemberGrant().equals("M"))){
|
||||
tMemberDB.setMemberGrant("M");
|
||||
}else{
|
||||
tMemberDB.setMemberGrant("N");
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSiteMenuManagerStatusProc(Integer siteMenuManagerIdx, String status){
|
||||
|
||||
T_SITE_MENU_MANAGER tSiteMenuManagerDB = siteMenuManagerDAO.getSiteMenuManagerForm(siteMenuManagerIdx);
|
||||
|
||||
tSiteMenuManagerDB.setSiteMenuManagerStatus(status);
|
||||
|
||||
return siteMenuManagerDAO.setSiteMenuManagerModProc(tSiteMenuManagerDB);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,91 @@
|
||||
package seed.manager.site.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import seed.map.T_SITE_MENU;
|
||||
import seed.map.VIEW_SITE_MENU;
|
||||
|
||||
public interface ManagerSiteMenuService {
|
||||
|
||||
//ManagerSiteController
|
||||
public Map<Object, Object> getSiteMenuLoginForm(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerSiteController
|
||||
public String getSiteMenuTop(String siteIdx, String siteMenuType, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public String getSiteMenuSub(String siteIdx, String siteMenuType, String siteMenuPath, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public String getSiteMenuCss(String siteIdx, String siteMenuType, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public String getSiteMenuJs(String siteIdx, String siteMenuType, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public String getFileAttribute(String siteIdx, String rootPath, String dirPath, String fileName);
|
||||
|
||||
//ManagerSiteController
|
||||
public String getSiteLayOutHtml(String siteIdx, String siteLayOutType, String siteLayOutPosition, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public ArrayList<String> getSiteMenuNavigationList(String siteIdx, Integer siteMenuIdx);
|
||||
|
||||
//CommonController
|
||||
public List<Map<Object, Object>> getSiteMenuTabNavigationList(String siteIdx, Integer siteMenuIdx, String siteMenuIdxs, Integer siteMenuDepth);
|
||||
|
||||
//ManagerSiteController
|
||||
public String getSiteMenuParentName(String siteIdx, String siteMenuParentIdx, String Type);
|
||||
|
||||
//ManagerSiteController
|
||||
public List<VIEW_SITE_MENU> getSiteMenuList(String siteIdx, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerSiteController
|
||||
public List<Map<Object,Object>> getSiteMenuChargeList(String siteIdx, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerSmartController
|
||||
public List<T_SITE_MENU> getSiteMenuSmartList(String siteIdx, String type, String[] qryColumns);
|
||||
|
||||
//ManagerSiteController
|
||||
public String getSiteMenuSubTitleForm(String siteIdx, String siteMenuIdx1);
|
||||
|
||||
//ManagerSiteController
|
||||
public T_SITE_MENU getSiteMenuForm(Integer siteMenuIdx);
|
||||
|
||||
//HomeController
|
||||
public Map<Object, Object> getSiteMenuMapForm(Integer siteMenuIdx, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public Integer getSiteMenuForm(String siteIdx);
|
||||
|
||||
//ManagerSiteController
|
||||
public Integer setSiteMenuRegProc(T_SITE_MENU tSiteMenu, MultipartFile upIconFile, Integer memberIdx, String memberGrant, String memberMerge, String memberMergeSiteIdx, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public String setSiteMenuModProc(T_SITE_MENU tSiteMenu, MultipartFile upIconFile, Integer[] siteMenuAuthIdxs, Integer[] siteMenuAuths, Integer memberIdx, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public boolean setSiteMenuDelProc(Integer siteMenuIdx, Integer memberIdx, String memberId, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public boolean setSiteMenuStatusProc(Integer siteMenuIdx, String status, String rootPath, Integer memberIdx);
|
||||
|
||||
//ManagerSiteController
|
||||
public boolean setSiteMenuOrderProc(String siteIdx, Integer siteMenuIdx, String orderType, Integer memberIdx, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public boolean setSiteLayOutSetHtmlModProc(String siteIdx, String siteLayOutType, String siteLayOutPosition, String siteLayOutHtml, String rootPath);
|
||||
|
||||
//ManagerSiteController
|
||||
public boolean getSiteMenuExcel(String siteIdx, String rootPath, String toDate, String fileCode, String fileNameDate);
|
||||
|
||||
//ManagerSiteController
|
||||
public boolean setSiteMenuExcelChkProc(String siteIdx, String rootPath, Integer memberIdx, String memberMerge, String memberMergeSiteIdx, MultipartFile upFile);
|
||||
|
||||
//ManagerSiteController
|
||||
public boolean setMultiFileAttributeProc(String rootPath, String filePath, String fileName, String fileAttribute);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,24 @@
|
||||
package seed.manager.site.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_SITE;
|
||||
|
||||
public interface ManagerSiteService {
|
||||
|
||||
//managerSiteController
|
||||
public T_SITE getSiteForm(String siteIdx);
|
||||
|
||||
//managerSiteController
|
||||
public Map<Object, Object> getSiteForm(String siteIdx, String[] qryColumns);
|
||||
|
||||
//managerLoginService
|
||||
public List<T_SITE> getSiteList(String memberMergeSiteIdx, String[] qryColumns);
|
||||
|
||||
//managerSiteController
|
||||
public boolean setSiteModProc(T_SITE tSite, Integer memberIdx, String rootPath);
|
||||
|
||||
//managerSiteController
|
||||
public boolean setSiteDelProc(String siteIdx, Integer memberIdx, String memberId, String rootPath);
|
||||
}
|
||||
@ -0,0 +1,940 @@
|
||||
package seed.manager.site.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.apache.log4j.Logger;
|
||||
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.MemberDAO;
|
||||
import seed.dao.SiteDAO;
|
||||
import seed.dao.SiteMenuAuthDAO;
|
||||
import seed.dao.SiteMenuDAO;
|
||||
import seed.dao.SiteMenuHistoryDAO;
|
||||
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.utils.SeedFtpType;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Service
|
||||
public class ManagerSiteServiceImpl extends AbstractServiceImpl implements ManagerSiteService{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
private SiteDAO siteDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteMenuHistoryDAO siteMenuHistoryDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteMenuDAO siteMenuDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteMenuAuthDAO siteMenuAuthDAO;
|
||||
|
||||
@Autowired
|
||||
private MemberDAO memberDAO;
|
||||
|
||||
//managerSiteController
|
||||
public T_SITE getSiteForm(String siteIdx){
|
||||
|
||||
return siteDAO.getSiteForm(siteIdx);
|
||||
}
|
||||
|
||||
//managerSiteController
|
||||
public Map<Object, Object> getSiteForm(String siteIdx, String[] qryColumns){
|
||||
|
||||
return siteDAO.getSiteMapForm(siteIdx, qryColumns);
|
||||
}
|
||||
|
||||
//managerLoginService
|
||||
public List<T_SITE> getSiteList(String memberMergeSiteIdx, String[] qryColumns){
|
||||
|
||||
return siteDAO.getSiteList(memberMergeSiteIdx, qryColumns);
|
||||
}
|
||||
|
||||
//managerSiteController
|
||||
@Transactional
|
||||
public boolean setSiteModProc(T_SITE tSite, Integer memberIdx, String rootPath){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
T_SITE tSiteDB = siteDAO.getSiteForm(tSite.getSiteIdx());
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
tSiteDB.settMember(tMember);
|
||||
tSiteDB.setSiteModDate(new Date());
|
||||
tSiteDB.setSiteName(tSite.getSiteName());
|
||||
tSiteDB.setSiteMemberIp(tSite.getSiteMemberIp());
|
||||
tSiteDB.setSiteMenuTopDepth(tSite.getSiteMenuTopDepth());
|
||||
tSiteDB.setSiteMenuSubSDepth(tSite.getSiteMenuSubSDepth());
|
||||
tSiteDB.setSiteMenuSubEDepth(tSite.getSiteMenuSubEDepth());
|
||||
tSiteDB.setSiteActiveMenuWidth(tSite.getSiteActiveMenuWidth());
|
||||
|
||||
if(!SeedUtils.setReplaceNull(tSite.getSiteService()).equals("Y")){
|
||||
tSiteDB.setSiteService("N");
|
||||
tSiteDB.setSiteServiceSdate("");
|
||||
tSiteDB.setSiteServiceEdate("");
|
||||
}else{
|
||||
tSiteDB.setSiteService(tSite.getSiteService());
|
||||
tSiteDB.setSiteServiceSdate(tSite.getSiteServiceSdate());
|
||||
tSiteDB.setSiteServiceEdate(tSite.getSiteServiceEdate());
|
||||
}
|
||||
|
||||
if(siteDAO.setSiteModProc(tSiteDB)){
|
||||
|
||||
success = true;
|
||||
|
||||
//모든 메뉴 생성
|
||||
if(!setSiteMenuAllCompile(tSiteDB.getSiteIdx(), rootPath)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//managerSiteController
|
||||
@Transactional
|
||||
public boolean setSiteDelProc(String siteIdx, Integer smemberIdx, String smemberId, String rootPath){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
T_SITE tSiteDB = siteDAO.getSiteForm(siteIdx);
|
||||
|
||||
Iterator<T_GROUPS> iteratorList = tSiteDB.gettGroupss().iterator();
|
||||
|
||||
if(siteDAO.setSiteDelProc(tSiteDB)){
|
||||
|
||||
success = true;
|
||||
|
||||
while(iteratorList.hasNext()){
|
||||
|
||||
Integer memberIdx = iteratorList.next().gettMember().getMemberIdx();
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(memberIdx);
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){ //슈퍼 관리자가아닐때만 작업
|
||||
if(!memberDAO.setMemberDelProc(tMemberDB)){
|
||||
success=false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File getSiteFile = new File(rootPath + "/" + tSiteDB.getSiteIdx());
|
||||
|
||||
if(getSiteFile.exists()){
|
||||
|
||||
Date getDate = new Date();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
|
||||
String setSiteBakPath = rootPath + "/site_bak/";
|
||||
File getSitePathDir = new File(setSiteBakPath);
|
||||
|
||||
if(!getSitePathDir.exists()){
|
||||
SeedUtils.setSeedMkDirs(setSiteBakPath);
|
||||
}
|
||||
|
||||
File setSiteBakFile = new File(setSiteBakPath + tSiteDB.getSiteIdx() + "_bak_" + dateFormat.format(getDate) + "_" + smemberIdx + "_" + smemberId);
|
||||
getSiteFile.renameTo(setSiteBakFile);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
2071
src/main/java/seed/manager/site/web/ManagerSiteController.java
Normal file
2071
src/main/java/seed/manager/site/web/ManagerSiteController.java
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,42 @@
|
||||
package seed.manager.survey.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_SURVEY_MANAGER;
|
||||
|
||||
public interface ManagerSurveyManagerService {
|
||||
|
||||
//ManagerSurveyController
|
||||
public boolean getSurveyManagerListGrantCnt(Integer surveySetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerSurveyController
|
||||
public boolean getSurveyManagerListCnt(Integer surveySetIdx, Integer memberIdx);
|
||||
|
||||
//CommonController
|
||||
public Long getSurveyManagerListCnt(Integer surveySetIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//CommonController
|
||||
public Long getSurveyManagerListCnt(String siteIdx, Integer memberIdx, String column, String search);
|
||||
|
||||
//CommonController
|
||||
public List<T_SURVEY_MANAGER> getSurveyManagerList(Integer surveySetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//CommonController
|
||||
public List<T_SURVEY_MANAGER> getSurveyManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public List<Map<Object, Object>> getSurveyManagerList(String siteIdx, Integer surveySetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerSurveyController
|
||||
public boolean setSurveyManagerRegProc(Integer surveySetIdx, Integer[] idxsc);
|
||||
|
||||
//CommonController
|
||||
public boolean setSurveyManagerDelProc(Integer surveyManagerIdx);
|
||||
|
||||
//CommonController
|
||||
public boolean setSurveyManagerStatusProc(Integer surveyManagerIdx, String status);
|
||||
|
||||
//CommonController
|
||||
public boolean setSurveyManagerGrantProc(Integer surveyManagerIdx, String grant);
|
||||
}
|
||||
@ -0,0 +1,196 @@
|
||||
package seed.manager.survey.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.MemberDAO;
|
||||
import seed.dao.SiteManagerDAO;
|
||||
import seed.dao.SurveyManagerDAO;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.map.T_SURVEY_MANAGER;
|
||||
import seed.map.T_SURVEY_SET;
|
||||
|
||||
@Service
|
||||
public class ManagerSurveyManagerServiceImpl extends AbstractServiceImpl implements ManagerSurveyManagerService{
|
||||
|
||||
@Autowired
|
||||
private SurveyManagerDAO surveyManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private SiteManagerDAO siteManagerDAO;
|
||||
|
||||
@Autowired
|
||||
private MemberDAO memberDAO;
|
||||
|
||||
//ManagerSurveyController
|
||||
public boolean getSurveyManagerListGrantCnt(Integer surveySetIdx, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(surveyManagerDAO.getSurveyManagerListGrantCnt(surveySetIdx, memberIdx) > 0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//ManagerSurveyController
|
||||
public boolean getSurveyManagerListCnt(Integer surveySetIdx, Integer memberIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(surveyManagerDAO.getSurveyManagerListCnt(surveySetIdx, memberIdx) > 0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public Long getSurveyManagerListCnt(Integer surveySetIdx, Integer selGroup, String column, String search){
|
||||
|
||||
return surveyManagerDAO.getSurveyManagerListCnt(surveySetIdx, selGroup, column, search);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public Long getSurveyManagerListCnt(String siteIdx, Integer memberIdx, String column, String search){
|
||||
|
||||
return surveyManagerDAO.getSurveyManagerListCnt(siteIdx, memberIdx, column, search);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<T_SURVEY_MANAGER> getSurveyManagerList(Integer surveySetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
return surveyManagerDAO.getSurveyManagerList(surveySetIdx, ((page-1) * row), row, orderColumn, order, selGroup, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
public List<T_SURVEY_MANAGER> getSurveyManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
return surveyManagerDAO.getSurveyManagerList(siteIdx, memberIdx, ((page-1) * row), row, orderColumn, order, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public List<Map<Object, Object>> getSurveyManagerList(String siteIdx, Integer surveySetIdx, String[] qryColumns){
|
||||
|
||||
return surveyManagerDAO.getSurveyManagerList(siteIdx, surveySetIdx, qryColumns);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSurveyManagerRegProc(Integer surveySetIdx, Integer[] idxsc){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(idxsc.length > 0){
|
||||
|
||||
for(int i=0; i<idxsc.length; i++){
|
||||
|
||||
if(surveyManagerDAO.getSurveyManagerListCnt(surveySetIdx, idxsc[i]) > 0){
|
||||
success = true;
|
||||
}else{
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(idxsc[i]);
|
||||
|
||||
T_SURVEY_SET tSurveySet = new T_SURVEY_SET();
|
||||
tSurveySet.setSurveySetIdx(surveySetIdx);
|
||||
|
||||
T_SURVEY_MANAGER tSurveyManager = new T_SURVEY_MANAGER();
|
||||
|
||||
tSurveyManager.settMember(tMember);
|
||||
tSurveyManager.settSurveySet(tSurveySet);
|
||||
tSurveyManager.setSurveyManagerStatus("U");
|
||||
tSurveyManager.setSurveyManagerGrant("S");
|
||||
tSurveyManager.setSurveyManagerRegDate(new Date());
|
||||
|
||||
if(surveyManagerDAO.setSurveyManagerRegProc(tSurveyManager)){
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(idxsc[i]);
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
|
||||
if(tMemberDB.getMemberGrant().equals("SM")){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
}else{
|
||||
tMemberDB.setMemberGrant("M");
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSurveyManagerDelProc(Integer surveyManagerIdx){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
T_SURVEY_MANAGER tSurveyManagerDB = surveyManagerDAO.getSurveyManagerForm(surveyManagerIdx);
|
||||
|
||||
if(surveyManagerDAO.setSurveyManagerDelProc(tSurveyManagerDB)){
|
||||
|
||||
success = true;
|
||||
|
||||
T_MEMBER tMemberDB = memberDAO.getMemberForm(tSurveyManagerDB.gettMember().getMemberIdx());
|
||||
|
||||
if(!tMemberDB.getMemberGrant().equals("S")){
|
||||
|
||||
if(siteManagerDAO.getSiteManagerListCnt(tMemberDB.getMemberIdx()) > 0){
|
||||
tMemberDB.setMemberGrant("SM");
|
||||
}else if((tMemberDB.getMemberGrant().equals("SM") || tMemberDB.getMemberGrant().equals("M"))){
|
||||
tMemberDB.setMemberGrant("M");
|
||||
}else{
|
||||
tMemberDB.setMemberGrant("N");
|
||||
}
|
||||
|
||||
if(!memberDAO.setMemberModProc(tMemberDB)){
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSurveyManagerStatusProc(Integer surveyManagerIdx, String status){
|
||||
|
||||
T_SURVEY_MANAGER tSurveyManagerDB = surveyManagerDAO.getSurveyManagerForm(surveyManagerIdx);
|
||||
|
||||
tSurveyManagerDB.setSurveyManagerStatus(status);
|
||||
|
||||
return surveyManagerDAO.setSurveyManagerModProc(tSurveyManagerDB);
|
||||
}
|
||||
|
||||
//CommonController
|
||||
@Transactional
|
||||
public boolean setSurveyManagerGrantProc(Integer surveyManagerIdx, String grant){
|
||||
|
||||
T_SURVEY_MANAGER tSurveyManagerDB = surveyManagerDAO.getSurveyManagerForm(surveyManagerIdx);
|
||||
|
||||
tSurveyManagerDB.setSurveyManagerGrant(grant);
|
||||
|
||||
return surveyManagerDAO.setSurveyManagerModProc(tSurveyManagerDB);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package seed.manager.survey.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_SURVEY_SET;
|
||||
import seed.map.T_SURVEY_SKIN;
|
||||
import seed.map.VIEW_SURVEY_SET;
|
||||
|
||||
public interface ManagerSurveySetService {
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public T_SURVEY_SET getSurveySetForm(String siteIdx, String siteMenuIdx);
|
||||
|
||||
//ManagerSurveyController, CommonController
|
||||
public T_SURVEY_SET getSurveySetForm(Integer surveySetIdx);
|
||||
|
||||
//ManagerSurveyController
|
||||
public List<Map<Object, Object>> getSurveySetMiniList(Integer surveySetIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//ManagerSurveyController
|
||||
public Long getSurveySetListCnt(String siteIdx, String column, String search);
|
||||
|
||||
//ManagerSurveyController
|
||||
public List<VIEW_SURVEY_SET> getSurveySetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerSurveyController
|
||||
public Integer setSurveySetRegProc(T_SURVEY_SET tSurveySet, Integer memberIdx, String memberMerge, String memberMergeSiteIdx);
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public boolean setSurveySetModProc(T_SURVEY_SET tSurveySet);
|
||||
|
||||
//ManagerSurveyController
|
||||
public boolean setSurveySetModProc(T_SURVEY_SET tSurveySet, Integer memberIdx);
|
||||
|
||||
//ManagerSurveyController
|
||||
public boolean setSurveySetDelProc(Integer surveySetIdx, String rootPath);
|
||||
|
||||
//ManagerSurveyController
|
||||
public boolean setSurveySetStatusProc(Integer surveySetIdx, String status, Integer memberIdx);
|
||||
|
||||
//ManagerSurveyController
|
||||
public Long getSurveySetSkinListCnt(String siteIdx);
|
||||
|
||||
//ManagerSurveyController
|
||||
public List<T_SURVEY_SKIN> getSurveySetSkinList(String siteIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//ManagerSurveyController
|
||||
public boolean setSurveySetSkinProc(Integer surveySetIdx, String surveySkinCode, Integer memberIdx);
|
||||
}
|
||||
@ -0,0 +1,212 @@
|
||||
package seed.manager.survey.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.SurveyAuthDAO;
|
||||
import seed.dao.SurveySetDAO;
|
||||
import seed.dao.GroupDAO;
|
||||
import seed.dao.SurveySkinDAO;
|
||||
import seed.map.T_GROUP;
|
||||
import seed.map.T_MEMBER;
|
||||
import seed.map.T_SURVEY_AUTH;
|
||||
import seed.map.T_SURVEY_SET;
|
||||
import seed.map.T_SURVEY_SKIN;
|
||||
import seed.map.VIEW_SURVEY_SET;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Service
|
||||
public class ManagerSurveySetServiceImpl extends AbstractServiceImpl implements ManagerSurveySetService{
|
||||
|
||||
@Autowired
|
||||
private SurveySetDAO surveySetDAO;
|
||||
|
||||
@Autowired
|
||||
private GroupDAO groupDAO;
|
||||
|
||||
@Autowired
|
||||
private SurveyAuthDAO surveyAuthDAO;
|
||||
|
||||
@Autowired
|
||||
private SurveySkinDAO surveySkinDAO;
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
public T_SURVEY_SET getSurveySetForm(String siteIdx, String siteMenuIdx){
|
||||
|
||||
return surveySetDAO.getSurveySetForm(siteIdx, siteMenuIdx);
|
||||
}
|
||||
|
||||
//ManagerSurveyController
|
||||
public T_SURVEY_SET getSurveySetForm(Integer surveySetIdx){
|
||||
|
||||
return surveySetDAO.getSurveySetForm(surveySetIdx);
|
||||
}
|
||||
|
||||
public List<Map<Object, Object>> getSurveySetMiniList(Integer surveySetIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
return surveySetDAO.getSurveySetMiniList(surveySetIdx, ((page-1) * row), row, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerSurveyController
|
||||
public Long getSurveySetListCnt(String siteIdx, String column, String search){
|
||||
|
||||
return surveySetDAO.getSurveySetListCnt(siteIdx, column, search);
|
||||
}
|
||||
|
||||
//ManagerSurveyController
|
||||
public List<VIEW_SURVEY_SET> getSurveySetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
return surveySetDAO.getSurveySetList(siteIdx, ((page-1) * row), row, orderColumn, order, column, search, qryColumns);
|
||||
}
|
||||
|
||||
//ManagerSurveyController
|
||||
@Transactional
|
||||
public Integer setSurveySetRegProc(T_SURVEY_SET tSurveySet, Integer memberIdx, String memberMerge, String memberMergeSiteIdx){
|
||||
|
||||
Integer surveySetIdx = 0;
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
tSurveySet.settMember(tMember);
|
||||
tSurveySet.setSurveySetSkinCode("basic");
|
||||
tSurveySet.setSurveySetStatus("U");
|
||||
tSurveySet.setSurveySetRegDate(new Date());
|
||||
tSurveySet.setSurveySetModDate(new Date());
|
||||
|
||||
T_SURVEY_SET tSurveySetDB = surveySetDAO.setSurveySetRegProc(tSurveySet);
|
||||
|
||||
if(tSurveySetDB != null){
|
||||
|
||||
surveySetIdx = tSurveySetDB.getSurveySetIdx();
|
||||
|
||||
//그룹 테이블의 내용을 T_SURVEY_AUTH에 INSERT
|
||||
String[] qryColumns = null;
|
||||
|
||||
List<T_GROUP> tGroupList = null;
|
||||
|
||||
if(memberMerge.equals("true")){
|
||||
tGroupList = groupDAO.getGroupList(memberMergeSiteIdx, qryColumns);
|
||||
}else{
|
||||
tGroupList = groupDAO.getGroupList(tSurveySet.gettSite().getSiteIdx(), qryColumns);
|
||||
}
|
||||
|
||||
if(tGroupList != null && tGroupList.size() > 0){
|
||||
for(int g=0; g<tGroupList.size(); g++){
|
||||
|
||||
T_GROUP tGroupDB = tGroupList.get(g);
|
||||
|
||||
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)){
|
||||
surveySetIdx = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return surveySetIdx;
|
||||
}
|
||||
|
||||
//AdminSiteController, ManagerSiteController
|
||||
@Transactional
|
||||
public boolean setSurveySetModProc(T_SURVEY_SET tSurveySet){
|
||||
|
||||
return surveySetDAO.setSurveySetModProc(tSurveySet);
|
||||
}
|
||||
|
||||
//ManagerSurveyController
|
||||
@Transactional
|
||||
public boolean setSurveySetModProc(T_SURVEY_SET tSurveySet, Integer memberIdx){
|
||||
|
||||
T_SURVEY_SET tSurveySetDB = surveySetDAO.getSurveySetForm(tSurveySet.getSurveySetIdx());
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
tSurveySetDB.settMember(tMember);
|
||||
tSurveySetDB.setSurveySetName(tSurveySet.getSurveySetName());
|
||||
tSurveySetDB.setSurveySetSdate(tSurveySet.getSurveySetSdate());
|
||||
tSurveySetDB.setSurveySetEdate(tSurveySet.getSurveySetEdate());
|
||||
tSurveySetDB.setSurveySetOverlap(tSurveySet.getSurveySetOverlap());
|
||||
tSurveySetDB.setSurveySetMiniRow(tSurveySet.getSurveySetMiniRow());
|
||||
tSurveySetDB.setSurveySetModDate(new Date());
|
||||
tSurveySetDB.setSurveySetTHtml(tSurveySet.getSurveySetTHtml());
|
||||
tSurveySetDB.setSurveySetFHtml(tSurveySet.getSurveySetFHtml());
|
||||
|
||||
return surveySetDAO.setSurveySetModProc(tSurveySetDB);
|
||||
}
|
||||
|
||||
//ManagerSurveyController
|
||||
@Transactional
|
||||
public boolean setSurveySetDelProc(Integer surveySetIdx, String rootPath){
|
||||
|
||||
T_SURVEY_SET tSurveySetDB = surveySetDAO.getSurveySetForm(surveySetIdx);
|
||||
|
||||
if(tSurveySetDB.gettSurveyDatas().size() > 0){
|
||||
SeedUtils.setSeedDeleteFiles(rootPath + "/" + tSurveySetDB.gettSite().getSiteIdx() + "/upload/survey/" + tSurveySetDB.getSurveySetIdx(), "");
|
||||
}
|
||||
|
||||
return surveySetDAO.setSurveySetDelProc(tSurveySetDB);
|
||||
}
|
||||
|
||||
//ManagerSurveyController
|
||||
@Transactional
|
||||
public boolean setSurveySetStatusProc(Integer surveySetIdx, String status, Integer memberIdx){
|
||||
|
||||
T_SURVEY_SET tSurveySetDB = surveySetDAO.getSurveySetForm(surveySetIdx);
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
tSurveySetDB.settMember(tMember);
|
||||
tSurveySetDB.setSurveySetModDate(new Date());
|
||||
tSurveySetDB.setSurveySetStatus(status);
|
||||
|
||||
return surveySetDAO.setSurveySetModProc(tSurveySetDB);
|
||||
}
|
||||
|
||||
//ManagersurveyController
|
||||
public Long getSurveySetSkinListCnt(String siteIdx){
|
||||
|
||||
return surveySkinDAO.getSurveySetSkinListCnt(siteIdx);
|
||||
}
|
||||
|
||||
//ManagersurveyController
|
||||
public List<T_SURVEY_SKIN> getSurveySetSkinList(String siteIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
return surveySkinDAO.getSurveySetSkinList(siteIdx, ((page-1) * row), row, qryColumns);
|
||||
}
|
||||
|
||||
//ManagersurveyController
|
||||
@Transactional
|
||||
public boolean setSurveySetSkinProc(Integer surveySetIdx, String surveySkinCode, Integer memberIdx){
|
||||
|
||||
T_SURVEY_SET tSurveySetDB = surveySetDAO.getSurveySetForm(surveySetIdx);
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
tMember.setMemberIdx(memberIdx);
|
||||
|
||||
tSurveySetDB.settMember(tMember);
|
||||
tSurveySetDB.setSurveySetSkinCode(surveySkinCode);
|
||||
|
||||
return surveySetDAO.setSurveySetModProc(tSurveySetDB);
|
||||
}
|
||||
}
|
||||
357
src/main/java/seed/utils/InterceptorCheck.java
Normal file
357
src/main/java/seed/utils/InterceptorCheck.java
Normal file
@ -0,0 +1,357 @@
|
||||
package seed.utils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
||||
|
||||
import seed.dao.FirewallDAO;
|
||||
|
||||
public class InterceptorCheck extends HandlerInterceptorAdapter{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
@Autowired
|
||||
private FirewallDAO firewallDAO;
|
||||
|
||||
@Value("#{config['server.host.name']}")
|
||||
private String serverHostName;
|
||||
|
||||
@Value("#{config['server.host.ip']}")
|
||||
private String serverHostIp;
|
||||
|
||||
@Value("#{config['seed.key']}")
|
||||
private String seedKey;
|
||||
|
||||
@Value("#{config['root.url']}")
|
||||
private String rootUrl;
|
||||
|
||||
@Value("#{config['seed.key.date']}")
|
||||
private String seedKeyDate;
|
||||
|
||||
private static String licenseKey = "seed";
|
||||
|
||||
public static String getLicenseKey() {
|
||||
return licenseKey;
|
||||
}
|
||||
|
||||
public void setSessionRemove(HttpSession session){
|
||||
session.removeAttribute("memberIdx");
|
||||
session.removeAttribute("memberId");
|
||||
session.removeAttribute("memberName");
|
||||
session.removeAttribute("memberDept");
|
||||
session.removeAttribute("memberPosition");
|
||||
session.removeAttribute("memberTel");
|
||||
session.removeAttribute("memberPhone");
|
||||
session.removeAttribute("memberEmail1");
|
||||
session.removeAttribute("memberEmail2");
|
||||
session.removeAttribute("memberGrant");
|
||||
|
||||
session.removeAttribute("url");
|
||||
session.removeAttribute("message");
|
||||
session.removeAttribute("opener");
|
||||
session.removeAttribute("append");
|
||||
session.removeAttribute("self");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler) {
|
||||
|
||||
HttpSession session = httpServletRequest.getSession();
|
||||
|
||||
session.removeAttribute("url");
|
||||
session.removeAttribute("message");
|
||||
session.removeAttribute("opener");
|
||||
session.removeAttribute("append");
|
||||
session.removeAttribute("self");
|
||||
|
||||
/*try{
|
||||
|
||||
boolean hostNameChk = false;
|
||||
boolean hostIpChk = false;
|
||||
|
||||
StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();
|
||||
pbeEnc.setPassword(InterceptorCheck.getLicenseKey());
|
||||
|
||||
if(!pbeEnc.decrypt(seedKeyDate).equals("*")){
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
||||
|
||||
Date getDate = new Date();
|
||||
Date seedKeyDateChk = sdf.parse(pbeEnc.decrypt(seedKeyDate));
|
||||
|
||||
if(Integer.parseInt(sdf.format(getDate)) > Integer.parseInt(sdf.format(seedKeyDateChk))){
|
||||
session.setAttribute("url", "/common/seed.do");
|
||||
session.setAttribute("message", "common.message.no.seed");
|
||||
log.error("seedKeyDate Error");
|
||||
|
||||
httpServletResponse.sendRedirect("/common/message.do");
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
String seedKeys[] = seedKey.split(",");
|
||||
String rootUrls[] = rootUrl.split(",");
|
||||
|
||||
if(seedKeys.length != rootUrls.length){
|
||||
|
||||
session.setAttribute("url", "/common/seed.do");
|
||||
session.setAttribute("message", "common.message.no.seed");
|
||||
log.error("seedKeys.length Error, rootUrls.length Error");
|
||||
|
||||
httpServletResponse.sendRedirect("/common/message.do");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
for(int i=0; i<seedKeys.length; i++){
|
||||
|
||||
if(!pbeEnc.decrypt(seedKeys[i]).equals(rootUrls[i])){
|
||||
|
||||
session.setAttribute("url", "/common/seed.do");
|
||||
session.setAttribute("message", "common.message.no.seed");
|
||||
log.error("seedKeys Error");
|
||||
|
||||
httpServletResponse.sendRedirect("/common/message.do");
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
String hostName = "";
|
||||
String hostIp = "";
|
||||
InetAddress ip;
|
||||
|
||||
try{
|
||||
|
||||
ip = InetAddress.getLocalHost();
|
||||
hostName = ip.getHostName();
|
||||
hostIp = ip.getHostAddress();
|
||||
|
||||
}catch (UnknownHostException ex) {
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}catch (Exception ex) {
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
String serverHostNames[] = serverHostName.split(",");
|
||||
String serverHostIps[] = serverHostIp.split(",");
|
||||
|
||||
if(serverHostNames.length != serverHostIps.length){
|
||||
|
||||
session.setAttribute("url", "/common/seed.do");
|
||||
session.setAttribute("message", "common.message.no.seed");
|
||||
log.error("serverHostNames.length Error, serverHostIps.length Error");
|
||||
|
||||
httpServletResponse.sendRedirect("/common/message.do");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
for(int i=0; i<serverHostNames.length; i++){
|
||||
|
||||
if(hostName.replaceAll(" ", "").equals(pbeEnc.decrypt(serverHostNames[i].replaceAll(" ", "")))){
|
||||
hostNameChk = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for(int i=0; i<serverHostIps.length; i++){
|
||||
|
||||
if(hostIp.replaceAll(" ", "").equals(pbeEnc.decrypt(serverHostIps[i].replaceAll(" ", "")))){
|
||||
hostIpChk = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!hostNameChk || !hostIpChk){
|
||||
|
||||
session.setAttribute("url", "/common/seed.do");
|
||||
session.setAttribute("message", "common.message.no.seed");
|
||||
log.error("hostName Error : " + hostNameChk + ", hostIp Error : " + hostIpChk);
|
||||
|
||||
httpServletResponse.sendRedirect("/common/message.do");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}catch (Exception e) {
|
||||
|
||||
session.setAttribute("url", "/common/seed.do");
|
||||
session.setAttribute("message", "common.message.no.seed");
|
||||
log.error("CHECK ERROR:",e);
|
||||
|
||||
try {
|
||||
httpServletResponse.sendRedirect("/common/message.do");
|
||||
} catch (IOException ex) {
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return false;
|
||||
}*/
|
||||
|
||||
// boolean firewallChk = false;
|
||||
//테스트를 위한 수정_이준호_240704!!!!!!!!!!!!!!!!
|
||||
// boolean firewallChk = true;
|
||||
//
|
||||
// System.out.println("tset");
|
||||
// log.info("testsetset");
|
||||
//
|
||||
// List<Map<Object, Object>> firewallList = firewallDAO.getFirewallList();
|
||||
//
|
||||
// httpServletRequest.getHeader("WL-Proxy-Client-IP");
|
||||
//
|
||||
// String memberIp = httpServletRequest.getRemoteAddr();
|
||||
//
|
||||
// for(int i=0; i<firewallList.size(); i++){
|
||||
//
|
||||
// Map<Object, Object> tFirewallDB = firewallList.get(i);
|
||||
//
|
||||
// if(memberIp.indexOf(":") > 0){
|
||||
//
|
||||
// if(tFirewallDB.get("_firewallAClass").equals("*") && tFirewallDB.get("_firewallBClass").equals("*") && tFirewallDB.get("_firewallCClass").equals("*")
|
||||
// && tFirewallDB.get("_firewallDClass").equals("*") && tFirewallDB.get("_firewallEClass").equals("*") && tFirewallDB.get("_firewallFClass").equals("*")
|
||||
// && tFirewallDB.get("_firewallGClass").equals("*") && tFirewallDB.get("_firewallHClass").equals("*")){
|
||||
// firewallChk = true;
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// String[] memberIps = memberIp.split(":");
|
||||
//
|
||||
// if((memberIps[0].equals(tFirewallDB.get("_firewallAClass")) || tFirewallDB.get("_firewallAClass").equals("*")) &&
|
||||
// (memberIps[1].equals(tFirewallDB.get("_firewallBClass")) || tFirewallDB.get("_firewallBClass").equals("*")) &&
|
||||
// (memberIps[2].equals(tFirewallDB.get("_firewallCClass")) || tFirewallDB.get("_firewallCClass").equals("*")) &&
|
||||
// (memberIps[3].equals(tFirewallDB.get("_firewallDClass")) || tFirewallDB.get("_firewallDClass").equals("*")) &&
|
||||
// (memberIps[4].equals(tFirewallDB.get("_firewallEClass")) || tFirewallDB.get("_firewallEClass").equals("*")) &&
|
||||
// (memberIps[5].equals(tFirewallDB.get("_firewallFClass")) || tFirewallDB.get("_firewallFClass").equals("*")) &&
|
||||
// (memberIps[6].equals(tFirewallDB.get("_firewallGClass")) || tFirewallDB.get("_firewallGClass").equals("*")) &&
|
||||
// (memberIps[7].equals(tFirewallDB.get("_firewallHClass")) || tFirewallDB.get("_firewallHClass").equals("*"))){
|
||||
//
|
||||
// firewallChk = true;
|
||||
// }
|
||||
//
|
||||
// }else{
|
||||
//
|
||||
// if(tFirewallDB.get("_firewallAClass").equals("*") && tFirewallDB.get("_firewallBClass").equals("*") && tFirewallDB.get("_firewallCClass").equals("*")){
|
||||
// firewallChk = true;
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// String[] memberIps = memberIp.split("\\.");
|
||||
//
|
||||
// if((memberIps[0].equals(tFirewallDB.get("_firewallAClass")) || tFirewallDB.get("_firewallAClass").equals("*")) &&
|
||||
// (memberIps[1].equals(tFirewallDB.get("_firewallBClass")) || tFirewallDB.get("_firewallBClass").equals("*")) &&
|
||||
// (memberIps[2].equals(tFirewallDB.get("_firewallCClass")) || tFirewallDB.get("_firewallCClass").equals("*"))){
|
||||
//
|
||||
// firewallChk = true;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//// if(!firewallChk){
|
||||
////
|
||||
//// setSessionRemove(session);
|
||||
//// session.setAttribute("url", "/common/firewall.do");
|
||||
//// session.setAttribute("message", "(message)현재 접속한 아이피("+memberIp+")는 접근하실수 없습니다.");
|
||||
////
|
||||
//// try {
|
||||
//// httpServletResponse.sendRedirect("/common/message.do");
|
||||
//// } catch (IOException ex) {
|
||||
//// log.error("CHECK ERROR:",ex);
|
||||
//// }
|
||||
////
|
||||
//// return false;
|
||||
//// }
|
||||
//
|
||||
// boolean sessionChk = false;
|
||||
//
|
||||
// String[] urlChecks = {"/gta/login.do", "/gta/proc/loginProc.do", "/gta/proc/logoutProc.do",
|
||||
// "/gtu/login.do", "/gtu/proc/loginProc.do", "/gtu/proc/logoutProc.do",
|
||||
// "/gtm/login.do", "/gtm/proc/loginProc.do", "/gtm/proc/logoutProc.do",
|
||||
// "/gte/login.do", "/gte/proc/loginProc.do", "/gte/proc/logoutProc.do",
|
||||
// "Page.do", "PageProc.do"};
|
||||
//
|
||||
// for(int i=0; i<urlChecks.length; i++){
|
||||
// if(httpServletRequest.getRequestURI().indexOf(urlChecks[i]) > -1){
|
||||
// sessionChk = true;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if(!sessionChk){
|
||||
//
|
||||
// Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
// String memberGrant = (String)SeedUtils.setReplaceNull(session.getAttribute("memberGrant"),"N");
|
||||
//
|
||||
// if(memberIdx == 0 || (!memberGrant.equals("S") && !memberGrant.equals("U") && !memberGrant.equals("SM") && !memberGrant.equals("M"))){
|
||||
//
|
||||
// setSessionRemove(session);
|
||||
// if(httpServletRequest.getRequestURI().indexOf("/gta/") >= 0){
|
||||
// session.setAttribute("url", "/gta/login.do");
|
||||
// }else if(httpServletRequest.getRequestURI().indexOf("/gtu/") >= 0){
|
||||
// session.setAttribute("url", "/gtu/login.do");
|
||||
// }else if(httpServletRequest.getRequestURI().indexOf("/gtm/") >= 0){
|
||||
// session.setAttribute("url", "/gtm/login.do");
|
||||
// }else if(httpServletRequest.getRequestURI().indexOf("/gte/") >= 0){
|
||||
// session.setAttribute("url", "/gte/login.do");
|
||||
// }
|
||||
//
|
||||
// session.setAttribute("message", "common.message.no.login");
|
||||
//
|
||||
// try {
|
||||
// httpServletResponse.sendRedirect("/common/message.do");
|
||||
// } catch (IOException ex) {
|
||||
// log.error("CHECK ERROR:",ex);
|
||||
// }
|
||||
//
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, ModelAndView modelAndView) {
|
||||
|
||||
//log.error("postHandle : " + request.getRequestURI());
|
||||
|
||||
/*
|
||||
log.error("request : " + request);
|
||||
log.error("response : " + response);
|
||||
log.error("handler : " + handler);
|
||||
log.error("modelAndView : " + modelAndView);
|
||||
*/
|
||||
|
||||
//log.error("check postHandle");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler, Exception ex) {
|
||||
|
||||
//log.error("afterCompletion : " + request.getRequestURI());
|
||||
|
||||
/*
|
||||
log.error("request : " + request);
|
||||
log.error("response : " + response);
|
||||
log.error("handler : " + handler);
|
||||
*/
|
||||
|
||||
//log.error("check afterCompletion");
|
||||
}
|
||||
}
|
||||
190
src/main/java/seed/utils/Paging.java
Normal file
190
src/main/java/seed/utils/Paging.java
Normal file
@ -0,0 +1,190 @@
|
||||
package seed.utils;
|
||||
|
||||
public class Paging {
|
||||
|
||||
protected Integer page;
|
||||
protected Integer row;
|
||||
protected Long count;
|
||||
protected Integer pages;
|
||||
protected Integer blocks;
|
||||
protected Integer block;
|
||||
protected Integer fPage;
|
||||
protected Integer lPage;
|
||||
|
||||
protected Integer pagec;
|
||||
protected Integer rowc;
|
||||
protected Long countc;
|
||||
protected Integer pagesc;
|
||||
protected Integer blocksc;
|
||||
protected Integer blockc;
|
||||
protected Integer fPagec;
|
||||
protected Integer lPagec;
|
||||
|
||||
public Long getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
public void setCount(Long count) {
|
||||
|
||||
if(page == null || page < 0){
|
||||
page = 1;
|
||||
}
|
||||
|
||||
if(row == null || row < 0){
|
||||
row = 10;
|
||||
}
|
||||
|
||||
this.count = count;
|
||||
pages = (count == 0) ? 1 : (int) ((count - 1) / row) + 1;
|
||||
blocks = (int) Math.ceil(1.0 * pages / 10.0);
|
||||
block = (int) Math.ceil(1.0 * page / 10.0);
|
||||
fPage = (block - 1) * 10 + 1;
|
||||
lPage = block * 10;
|
||||
if (lPage > pages)
|
||||
lPage = pages;
|
||||
|
||||
if(page > pages){
|
||||
page = pages;
|
||||
}
|
||||
}
|
||||
|
||||
public Long getCountc() {
|
||||
return countc;
|
||||
}
|
||||
|
||||
public void setCountc(Long countc) {
|
||||
|
||||
if(pagec == null || pagec < 0){
|
||||
pagec = 1;
|
||||
}
|
||||
|
||||
if(rowc == null || rowc < 0){
|
||||
rowc = 10;
|
||||
}
|
||||
|
||||
this.countc = countc;
|
||||
pagesc = (countc == 0) ? 1 : (int) ((countc - 1) / rowc) + 1;
|
||||
blocksc = (int) Math.ceil(1.0 * pagesc / 10.0);
|
||||
blockc = (int) Math.ceil(1.0 * pagec / 10.0);
|
||||
fPagec = (blockc - 1) * 10 + 1;
|
||||
lPagec = blockc * 10;
|
||||
if (lPagec > pagesc)
|
||||
lPagec = pagesc;
|
||||
|
||||
if(pagec > pagesc){
|
||||
pagec = pagesc;
|
||||
}
|
||||
}
|
||||
|
||||
public Integer getPage() {
|
||||
return page;
|
||||
}
|
||||
|
||||
public void setPage(Integer page) {
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
public Integer getRow() {
|
||||
return row;
|
||||
}
|
||||
|
||||
public void setRow(Integer row) {
|
||||
this.row = row;
|
||||
}
|
||||
|
||||
public Integer getPages() {
|
||||
return pages;
|
||||
}
|
||||
|
||||
public void setPages(Integer pages) {
|
||||
this.pages = pages;
|
||||
}
|
||||
|
||||
public Integer getBlocks() {
|
||||
return blocks;
|
||||
}
|
||||
|
||||
public void setBlocks(Integer blocks) {
|
||||
this.blocks = blocks;
|
||||
}
|
||||
|
||||
public Integer getBlock() {
|
||||
return block;
|
||||
}
|
||||
|
||||
public void setBlock(Integer block) {
|
||||
this.block = block;
|
||||
}
|
||||
|
||||
public Integer getfPage() {
|
||||
return fPage;
|
||||
}
|
||||
|
||||
public void setfPage(Integer fPage) {
|
||||
this.fPage = fPage;
|
||||
}
|
||||
|
||||
public Integer getlPage() {
|
||||
return lPage;
|
||||
}
|
||||
|
||||
public void setlPage(Integer lPage) {
|
||||
this.lPage = lPage;
|
||||
}
|
||||
|
||||
public Integer getPagec() {
|
||||
return pagec;
|
||||
}
|
||||
|
||||
public void setPagec(Integer pagec) {
|
||||
this.pagec = pagec;
|
||||
}
|
||||
|
||||
public Integer getRowc() {
|
||||
return rowc;
|
||||
}
|
||||
|
||||
public void setRowc(Integer rowc) {
|
||||
this.rowc = rowc;
|
||||
}
|
||||
|
||||
public Integer getPagesc() {
|
||||
return pagesc;
|
||||
}
|
||||
|
||||
public void setPagesc(Integer pagesc) {
|
||||
this.pagesc = pagesc;
|
||||
}
|
||||
|
||||
public Integer getBlocksc() {
|
||||
return blocksc;
|
||||
}
|
||||
|
||||
public void setBlocksc(Integer blocksc) {
|
||||
this.blocksc = blocksc;
|
||||
}
|
||||
|
||||
public Integer getBlockc() {
|
||||
return blockc;
|
||||
}
|
||||
|
||||
public void setBlockc(Integer blockc) {
|
||||
this.blockc = blockc;
|
||||
}
|
||||
|
||||
public Integer getfPagec() {
|
||||
return fPagec;
|
||||
}
|
||||
|
||||
public void setfPagec(Integer fPagec) {
|
||||
this.fPagec = fPagec;
|
||||
}
|
||||
|
||||
public Integer getlPagec() {
|
||||
return lPagec;
|
||||
}
|
||||
|
||||
public void setlPagec(Integer lPagec) {
|
||||
this.lPagec = lPagec;
|
||||
}
|
||||
}
|
||||
162
src/main/java/seed/utils/SeedCvtDOCToHtml.java
Normal file
162
src/main/java/seed/utils/SeedCvtDOCToHtml.java
Normal file
@ -0,0 +1,162 @@
|
||||
package seed.utils;
|
||||
|
||||
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.OutputStreamWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.FactoryConfigurationError;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerConfigurationException;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.TransformerFactoryConfigurationError;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.poi.hwpf.HWPFDocument;
|
||||
import org.apache.poi.hwpf.converter.WordToHtmlConverter;
|
||||
import org.apache.poi.hwpf.usermodel.Picture;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
public class SeedCvtDOCToHtml {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
// public static void main(String args[]){
|
||||
//
|
||||
// String filePath = "F:/javaConvert/test/test.doc";
|
||||
// String output = "F:/javaConvert/test/img/";
|
||||
//
|
||||
// new SeedCvtDOCToHtml().convert(filePath, output);
|
||||
// }
|
||||
|
||||
public void convert(String filePath, String output) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(filePath.endsWith(".doc")) {
|
||||
|
||||
File file = new File(filePath);
|
||||
|
||||
if (file.exists()) {
|
||||
|
||||
POIFSFileSystem fs = null;
|
||||
|
||||
FileOutputStream fileOutputStream = null;
|
||||
OutputStreamWriter outputStreamWriter = null;
|
||||
BufferedWriter bufferedWriter = null;
|
||||
|
||||
try {
|
||||
|
||||
fs = new POIFSFileSystem(new FileInputStream(filePath));
|
||||
|
||||
HWPFDocument hwpfDocument = new HWPFDocument(fs);
|
||||
|
||||
WordToHtmlConverter wordToHtmlConverter = new img(
|
||||
DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
|
||||
|
||||
wordToHtmlConverter.processDocument(hwpfDocument);
|
||||
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
|
||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
|
||||
transformer.setOutputProperty(OutputKeys.METHOD, "html");
|
||||
|
||||
transformer.transform(
|
||||
new DOMSource(wordToHtmlConverter.getDocument()),
|
||||
new StreamResult(stringWriter));
|
||||
|
||||
fileOutputStream = new FileOutputStream(output + getFileName(filePath) + ".jsp");
|
||||
outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
|
||||
bufferedWriter = new BufferedWriter(outputStreamWriter);
|
||||
|
||||
bufferedWriter.write("<%@ page contentType=\"text/html;charset=utf-8\" %>");
|
||||
bufferedWriter.write("\n");
|
||||
bufferedWriter.write(stringWriter.toString());
|
||||
bufferedWriter.flush();
|
||||
|
||||
success = true;
|
||||
|
||||
} catch (TransformerConfigurationException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (TransformerFactoryConfigurationError e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (TransformerException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (ParserConfigurationException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (FactoryConfigurationError e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (FileNotFoundException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (IOException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (Exception e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} finally{
|
||||
if(bufferedWriter!=null){try{bufferedWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(outputStreamWriter!=null){try{outputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(fileOutputStream!=null){try{fileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
}
|
||||
}
|
||||
|
||||
if(!success){
|
||||
SeedUtils.setSeedDeleteFiles(output, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class img extends WordToHtmlConverter {
|
||||
|
||||
public img(Document document) {
|
||||
super(document);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void processImageWithoutPicturesManager(Element currentBlock,
|
||||
boolean inlined, Picture picture){
|
||||
|
||||
Element imgNode = currentBlock.getOwnerDocument().createElement("img");
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(Base64.encodeBase64String(picture.getRawContent()));
|
||||
sb.insert(0, "data:"+picture.getMimeType()+";base64,");
|
||||
imgNode.setAttribute("src", sb.toString());
|
||||
currentBlock.appendChild(imgNode);
|
||||
}
|
||||
}
|
||||
|
||||
private static String getFileName(String filePath){
|
||||
int sep = filePath.lastIndexOf("\\") == -1 ? filePath.lastIndexOf("/") : filePath.lastIndexOf("\\");
|
||||
return filePath.substring( sep + 1 , filePath.lastIndexOf("."));
|
||||
}
|
||||
}
|
||||
137
src/main/java/seed/utils/SeedCvtDOCXToHtml.java
Normal file
137
src/main/java/seed/utils/SeedCvtDOCXToHtml.java
Normal file
@ -0,0 +1,137 @@
|
||||
package seed.utils;
|
||||
|
||||
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.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.poi.xwpf.converter.core.FileImageExtractor;
|
||||
import org.apache.poi.xwpf.converter.core.FileURIResolver;
|
||||
import org.apache.poi.xwpf.converter.core.XWPFConverterException;
|
||||
import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter;
|
||||
import org.apache.poi.xwpf.converter.xhtml.XHTMLOptions;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||
|
||||
public class SeedCvtDOCXToHtml {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
// public static void main(String args[]) {
|
||||
//
|
||||
// String rootPath = "F:/javaConvert";
|
||||
// String filePath = "test/test.docx";
|
||||
// String output = "F:/javaConvert/test/img/";
|
||||
//
|
||||
// new SeedCvtDOCXToHtml().convert(rootPath, filePath, output);
|
||||
// }
|
||||
|
||||
public synchronized void convert(String rootPath, String filePath, String output) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(filePath.endsWith(".docx")) {
|
||||
|
||||
File file = new File(rootPath + "/" + filePath);
|
||||
|
||||
if (file.exists()) {
|
||||
|
||||
FileInputStream fileInputStream = null;
|
||||
InputStreamReader inputStreamReader = null;
|
||||
BufferedReader bufferedReader = null;
|
||||
|
||||
FileOutputStream fileOutputStream = null;
|
||||
OutputStreamWriter outputStreamWriter = null;
|
||||
BufferedWriter bufferedWriter = null;
|
||||
|
||||
try{
|
||||
|
||||
StringBuffer fileHtml = new StringBuffer();
|
||||
|
||||
InputStream in = new FileInputStream(file);
|
||||
XWPFDocument document = new XWPFDocument(in);
|
||||
|
||||
XHTMLOptions options = XHTMLOptions.create();
|
||||
|
||||
File imageFolder = new File(output + getFileName(filePath) + "/img");
|
||||
|
||||
options.setExtractor( new FileImageExtractor(imageFolder));
|
||||
options.URIResolver( new FileURIResolver(imageFolder));
|
||||
|
||||
fileOutputStream = new FileOutputStream(new File(output + getFileName(filePath) + "_org_.jsp"));
|
||||
XHTMLConverter.getInstance().convert(document, fileOutputStream, options);
|
||||
|
||||
//이미지 경로때문에 파일 읽어서 다시 쓰기 해야함(서버경로에서 해당 파일 경로로 변경)
|
||||
File tmpFile = new File(output + getFileName(filePath) + "_org_.jsp");
|
||||
|
||||
if(tmpFile.exists()){
|
||||
|
||||
fileInputStream = new FileInputStream(output + getFileName(filePath) + "_org_.jsp");
|
||||
inputStreamReader = new InputStreamReader(fileInputStream, "EUC-KR");
|
||||
bufferedReader = new BufferedReader(inputStreamReader);
|
||||
|
||||
String fileBuffer = "";
|
||||
|
||||
while((fileBuffer = bufferedReader.readLine()) != null){
|
||||
fileHtml.append(fileBuffer);
|
||||
fileHtml.append("\n");
|
||||
}
|
||||
|
||||
fileOutputStream = new FileOutputStream(output + getFileName(filePath) + ".jsp");
|
||||
outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
|
||||
bufferedWriter = new BufferedWriter(outputStreamWriter);
|
||||
|
||||
bufferedWriter.write("<%@ page contentType=\"text/html;charset=utf-8\" %>");
|
||||
bufferedWriter.write("\n");
|
||||
|
||||
bufferedWriter.write(fileHtml.toString().replaceAll("\\\\", "/").replaceAll(output, "/site/"+filePath.substring(0, filePath.lastIndexOf("/"))+"/"+getFileName(filePath)+"/convert/"));
|
||||
bufferedWriter.flush();
|
||||
|
||||
success = true;
|
||||
}
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (XWPFConverterException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (IOException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (Exception e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} 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);}}
|
||||
if(bufferedWriter!=null){try{bufferedWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(outputStreamWriter!=null){try{outputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(fileOutputStream!=null){try{fileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
}
|
||||
}
|
||||
|
||||
if(!success){
|
||||
SeedUtils.setSeedDeleteFiles(output, "");
|
||||
}else{
|
||||
SeedUtils.setSeedDeleteFile(output + getFileName(filePath) + "_org_.jsp");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String getFileName(String filePath){
|
||||
int sep = filePath.lastIndexOf("\\") == -1 ? filePath.lastIndexOf("/") : filePath.lastIndexOf("\\");
|
||||
return filePath.substring( sep + 1 , filePath.lastIndexOf("."));
|
||||
}
|
||||
}
|
||||
148
src/main/java/seed/utils/SeedCvtPDFToImg.java
Normal file
148
src/main/java/seed/utils/SeedCvtPDFToImg.java
Normal file
@ -0,0 +1,148 @@
|
||||
package seed.utils;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
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.util.List;
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||
import org.apache.pdfbox.pdmodel.PDPage;
|
||||
|
||||
public class SeedCvtPDFToImg {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
// public static void main(String[] args) {
|
||||
//
|
||||
// String rootPath = "F:/javaConvert";
|
||||
// String filePath = "test/test.pdf";
|
||||
// String output = "F:/javaConvert/test/img/";
|
||||
//
|
||||
// new SeedCvtPDFToImg().convert(rootPath, filePath, output);
|
||||
// }
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public void convert(String rootPath, String filePath, String output) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(filePath.endsWith(".pdf")) {
|
||||
|
||||
File file = new File(rootPath + "/" + filePath);
|
||||
|
||||
if (file.exists()) {
|
||||
|
||||
FileOutputStream fileOutputStream = null;
|
||||
|
||||
FileOutputStream htmlFileOutputStream = null;
|
||||
OutputStreamWriter htmlOutputStreamWriter = null;
|
||||
BufferedWriter htmlWriter = null;
|
||||
|
||||
try {
|
||||
|
||||
PDDocument document = PDDocument.load(rootPath + "/" + filePath);
|
||||
|
||||
List<PDPage> list = document.getDocumentCatalog().getAllPages();
|
||||
|
||||
if(list.size() > 0){
|
||||
SeedUtils.setSeedMkDirs(output);
|
||||
}
|
||||
|
||||
//html파일 작성
|
||||
htmlFileOutputStream = new FileOutputStream(output + "/" + getFileName(filePath) + ".jsp");
|
||||
htmlOutputStreamWriter = new OutputStreamWriter(htmlFileOutputStream, "UTF-8");
|
||||
htmlWriter = new BufferedWriter(htmlOutputStreamWriter);
|
||||
|
||||
htmlWriter.write("<%@ page contentType=\"text/html;charset=utf-8\" %>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!doctype html>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if lt IE 7 ]><html class=\"ie ie6\" lang=\"ko\"><![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if IE 7 ]><html class=\"ie ie7\" lang=\"ko\"><![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if IE 8 ]><html class=\"ie ie8\" lang=\"ko\"><![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if (gte IE 9)|!(IE)]><!--><html lang=\"ko\"><!--<![endif]--> ");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <head>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <meta charset=\"utf-8\">");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <meta name=\"robots\" content=\"noindex\">");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <!--[if IE]>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <title>미리보기 페이지</title>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <!-- js -->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <!--[if lte IE 9]>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <script src=\"/js/html5.js\"></script>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" </head>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <body>");
|
||||
htmlWriter.write("\n");
|
||||
|
||||
for(int i=0; i<list.size(); i++){
|
||||
|
||||
PDPage page = list.get(i);
|
||||
|
||||
BufferedImage img = page.convertToImage();
|
||||
fileOutputStream = new FileOutputStream(output + getFileName(filePath) + "_" + (i + 1) + ".jpg");
|
||||
ImageIO.write(img, "jpg", fileOutputStream);
|
||||
|
||||
htmlWriter.write(" <img src='/site/"+filePath.substring(0, filePath.lastIndexOf("/"))+"/"+getFileName(filePath)+"/convert/" + getFileName(filePath) + "_" + (i + 1) + ".jpg' alt='" + getFileName(filePath) + "_" + (i + 1) + "' />");
|
||||
htmlWriter.write("\n");
|
||||
}
|
||||
|
||||
htmlWriter.write(" </body>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("</html>");
|
||||
htmlWriter.write("\n");
|
||||
|
||||
htmlWriter.flush();
|
||||
|
||||
document.close();
|
||||
|
||||
success = true;
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (IOException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
}finally{
|
||||
if(fileOutputStream!=null){try{fileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
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(!success){
|
||||
SeedUtils.setSeedDeleteFiles(output, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String getFileName(String filePath){
|
||||
int sep = filePath.lastIndexOf("\\") == -1 ? filePath.lastIndexOf("/") : filePath.lastIndexOf("\\");
|
||||
return filePath.substring( sep + 1 , filePath.lastIndexOf("."));
|
||||
}
|
||||
}
|
||||
164
src/main/java/seed/utils/SeedCvtPPTToImg.java
Normal file
164
src/main/java/seed/utils/SeedCvtPPTToImg.java
Normal file
@ -0,0 +1,164 @@
|
||||
package seed.utils;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.geom.AffineTransform;
|
||||
import java.awt.geom.Rectangle2D;
|
||||
import java.awt.image.BufferedImage;
|
||||
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.OutputStreamWriter;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.poi.hslf.model.Slide;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
|
||||
public class SeedCvtPPTToImg {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
// public static void main(String[] args) {
|
||||
//
|
||||
// String rootPath = "F:/javaConvert";
|
||||
// String filePath = "test/test.ppt";
|
||||
// String output = "F:/javaConvert/test/img/";
|
||||
//
|
||||
// new SeedCvtPPTToImg().convert(rootPath, filePath, output);
|
||||
// }
|
||||
|
||||
public void convert(String rootPath, String filePath, String output) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(filePath.endsWith(".ppt")) {
|
||||
|
||||
File file = new File(rootPath + "/" + filePath);
|
||||
|
||||
if (file.exists()) {
|
||||
|
||||
FileInputStream fileInputStream = null;
|
||||
FileOutputStream fileOutputStream = null;
|
||||
|
||||
FileOutputStream htmlFileOutputStream = null;
|
||||
OutputStreamWriter htmlOutputStreamWriter = null;
|
||||
BufferedWriter htmlWriter = null;
|
||||
|
||||
try {
|
||||
|
||||
fileInputStream = new FileInputStream(file);
|
||||
SlideShow ppt = new SlideShow(fileInputStream);
|
||||
|
||||
double zoom = 2; // magnify it by 2
|
||||
AffineTransform at = new AffineTransform();
|
||||
at.setToScale(zoom, zoom);
|
||||
|
||||
Dimension pgsize = ppt.getPageSize();
|
||||
Slide[] slide = ppt.getSlides();
|
||||
|
||||
if(slide.length > 0){
|
||||
SeedUtils.setSeedMkDirs(output);
|
||||
}
|
||||
|
||||
//html??????
|
||||
htmlFileOutputStream = new FileOutputStream(output + "/" + getFileName(filePath) + ".jsp");
|
||||
htmlOutputStreamWriter = new OutputStreamWriter(htmlFileOutputStream, "UTF-8");
|
||||
htmlWriter = new BufferedWriter(htmlOutputStreamWriter);
|
||||
|
||||
htmlWriter.write("<%@ page contentType=\"text/html;charset=utf-8\" %>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!doctype html>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if lt IE 7 ]><html class=\"ie ie6\" lang=\"ko\"><![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if IE 7 ]><html class=\"ie ie7\" lang=\"ko\"><![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if IE 8 ]><html class=\"ie ie8\" lang=\"ko\"><![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if (gte IE 9)|!(IE)]><!--><html lang=\"ko\"><!--<![endif]--> ");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <head>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <meta charset=\"utf-8\">");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <meta name=\"robots\" content=\"noindex\">");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <!--[if IE]>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <title>誘몃━蹂닿린 ??댁?</title>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <!-- js -->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <!--[if lte IE 9]>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <script src=\"/js/html5.js\"></script>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" </head>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <body>");
|
||||
htmlWriter.write("\n");
|
||||
|
||||
for (int i = 0; i < slide.length; i++) {
|
||||
|
||||
BufferedImage img = new BufferedImage((int)Math.ceil(pgsize.width*zoom), (int)Math.ceil(pgsize.height*zoom), BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
Graphics2D graphics = img.createGraphics();
|
||||
graphics.setTransform(at);
|
||||
|
||||
graphics.setPaint(Color.white);
|
||||
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
|
||||
slide[i].draw(graphics);
|
||||
fileOutputStream = new FileOutputStream(output + getFileName(filePath) + "_" + (i + 1) + ".jpg");
|
||||
ImageIO.write(img, "jpg", fileOutputStream);
|
||||
|
||||
htmlWriter.write(" <img src='/site/"+filePath.substring(0, filePath.lastIndexOf("/"))+"/"+getFileName(filePath)+"/convert/" + getFileName(filePath) + "_" + (i + 1) + ".jpg' alt='" + getFileName(filePath) + "_" + (i + 1) + "' />");
|
||||
htmlWriter.write("\n");
|
||||
}
|
||||
|
||||
htmlWriter.write(" </body>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("</html>");
|
||||
htmlWriter.write("\n");
|
||||
|
||||
htmlWriter.flush();
|
||||
|
||||
success = true;
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (IOException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
}finally{
|
||||
if(fileInputStream!=null){try{fileInputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(fileOutputStream!=null){try{fileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
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(!success){
|
||||
SeedUtils.setSeedDeleteFiles(output, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String getFileName(String filePath){
|
||||
int sep = filePath.lastIndexOf("\\") == -1 ? filePath.lastIndexOf("/") : filePath.lastIndexOf("\\");
|
||||
return filePath.substring( sep + 1 , filePath.lastIndexOf("."));
|
||||
}
|
||||
}
|
||||
164
src/main/java/seed/utils/SeedCvtPPTXToImg.java
Normal file
164
src/main/java/seed/utils/SeedCvtPPTXToImg.java
Normal file
@ -0,0 +1,164 @@
|
||||
package seed.utils;
|
||||
|
||||
import java.awt.Dimension;
|
||||
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.OutputStreamWriter;
|
||||
import java.awt.Color;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.geom.AffineTransform;
|
||||
import java.awt.geom.Rectangle2D;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.poi.xslf.usermodel.XMLSlideShow;
|
||||
import org.apache.poi.xslf.usermodel.XSLFSlide;
|
||||
|
||||
public class SeedCvtPPTXToImg {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
// public static void main(String[] args) {
|
||||
//
|
||||
// String rootPath = "F:/javaConvert";
|
||||
// String filePath = "test/test.pptx";
|
||||
// String output = "F:/javaConvert/test/img/";
|
||||
//
|
||||
// new SeedCvtPPTXToImg().convert(rootPath, filePath, output);
|
||||
// }
|
||||
|
||||
public void convert(String rootPath, String filePath, String output) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(filePath.endsWith(".pptx")) {
|
||||
|
||||
File file = new File(rootPath + "/" + filePath);
|
||||
|
||||
if (file.exists()) {
|
||||
|
||||
FileInputStream fileInputStream = null;
|
||||
FileOutputStream fileOutputStream = null;
|
||||
|
||||
FileOutputStream htmlFileOutputStream = null;
|
||||
OutputStreamWriter htmlOutputStreamWriter = null;
|
||||
BufferedWriter htmlWriter = null;
|
||||
|
||||
try {
|
||||
|
||||
fileInputStream = new FileInputStream(file);
|
||||
XMLSlideShow ppt = new XMLSlideShow(fileInputStream);
|
||||
|
||||
double zoom = 2; // magnify it by 2
|
||||
AffineTransform at = new AffineTransform();
|
||||
at.setToScale(zoom, zoom);
|
||||
|
||||
Dimension pgsize = ppt.getPageSize();
|
||||
XSLFSlide[] slide = ppt.getSlides();
|
||||
|
||||
if(slide.length > 0){
|
||||
SeedUtils.setSeedMkDirs(output);
|
||||
}
|
||||
|
||||
//html??????
|
||||
htmlFileOutputStream = new FileOutputStream(output + "/" + getFileName(filePath) + ".jsp");
|
||||
htmlOutputStreamWriter = new OutputStreamWriter(htmlFileOutputStream, "UTF-8");
|
||||
htmlWriter = new BufferedWriter(htmlOutputStreamWriter);
|
||||
|
||||
htmlWriter.write("<%@ page contentType=\"text/html;charset=utf-8\" %>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!doctype html>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if lt IE 7 ]><html class=\"ie ie6\" lang=\"ko\"><![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if IE 7 ]><html class=\"ie ie7\" lang=\"ko\"><![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if IE 8 ]><html class=\"ie ie8\" lang=\"ko\"><![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("<!--[if (gte IE 9)|!(IE)]><!--><html lang=\"ko\"><!--<![endif]--> ");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <head>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <meta charset=\"utf-8\">");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <meta name=\"robots\" content=\"noindex\">");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <!--[if IE]>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <title>誘몃━蹂닿린 ??댁?</title>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <!-- js -->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <!--[if lte IE 9]>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <script src=\"/js/html5.js\"></script>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <![endif]-->");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" </head>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write(" <body>");
|
||||
htmlWriter.write("\n");
|
||||
|
||||
for (int i = 0; i < slide.length; i++) {
|
||||
|
||||
BufferedImage img = new BufferedImage((int)Math.ceil(pgsize.width*zoom), (int)Math.ceil(pgsize.height*zoom), BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
Graphics2D graphics = img.createGraphics();
|
||||
graphics.setTransform(at);
|
||||
|
||||
graphics.setPaint(Color.white);
|
||||
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
|
||||
slide[i].draw(graphics);
|
||||
fileOutputStream = new FileOutputStream(output + getFileName(filePath) + "_" + (i + 1) + ".jpg");
|
||||
ImageIO.write(img, "jpg", fileOutputStream);
|
||||
|
||||
htmlWriter.write(" <img src='/site/"+filePath.substring(0, filePath.lastIndexOf("/"))+"/"+getFileName(filePath)+"/convert/" + getFileName(filePath) + "_" + (i + 1) + ".jpg' alt='" + getFileName(filePath) + "_" + (i + 1) + "' />");
|
||||
htmlWriter.write("\n");
|
||||
}
|
||||
|
||||
htmlWriter.write(" </body>");
|
||||
htmlWriter.write("\n");
|
||||
htmlWriter.write("</html>");
|
||||
htmlWriter.write("\n");
|
||||
|
||||
htmlWriter.flush();
|
||||
|
||||
success = true;
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (IOException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
}finally{
|
||||
if(fileInputStream!=null){try{fileInputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(fileOutputStream!=null){try{fileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
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(!success){
|
||||
SeedUtils.setSeedDeleteFiles(output, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String getFileName(String filePath){
|
||||
int sep = filePath.lastIndexOf("\\") == -1 ? filePath.lastIndexOf("/") : filePath.lastIndexOf("\\");
|
||||
return filePath.substring( sep + 1 , filePath.lastIndexOf("."));
|
||||
}
|
||||
}
|
||||
139
src/main/java/seed/utils/SeedCvtXLSToHtml.java
Normal file
139
src/main/java/seed/utils/SeedCvtXLSToHtml.java
Normal file
@ -0,0 +1,139 @@
|
||||
package seed.utils;
|
||||
|
||||
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.OutputStreamWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.FactoryConfigurationError;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerConfigurationException;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.TransformerFactoryConfigurationError;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.poi.hssf.converter.ExcelToHtmlConverter;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
|
||||
public class SeedCvtXLSToHtml {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
// public static void main(String args[]){
|
||||
//
|
||||
// String filePath = "F:/javaConvert/test/test.xls";
|
||||
// String output = "F:/javaConvert/test/img/";
|
||||
//
|
||||
// new SeedCvtXLSToHtml().convert(filePath, output);
|
||||
// }
|
||||
|
||||
public void convert(String filePath, String output) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(filePath.endsWith(".xls")) {
|
||||
|
||||
File file = new File(filePath);
|
||||
|
||||
if (file.exists()) {
|
||||
|
||||
POIFSFileSystem fs = null;
|
||||
|
||||
FileOutputStream fileOutputStream = null;
|
||||
OutputStreamWriter outputStreamWriter = null;
|
||||
BufferedWriter bufferedWriter = null;
|
||||
|
||||
try {
|
||||
|
||||
fs = new POIFSFileSystem(new FileInputStream(filePath));
|
||||
|
||||
HSSFWorkbook hSSFWorkbook = new HSSFWorkbook(fs);
|
||||
|
||||
ExcelToHtmlConverter excelToHtmlConverter = new ExcelToHtmlConverter(
|
||||
DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
|
||||
|
||||
excelToHtmlConverter.processWorkbook(hSSFWorkbook);
|
||||
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
|
||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
|
||||
transformer.setOutputProperty(OutputKeys.METHOD, "html");
|
||||
|
||||
transformer.transform(
|
||||
new DOMSource(excelToHtmlConverter.getDocument()),
|
||||
new StreamResult(stringWriter));
|
||||
|
||||
fileOutputStream = new FileOutputStream(output + getFileName(filePath) + ".jsp");
|
||||
outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
|
||||
bufferedWriter = new BufferedWriter(outputStreamWriter);
|
||||
|
||||
bufferedWriter.write("<%@ page contentType=\"text/html;charset=utf-8\" %>");
|
||||
bufferedWriter.write("\n");
|
||||
bufferedWriter.write(stringWriter.toString());
|
||||
bufferedWriter.flush();
|
||||
|
||||
success = true;
|
||||
|
||||
} catch (TransformerConfigurationException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (TransformerFactoryConfigurationError e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (TransformerException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (ParserConfigurationException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (FactoryConfigurationError e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (FileNotFoundException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (IOException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (Exception e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} finally{
|
||||
if(bufferedWriter!=null){try{bufferedWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(outputStreamWriter!=null){try{outputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(fileOutputStream!=null){try{fileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
}
|
||||
}
|
||||
|
||||
if(!success){
|
||||
SeedUtils.setSeedDeleteFiles(output, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String getFileName(String filePath){
|
||||
int sep = filePath.lastIndexOf("\\") == -1 ? filePath.lastIndexOf("/") : filePath.lastIndexOf("\\");
|
||||
return filePath.substring( sep + 1 , filePath.lastIndexOf("."));
|
||||
}
|
||||
}
|
||||
396
src/main/java/seed/utils/SeedCvtXLSXToHtml.java
Normal file
396
src/main/java/seed/utils/SeedCvtXLSXToHtml.java
Normal file
@ -0,0 +1,396 @@
|
||||
package seed.utils;
|
||||
|
||||
import com.sun.org.apache.xml.internal.serializer.OutputPropertiesFactory;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.MathContext;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.poi.hwpf.converter.HtmlDocumentFacade;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
import org.apache.poi.openxml4j.opc.OPCPackage;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.xssf.usermodel.*;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
public class SeedCvtXLSXToHtml {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
// public static void main(String[] args) {
|
||||
//
|
||||
// String filePath = "F:/javaConvert/test/test.xlsx";
|
||||
// String output = "F:/javaConvert/test/img/";
|
||||
//
|
||||
// new SeedCvtXLSXToHtml().convert(filePath, output);
|
||||
// }
|
||||
|
||||
public void convert(String filePath, String output) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
if(filePath.endsWith(".xlsx")) {
|
||||
|
||||
File file = new File(filePath);
|
||||
|
||||
if (file.exists()) {
|
||||
|
||||
StringBuilder css = new StringBuilder();
|
||||
|
||||
try{
|
||||
|
||||
OPCPackage op = OPCPackage.open(filePath);
|
||||
XSSFWorkbook x = new XSSFWorkbook(op);
|
||||
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
|
||||
HtmlDocumentFacade htmlDocumentFacade = new HtmlDocumentFacade(document);
|
||||
|
||||
Element window = htmlDocumentFacade.createBlock();
|
||||
window.setAttribute("id", "window");
|
||||
Element page = htmlDocumentFacade.createBlock();
|
||||
page.setAttribute("id", "page");
|
||||
|
||||
window.appendChild(page);
|
||||
htmlDocumentFacade.getBody().appendChild(window);
|
||||
|
||||
Integer sheetNum = x.getNumberOfSheets();
|
||||
for (int i = 0; i < sheetNum; i++) {
|
||||
XSSFSheet sheet = x.getSheet(x.getSheetName(i));
|
||||
String sheetName = x.getSheetName(i);
|
||||
{
|
||||
Element title = htmlDocumentFacade.createHeader2();
|
||||
title.setTextContent(sheetName);
|
||||
page.appendChild(title);
|
||||
}
|
||||
|
||||
processSheet(htmlDocumentFacade, page, sheet, "_" + i + "_");
|
||||
}
|
||||
|
||||
htmlDocumentFacade.updateStylesheet();
|
||||
|
||||
Element style = (Element) htmlDocumentFacade.getDocument().getElementsByTagName("style").item(0);
|
||||
style.setTextContent(css.append(style.getTextContent()).toString());
|
||||
saveAsHtml(output + getFileName(filePath) + ".jsp", htmlDocumentFacade.getDocument());
|
||||
|
||||
success = true;
|
||||
|
||||
} catch (IOException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (InvalidFormatException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
} catch (ParserConfigurationException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
|
||||
if(!success){
|
||||
SeedUtils.setSeedDeleteFiles(output, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String getFileName(String filePath){
|
||||
int sep = filePath.lastIndexOf("\\") == -1 ? filePath.lastIndexOf("/") : filePath.lastIndexOf("\\");
|
||||
return filePath.substring( sep + 1 , filePath.lastIndexOf("."));
|
||||
}
|
||||
|
||||
private void processSheet(HtmlDocumentFacade htmlDocumentFacade, Element container, XSSFSheet sheet, String sID) {
|
||||
|
||||
StringBuilder css = new StringBuilder();
|
||||
|
||||
Element table = htmlDocumentFacade.createTable();
|
||||
int sIndex = sheet.getWorkbook().getSheetIndex(sheet);
|
||||
String sId = "sheet_".concat(String.valueOf(sIndex));
|
||||
table.setAttribute("id", sId);
|
||||
table.setAttribute("border", "1");
|
||||
table.setAttribute("cellpadding", "2");
|
||||
table.setAttribute("cellspacing", "0");
|
||||
table.setAttribute("style", "border-collapse: collapse;");
|
||||
|
||||
if (sheet.getDefaultRowHeightInPoints() > 0) {
|
||||
css.append("#").append(sId).append(" tr{height:").append(sheet.getDefaultRowHeightInPoints() / 28.34).append("cm}\n");
|
||||
}
|
||||
if (sheet.getDefaultColumnWidth() > 0) {
|
||||
css.append("#").append(sId).append(" td{width:").append(sheet.getDefaultColumnWidth() * 0.21).append("cm}\n");
|
||||
}
|
||||
|
||||
generateColumns(htmlDocumentFacade, sheet, table);
|
||||
|
||||
final short col_num = get_col_max(sheet);
|
||||
final int row_num = sheet.getLastRowNum() + 1;
|
||||
for (int i = 0; i < row_num; i++) {
|
||||
Row row = sheet.getRow(i);
|
||||
processRow(htmlDocumentFacade, table, (XSSFRow) row, sheet, col_num, sID, i);
|
||||
}
|
||||
|
||||
container.appendChild(table);
|
||||
}
|
||||
|
||||
private short get_col_max(XSSFSheet sheet) {
|
||||
short ans = -1;
|
||||
//rows
|
||||
Iterator<Row> rows = sheet.iterator();
|
||||
while (rows.hasNext()) {
|
||||
Row row = rows.next();
|
||||
if (row instanceof XSSFRow) {
|
||||
short c = (short) (row.getLastCellNum());
|
||||
if (ans < c) {
|
||||
ans = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ans;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void generateColumns(HtmlDocumentFacade htmlDocumentFacade, XSSFSheet sheet, Element table) {
|
||||
List<CTCols> colsList = sheet.getCTWorksheet().getColsList();
|
||||
MathContext mc = new MathContext(3);
|
||||
for (CTCols cols : colsList) {
|
||||
long oldLevel = 1;
|
||||
for (CTCol col : cols.getColArray()) {
|
||||
while (true) {
|
||||
if (oldLevel == col.getMin()) {
|
||||
break;
|
||||
}
|
||||
Element column = htmlDocumentFacade.createTableColumn();
|
||||
// htmlDocumentFacade.addStyleClass(column, "col", "width:2cm;");
|
||||
column.setAttribute("style", "width:2cm;");
|
||||
table.appendChild(column);
|
||||
oldLevel++;
|
||||
}
|
||||
Element column = htmlDocumentFacade.createTableColumn();
|
||||
String width = new BigDecimal(sheet.getColumnWidth(Long.bitCount(oldLevel)) / 1440.0, mc).toString();
|
||||
column.setAttribute("style", "width:".concat(width).concat("cm;"));
|
||||
table.appendChild(column);
|
||||
|
||||
oldLevel++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void processRow(HtmlDocumentFacade htmlDocumentFacade, Element table, XSSFRow row, XSSFSheet sheet, final int col_num, String sID, int pos_row) {
|
||||
Element tr = htmlDocumentFacade.createTableRow();
|
||||
|
||||
if (!(row instanceof XSSFRow)) {
|
||||
for (int pos_col = 0; pos_col < col_num; pos_col++) {
|
||||
processCell(htmlDocumentFacade, tr, null, sID, pos_col, pos_row); // empty line
|
||||
}
|
||||
} else {
|
||||
|
||||
//if (row.isFormatted()) {}
|
||||
|
||||
if (row.getCTRow().getCustomHeight()) {
|
||||
tr.setAttribute("style", "height:".concat(String.valueOf(row.getHeightInPoints())).concat("pt;"));
|
||||
}
|
||||
|
||||
for (int pos_col = 0; pos_col < col_num; pos_col++) {
|
||||
Cell cell = row.getCell(pos_col);
|
||||
if (cell instanceof XSSFCell) {
|
||||
processCell(htmlDocumentFacade, tr, (XSSFCell) cell, sID, pos_col, pos_row);
|
||||
} else {
|
||||
processCell(htmlDocumentFacade, tr, null, sID, pos_col, pos_row);
|
||||
}
|
||||
}
|
||||
}
|
||||
table.appendChild(tr);
|
||||
}
|
||||
|
||||
private void processCell(HtmlDocumentFacade htmlDocumentFacade, Element tr, XSSFCell cell, String sID, int pos_col, int pos_row) {
|
||||
|
||||
int cols = 1;
|
||||
int rows = 1;
|
||||
|
||||
if (cell != null) {
|
||||
|
||||
if (cell != null) {
|
||||
|
||||
int num = cell.getSheet().getNumMergedRegions();
|
||||
|
||||
for (int i = 0; i < num; i++) {
|
||||
|
||||
CellRangeAddress c = cell.getSheet().getMergedRegion(i);
|
||||
|
||||
int x0 = c.getFirstColumn();
|
||||
int x1 = c.getLastColumn();
|
||||
int y0 = c.getFirstRow();
|
||||
int y1 = c.getLastRow();
|
||||
if (x0 == pos_col && y0 == pos_row) {
|
||||
cols = c.getLastColumn() - c.getFirstColumn() + 1;
|
||||
rows = c.getLastRow() - c.getFirstRow() + 1;
|
||||
} else if ((x0 <= pos_col) && (pos_col <= x1) && (y0 <= pos_row) && (pos_row <= y1)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Element td = htmlDocumentFacade.createTableCell();
|
||||
if (cols > 1) {
|
||||
td.setAttribute("colspan", "" + cols);
|
||||
}
|
||||
if (rows > 1) {
|
||||
td.setAttribute("rowspan", "" + rows);
|
||||
}
|
||||
Object value;
|
||||
if (cell == null) {
|
||||
td.setTextContent("\u00a0");
|
||||
} else {
|
||||
switch (cell.getCellType()) {
|
||||
case Cell.CELL_TYPE_BLANK:
|
||||
value = "\u00a0";
|
||||
break;
|
||||
case Cell.CELL_TYPE_NUMERIC:
|
||||
value = cell.getNumericCellValue();
|
||||
break;
|
||||
case Cell.CELL_TYPE_BOOLEAN:
|
||||
value = cell.getBooleanCellValue();
|
||||
break;
|
||||
case Cell.CELL_TYPE_FORMULA:
|
||||
value = cell.getNumericCellValue();
|
||||
break;
|
||||
default:
|
||||
value = cell.getRichStringCellValue();
|
||||
break;
|
||||
}
|
||||
if (value instanceof XSSFRichTextString) {
|
||||
processCellStyle(htmlDocumentFacade, td, cell.getCellStyle(), (XSSFRichTextString) value, sID);
|
||||
td.setTextContent(SeedUtils.setReplaceNull(value));
|
||||
} else {
|
||||
processCellStyle(htmlDocumentFacade, td, cell.getCellStyle(), null, sID);
|
||||
td.setTextContent(SeedUtils.setReplaceNull(value));
|
||||
}
|
||||
}
|
||||
tr.appendChild(td);
|
||||
}
|
||||
|
||||
private void processCellStyle(HtmlDocumentFacade htmlDocumentFacade, Element td, XSSFCellStyle style, XSSFRichTextString rts, String sID) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
if (rts != null) {
|
||||
XSSFFont font = rts.getFontOfFormattingRun(1);
|
||||
if (font != null) {
|
||||
sb.append("font-family:").append(font.getFontName()).append(";");
|
||||
sb.append("font-size:").append(font.getFontHeightInPoints()).append("pt;");
|
||||
if (font.getXSSFColor() != null) {
|
||||
String color = font.getXSSFColor().getARGBHex().substring(2);
|
||||
sb.append("color:#").append(color).append(";");
|
||||
}
|
||||
if (font.getItalic()) {
|
||||
sb.append("font-style:italic;");
|
||||
}
|
||||
if (font.getBold()) {
|
||||
sb.append("font-weight:").append(font.getBoldweight()).append(";");
|
||||
}
|
||||
if (font.getStrikeout()) {
|
||||
sb.append("text-decoration:underline;");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (style.getAlignment() != 1) {
|
||||
switch (style.getAlignment()) {
|
||||
case 2:
|
||||
sb.append("text-align:").append("center;");
|
||||
break;
|
||||
case 3:
|
||||
sb.append("text-align:").append("right;");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (style.getBorderBottom() != 0) {
|
||||
sb.append("border-bottom:solid; ").append(style.getBorderBottom()).append("px;");
|
||||
}
|
||||
if (style.getBorderLeft() != 0) {
|
||||
sb.append("border-left:solid; ").append(style.getBorderLeft()).append("px;");
|
||||
}
|
||||
if (style.getBorderTop() != 0) {
|
||||
sb.append("border-top:solid; ").append(style.getBorderTop()).append("px;");
|
||||
}
|
||||
if (style.getBorderRight() != 0) {
|
||||
sb.append("border-right:solid; ").append(style.getBorderRight()).append("px;");
|
||||
}
|
||||
|
||||
if (style.getFillBackgroundXSSFColor() != null) {
|
||||
sb.append("background:#fcc;");
|
||||
}
|
||||
|
||||
htmlDocumentFacade.addStyleClass(td, "td" + sID, sb.toString());
|
||||
}
|
||||
|
||||
private void saveAsHtml(String output, org.w3c.dom.Document document) {
|
||||
|
||||
FileOutputStream fos = null;
|
||||
|
||||
try{
|
||||
|
||||
File folder = new File(getFilePath(output));
|
||||
if (!folder.canRead()) {
|
||||
folder.mkdirs();
|
||||
}
|
||||
|
||||
fos = new FileOutputStream(output);
|
||||
DOMSource domSource = new DOMSource(document);
|
||||
StreamResult result = new StreamResult(new StringWriter());
|
||||
|
||||
TransformerFactory tf = TransformerFactory.newInstance();
|
||||
Transformer serializer = tf.newTransformer();
|
||||
|
||||
serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
|
||||
serializer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
serializer.setOutputProperty(OutputPropertiesFactory.S_KEY_INDENT_AMOUNT, "2");
|
||||
serializer.setOutputProperty(OutputKeys.METHOD, "html");
|
||||
serializer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
|
||||
|
||||
serializer.transform(domSource, result);
|
||||
String s = "<!doctype html>\n" + result.getWriter().toString();
|
||||
OutputStreamWriter out = new OutputStreamWriter(fos, "UTF-8");
|
||||
out.write("<%@ page contentType=\"text/html;charset=utf-8\" %>");
|
||||
out.write("\n");
|
||||
out.write(s);
|
||||
out.close();
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (TransformerException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (IOException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (Exception e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} finally{
|
||||
if(fos!=null){try{fos.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
}
|
||||
}
|
||||
|
||||
public String getFilePath(String fileFullPath) {
|
||||
int sep = fileFullPath.lastIndexOf("\\") == -1 ? fileFullPath.lastIndexOf("/") : fileFullPath.lastIndexOf("\\");
|
||||
return fileFullPath.substring(0, sep + 1);
|
||||
}
|
||||
}
|
||||
244
src/main/java/seed/utils/SeedFileUtils.java
Normal file
244
src/main/java/seed/utils/SeedFileUtils.java
Normal file
@ -0,0 +1,244 @@
|
||||
package seed.utils;
|
||||
|
||||
import java.awt.AlphaComposite;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Image;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.security.InvalidAlgorithmParameterException;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.spec.InvalidKeySpecException;
|
||||
import java.util.Random;
|
||||
|
||||
import javax.crypto.BadPaddingException;
|
||||
import javax.crypto.Cipher;
|
||||
import javax.crypto.IllegalBlockSizeException;
|
||||
import javax.crypto.NoSuchPaddingException;
|
||||
import javax.crypto.SecretKey;
|
||||
import javax.crypto.SecretKeyFactory;
|
||||
import javax.crypto.spec.PBEKeySpec;
|
||||
import javax.crypto.spec.PBEParameterSpec;
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
public class SeedFileUtils {
|
||||
|
||||
private static Logger log = Logger.getLogger(SeedFileUtils.class);
|
||||
|
||||
private static final String password = "seedFile";
|
||||
|
||||
public static void setSeedEncryptFile(String infile) {
|
||||
|
||||
FileInputStream inFile = null;
|
||||
FileOutputStream outFile = null;
|
||||
|
||||
try{
|
||||
|
||||
inFile = new FileInputStream(infile);
|
||||
outFile = new FileOutputStream(infile + ".des");
|
||||
|
||||
// Use PBEKeySpec to create a key based on a password.
|
||||
// The password is passed as a character array
|
||||
|
||||
PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());
|
||||
SecretKeyFactory keyFactory =
|
||||
SecretKeyFactory.getInstance("PBEWithMD5AndDES");
|
||||
SecretKey passwordKey = keyFactory.generateSecret(keySpec);
|
||||
|
||||
// PBE = hashing + symmetric encryption. A 64 bit random
|
||||
// number (the salt) is added to the password and hashed
|
||||
// using a Message Digest Algorithm (MD5 in this example.).
|
||||
// The number of times the password is hashed is determined
|
||||
// by the interation count. Adding a random number and
|
||||
// hashing multiple times enlarges the key space.
|
||||
|
||||
byte[] salt = new byte[8];
|
||||
Random rnd = new Random();
|
||||
rnd.nextBytes(salt);
|
||||
int iterations = 100;
|
||||
|
||||
//Create the parameter spec for this salt and interation count
|
||||
|
||||
PBEParameterSpec parameterSpec = new PBEParameterSpec(salt, iterations);
|
||||
|
||||
// Create the cipher and initialize it for encryption.
|
||||
|
||||
Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
|
||||
cipher.init(Cipher.ENCRYPT_MODE, passwordKey, parameterSpec);
|
||||
|
||||
// Need to write the salt to the (encrypted) file. The
|
||||
// salt is needed when reconstructing the key for decryption.
|
||||
|
||||
outFile.write(salt);
|
||||
|
||||
// Read the file and encrypt its bytes.
|
||||
|
||||
byte[] input = new byte[64];
|
||||
int bytesRead;
|
||||
while ((bytesRead = inFile.read(input)) != -1)
|
||||
{
|
||||
byte[] output = cipher.update(input, 0, bytesRead);
|
||||
if (output != null) outFile.write(output);
|
||||
}
|
||||
|
||||
byte[] output = cipher.doFinal();
|
||||
if (output != null) outFile.write(output);
|
||||
|
||||
inFile.close();
|
||||
outFile.flush();
|
||||
outFile.close();
|
||||
|
||||
} catch (InvalidKeySpecException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (IllegalBlockSizeException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (BadPaddingException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (NoSuchPaddingException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (InvalidKeyException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (InvalidAlgorithmParameterException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch(FileNotFoundException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch(IOException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
} finally{
|
||||
if(inFile!=null){try{inFile.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(outFile!=null){try{outFile.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
}
|
||||
}
|
||||
|
||||
public static void getSeedDecryptFile(String infile) {
|
||||
|
||||
FileInputStream inFile = null;
|
||||
FileOutputStream outFile = null;
|
||||
|
||||
try{
|
||||
|
||||
inFile = new FileInputStream(infile);
|
||||
outFile = new FileOutputStream(infile + ".dcr");
|
||||
|
||||
PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());
|
||||
SecretKeyFactory keyFactory =
|
||||
SecretKeyFactory.getInstance("PBEWithMD5AndDES");
|
||||
SecretKey passwordKey = keyFactory.generateSecret(keySpec);
|
||||
|
||||
// Read in the previouly stored salt and set the iteration count.
|
||||
|
||||
byte[] salt = new byte[8];
|
||||
inFile.read(salt);
|
||||
int iterations = 100;
|
||||
|
||||
PBEParameterSpec parameterSpec = new PBEParameterSpec(salt, iterations);
|
||||
|
||||
// Create the cipher and initialize it for decryption.
|
||||
|
||||
Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
|
||||
cipher.init(Cipher.DECRYPT_MODE, passwordKey, parameterSpec);
|
||||
|
||||
|
||||
byte[] input = new byte[64];
|
||||
int bytesRead;
|
||||
while ((bytesRead = inFile.read(input)) != -1)
|
||||
{
|
||||
byte[] output = cipher.update(input, 0, bytesRead);
|
||||
if (output != null)
|
||||
outFile.write(output);
|
||||
}
|
||||
|
||||
byte[] output = cipher.doFinal();
|
||||
if (output != null)
|
||||
outFile.write(output);
|
||||
|
||||
inFile.close();
|
||||
outFile.flush();
|
||||
outFile.close();
|
||||
|
||||
} catch (InvalidKeySpecException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (IllegalBlockSizeException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (BadPaddingException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (NoSuchPaddingException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (InvalidKeyException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch (InvalidAlgorithmParameterException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch(FileNotFoundException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
} catch(IOException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
} finally{
|
||||
if(inFile!=null){try{inFile.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
if(outFile!=null){try{outFile.close();}catch(IOException e){log.error("CHECK ERROR:",e);}}
|
||||
}
|
||||
}
|
||||
|
||||
public static void setWaterMarkImg(String orgImg, String markImg){
|
||||
|
||||
float alpha = 1;
|
||||
FileOutputStream out = null;
|
||||
|
||||
try{
|
||||
|
||||
// org image file
|
||||
File file = new File(orgImg);
|
||||
|
||||
// watermark image file
|
||||
File markFile = new File(markImg);
|
||||
|
||||
if(file.exists() && markFile.exists()) {
|
||||
|
||||
Image src = ImageIO.read(file);
|
||||
|
||||
if(src != null){
|
||||
|
||||
int width = src.getWidth(null);
|
||||
int height = src.getHeight(null);
|
||||
|
||||
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
Graphics2D graphics2D = image.createGraphics();
|
||||
graphics2D.drawImage(src, 0, 0, width, height, null);
|
||||
|
||||
Image mark_img = ImageIO.read(markFile);
|
||||
|
||||
if(mark_img != null){
|
||||
|
||||
int mark_img_width = mark_img.getWidth(null);
|
||||
int mark_img_height = mark_img.getHeight(null);
|
||||
|
||||
graphics2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
|
||||
|
||||
// 우측 하단에 워터마크 표시
|
||||
graphics2D.drawImage(mark_img, (width / 2) - (mark_img_width / 2), (height / 2) - (mark_img_height / 2), mark_img_width, mark_img_height, null);
|
||||
graphics2D.dispose();
|
||||
|
||||
out = new FileOutputStream(orgImg);
|
||||
// JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
|
||||
// encoder.encode(image);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e){
|
||||
log.error(e);
|
||||
}finally{
|
||||
if(out!=null){try{out.close();}catch(IOException e){log.error(e);}}
|
||||
}
|
||||
}
|
||||
}
|
||||
114
src/main/java/seed/utils/SeedFtpType.java
Normal file
114
src/main/java/seed/utils/SeedFtpType.java
Normal file
@ -0,0 +1,114 @@
|
||||
package seed.utils;
|
||||
|
||||
public class SeedFtpType {
|
||||
private String destFilePath;
|
||||
private String srcFilePath;
|
||||
private String fileName;
|
||||
private String ftpType;
|
||||
|
||||
public void setSeedFtp(){
|
||||
|
||||
SeedProperties seedProperties = new SeedProperties();
|
||||
|
||||
seedProperties.configPropertiesInit();
|
||||
|
||||
if(seedProperties.getConfigProperties().getProperty("ftp.type").toLowerCase().equals("ftp") ||
|
||||
seedProperties.getConfigProperties().getProperty("ftp.type").toLowerCase().equals("sftp")){
|
||||
|
||||
String[] ftpServers = seedProperties.getConfigProperties().getProperty("ftp.server").split(",");
|
||||
String[] ftpPorts = seedProperties.getConfigProperties().getProperty("ftp.port").split(",");
|
||||
String[] ftpIds = seedProperties.getConfigProperties().getProperty("ftp.id").split(",");
|
||||
String[] ftpPws = seedProperties.getConfigProperties().getProperty("ftp.pw").split(",");
|
||||
String[] ftpPaths = seedProperties.getConfigProperties().getProperty("ftp.path").split(",");
|
||||
|
||||
if(seedProperties.getConfigProperties().getProperty("ftp.type").toLowerCase().equals("ftp")){
|
||||
|
||||
SeedFtpUtil seedFtpUtil = new SeedFtpUtil();
|
||||
|
||||
if(ftpServers.length > 1){
|
||||
|
||||
for(int i=0; i<ftpServers.length; i++){
|
||||
|
||||
seedFtpUtil.setFtpServer(ftpServers[i]);
|
||||
seedFtpUtil.setFtpPort(Integer.parseInt(ftpPorts[i]));
|
||||
seedFtpUtil.setFtpId(ftpIds[i]);
|
||||
seedFtpUtil.setFtpPw(ftpPws[i]);
|
||||
seedFtpUtil.setFtpFilepath(ftpPaths[i]);
|
||||
|
||||
seedFtpUtil.setFtpFileSync(destFilePath, srcFilePath, fileName, ftpType);
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
seedFtpUtil.setFtpServer(seedProperties.getConfigProperties().getProperty("ftp.server"));
|
||||
seedFtpUtil.setFtpPort(Integer.parseInt(seedProperties.getConfigProperties().getProperty("ftp.port")));
|
||||
seedFtpUtil.setFtpId(seedProperties.getConfigProperties().getProperty("ftp.id"));
|
||||
seedFtpUtil.setFtpPw(seedProperties.getConfigProperties().getProperty("ftp.pw"));
|
||||
seedFtpUtil.setFtpFilepath(seedProperties.getConfigProperties().getProperty("ftp.path"));
|
||||
|
||||
seedFtpUtil.setFtpFileSync(destFilePath, srcFilePath, fileName, ftpType);
|
||||
}
|
||||
|
||||
}else if(seedProperties.getConfigProperties().getProperty("ftp.type").toLowerCase().equals("sftp")){
|
||||
|
||||
SeedSftpUtil seedSftpUtil = new SeedSftpUtil();
|
||||
|
||||
if(ftpServers.length > 1){
|
||||
|
||||
for(int i=0; i<ftpServers.length; i++){
|
||||
|
||||
seedSftpUtil.setFtpServer(ftpServers[i]);
|
||||
seedSftpUtil.setFtpPort(Integer.parseInt(ftpPorts[i]));
|
||||
seedSftpUtil.setFtpId(ftpIds[i]);
|
||||
seedSftpUtil.setFtpPw(ftpPws[i]);
|
||||
seedSftpUtil.setFtpFilepath(ftpPaths[i]);
|
||||
|
||||
seedSftpUtil.setFtpFileSync(destFilePath, srcFilePath, fileName, ftpType);
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
seedSftpUtil.setFtpServer(seedProperties.getConfigProperties().getProperty("ftp.server"));
|
||||
seedSftpUtil.setFtpPort(Integer.parseInt(seedProperties.getConfigProperties().getProperty("ftp.port")));
|
||||
seedSftpUtil.setFtpId(seedProperties.getConfigProperties().getProperty("ftp.id"));
|
||||
seedSftpUtil.setFtpPw(seedProperties.getConfigProperties().getProperty("ftp.pw"));
|
||||
seedSftpUtil.setFtpFilepath(seedProperties.getConfigProperties().getProperty("ftp.path"));
|
||||
|
||||
seedSftpUtil.setFtpFileSync(destFilePath, srcFilePath, fileName, ftpType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getSrcFilePath() {
|
||||
return srcFilePath;
|
||||
}
|
||||
|
||||
public void setSrcFilePath(String srcFilePath) {
|
||||
this.srcFilePath = srcFilePath;
|
||||
}
|
||||
|
||||
public String getDestFilePath() {
|
||||
return destFilePath;
|
||||
}
|
||||
|
||||
public void setDestFilePath(String destFilePath) {
|
||||
this.destFilePath = destFilePath;
|
||||
}
|
||||
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public void setFileName(String fileName) {
|
||||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
public String getFtpType() {
|
||||
return ftpType;
|
||||
}
|
||||
|
||||
public void setFtpType(String ftpType) {
|
||||
this.ftpType = ftpType;
|
||||
}
|
||||
}
|
||||
377
src/main/java/seed/utils/SeedFtpUtil.java
Normal file
377
src/main/java/seed/utils/SeedFtpUtil.java
Normal file
@ -0,0 +1,377 @@
|
||||
package seed.utils;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.oroinc.net.ftp.*;
|
||||
|
||||
public class SeedFtpUtil {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private FTPClient ftpClient = null;
|
||||
|
||||
private String ftpServer = "127.0.0.1";
|
||||
private int ftpPort = 21;
|
||||
private String ftpId = "";
|
||||
private String ftpPw = "";
|
||||
private String ftpFilepath = "";
|
||||
|
||||
/**
|
||||
* ftp를 이용한 파일 업로드 작업을 하는 메소드
|
||||
* 전달받은 파일 경로와 로컬의 파일경로 및 파일명에 해당하는 파일을 가지고 서버에 이동하는 작업을 진행함
|
||||
* destFilePath는 마지막 /를 빼고 전달 해줘야 한다. ex> /filedepth1/filedepth2/fileDirectory
|
||||
* 문제 발생시 파일 업로드 실패 라는 문구와 경로 및 파일명을 출력 한다.
|
||||
* @param String destFilePath 서버 경로
|
||||
* @param String destFilePath 로컬 파일 경로
|
||||
* @param String fileName 파일명
|
||||
* */
|
||||
public boolean setFtpFileSync(String destFilePath, String srcFilePath, String fileName, String ftpType){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
String printMessage = "FTP 업로드 작업에 실패 했습니다.";
|
||||
|
||||
try{
|
||||
|
||||
success = setFtpLogin();
|
||||
|
||||
if(success){
|
||||
|
||||
if(ftpType.equals("regFile")){
|
||||
|
||||
setFtpMkDirs(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
success = setFtpCd("/"+ftpFilepath+"/"+destFilePath);
|
||||
|
||||
if(success){
|
||||
success = setFtpFileUpload(srcFilePath+"/", fileName);
|
||||
}else{
|
||||
printMessage = "경로이동 실패";
|
||||
}
|
||||
|
||||
}else if(ftpType.equals("regFiles")){
|
||||
|
||||
setFtpMkDirs(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
success = setFtpCd("/"+ftpFilepath+"/"+destFilePath);
|
||||
|
||||
if(success){
|
||||
success = setFtpFileUploads(srcFilePath);
|
||||
}else{
|
||||
printMessage = "경로이동 실패";
|
||||
}
|
||||
|
||||
}else if(ftpType.equals("delFile")){
|
||||
|
||||
success = setFtpCd(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
if(success){
|
||||
success = setFtpFileDelete(fileName);
|
||||
if(!success){
|
||||
printMessage = "FTP 파일 삭제에 실패하였습니다.";
|
||||
}
|
||||
}else{
|
||||
printMessage = "경로이동 실패";
|
||||
}
|
||||
|
||||
}else if(ftpType.equals("modFile")){
|
||||
|
||||
setFtpMkDirs(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
success = setFtpCd(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
if(success){
|
||||
success = setFtpFileMove(srcFilePath, destFilePath);
|
||||
if(!success){
|
||||
printMessage = "FTP 파일 이동이 실패하였습니다.";
|
||||
}
|
||||
}else{
|
||||
printMessage = "경로이동 실패";
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
printMessage = "ftp로그인 실패";
|
||||
}
|
||||
|
||||
if(!success){
|
||||
System.out.println("####################################");
|
||||
System.out.println("####################################");
|
||||
System.out.println("########"+printMessage+"############");
|
||||
System.out.println("####################################");
|
||||
System.out.println("####################################");
|
||||
System.out.println("srcFilePath: "+srcFilePath);
|
||||
System.out.println("fileName: "+fileName);
|
||||
}
|
||||
|
||||
setLoginOut();
|
||||
|
||||
}catch(IOException e){
|
||||
log.error("IGNORE:",e);
|
||||
}finally{
|
||||
if(ftpClient!=null)setDisconnection();
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpLogin() {
|
||||
|
||||
ftpClient = new FTPClient();
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
setFtpConnect();
|
||||
success = ftpClient.login(ftpId, ftpPw);
|
||||
}catch (IOException ioe){
|
||||
log.error("IGNORE:",ioe);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpConnect() {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
|
||||
ftpClient.connect(ftpServer, ftpPort);
|
||||
|
||||
// 연결 시도후, 성공했는지 응답 코드 확인
|
||||
int code = ftpClient.getReplyCode();
|
||||
|
||||
FTPReply.isPositiveCompletion(code);
|
||||
|
||||
if(!FTPReply.isPositiveCompletion(code)) {
|
||||
ftpClient.disconnect();
|
||||
System.err.println("서버로부터 연결을 거부당했습니다");
|
||||
success = false;
|
||||
}else{
|
||||
success = true;
|
||||
}
|
||||
|
||||
}catch (IOException ioe){
|
||||
|
||||
log.error("IGNORE:",ioe);
|
||||
|
||||
if(ftpClient.isConnected()){
|
||||
|
||||
try{
|
||||
ftpClient.disconnect();
|
||||
}catch(IOException f){
|
||||
System.out.println("FTP접속에 실패 했습니다.");
|
||||
}
|
||||
}
|
||||
|
||||
success = false;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpMkDirs(String path) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try {
|
||||
|
||||
String[] paths = path.split("/");
|
||||
|
||||
if(paths.length > 0){
|
||||
for(int p=1; p<paths.length; p++){
|
||||
if(!setFtpCd(paths[p])){
|
||||
ftpClient.makeDirectory(paths[p]);
|
||||
setFtpCd(paths[p]);
|
||||
success = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}catch (IOException ioe){
|
||||
log.error("IGNORE:",ioe);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpCd(String path) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
success = ftpClient.changeWorkingDirectory(path);
|
||||
}catch (IOException ioe){
|
||||
log.error("IGNORE:",ioe);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpFileUpload(String path, String fileName) {
|
||||
|
||||
boolean success = false;
|
||||
FileInputStream fis = null;
|
||||
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
fileName= SeedUtils.setFilePathReplaceAll(fileName);
|
||||
path= SeedUtils.setFilePathReplaceAll(path);
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
|
||||
try{
|
||||
|
||||
File uploadFile = new File(path+fileName);
|
||||
if(uploadFile.exists()){
|
||||
fis = new FileInputStream(uploadFile);
|
||||
ftpClient.enterLocalPassiveMode();
|
||||
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
|
||||
success = ftpClient.storeFile(uploadFile.getName(), fis);
|
||||
}else{
|
||||
System.out.println("해당 위치에 파일이 없습니다." + uploadFile.getPath());
|
||||
success = false;
|
||||
}
|
||||
}catch(IOException ex){
|
||||
log.error("IGNORE:",ex);
|
||||
}finally{
|
||||
if (fis != null) try{fis.close();}catch(IOException ex){}
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpFileUploads(String path) throws IOException {
|
||||
|
||||
boolean success = false;
|
||||
FileInputStream fis = null;
|
||||
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
path= SeedUtils.setFilePathReplaceAll(path);
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
|
||||
try {
|
||||
|
||||
File file = new File(path);
|
||||
|
||||
String[] fileNameList = file.list();
|
||||
|
||||
if(fileNameList != null && fileNameList.length > 0){
|
||||
|
||||
for(int i = 0; i < fileNameList.length; i++) {
|
||||
|
||||
File uploadFile = new File(path+"/"+fileNameList[i]);
|
||||
|
||||
if(!uploadFile.isDirectory()){
|
||||
fis = new FileInputStream(uploadFile);
|
||||
ftpClient.enterLocalPassiveMode();
|
||||
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
|
||||
success = ftpClient.storeFile(uploadFile.getName(), fis);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}catch(IOException ex) {
|
||||
log.error("IGNORE:",ex);
|
||||
} finally {
|
||||
if (fis != null) try{fis.close();}catch(IOException ex){}
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpFileDelete(String fileName){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
fileName= SeedUtils.setFilePathReplaceAll(fileName);
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
|
||||
try{
|
||||
success = ftpClient.deleteFile(fileName);
|
||||
}catch(IOException ex){
|
||||
log.error("IGNORE:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpFileMove(String srcFilePath, String fileName){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
fileName= SeedUtils.setFilePathReplaceAll(fileName);
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
|
||||
try{
|
||||
ftpClient.rename(srcFilePath, fileName);
|
||||
success = true;
|
||||
}catch(IOException ex){
|
||||
log.error("IGNORE:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public void setLoginOut() {
|
||||
try{
|
||||
ftpClient.logout();
|
||||
}catch (IOException ioe){
|
||||
log.error("IGNORE:",ioe);
|
||||
}
|
||||
}
|
||||
|
||||
public void setDisconnection() {
|
||||
try{
|
||||
ftpClient.disconnect();
|
||||
}catch (IOException ioe){
|
||||
log.error("IGNORE:",ioe);
|
||||
}
|
||||
}
|
||||
|
||||
public FTPClient getFtpClient() {
|
||||
return ftpClient;
|
||||
}
|
||||
|
||||
public void setFtpClient(FTPClient ftpClient) {
|
||||
this.ftpClient = ftpClient;
|
||||
}
|
||||
|
||||
public String getFtpServer() {
|
||||
return ftpServer;
|
||||
}
|
||||
|
||||
public void setFtpServer(String ftpServer) {
|
||||
this.ftpServer = ftpServer;
|
||||
}
|
||||
|
||||
public int getFtpPort() {
|
||||
return ftpPort;
|
||||
}
|
||||
|
||||
public void setFtpPort(int ftpPort) {
|
||||
this.ftpPort = ftpPort;
|
||||
}
|
||||
|
||||
public String getFtpId() {
|
||||
return ftpId;
|
||||
}
|
||||
|
||||
public void setFtpId(String ftpId) {
|
||||
this.ftpId = ftpId;
|
||||
}
|
||||
|
||||
public String getFtpPw() {
|
||||
return ftpPw;
|
||||
}
|
||||
|
||||
public void setFtpPw(String ftpPw) {
|
||||
this.ftpPw = ftpPw;
|
||||
}
|
||||
|
||||
public String getFtpFilepath() {
|
||||
return ftpFilepath;
|
||||
}
|
||||
|
||||
public void setFtpFilepath(String ftpFilepath) {
|
||||
this.ftpFilepath = ftpFilepath;
|
||||
}
|
||||
}
|
||||
376
src/main/java/seed/utils/SeedSftpUtil.java
Normal file
376
src/main/java/seed/utils/SeedSftpUtil.java
Normal file
@ -0,0 +1,376 @@
|
||||
package seed.utils;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.net.SocketException;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.jcraft.jsch.Channel;
|
||||
import com.jcraft.jsch.ChannelSftp;
|
||||
import com.jcraft.jsch.JSch;
|
||||
import com.jcraft.jsch.JSchException;
|
||||
import com.jcraft.jsch.Session;
|
||||
import com.jcraft.jsch.SftpException;
|
||||
|
||||
public class SeedSftpUtil {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private Session ftpSession = null;
|
||||
private Channel ftpChannel = null;
|
||||
private ChannelSftp ftpChannelSftp = null;
|
||||
|
||||
private String ftpServer = "127.0.0.1";
|
||||
private int ftpPort = 22;
|
||||
private String ftpId = "";
|
||||
private String ftpPw = "";
|
||||
private String ftpFilepath = "";
|
||||
|
||||
/**
|
||||
* sftp를 이용한 파일 업로드 작업을 하는 메소드
|
||||
* 전달받은 파일 경로와 로컬의 파일경로 및 파일명에 해당하는 파일을 가지고 서버에 이동하는 작업을 진행함
|
||||
* destFilePath는 마지막 /를 빼고 전달 해줘야 한다. ex> /filedepth1/filedepth2/fileDirectory
|
||||
* 문제 발생시 파일 업로드 실패 라는 문구와 경로 및 파일명을 출력 한다.
|
||||
* @param String destFilePath 서버 경로
|
||||
* @param String destFilePath 로컬 파일 경로
|
||||
* @param String fileName 파일명
|
||||
* */
|
||||
public boolean setFtpFileSync(String destFilePath, String srcFilePath, String fileName, String ftpType){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
String printMessage = "FTP 업로드 작업에 실패 했습니다.";
|
||||
|
||||
try{
|
||||
|
||||
success = setFtpLogin();
|
||||
|
||||
if(success){
|
||||
|
||||
if(ftpType.equals("regFile")){
|
||||
|
||||
setFtpMkDirs(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
success = setFtpCd("/"+ftpFilepath+"/"+destFilePath);
|
||||
|
||||
if(success){
|
||||
success = setFtpFileUpload(srcFilePath+"/", fileName);
|
||||
}else{
|
||||
printMessage = "경로이동 실패";
|
||||
}
|
||||
|
||||
}else if(ftpType.equals("regFiles")){
|
||||
|
||||
setFtpMkDirs(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
success = setFtpCd("/"+ftpFilepath+"/"+destFilePath);
|
||||
|
||||
if(success){
|
||||
success = setFtpFileUploads(srcFilePath);
|
||||
}else{
|
||||
printMessage = "경로이동 실패";
|
||||
}
|
||||
|
||||
}else if(ftpType.equals("delFile")){
|
||||
|
||||
success = setFtpCd(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
if(success){
|
||||
success = setFtpFileDelete(fileName);
|
||||
if(!success){
|
||||
printMessage = "FTP 파일 삭제에 실패하였습니다.";
|
||||
}
|
||||
}else{
|
||||
printMessage = "경로이동 실패";
|
||||
}
|
||||
|
||||
}else if(ftpType.equals("modFile")){
|
||||
|
||||
setFtpMkDirs(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
success = setFtpCd(ftpFilepath+"/"+destFilePath);
|
||||
|
||||
if(success){
|
||||
success = setFtpFileMove(srcFilePath, destFilePath);
|
||||
if(!success){
|
||||
printMessage = "FTP 파일 이동이 실패하였습니다.";
|
||||
}
|
||||
}else{
|
||||
printMessage = "경로이동 실패";
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
printMessage = "ftp로그인 실패";
|
||||
}
|
||||
|
||||
if(!success){
|
||||
System.out.println("####################################");
|
||||
System.out.println("####################################");
|
||||
System.out.println("########"+printMessage+"############");
|
||||
System.out.println("####################################");
|
||||
System.out.println("####################################");
|
||||
System.out.println("destFilePath: "+ftpFilepath+"/"+destFilePath);
|
||||
System.out.println("fileName: "+fileName);
|
||||
}
|
||||
|
||||
}catch(IOException e){
|
||||
log.error("IGNORE:",e);
|
||||
}finally{
|
||||
if(ftpChannelSftp!=null)setFtpDisconnection();
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpLogin() {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
JSch jsch = new JSch();
|
||||
|
||||
try{
|
||||
|
||||
ftpSession = jsch.getSession(ftpId, ftpServer, ftpPort);
|
||||
ftpSession.setPassword(ftpPw);
|
||||
|
||||
java.util.Properties config = new java.util.Properties();
|
||||
//rsa key 강제로 저장하는 옵션
|
||||
//no로 안하는 경우 UnknownHostKey에러 발생 될수 있음
|
||||
config.put("StrictHostKeyChecking", "no");
|
||||
ftpSession.setConfig(config);
|
||||
ftpSession.connect();
|
||||
|
||||
ftpChannel = ftpSession.openChannel("sftp");
|
||||
ftpChannel.connect();
|
||||
|
||||
success = true;
|
||||
|
||||
}catch (JSchException e){
|
||||
log.error("IGNORE:",e);
|
||||
}
|
||||
|
||||
ftpChannelSftp = (ChannelSftp) ftpChannel;
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpMkDirs(String path) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
|
||||
String[] paths = path.split("/");
|
||||
|
||||
if(paths.length > 0){
|
||||
for(int p=1; p<paths.length; p++){
|
||||
if(!setFtpCd(paths[p])){
|
||||
ftpChannelSftp.mkdir(paths[p]);
|
||||
setFtpCd(paths[p]);
|
||||
success = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}catch (SftpException ioe){
|
||||
log.error("IGNORE:",ioe);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpCd(String dir){
|
||||
|
||||
boolean success = true;
|
||||
|
||||
try{
|
||||
ftpChannelSftp.cd(dir);
|
||||
}catch(SftpException e){
|
||||
log.error("IGNORE:",e);
|
||||
success = false;
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpFileUpload(String path, String fileName) throws SocketException, IOException {
|
||||
|
||||
boolean success = false;
|
||||
FileInputStream in = null;
|
||||
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
fileName= SeedUtils.setFilePathReplaceAll(fileName);
|
||||
path= SeedUtils.setFilePathReplaceAll(path);
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
|
||||
try{
|
||||
|
||||
File uploadFile = new File(path+fileName);
|
||||
if(uploadFile.exists()){
|
||||
in = new FileInputStream(uploadFile);
|
||||
ftpChannelSftp.put(in, fileName);
|
||||
success = true;
|
||||
}else{
|
||||
System.out.println("해당 위치에 파일이 없습니다." + uploadFile.getPath());
|
||||
success = false;
|
||||
}
|
||||
}catch (SftpException e){
|
||||
success = false;
|
||||
log.error("IGNORE:",e);
|
||||
}catch (FileNotFoundException e){
|
||||
success = false;
|
||||
log.error("IGNORE:",e);
|
||||
}finally{
|
||||
if(in!=null)try {in.close();} catch (IOException e) {log.error("IGNORE:",e);}
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpFileUploads(String path) {
|
||||
|
||||
boolean success = false;
|
||||
FileInputStream in = null;
|
||||
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
path= SeedUtils.setFilePathReplaceAll(path);
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
|
||||
try{
|
||||
|
||||
File file = new File(path);
|
||||
|
||||
String[] fileNameList = file.list();
|
||||
|
||||
if(fileNameList != null && fileNameList.length > 0){
|
||||
|
||||
for(int i = 0; i < fileNameList.length; i++) {
|
||||
|
||||
File uploadFile = new File(path+"/"+fileNameList[i]);
|
||||
|
||||
in = new FileInputStream(uploadFile);
|
||||
ftpChannelSftp.put(in, fileNameList[i]);
|
||||
success = true;
|
||||
}
|
||||
}
|
||||
}catch (SftpException e){
|
||||
success = false;
|
||||
log.error("IGNORE:",e);
|
||||
}catch (FileNotFoundException e){
|
||||
success = false;
|
||||
log.error("IGNORE:",e);
|
||||
}catch (Exception e){
|
||||
success = false;
|
||||
log.error("IGNORE:",e);
|
||||
}finally{
|
||||
if(in!=null)try {in.close();} catch (IOException e) {log.error("IGNORE:",e);}
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpFileDelete(String fileName){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
fileName= SeedUtils.setFilePathReplaceAll(fileName);
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
|
||||
try{
|
||||
ftpChannelSftp.rm(fileName);
|
||||
success = true;
|
||||
}catch(SftpException ex){
|
||||
log.error("IGNORE:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFtpFileMove(String srcFilePath, String fileName){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
fileName= SeedUtils.setFilePathReplaceAll(fileName);
|
||||
//*** 시큐어코딩 디렉토리 경로조작 ****************************//
|
||||
|
||||
try{
|
||||
ftpChannelSftp.rename(srcFilePath, fileName);
|
||||
success = true;
|
||||
}catch(SftpException ex){
|
||||
log.error("IGNORE:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public void setFtpDisconnection() {
|
||||
ftpChannelSftp.quit();
|
||||
if(ftpSession!=null){ftpSession.disconnect();}
|
||||
}
|
||||
|
||||
public Session getFtpSession() {
|
||||
return ftpSession;
|
||||
}
|
||||
|
||||
public void setFtpSession(Session ftpSession) {
|
||||
this.ftpSession = ftpSession;
|
||||
}
|
||||
|
||||
public Channel getFtpChannel() {
|
||||
return ftpChannel;
|
||||
}
|
||||
|
||||
public void setFtpChannel(Channel ftpChannel) {
|
||||
this.ftpChannel = ftpChannel;
|
||||
}
|
||||
|
||||
public ChannelSftp getFtpChannelSftp() {
|
||||
return ftpChannelSftp;
|
||||
}
|
||||
|
||||
public void setFtpChannelSftp(ChannelSftp ftpChannelSftp) {
|
||||
this.ftpChannelSftp = ftpChannelSftp;
|
||||
}
|
||||
|
||||
public String getFtpServer() {
|
||||
return ftpServer;
|
||||
}
|
||||
|
||||
public void setFtpServer(String ftpServer) {
|
||||
this.ftpServer = ftpServer;
|
||||
}
|
||||
|
||||
public int getFtpPort() {
|
||||
return ftpPort;
|
||||
}
|
||||
|
||||
public void setFtpPort(int ftpPort) {
|
||||
this.ftpPort = ftpPort;
|
||||
}
|
||||
|
||||
public String getFtpId() {
|
||||
return ftpId;
|
||||
}
|
||||
|
||||
public void setFtpId(String ftpId) {
|
||||
this.ftpId = ftpId;
|
||||
}
|
||||
|
||||
public String getFtpPw() {
|
||||
return ftpPw;
|
||||
}
|
||||
|
||||
public void setFtpPw(String ftpPw) {
|
||||
this.ftpPw = ftpPw;
|
||||
}
|
||||
|
||||
public String getFtpFilepath() {
|
||||
return ftpFilepath;
|
||||
}
|
||||
|
||||
public void setFtpFilepath(String ftpFilepath) {
|
||||
this.ftpFilepath = ftpFilepath;
|
||||
}
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<jeus-web-dd xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
|
||||
<context-path>/ebt</context-path>
|
||||
<auto-reload>
|
||||
<enable-reload>true</enable-reload>
|
||||
<check-on-demand>true</check-on-demand>
|
||||
</auto-reload>
|
||||
</jeus-web-dd>
|
||||
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
|
||||
<context-root>/ebt</context-root>
|
||||
</weblogic-web-app>
|
||||
Loading…
Reference in New Issue
Block a user