이준호 분쟁조정시스템 커밋
- hibernate 연동 - 권한관리 개발중
This commit is contained in:
parent
e6202b11f5
commit
495238e333
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
177
pom.xml
177
pom.xml
@ -87,13 +87,6 @@
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- Solr -->
|
||||
<!-- <dependency> -->
|
||||
<!-- <groupId>org.apache.httpcomponents</groupId> -->
|
||||
<!-- <artifactId>httpclient</artifactId> -->
|
||||
<!-- <version>4.3.1</version> -->
|
||||
<!-- </dependency> -->
|
||||
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
@ -202,40 +195,6 @@
|
||||
<version>5.1.31</version>
|
||||
</dependency>
|
||||
|
||||
<!-- oracle 10g driver -->
|
||||
<!-- <dependency>
|
||||
<groupId>ojdbc</groupId>
|
||||
<artifactId>ojdbc</artifactId>
|
||||
<version>14</version>
|
||||
</dependency> -->
|
||||
|
||||
<!-- altibase driver -->
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>altibase</groupId>
|
||||
<artifactId>altibase-jdbc-driver</artifactId>
|
||||
<version>5.1.3.18</version>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
<!-- tibero driver -->
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>com.tmax.tibero</groupId>
|
||||
<artifactId>tibero-jdbc</artifactId>
|
||||
<version>3.0</version>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
<!-- inipay 가상계좌 -->
|
||||
<dependency>
|
||||
<groupId>INIPay</groupId>
|
||||
<artifactId>INIPay</artifactId>
|
||||
<version>1.3</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/INIpaySample_v1.3.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<!-- cubrid driver -->
|
||||
<!-- https://mvnrepository.com/artifact/cubrid/cubrid-jdbc -->
|
||||
<dependency>
|
||||
@ -262,24 +221,6 @@
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/orai18n.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<!-- PG API와의 연계를 도와주는 라이브러리의 jar 파일 -->
|
||||
<dependency>
|
||||
<groupId>com.epapyrus.pdf</groupId>
|
||||
<artifactId>pdf-gateway-client-api-http</artifactId>
|
||||
<version>10.11.0.10-RELEASE</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/pdf-gateway-client-api-http-10.11.2.1-SNAPSHOT-with-libs.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<!-- SSO 연동 BandiSSOClient_oauth_1.5_v9 -->
|
||||
<dependency>
|
||||
<groupId>BandiSSOClient</groupId>
|
||||
<artifactId>BandiSSOClient</artifactId>
|
||||
<version>9</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/BandiSSOClient_oauth_1.5_v9.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-fileupload</groupId>
|
||||
<artifactId>commons-fileupload</artifactId>
|
||||
@ -400,84 +341,6 @@
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/simplecaptcha-1.2.1_exp.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<!-- sci 평가 siren24. 본인인증 -->
|
||||
<dependency>
|
||||
<groupId>sciSecuPCC</groupId>
|
||||
<artifactId>sciSecuPCC</artifactId>
|
||||
<version>2</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/sciSecuPCC.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>sciSecuPIN_v3</groupId>
|
||||
<artifactId>sciSecuPIN_v3</artifactId>
|
||||
<version>2</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/sciSecuIPIN_v3.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- magicline 공동인증서 시작 -->
|
||||
<dependency>
|
||||
<groupId>jcaos</groupId>
|
||||
<artifactId>jcaos</artifactId>
|
||||
<version>1</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jcaos-1.4.8.0.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>magice2e</groupId>
|
||||
<artifactId>magice2e</artifactId>
|
||||
<version>1</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/magice2e_1.0.1.6.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>MagicJCrypto</groupId>
|
||||
<artifactId>MagicJCrypto</artifactId>
|
||||
<version>2</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/MagicJCrypto-v2.0.0.0.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>magicdb_japi</groupId>
|
||||
<artifactId>magicdb_japi</artifactId>
|
||||
<version>1</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/magicdb_japi.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>magicline-e2e</groupId>
|
||||
<artifactId>magicline-e2e</artifactId>
|
||||
<version>4</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/magicline-e2e-4.0.0.0.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>ml4web_server</groupId>
|
||||
<artifactId>ml4web_server</artifactId>
|
||||
<version>4</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ml4web_server_4.5.0.7.jar</systemPath>
|
||||
</dependency>
|
||||
<!-- magicline 공동인증서 종료 -->
|
||||
|
||||
|
||||
<!-- NiceID 본인인증 -->
|
||||
<dependency>
|
||||
<groupId>NiceID</groupId>
|
||||
<artifactId>NiceID</artifactId>
|
||||
<version>1</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/NiceID.jar</systemPath>
|
||||
</dependency>
|
||||
|
||||
<!-- 디아모 모듈 -->
|
||||
<dependency>
|
||||
<groupId>damo</groupId>
|
||||
@ -508,13 +371,6 @@
|
||||
<version>1.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- eGov 호환성 인증을 위한 패키지명 변경 작업하고, was 에러가 발생하여 추가함. -->
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-validator-annotation-processor</artifactId>
|
||||
<version>4.1.0.Final</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpmime -->
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
@ -542,13 +398,6 @@
|
||||
<version>3.16</version>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.16.22</version>
|
||||
<scope>provided</scope>
|
||||
</dependency> -->
|
||||
|
||||
<!-- 자동완성기능 gson 사용 -->
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
@ -556,7 +405,6 @@
|
||||
<version>2.8.1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- ITN 홈페이지 메일전송(네이버 SMTP 사용) -->
|
||||
<dependency>
|
||||
<groupId>javax.mail</groupId>
|
||||
<artifactId>mail</artifactId>
|
||||
@ -569,16 +417,7 @@
|
||||
<artifactId>guava</artifactId>
|
||||
<version>30.0-jre</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
<!-- html parse -->
|
||||
<!--<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>3.0</version>
|
||||
</dependency> -->
|
||||
|
||||
<!-- crpyto -->
|
||||
<dependency>
|
||||
<groupId>egovframework.rte</groupId>
|
||||
@ -629,6 +468,22 @@
|
||||
<artifactId>joda-time</artifactId>
|
||||
<version>2.4</version>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-core</artifactId>
|
||||
<version>4.3.8.Final</version>
|
||||
</dependency>
|
||||
|
||||
<!-- lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.34</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@ -1,125 +0,0 @@
|
||||
package kcc.com.uss.ion.cert.web;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
import kcc.let.utl.fcc.service.CertUtil;
|
||||
import kcc.let.utl.sim.service.EgovFileScrty;
|
||||
|
||||
@Controller
|
||||
public class CertController {
|
||||
|
||||
//인증서 데이터 분석
|
||||
@Resource(name = "certUtil")
|
||||
private CertUtil certUtil;
|
||||
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CertController.class);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
// USER
|
||||
//
|
||||
//
|
||||
|
||||
/**
|
||||
* 인증서 결과 확인 페이지
|
||||
*
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
|
||||
@RequestMapping(value= {
|
||||
"/web/kccadr/cert/ExtractCertDataAjax.do"
|
||||
})
|
||||
public ModelAndView ExtractCertDataAjax(
|
||||
HttpServletRequest request
|
||||
, ModelAndView modelAndView, HttpSession session
|
||||
) throws Exception {
|
||||
|
||||
//json 알림
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
//SSOLoginVO 세션에서 membSeq 정보 취득
|
||||
SsoLoginVO ssoLoginVO = (SsoLoginVO)session.getAttribute("SSOLoginVO");
|
||||
|
||||
if(ssoLoginVO == null) {
|
||||
modelAndView.addObject("fail", "result");
|
||||
modelAndView.addObject("로그인후 진행해 주세요.", "message");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
String membSeq = ssoLoginVO.getMembSeq();
|
||||
|
||||
String sn = "";
|
||||
|
||||
//분석 결과 받기
|
||||
Map<String, Object> retMap = null;
|
||||
|
||||
//System.out.println(retMap.toString());
|
||||
//System.out.println(retMap.toString());
|
||||
|
||||
|
||||
//1.서명 검증 결과값 - 0만 정상 나머지는 오류
|
||||
String s_result = "";
|
||||
|
||||
//2.성공시 SN 번호 - SerialNumber
|
||||
String s_SN = "";
|
||||
|
||||
//3.오류시 문구
|
||||
String s_message = "";
|
||||
|
||||
try {
|
||||
|
||||
//0.분석 결과 받기
|
||||
retMap = certUtil.certCheckAfterPopup(request);
|
||||
|
||||
//1.서명 검증 결과값 - 0만 정상 나머지는 오류
|
||||
s_result = retMap.get("iResult").toString();
|
||||
|
||||
//2.성공시 SN 번호
|
||||
s_SN = retMap.get("SN").toString();
|
||||
|
||||
//3.오류시 문구
|
||||
s_message = retMap.get("sResult").toString();
|
||||
|
||||
sn = EgovFileScrty.encryptPassword(s_SN,membSeq);
|
||||
}catch(Exception ex) {
|
||||
System.out.println("Exception Occured!!!");
|
||||
|
||||
}
|
||||
|
||||
modelAndView.addObject("result", s_result);
|
||||
modelAndView.addObject("SN", sn);
|
||||
modelAndView.addObject("message", s_message);
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
// ADMIN
|
||||
//
|
||||
//
|
||||
|
||||
/////////////////////////////////////////////////////////
|
||||
//
|
||||
// private
|
||||
//
|
||||
//
|
||||
|
||||
}
|
||||
@ -1,7 +1,6 @@
|
||||
package kcc.let.cop.bbs.web;
|
||||
|
||||
import java.io.OutputStream;
|
||||
import java.security.SecureRandom;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
@ -48,11 +47,6 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
import org.springframework.web.servlet.support.RequestContextUtils;
|
||||
import org.springmodules.validation.commons.DefaultBeanValidator;
|
||||
|
||||
import com.penta.scpdb.ScpDbAgent;
|
||||
import com.sci.v2.pcc.secu.SciSecuManager;
|
||||
import com.sci.v2.pcc.secu.hmac.SciHmac;
|
||||
|
||||
import NiceID.Check.CPClient;
|
||||
import egovframework.rte.fdl.property.EgovPropertyService;
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
@ -1351,29 +1345,6 @@ public class EgovBBSManageController {
|
||||
return "/web/cop/bbs/EgovNoticeList";
|
||||
}
|
||||
|
||||
/*nice체크 오프너로 이용*/
|
||||
@RequestMapping("/web/cop/bbs/niceCheckAjax.do")
|
||||
public String niceCheckWeb(HttpServletRequest request,
|
||||
@RequestParam Map<String, Object> commandMap,
|
||||
@ModelAttribute("searchVO") BoardVO boardVO,
|
||||
ModelMap model , HttpSession session
|
||||
) throws Exception {
|
||||
|
||||
String niceMessage = niceCheck(request, session, boardVO).getNiceMessage();
|
||||
|
||||
System.out.println("niceMessage --- " + niceMessage) ;
|
||||
if("".equals(niceMessage)) { //정상의 경우 세션 생성 후 오프너 close
|
||||
UserVO tempVO = new UserVO();
|
||||
tempVO.setMblDn(damoEnc(boardVO.getMblDn(), request)); //DI암호화
|
||||
tempVO.setName(boardVO.getNiceNm());
|
||||
request.getSession().setAttribute("userVO", tempVO);
|
||||
}
|
||||
|
||||
|
||||
return "web/cop/selfauth/niceCheckAjax";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* (사용자)게시물 등록을 위한 등록페이지로 이동한다.(묻고답하기)
|
||||
*
|
||||
@ -1733,20 +1704,6 @@ public class EgovBBSManageController {
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!"T".equals(bdVO.getSecretAt())){
|
||||
if(!passChk){
|
||||
if("".equals(boardVO.getPassword())) {
|
||||
model.addAttribute("passChk", "01"); //패스워드 필요
|
||||
return modelAndView;
|
||||
}else {
|
||||
//패스워드 복구화
|
||||
if(!damoDec(bdVO.getPassword(), request).equals(boardVO.getPassword())) {
|
||||
model.addAttribute("passChk", "02"); //패스워드가 틀림
|
||||
return modelAndView;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2119,159 +2076,6 @@ public class EgovBBSManageController {
|
||||
@Value("#{globalSettings['Globals.selfauth.srvNo']}")
|
||||
private String SELFAUTH_SRV_NO;
|
||||
|
||||
/**
|
||||
* (사용자)본인인증 요청
|
||||
*
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/web/cop/selfauth/selfauth.do")
|
||||
public String selfauth(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception {
|
||||
|
||||
//날짜 생성
|
||||
Calendar today = Calendar.getInstance();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
String day = sdf.format(today.getTime());
|
||||
|
||||
//java.util.Random ran = new Random();
|
||||
SecureRandom ran = new SecureRandom();
|
||||
//랜덤 문자 길이
|
||||
int numLength = 6;
|
||||
String randomStr = "";
|
||||
|
||||
for (int i = 0; i < numLength; i++) {
|
||||
//0 ~ 9 랜덤 숫자 생성
|
||||
|
||||
|
||||
|
||||
randomStr += ran.nextInt(10);
|
||||
}
|
||||
|
||||
String certGb = "H";
|
||||
String addVar = "";
|
||||
String reqNum = day + randomStr; // //reqNum은 최대 40byte 까지 사용 가능
|
||||
String certDate=day;
|
||||
String exVar = "0000000000000000"; // 복호화용 임시필드
|
||||
|
||||
request.getSession().setAttribute("reqNum", reqNum); // 결과값 복호화시 필요
|
||||
|
||||
//01. 암호화 모듈 선언
|
||||
SciSecuManager seed = new SciSecuManager();
|
||||
|
||||
//02. 1차 암호화
|
||||
String encStr = "";
|
||||
String reqInfo = SELFAUTH_SITE_ID+"^"+SELFAUTH_SRV_NO+"^"+reqNum+"^"+certDate+"^"+certGb+"^"+addVar+"^"+exVar; // 데이터 암호화
|
||||
encStr = seed.getEncPublic(reqInfo);
|
||||
|
||||
//03. 위변조 검증 값 생성
|
||||
String hmacMsg = SciHmac.HMacEncriptPublic(encStr);
|
||||
|
||||
//03. 2차 암호화
|
||||
reqInfo = seed.getEncPublic(encStr + "^" + hmacMsg + "^" + "0000000000000000"); //2차암호화
|
||||
|
||||
request.getSession().setAttribute("reqInfo", reqInfo); // 본인확인 요청 정보
|
||||
request.getSession().setAttribute("SITE_URL", SITE_URL); // 사이트 URL
|
||||
|
||||
return "web/cop/selfauth/selfauth";
|
||||
}
|
||||
|
||||
/**
|
||||
* (사용자)본인인증 결과 리턴
|
||||
*
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/web/cop/selfauth/resultSeed.do")
|
||||
public String resultSeed(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception {
|
||||
|
||||
String retInfo = request.getParameter("retInfo").trim();
|
||||
String cookiereqNum = (String)request.getSession().getAttribute("reqNum");
|
||||
|
||||
//복화화용 변수
|
||||
String encPara = "";
|
||||
String encMsg = "";
|
||||
String msgChk = "N";
|
||||
|
||||
// 1. 암호화 모듈 (jar) Loading
|
||||
SciSecuManager sciSecuMg = new SciSecuManager();
|
||||
//쿠키에서 생성한 값을 Key로 생성 한다.
|
||||
retInfo = sciSecuMg.getDec(retInfo, cookiereqNum);
|
||||
|
||||
// 2.1차 파싱---------------------------------------------------------------
|
||||
String[] aRetInfo1 = retInfo.split("\\^");
|
||||
|
||||
encPara = aRetInfo1[0]; //암호화된 통합 파라미터
|
||||
encMsg = aRetInfo1[1]; //암호화된 통합 파라미터의 Hash값
|
||||
|
||||
String encMsg2 = sciSecuMg.getMsg(encPara);
|
||||
// 3.위/변조 검증 ---------------------------------------------------------------
|
||||
if(encMsg2.equals(encMsg)) msgChk="Y";
|
||||
|
||||
if(msgChk.equals("N")) {
|
||||
// 비정상 접근 처리
|
||||
}
|
||||
|
||||
retInfo = sciSecuMg.getDec(encPara, cookiereqNum);
|
||||
|
||||
String[] aRetInfo = retInfo.split("\\^");
|
||||
String name = aRetInfo[0]; //성명
|
||||
// String birYMD = aRetInfo[1]; //생년월일
|
||||
// String sex = aRetInfo[2]; //성별
|
||||
// String fgnGbn = aRetInfo[3]; //내외국인 구분값
|
||||
String di = aRetInfo[4]; //DI
|
||||
// String ci1 = aRetInfo[5]; //CI
|
||||
// String ci2 = aRetInfo[6]; //CI
|
||||
// String civersion = aRetInfo[7]; //CI Version
|
||||
// String reqNum = aRetInfo[8]; // 본인확인 요청번호
|
||||
// String result = aRetInfo[9]; // 본인확인결과 (Y/N)
|
||||
// String certGb = aRetInfo[10]; // 인증수단
|
||||
// String cellNo = aRetInfo[11]; // 핸드폰 번호
|
||||
// String cellCorp = aRetInfo[12]; // 이동통신사
|
||||
// String certDate = aRetInfo[13]; // 검증시간
|
||||
// String addVar = aRetInfo[14];
|
||||
|
||||
// 사용자 세션생성
|
||||
UserVO userVO = new UserVO();
|
||||
userVO.setName(name);
|
||||
userVO.setMblDn(di);
|
||||
request.getSession().setAttribute("userVO", userVO);
|
||||
|
||||
String url = (String)request.getSession().getAttribute("url");
|
||||
BoardVO searchVO = (BoardVO)request.getSession().getAttribute("searchVO");
|
||||
model.addAttribute("searchVO", searchVO);
|
||||
model.addAttribute("url", url);
|
||||
|
||||
return "web/cop/selfauth/resultSeed";
|
||||
}
|
||||
|
||||
/**
|
||||
* (사용자)본인인증 결과 리턴 Sample
|
||||
*
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/web/cop/bbs/pccPopSeed.do")
|
||||
public String pccPopSeed(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception {
|
||||
|
||||
return "web/cop/selfauth/pcc_V3_popup_seed";
|
||||
}
|
||||
|
||||
/**
|
||||
* (사용자)본인인증 결과 Sample
|
||||
*
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/web/cop/bbs/pccResult.do")
|
||||
public String pccResult(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception {
|
||||
|
||||
return "web/cop/selfauth/pcc_V3_result_seed";
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 공통코드
|
||||
* @param model
|
||||
@ -3806,180 +3610,4 @@ public class EgovBBSManageController {
|
||||
}
|
||||
return day ;
|
||||
}
|
||||
|
||||
public BoardVO niceCheck(HttpServletRequest request, HttpSession session, BoardVO boardVO) {
|
||||
|
||||
CPClient niceCheck = new CPClient();
|
||||
String sEncodeData = requestReplace(request.getParameter("EncodeData"), "encodeData");
|
||||
String sSiteCode = "BS933"; // NICE로부터 부여받은 사이트 코드
|
||||
String sSitePassword = "2CU5kY9wpppk"; // NICE로부터 부여받은 사이트 패스워드
|
||||
|
||||
String sCipherTime = ""; // 복호화한 시간
|
||||
String sRequestNumber = ""; // 요청 번호
|
||||
String sResponseNumber = ""; // 인증 고유번호
|
||||
String sAuthType = ""; // 인증 수단
|
||||
String sName = ""; // 성명
|
||||
String sDupInfo = ""; // 중복가입 확인값 (DI_64 byte)
|
||||
String sConnInfo = ""; // 연계정보 확인값 (CI_88 byte)
|
||||
String sBirthDate = ""; // 생년월일(YYYYMMDD)
|
||||
String sGender = ""; // 성별
|
||||
String sNationalInfo = ""; // 내/외국인정보 (개발가이드 참조)
|
||||
String sMobileNo = ""; // 휴대폰번호
|
||||
String sMobileCo = ""; // 통신사
|
||||
String sMessage = "";
|
||||
String sPlainData = "";
|
||||
|
||||
int iReturn = niceCheck.fnDecode(sSiteCode, sSitePassword, sEncodeData);
|
||||
if( iReturn == 0 )
|
||||
{
|
||||
sPlainData = niceCheck.getPlainData();
|
||||
sCipherTime = niceCheck.getCipherDateTime();
|
||||
|
||||
// 데이타를 추출합니다.
|
||||
java.util.HashMap mapresult = niceCheck.fnParse(sPlainData);
|
||||
|
||||
sRequestNumber = (String)mapresult.get("REQ_SEQ");
|
||||
sResponseNumber = (String)mapresult.get("RES_SEQ");
|
||||
sAuthType = (String)mapresult.get("AUTH_TYPE");
|
||||
sName = (String)mapresult.get("NAME");
|
||||
//sName = (String)mapresult.get("UTF8_NAME"); //charset utf8 사용시 주석 해제 후 사용
|
||||
sBirthDate = (String)mapresult.get("BIRTHDATE");
|
||||
sGender = (String)mapresult.get("GENDER");
|
||||
sNationalInfo = (String)mapresult.get("NATIONALINFO");
|
||||
sDupInfo = (String)mapresult.get("DI");
|
||||
sConnInfo = (String)mapresult.get("CI");
|
||||
sMobileNo = (String)mapresult.get("MOBILE_NO");
|
||||
sMobileCo = (String)mapresult.get("MOBILE_CO");
|
||||
|
||||
String session_sRequestNumber = (String)session.getAttribute("REQ_SEQ");
|
||||
if(!sRequestNumber.equals(session_sRequestNumber))
|
||||
{
|
||||
sMessage = "세션값 불일치 오류입니다.";
|
||||
sResponseNumber = "";
|
||||
sAuthType = "";
|
||||
}
|
||||
}
|
||||
else if( iReturn == -1)
|
||||
{
|
||||
sMessage = "복호화 시스템 오류입니다.";
|
||||
}
|
||||
else if( iReturn == -4)
|
||||
{
|
||||
sMessage = "복호화 처리 오류입니다.";
|
||||
}
|
||||
else if( iReturn == -5)
|
||||
{
|
||||
sMessage = "복호화 해쉬 오류입니다.";
|
||||
}
|
||||
else if( iReturn == -6)
|
||||
{
|
||||
sMessage = "복호화 데이터 오류입니다.";
|
||||
}
|
||||
else if( iReturn == -9)
|
||||
{
|
||||
sMessage = "입력 데이터 오류입니다.";
|
||||
}
|
||||
else if( iReturn == -12)
|
||||
{
|
||||
sMessage = "사이트 패스워드 오류입니다.";
|
||||
}
|
||||
else
|
||||
{
|
||||
sMessage = "알수 없는 에러 입니다. iReturn : " + iReturn;
|
||||
}
|
||||
|
||||
try {
|
||||
boardVO.setNiceMessage(sMessage);
|
||||
boardVO.setNiceNm(sName);
|
||||
boardVO.setMblDn(sDupInfo);
|
||||
}catch(Exception e) {
|
||||
System.out.println("niceCheck Exception Error");
|
||||
}
|
||||
return boardVO;
|
||||
|
||||
}
|
||||
|
||||
//나이스 인증
|
||||
public String requestReplace (String paramValue, String gubun) {
|
||||
|
||||
String result = "";
|
||||
|
||||
if (paramValue != null) {
|
||||
|
||||
paramValue = paramValue.replaceAll("<", "<").replaceAll(">", ">");
|
||||
|
||||
paramValue = paramValue.replaceAll("\\*", "");
|
||||
paramValue = paramValue.replaceAll("\\?", "");
|
||||
paramValue = paramValue.replaceAll("\\[", "");
|
||||
paramValue = paramValue.replaceAll("\\{", "");
|
||||
paramValue = paramValue.replaceAll("\\(", "");
|
||||
paramValue = paramValue.replaceAll("\\)", "");
|
||||
paramValue = paramValue.replaceAll("\\^", "");
|
||||
paramValue = paramValue.replaceAll("\\$", "");
|
||||
paramValue = paramValue.replaceAll("'", "");
|
||||
paramValue = paramValue.replaceAll("@", "");
|
||||
paramValue = paramValue.replaceAll("%", "");
|
||||
paramValue = paramValue.replaceAll(";", "");
|
||||
paramValue = paramValue.replaceAll(":", "");
|
||||
paramValue = paramValue.replaceAll("-", "");
|
||||
paramValue = paramValue.replaceAll("#", "");
|
||||
paramValue = paramValue.replaceAll("--", "");
|
||||
paramValue = paramValue.replaceAll("-", "");
|
||||
paramValue = paramValue.replaceAll(",", "");
|
||||
|
||||
if(gubun != "encodeData"){
|
||||
paramValue = paramValue.replaceAll("\\+", "");
|
||||
paramValue = paramValue.replaceAll("/", "");
|
||||
paramValue = paramValue.replaceAll("=", "");
|
||||
}
|
||||
|
||||
result = paramValue;
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public String damoDec(String strEnc, HttpServletRequest request) {
|
||||
//DI 복구화
|
||||
|
||||
System.out.println("-----damoDec---request.getRequestURL().toString()-----------" + request.getRequestURL().toString()+"-----") ;
|
||||
|
||||
String iniFilePath = "/usr/local/tomcat/damo/scpdb_agent.ini"; //실서버
|
||||
if(request.getRequestURL().toString().contains("test.kofons.or.kr")){ //로컬
|
||||
iniFilePath = "C:\\damo\\scpdb_agent.ini";
|
||||
}else if(request.getRequestURL().toString().contains("119.193.215.98")) { //테스트
|
||||
iniFilePath = "/usr/local/tomcat_kofons/damo/scpdb_agent.ini";
|
||||
}
|
||||
System.out.println("iniFilePath --" + iniFilePath + "---");
|
||||
ScpDbAgent agt = new ScpDbAgent();
|
||||
String strDec = "";
|
||||
try {
|
||||
strDec = agt.ScpDecB64( iniFilePath, "KEY1", strEnc);
|
||||
}catch(Exception e) {
|
||||
System.out.println("damoDec Exception Error");
|
||||
}
|
||||
return strDec ;
|
||||
}
|
||||
|
||||
public String damoEnc(String strDec, HttpServletRequest request) {
|
||||
//DI 암호화
|
||||
System.out.println("-----damoEnc---request.getRequestURL().toString()-----------" + request.getRequestURL().toString()+"-----") ;
|
||||
|
||||
String iniFilePath = "/usr/local/tomcat/damo/scpdb_agent.ini"; //실서버
|
||||
if(request.getRequestURL().toString().contains("test.kofons.or.kr")){ //로컬
|
||||
iniFilePath = "C:\\damo\\scpdb_agent.ini";
|
||||
}else if(request.getRequestURL().toString().contains("119.193.215.98")) { //테스트
|
||||
iniFilePath = "/usr/local/tomcat_kofons/damo/scpdb_agent.ini";
|
||||
}
|
||||
System.out.println("iniFilePath --" + iniFilePath + "---");
|
||||
ScpDbAgent agt = new ScpDbAgent();
|
||||
String strEnc = "";
|
||||
try {
|
||||
strEnc = agt.ScpEncB64( iniFilePath, "KEY1", strDec);
|
||||
}catch(Exception e) {
|
||||
System.out.println("damoEnc Exception Error");
|
||||
}
|
||||
return strEnc ;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -49,7 +49,6 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
import org.springframework.web.servlet.support.RequestContextUtils;
|
||||
|
||||
import com.bandi.oauth.BandiSSOAgent;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
@ -61,7 +60,6 @@ import kcc.com.cmm.EgovMessageSource;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.captcha.CaptchaUtil;
|
||||
import kcc.com.cmm.spring.data.util.ProfileUtil;
|
||||
import kcc.com.cmm.util.StringUtil;
|
||||
import kcc.com.cmm.util.WebUtil;
|
||||
import kcc.let.sym.log.clg.service.EgovLoginLogService;
|
||||
import kcc.let.sym.log.clg.service.LoginLog;
|
||||
@ -1527,10 +1525,10 @@ public class EgovLoginController {
|
||||
|| !"USRCNFRM_00000002542".equals(ssoLoginVO.getMembId()) || !"USRCNFRM_00000002541".equals(ssoLoginVO.getMembId()) || !"USRCNFRM_00000002540".equals(ssoLoginVO.getMembId())
|
||||
|| !"USRCNFRM_00000002533".equals(ssoLoginVO.getMembId())) {
|
||||
/*BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);*/
|
||||
BandiSSOAgent agent = new BandiSSOAgent(ssoagentinfo.getSsoUri(), ssoagentinfo.getClientId(), ssoagentinfo.getClientSecret(), ssoagentinfo.getScope());
|
||||
|
||||
// sso 로그아웃
|
||||
agent.logout(ssoLoginVO.getAccess_token(), client_ip);
|
||||
// BandiSSOAgent agent = new BandiSSOAgent(ssoagentinfo.getSsoUri(), ssoagentinfo.getClientId(), ssoagentinfo.getClientSecret(), ssoagentinfo.getScope());
|
||||
//
|
||||
// // sso 로그아웃
|
||||
// agent.logout(ssoLoginVO.getAccess_token(), client_ip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package kcc.let.uat.uia.web;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
|
||||
import javax.servlet.Filter;
|
||||
import javax.servlet.FilterChain;
|
||||
@ -9,74 +8,10 @@ import javax.servlet.FilterConfig;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.ServletRequest;
|
||||
import javax.servlet.ServletResponse;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.bandi.oauth.BandiSSOAgent;
|
||||
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
|
||||
|
||||
|
||||
|
||||
/*public class SSOValid {
|
||||
|
||||
// agent 관련 설정
|
||||
private static String ssoUri = "https://devsso.copyright.or.kr/oauth2/token.do"; // 개발서버 URL
|
||||
private static String clientId = "해당 시스템의 클라이언트 아이디";
|
||||
private static String clientId = "30354835c3684ff79e7fb1bfd3a768f6";
|
||||
private static String clientSecret = "해당 시스템의 클라이언트 시크릿";
|
||||
private static String clientSecret = "1ueil5ee05wr0t1gjy1ppt212";
|
||||
private static String scope = "http://sso.copyright.or.kr"; // 고정
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
// SSO 로그인 연계 "BandiSSOAgent 생성" 참조
|
||||
BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);
|
||||
|
||||
// 사용자 접속 ip
|
||||
String client_ip = "127.0.0.1";
|
||||
|
||||
// 세션에서 취득한 제어 토큰
|
||||
String access_token = "95i90zzd57dqvefxx37732fjifkwm00k7piajty0iwq7a....";
|
||||
//==================================
|
||||
// SSO 유효성 검증 (Intercepter에서 매번 실행)
|
||||
//==================================
|
||||
// SSO 로그인 연계 "tokenValid 함수 요청" 및 "tokenValid 함수 결과" 참조
|
||||
sso 연동 tokenValid 예제
|
||||
|
||||
System.out.println("------------------------인터셉터 test입니다---------------------------");
|
||||
|
||||
HashMap<String, String> tokenValid = agent.tokenValid(access_token, client_ip);
|
||||
전자조정 intercepter에 포함될 내용
|
||||
// ssoLoginVO = (SsoLoginVO)session.getAttribute("SsoLoginVO");
|
||||
// HashMap<String, String> tokenValid = agent.tokenValid(ssoLoginVO.getAccess_token, client_ip);
|
||||
|
||||
if(tokenValid.get("error").equals("0000") == false) {
|
||||
// 토큰이 유효하지 않는 경우
|
||||
// 세션 로그아웃 처리
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
//==================================
|
||||
// SSO 로그 아웃
|
||||
//==================================
|
||||
// SSO 로그인 연계 "logout 함수요청" 참조
|
||||
agent.logout(access_token, client_ip);
|
||||
// 세션 로그아웃
|
||||
}
|
||||
}*/
|
||||
|
||||
@Component
|
||||
public class SSOValid implements Filter {
|
||||
|
||||
@ -125,89 +60,6 @@ public class SSOValid implements Filter {
|
||||
@Override
|
||||
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
|
||||
throws IOException, ServletException {
|
||||
|
||||
// 사용자 접속 ip
|
||||
// agent.getLocalServerIp(request);
|
||||
String client_ip = "127.0.0.1";
|
||||
|
||||
//filter에서 세션을 받아오기위해 ServletRequest -> HttpServletRequest 형변환
|
||||
HttpServletRequest req = (HttpServletRequest) request;
|
||||
HttpServletResponse resp = (HttpServletResponse) response;
|
||||
|
||||
//현재 세션 정보 받아오기
|
||||
HttpSession session = req.getSession();
|
||||
|
||||
//SsoLoginVO 세션 정보 취득
|
||||
SsoLoginVO ssoLoginVO = new SsoLoginVO();
|
||||
ssoLoginVO = (SsoLoginVO)session.getAttribute("SSOLoginVO");
|
||||
|
||||
|
||||
|
||||
try {
|
||||
if(ssoLoginVO != null) {
|
||||
if("N".equals(ssoLoginVO.getOtherUser())){
|
||||
//LoginVO 세션 정보 취득
|
||||
// LoginVO loginVO = new LoginVO();
|
||||
// loginVO = (LoginVO)session.getAttribute("LoginVO");
|
||||
|
||||
//SSO 로그인 연계 BandiSSOAgent 생성
|
||||
BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);
|
||||
|
||||
HashMap<String, String> tokenValid = agent.tokenValid(ssoLoginVO.getAccess_token(), client_ip);
|
||||
if(tokenValid.get("error").equals("0000")) {
|
||||
// if(loginVO == null) {
|
||||
// HttpServletResponse httpServletResponse = (HttpServletResponse) response;
|
||||
// httpServletResponse.sendRedirect("/web/user/login/actionSecurityLogin.do");
|
||||
// }
|
||||
}else {
|
||||
//SSO 로그아웃 요청
|
||||
agent.logout(ssoLoginVO.getAccess_token(), client_ip);
|
||||
if(session.getAttribute("SSOLoginVO") != null) {
|
||||
session.removeAttribute("SSOLoginVO");
|
||||
}
|
||||
|
||||
/*Spring Security 로그아웃*/
|
||||
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
||||
if (auth != null) {
|
||||
new SecurityContextLogoutHandler().logout(req, resp, auth);
|
||||
}
|
||||
//LoginVO 세션 remove
|
||||
if(session.getAttribute("LoginVO") != null) {
|
||||
session.removeAttribute("LoginVO");
|
||||
}
|
||||
|
||||
session.setAttribute("SsoLogout", "Y");
|
||||
|
||||
}
|
||||
}
|
||||
}else {
|
||||
//LoginVO 세션 정보 취득
|
||||
LoginVO loginVO = new LoginVO();
|
||||
loginVO = (LoginVO)session.getAttribute("LoginVO");
|
||||
|
||||
if(loginVO != null) {
|
||||
|
||||
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
if(! ("ROLE_ADMIN".equals(user.getAuthority())
|
||||
|| "ROLE_ADR_ADMIN".equals(user.getAuthority()) )
|
||||
){
|
||||
/*Spring Security 로그아웃*/
|
||||
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
||||
if (auth != null) {
|
||||
new SecurityContextLogoutHandler().logout(req, resp, auth);
|
||||
}
|
||||
//LoginVO 세션 remove
|
||||
if(session.getAttribute("LoginVO") != null) {
|
||||
session.removeAttribute("LoginVO");
|
||||
}
|
||||
|
||||
session.setAttribute("SsoLogout", "Y");
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch(Exception e) {
|
||||
System.out.println("Exception Occured!!!");
|
||||
}
|
||||
chain.doFilter(request, response);
|
||||
}
|
||||
|
||||
|
||||
@ -1,22 +1,11 @@
|
||||
package kcc.let.uat.uia.web;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.bandi.oauth.BandiSSOAgent;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
|
||||
public class SsoLogin {
|
||||
|
||||
@ -37,121 +26,7 @@ public class SsoLogin {
|
||||
private static String type = "1";
|
||||
|
||||
public static String SsoLogin(String Id, String Password, HttpServletRequest request) throws Exception {
|
||||
SsoAgentInfo ssoagentinfo = new SsoAgentInfo();
|
||||
// SSO 로그인 연계 "BandiSSOAgent 생성" 참조
|
||||
/*BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);*/
|
||||
BandiSSOAgent agent = new BandiSSOAgent(ssoagentinfo.getSsoUri(), ssoagentinfo.getClientId(), ssoagentinfo.getClientSecret(), ssoagentinfo.getScope());
|
||||
|
||||
// 사용자 접속 ip
|
||||
// agent.getLocalServerIp(request);
|
||||
String client_ip = "127.0.0.1";
|
||||
|
||||
// https://devoneid.copyright.or.kr 에서 가입함 ID/PW 입력
|
||||
/*String user_id = "itn0801@gmail.com";*/ //itntest123$
|
||||
String user_id = Id;
|
||||
|
||||
String user_pwd = Password;
|
||||
|
||||
SsoLoginVO ssoLoginVO = new SsoLoginVO();
|
||||
|
||||
// SSO 로그인 연계 "accessToken 함수 요청" 및 "accessToken 함수 결과" 참조
|
||||
HashMap<String, String> login = agent.accessToken(user_id, user_pwd, client_ip, type);
|
||||
|
||||
/*에러코드*/
|
||||
String error = login.get("error");
|
||||
/*에러 메시지*/
|
||||
String error_message = login.get("error_message");
|
||||
|
||||
/*에러 콘솔 로거*/
|
||||
LOGGER.debug("error : ", error);
|
||||
LOGGER.debug("error_message : ", error_message);
|
||||
// try {
|
||||
if(login.get("error").equals("0000") || login.get("error").equals("VL-3130")) {
|
||||
String access_token = login.get("access_token");
|
||||
String refresh_token = login.get("refresh_token");
|
||||
|
||||
/*쿠키유지시간*/
|
||||
String expires_in = login.get("expires_in");
|
||||
|
||||
// userInfo의 type은 무조건 1을 입력한다.
|
||||
// SSO 로그인 연계 "userInfo 함수 요청" 및 "userInfo 함수 결과" 참조
|
||||
HashMap<String, String> userInfo = agent.userInfo(access_token, client_ip, type);
|
||||
|
||||
//법인회원 정보 처리
|
||||
if(userInfo.get("corpUserInfo") != null) {
|
||||
List<Map<String, String>> info = new Gson().fromJson(String.valueOf(userInfo.get("corpUserInfo")),
|
||||
new TypeToken<List<Map<String, Object>>>(){}.getType());
|
||||
for (Map<String, String> userInfo2 : info) {
|
||||
userInfo.put("compAddr", userInfo2.get("compAddr"));
|
||||
userInfo.put("mangCelnum", userInfo2.get("mangCelnum"));
|
||||
userInfo.put("membEmail", userInfo2.get("membEmail"));
|
||||
userInfo.put("membType", userInfo2.get("membType"));
|
||||
userInfo.put("membDivis", userInfo2.get("membDivis"));
|
||||
userInfo.put("compZipcd", userInfo2.get("compZipcd"));
|
||||
userInfo.put("compDetAddr", userInfo2.get("compDetAddr"));
|
||||
userInfo.put("membBuisnRegnum", userInfo2.get("membBuisnRegnum"));
|
||||
userInfo.put("membCorpnum", userInfo2.get("membCorpnum"));
|
||||
userInfo.put("mangName", userInfo2.get("mangName"));
|
||||
}
|
||||
}
|
||||
|
||||
userInfo.remove("corpUserInfo");
|
||||
|
||||
//map -> vo 매칭
|
||||
ObjectMapper test = new ObjectMapper();
|
||||
ssoLoginVO = test.convertValue(userInfo, SsoLoginVO.class);
|
||||
|
||||
//통합회원 SSO연동 유효성 체크를 위한 토큰값 set
|
||||
ssoLoginVO.setAccess_token(access_token);
|
||||
ssoLoginVO.setRefresh_token(refresh_token);
|
||||
|
||||
if(userInfo.get("error").equals("0000")) {
|
||||
// "userInfo 함수 결과"의 필드를 기준으로 맵핑
|
||||
/*Object[] keys = (Object[]) userInfo.keySet().toArray();
|
||||
for(int i=0;i<userInfo.size();i++) {
|
||||
System.out.println("["+keys[i]+"] "+userInfo.get(keys[i]));
|
||||
|
||||
}*/
|
||||
|
||||
|
||||
// 세션에 access_token, refresh_token 저장
|
||||
// 통합회원 연동시 및 유효성 검증을 위해 필요
|
||||
|
||||
/*SsoLoginVO생성 해서 SsoLoginVo를 세션에 저장*/
|
||||
/* 컨트롤러에 미리 선언 -> HttpServletRequest request*/
|
||||
HttpSession session = request.getSession();
|
||||
session.setMaxInactiveInterval(Integer.parseInt(expires_in));
|
||||
//SSOLoginVO세션 생성
|
||||
ssoLoginVO.setOtherUser("N");
|
||||
|
||||
session.setAttribute("SSOLoginVO", ssoLoginVO);
|
||||
|
||||
// **중요(필요시)
|
||||
// 연동 완료시 저장한 개별사이트의 통함회원 아이디와 SSO로그인시 취득한 통합회원 아이디가 다른경우에는 개별사이트의 통합회원 아이디를 SSO로그인시 취득한 통합외원 아이디로 갱신 필요
|
||||
|
||||
return "sucess";
|
||||
} else {
|
||||
// 사용자 정보 조회 시 오류
|
||||
System.out.println("[getUserInfo error] "+userInfo.get("error"));
|
||||
System.out.println("[getUserInfo error_message] "+userInfo.get("error_message"));
|
||||
|
||||
return "fail";
|
||||
}
|
||||
} else {
|
||||
// 로그인 실패
|
||||
// 사용자 정보 조회 시 오류
|
||||
System.out.println("[login error] "+login.get("error"));
|
||||
System.out.println("[login error_message] "+login.get("error_message"));
|
||||
|
||||
return "fail";
|
||||
}
|
||||
|
||||
// } catch (Exception e) {
|
||||
// e.getStackTrace();
|
||||
// throw new BaseException("시퀀스관리 조회 오류") ;
|
||||
// }
|
||||
|
||||
// return "sucess";
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,22 +1,11 @@
|
||||
package kcc.let.uat.uia.web;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.bandi.oauth.BandiSSOAgent;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
|
||||
public class SsoTokenLogin {
|
||||
|
||||
@ -37,99 +26,7 @@ public class SsoTokenLogin {
|
||||
private static String type = "1";
|
||||
|
||||
public static String SsoTokenLogin(String access_token, String refresh_token, HttpServletRequest request) throws Exception {
|
||||
SsoAgentInfo ssoagentinfo = new SsoAgentInfo();
|
||||
// SSO 로그인 연계 "BandiSSOAgent 생성" 참조
|
||||
/*BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);*/
|
||||
BandiSSOAgent agent = new BandiSSOAgent(ssoagentinfo.getSsoUri(), ssoagentinfo.getClientId(), ssoagentinfo.getClientSecret(), ssoagentinfo.getScope());
|
||||
|
||||
// 사용자 접속 ip
|
||||
// agent.getLocalServerIp(request);
|
||||
String client_ip = "127.0.0.1";
|
||||
|
||||
SsoLoginVO ssoLoginVO = new SsoLoginVO();
|
||||
|
||||
// try {
|
||||
HashMap<String, String> tokenValid = agent.tokenValid(access_token, client_ip);
|
||||
if(tokenValid.get("error").equals("0000")) {
|
||||
/*쿠키유지시간*/
|
||||
// String expires_in = login.get("expires_in");
|
||||
|
||||
// userInfo의 type은 무조건 1을 입력한다.
|
||||
// SSO 로그인 연계 "userInfo 함수 요청" 및 "userInfo 함수 결과" 참조
|
||||
HashMap<String, String> userInfo = agent.userInfo(access_token, client_ip, type);
|
||||
|
||||
//법인회원 정보 처리
|
||||
if(userInfo.get("corpUserInfo") != null) {
|
||||
List<Map<String, String>> info = new Gson().fromJson(String.valueOf(userInfo.get("corpUserInfo")),
|
||||
new TypeToken<List<Map<String, Object>>>(){}.getType());
|
||||
for (Map<String, String> userInfo2 : info) {
|
||||
userInfo.put("compAddr", userInfo2.get("compAddr"));
|
||||
userInfo.put("mangCelnum", userInfo2.get("mangCelnum"));
|
||||
userInfo.put("membEmail", userInfo2.get("membEmail"));
|
||||
userInfo.put("membType", userInfo2.get("membType"));
|
||||
userInfo.put("membDivis", userInfo2.get("membDivis"));
|
||||
userInfo.put("compZipcd", userInfo2.get("compZipcd"));
|
||||
userInfo.put("compDetAddr", userInfo2.get("compDetAddr"));
|
||||
userInfo.put("membBuisnRegnum", userInfo2.get("membBuisnRegnum"));
|
||||
userInfo.put("membCorpnum", userInfo2.get("membCorpnum"));
|
||||
userInfo.put("mangName", userInfo2.get("mangName"));
|
||||
}
|
||||
}
|
||||
|
||||
userInfo.remove("corpUserInfo");
|
||||
|
||||
//map -> vo 매칭
|
||||
ObjectMapper test = new ObjectMapper();
|
||||
ssoLoginVO = test.convertValue(userInfo, SsoLoginVO.class);
|
||||
|
||||
//통합회원 SSO연동 유효성 체크를 위한 토큰값 set
|
||||
ssoLoginVO.setAccess_token(access_token);
|
||||
ssoLoginVO.setRefresh_token(refresh_token);
|
||||
|
||||
if(userInfo.get("error").equals("0000")) {
|
||||
// "userInfo 함수 결과"의 필드를 기준으로 맵핑
|
||||
Object[] keys = (Object[]) userInfo.keySet().toArray();
|
||||
for(int i=0;i<userInfo.size();i++) {
|
||||
System.out.println("["+keys+"] "+userInfo.get(keys[i]));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 세션에 access_token, refresh_token 저장
|
||||
// 통합회원 연동시 및 유효성 검증을 위해 필요
|
||||
|
||||
/*SsoLoginVO생성 해서 SsoLoginVo를 세션에 저장*/
|
||||
/* 컨트롤러에 미리 선언 -> HttpServletRequest request*/
|
||||
HttpSession session = request.getSession();
|
||||
session.setMaxInactiveInterval(Integer.parseInt("7200"));
|
||||
//SSOLoginVO세션 생성
|
||||
ssoLoginVO.setOtherUser("N");
|
||||
|
||||
session.setAttribute("SSOLoginVO", ssoLoginVO);
|
||||
|
||||
// **중요(필요시)
|
||||
// 연동 완료시 저장한 개별사이트의 통함회원 아이디와 SSO로그인시 취득한 통합회원 아이디가 다른경우에는 개별사이트의 통합회원 아이디를 SSO로그인시 취득한 통합외원 아이디로 갱신 필요
|
||||
|
||||
return "sucess";
|
||||
} else {
|
||||
// 사용자 정보 조회 시 오류
|
||||
System.out.println("[getUserInfo error] "+userInfo.get("error"));
|
||||
System.out.println("[getUserInfo error_message] "+userInfo.get("error_message"));
|
||||
|
||||
return "fail";
|
||||
}
|
||||
} else {
|
||||
// 로그인 실패
|
||||
// 사용자 정보 조회 시 오류
|
||||
// System.out.println("[login error] "+login.get("error"));
|
||||
// System.out.println("[login error_message] "+login.get("error_message"));
|
||||
|
||||
return "fail";
|
||||
}
|
||||
// } catch (Exception e) {
|
||||
// System.out.println("Exception Error");
|
||||
// }
|
||||
// return "sucess";
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,276 +0,0 @@
|
||||
package kcc.let.utl.fcc.service;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigInteger;
|
||||
import java.net.URLDecoder;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.dreamsecurity.JCAOSProvider;
|
||||
import com.dreamsecurity.jcaos.x509.X509Certificate;
|
||||
import com.dreamsecurity.magicline.JCaosCheckCert;
|
||||
|
||||
/**
|
||||
*
|
||||
* egov crypto 에 대한 Util 클래스
|
||||
* @author 사업기술본부 조용준(ITN)
|
||||
* @since 2021.07.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2021.07.16 조용준 최초 생성 *
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Component("certUtil")
|
||||
public class CertUtil {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(CertUtil.class);
|
||||
|
||||
/** 암호화서비스 */
|
||||
/*
|
||||
@Resource(name = "egovEnvCryptoService")
|
||||
EgovEnvCryptoService cryptoService;
|
||||
|
||||
@Resource(name = "egovEnvPasswordEncoderService")
|
||||
EgovPasswordEncoder egovPasswordEncoder;
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* 인증서 서버 결과값 처리
|
||||
*
|
||||
* @param certCheckAfterPopup
|
||||
*
|
||||
*/
|
||||
public Map<String, Object> certCheckAfterPopup (
|
||||
HttpServletRequest request
|
||||
) throws Exception{
|
||||
|
||||
return this.p_certCheckAfterPopup(request);
|
||||
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
//
|
||||
// private
|
||||
//
|
||||
//
|
||||
|
||||
/**
|
||||
* 인증서 서버 결과값 처리
|
||||
*
|
||||
* @param certCheckAfterPopup
|
||||
*
|
||||
*/
|
||||
private Map<String, Object> p_certCheckAfterPopup (
|
||||
HttpServletRequest request
|
||||
) throws Exception{
|
||||
|
||||
LOGGER.debug("CertUtil.p_certCheckAfterPopup()");
|
||||
|
||||
Map<String, Object> retMap = new HashMap<String, Object>();
|
||||
|
||||
// 서명 검증 셈플
|
||||
// 클라이언트에서 받은 서명 데이타를 검증
|
||||
String sResult = "";
|
||||
String sSignData = null;
|
||||
String vidRandom = null;
|
||||
JCaosCheckCert jcaosCheck = null;
|
||||
//String sIDN = null;
|
||||
//String sSourceText = null;
|
||||
//String textCheck = "";
|
||||
//String sPolicy = "";
|
||||
//String sidentifyData = "";
|
||||
|
||||
// 서명 데이타를 가져옴
|
||||
// 본 셈플에서는 서명 값을 Post Data 의 SignData 에 넣어서 보낸다고 간주 코딩 한다
|
||||
sSignData = request.getParameter("signedData");
|
||||
try {
|
||||
sSignData = URLDecoder.decode(sSignData, "utf-8");
|
||||
} catch (UnsupportedEncodingException e1) {
|
||||
System.out.println("UnsupportedEncodingException Occured!!!");
|
||||
}
|
||||
vidRandom = request.getParameter("vidRandom");
|
||||
try {
|
||||
vidRandom = URLDecoder.decode(vidRandom, "utf-8");
|
||||
} catch (UnsupportedEncodingException e1) {
|
||||
System.out.println("UnsupportedEncodingException Occured!!!");
|
||||
}
|
||||
String idn = request.getParameter("idn");
|
||||
|
||||
sResult = sResult+"- SignData ["+sSignData+"]<br>\n"+"- VIDData ["+vidRandom+"]<br>\n";
|
||||
|
||||
|
||||
// 서명 데이타가 있을때 서명 검증
|
||||
if (sSignData != null && sSignData.length() > 0){
|
||||
try{
|
||||
|
||||
|
||||
// API 초기화 (한번만 실행)
|
||||
JCAOSProvider.installProvider(false);
|
||||
// 라이센스 경로 설정
|
||||
//com.dreamsecurity.jcaos.Environment.setLicensePath("C:/Tomcat 5.5/webapps/MagicLine4/WEB-INF/lib");
|
||||
|
||||
|
||||
jcaosCheck = new JCaosCheckCert();
|
||||
|
||||
// 서버가 알고 잇는 주민등록 번호를 등록한다
|
||||
jcaosCheck.setVIDRandom(idn, vidRandom);
|
||||
|
||||
sResult = sResult+"<br>\n- 인증서 검증 시작<br>\n";
|
||||
|
||||
// 서명 검증
|
||||
// 검증후 원문이 리턴됨
|
||||
int iResult = jcaosCheck.checkCert(sSignData);
|
||||
/*
|
||||
- JCaosCheckCert.checkCert 의 에러코드는 하기와 같습니다.
|
||||
JCaosCheckCert.STAT_OK // 성공
|
||||
JCaosCheckCert.STAT_ERR_WRONGCERT // 정상적인 인증서가 아님
|
||||
JCaosCheckCert.STAT_ERR_ETC // 기타 오류
|
||||
JCaosCheckCert.STAT_ERR_VerifyException // 서명 검증 실패
|
||||
JCaosCheckCert.STAT_ERR_CertificateNotYetValidException // 인증서 유효기간 검증 오류
|
||||
JCaosCheckCert.STAT_ERR_CertificateExpiredException // 인증서 만료
|
||||
JCaosCheckCert.STAT_ERR_ObtainCertPathException // 인증서 경로 구축 실패
|
||||
JCaosCheckCert.STAT_ERR_BuildCertPathException // 인증서 경로 구축 실패
|
||||
JCaosCheckCert.STAT_ERR_TrustRootException // 신뢰할수 없는 최상위 인증서
|
||||
JCaosCheckCert.STAT_ERR_ValidateCertPathException // 인증서 경로 검증 실패
|
||||
JCaosCheckCert.STAT_ERR_RevokedCertException // 폐지된 인증서
|
||||
JCaosCheckCert.STAT_ERR_RevocationCheckException // CRL 검증 실패
|
||||
JCaosCheckCert.STAT_ERR_NotExistSignerCertException // 서명자 인증서 누락
|
||||
JCaosCheckCert.STAT_ERR_IOException // IOException
|
||||
JCaosCheckCert.STAT_ERR_FileNotFoundException // FileNotFoundException
|
||||
JCaosCheckCert.STAT_ERR_NoSuchAlgorithmException // NoSuchAlgorithmException
|
||||
JCaosCheckCert.STAT_ERR_NoSuchProviderException // NoSuchProviderException
|
||||
JCaosCheckCert.STAT_ERR_ParsingException // ParsingException
|
||||
JCaosCheckCert.STAT_ERR_IdentifyException // 본인확인 실패
|
||||
*/
|
||||
|
||||
if (iResult != 0){
|
||||
// 오류 발생시 오류를 구분
|
||||
String sCertResult = null;
|
||||
switch(iResult){
|
||||
case JCaosCheckCert.STAT_ERR_WRONGCERT : // 정상적인 인증서가 아님
|
||||
sCertResult = "서명에 사용된 인증서가 정상적인 인증서가 아닙니다.";
|
||||
break;
|
||||
case JCaosCheckCert.STAT_ERR_RevocationCheckException : // CRL 검증 실패
|
||||
case JCaosCheckCert.STAT_ERR_NotExistSignerCertException : // 서명자 인증서 누락
|
||||
case JCaosCheckCert.STAT_ERR_IOException : // IOException
|
||||
case JCaosCheckCert.STAT_ERR_FileNotFoundException : // FileNotFoundException
|
||||
case JCaosCheckCert.STAT_ERR_ETC : // 기타 오류
|
||||
case JCaosCheckCert.STAT_ERR_BuildCertPathException : // 인증서 경로 구축 실패
|
||||
case JCaosCheckCert.STAT_ERR_ObtainCertPathException : // 인증서 경로 구축 실패
|
||||
case JCaosCheckCert.STAT_ERR_ValidateCertPathException : // 인증서 경로 검증 실패
|
||||
case JCaosCheckCert.STAT_ERR_TrustRootException : // 신뢰할수 없는 최상위 인증서
|
||||
sCertResult = "서명 인증서 검증 오류 ["+iResult+"].";
|
||||
break;
|
||||
case JCaosCheckCert.STAT_ERR_VerifyException : // 서명 검증 실패
|
||||
sCertResult = "서명 검증 실패";
|
||||
break;
|
||||
case JCaosCheckCert.STAT_ERR_CertificateNotYetValidException : // 인증서 유효기간 검증 오류
|
||||
sCertResult = "서명 인증서 유효기간 검증 오류";
|
||||
break;
|
||||
case JCaosCheckCert.STAT_ERR_CertificateExpiredException : // 인증서 만료
|
||||
sCertResult = "만료된 인증서 ";
|
||||
break;
|
||||
case JCaosCheckCert.STAT_ERR_RevokedCertException : // 폐지된 인증서
|
||||
sCertResult = "폐지된 인증서";
|
||||
break;
|
||||
default:
|
||||
sCertResult = "기타오류 ["+iResult+"]";
|
||||
break;
|
||||
}
|
||||
sResult = "<br>\n- "+sCertResult+" \n[" + jcaosCheck.getLastErr() +"]<br>\n\n";
|
||||
|
||||
|
||||
// 오류 발생시 오류를 구분
|
||||
//retval - 1
|
||||
retMap.put("SN", "");
|
||||
retMap.put("sResult", sCertResult);
|
||||
|
||||
}else{
|
||||
// 서명 검증에 성공
|
||||
sResult = sResult+ "- 인증서 검증 성공<br>\n";
|
||||
|
||||
// 서명에 사용된 인증서를 가져온다
|
||||
X509Certificate cert = jcaosCheck.getUserCert();
|
||||
String signerDN = cert.getSubjectDN().getName(); // 인증서 DN
|
||||
BigInteger serialNumber = cert.getSerialNumber(); // 인증서 시리얼
|
||||
|
||||
// 본인확인
|
||||
switch (jcaosCheck.getVIDCheck()){
|
||||
case JCaosCheckCert.STAT_VID_NOTCHECK:
|
||||
sResult = sResult+"- 본인 확인 하지 않음<br>\n";
|
||||
break;
|
||||
case JCaosCheckCert.STAT_VID_CHECK_OK:
|
||||
sResult = sResult+"- 본인 확인 성공<br>\n";
|
||||
break;
|
||||
case JCaosCheckCert.STAT_VID_CHECK_FAIL:
|
||||
sResult = sResult+"- 본인 확인 실패<br>\n";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 화면 출력값 생성
|
||||
sResult = sResult+ "<br>\n- 사용자 DN ["+signerDN+"]<br>\n"+"<br>\n";
|
||||
sResult = sResult+ "- 발급자 DN ["+cert.getIssuerDN().getName()+"]<br>\n"+"<br>\n";
|
||||
sResult = sResult+ "- 인증서 SN ["+cert.getSerialNumber().toString(16)+"]<br>\n"+"<br>\n";
|
||||
sResult = sResult+ "- 인증서 정책 ["+cert.getCertificatePolicies().getPolicyIdentifier(0)+"]<br>\n"+"<br>\n";
|
||||
sResult = sResult+ "- 인증서 serialNumber ["+serialNumber+"]<br>\n"+"<br>\n";
|
||||
|
||||
//성공시 SN 번호 키값 전송
|
||||
//retval - 2
|
||||
retMap.put("SN", cert.getSerialNumber().toString(16));
|
||||
retMap.put("sResult", "");
|
||||
|
||||
}
|
||||
|
||||
// 서명 검증
|
||||
// 검증후 원문이 리턴됨
|
||||
//retval - 3
|
||||
retMap.put("iResult", iResult);
|
||||
|
||||
}catch(Exception e){
|
||||
// 인증서 검증중 오류가 난 경우
|
||||
// 처리를 편하게 하기 위해
|
||||
// 상용중에는 사용자의 인증서의 유효성의 문제가 잇는 경우가 대부분 입니다.
|
||||
//e.printStackTrace();
|
||||
sResult = "서명 검증에 실패 하였습니다.\n [" + e.getMessage()+"]\");";
|
||||
|
||||
// 서명 검증 실패
|
||||
//retval - 4
|
||||
retMap.put("iResult", "001");
|
||||
retMap.put("SN", "");
|
||||
retMap.put("sResult", sResult);
|
||||
System.out.println("Exception Occured!!!");
|
||||
}
|
||||
} else
|
||||
{
|
||||
sResult=" - 서명 데이타가 존재하지 않습니다..<br>\n";
|
||||
|
||||
// 서명 검증 실패
|
||||
//retval - 5
|
||||
retMap.put("iResult", "002");
|
||||
retMap.put("SN", "");
|
||||
retMap.put("sResult", sResult);
|
||||
}
|
||||
|
||||
//System.out.println(retMap.toString());
|
||||
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
}
|
||||
25
src/main/java/kcc/xxx/service/XxxService.java
Normal file
25
src/main/java/kcc/xxx/service/XxxService.java
Normal file
@ -0,0 +1,25 @@
|
||||
package kcc.xxx.service;
|
||||
|
||||
import seed.map.T_MEMBER;
|
||||
|
||||
/**
|
||||
* XXX 관리를 위한 서비스 인터페이스 클래스
|
||||
* @author 여현준
|
||||
* @since 2021.08.03
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2021.08.03 여현준 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public interface XxxService {
|
||||
|
||||
public T_MEMBER getMemberForm(String memberId);
|
||||
|
||||
}
|
||||
123
src/main/java/kcc/xxx/service/XxxVO.java
Normal file
123
src/main/java/kcc/xxx/service/XxxVO.java
Normal file
@ -0,0 +1,123 @@
|
||||
package kcc.xxx.service;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import kcc.com.cmm.ComDefaultVO;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class XxxVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
// 검색조건
|
||||
private String srchYear = ""; // 검색 년도
|
||||
|
||||
// 상세
|
||||
private String esntlId = ""; // 로그인ID
|
||||
private String xxxSeq = ""; // xxx 일련번호
|
||||
private String bbsId = ""; // 게시판ID
|
||||
private String nttId = ""; // 게시글ID
|
||||
private String atchFileId = ""; // 첨부파일 ID
|
||||
private String lastUpdusrId = ""; // 최종수정자 ID
|
||||
private String lastUpdusrNm = ""; // 최종수정자 이름
|
||||
private String searchCnd = ""; // 검색 항목
|
||||
private String searchWrd = ""; // 검색명
|
||||
private String frstRegisterId = ""; // 최조작성자 ID
|
||||
private String frstRegisterNm = ""; // 최조작성자 이름
|
||||
|
||||
public String getSrchYear() {
|
||||
return srchYear;
|
||||
}
|
||||
|
||||
public void setSrchYear(String srchYear) {
|
||||
this.srchYear = srchYear;
|
||||
}
|
||||
|
||||
public String getEsntlId() {
|
||||
return esntlId;
|
||||
}
|
||||
|
||||
public void setEsntlId(String esntlId) {
|
||||
this.esntlId = esntlId;
|
||||
}
|
||||
|
||||
public String getXxxSeq() {
|
||||
return xxxSeq;
|
||||
}
|
||||
|
||||
public void setXxxSeq(String xxxSeq) {
|
||||
this.xxxSeq = xxxSeq;
|
||||
}
|
||||
|
||||
public String getBbsId() {
|
||||
return bbsId;
|
||||
}
|
||||
|
||||
public void setBbsId(String bbsId) {
|
||||
this.bbsId = bbsId;
|
||||
}
|
||||
|
||||
public String getNttId() {
|
||||
return nttId;
|
||||
}
|
||||
|
||||
public void setNttId(String nttId) {
|
||||
this.nttId = nttId;
|
||||
}
|
||||
|
||||
public String getAtchFileId() {
|
||||
return atchFileId;
|
||||
}
|
||||
|
||||
public void setAtchFileId(String atchFileId) {
|
||||
this.atchFileId = atchFileId;
|
||||
}
|
||||
|
||||
public String getLastUpdusrId() {
|
||||
return lastUpdusrId;
|
||||
}
|
||||
|
||||
public void setLastUpdusrId(String lastUpdusrId) {
|
||||
this.lastUpdusrId = lastUpdusrId;
|
||||
}
|
||||
|
||||
public String getLastUpdusrNm() {
|
||||
return lastUpdusrNm;
|
||||
}
|
||||
|
||||
public void setLastUpdusrNm(String lastUpdusrNm) {
|
||||
this.lastUpdusrNm = lastUpdusrNm;
|
||||
}
|
||||
|
||||
public String getSearchCnd() {
|
||||
return searchCnd;
|
||||
}
|
||||
|
||||
public void setSearchCnd(String searchCnd) {
|
||||
this.searchCnd = searchCnd;
|
||||
}
|
||||
|
||||
public String getSearchWrd() {
|
||||
return searchWrd;
|
||||
}
|
||||
|
||||
public void setSearchWrd(String searchWrd) {
|
||||
this.searchWrd = searchWrd;
|
||||
}
|
||||
|
||||
public String getFrstRegisterId() {
|
||||
return frstRegisterId;
|
||||
}
|
||||
|
||||
public void setFrstRegisterId(String frstRegisterId) {
|
||||
this.frstRegisterId = frstRegisterId;
|
||||
}
|
||||
|
||||
public String getFrstRegisterNm() {
|
||||
return frstRegisterNm;
|
||||
}
|
||||
|
||||
public void setFrstRegisterNm(String frstRegisterNm) {
|
||||
this.frstRegisterNm = frstRegisterNm;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
53
src/main/java/kcc/xxx/service/impl/XxxDAO.java
Normal file
53
src/main/java/kcc/xxx/service/impl/XxxDAO.java
Normal file
@ -0,0 +1,53 @@
|
||||
package kcc.xxx.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import seed.dao.MemberDAOImpl;
|
||||
import seed.map.T_MEMBER;
|
||||
|
||||
/**
|
||||
* XXX 관리를 위한 데이터 접근 클래스
|
||||
* @author 여현준
|
||||
* @since 2021.08.03
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2021.08.03 여현준 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Repository("XxxDAO")
|
||||
public class XxxDAO{
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public T_MEMBER getMemberForm(String memberId){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.add(Restrictions.eq("memberId", memberId));
|
||||
|
||||
List<T_MEMBER> list = criteria.list();
|
||||
|
||||
if(list.size() > 0){
|
||||
return (T_MEMBER)list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
38
src/main/java/kcc/xxx/service/impl/XxxServiceImpl.java
Normal file
38
src/main/java/kcc/xxx/service/impl/XxxServiceImpl.java
Normal file
@ -0,0 +1,38 @@
|
||||
package kcc.xxx.service.impl;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import kcc.xxx.service.XxxService;
|
||||
import seed.map.T_MEMBER;
|
||||
|
||||
/**
|
||||
* 평가정보 관리를 위한 서비스 구현 클래스
|
||||
* @author 여현준
|
||||
* @since 2021.08.03
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2021.08.03 여현준 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Service("XxxService")
|
||||
public class XxxServiceImpl extends EgovAbstractServiceImpl implements XxxService {
|
||||
|
||||
// XXX DAO
|
||||
@Resource(name = "XxxDAO")
|
||||
private XxxDAO xxxDAO;
|
||||
|
||||
public T_MEMBER getMemberForm(String memberId){
|
||||
|
||||
return xxxDAO.getMemberForm(memberId);
|
||||
}
|
||||
}
|
||||
37
src/main/java/kcc/xxx/web/XxxController.java
Normal file
37
src/main/java/kcc/xxx/web/XxxController.java
Normal file
@ -0,0 +1,37 @@
|
||||
package kcc.xxx.web;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import kcc.xxx.service.XxxService;
|
||||
import seed.map.T_MEMBER;
|
||||
|
||||
@Controller
|
||||
public class XxxController {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(XxxController.class);
|
||||
|
||||
// XXX 서비스단
|
||||
@Resource(name = "XxxService")
|
||||
private XxxService xxxService;
|
||||
|
||||
/**
|
||||
* XXX 등록화면
|
||||
*/
|
||||
@RequestMapping("/xxx/xxxTest.do")
|
||||
public String XxxRegist() throws Exception {
|
||||
|
||||
T_MEMBER tMember = new T_MEMBER();
|
||||
|
||||
tMember.setMemberId("seed");
|
||||
|
||||
T_MEMBER tMemberDB = xxxService.getMemberForm(tMember.getMemberId());
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
17
src/main/java/seed/dao/AccessStatisticsDAO.java
Normal file
17
src/main/java/seed/dao/AccessStatisticsDAO.java
Normal file
@ -0,0 +1,17 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_ACCESS_STATISTICS;
|
||||
|
||||
public interface AccessStatisticsDAO {
|
||||
|
||||
public List<HashMap<Object,Object>> getAccessStatisticsList(String memberMergeSiteIdx, String[] qryColumns);
|
||||
|
||||
public T_ACCESS_STATISTICS getAccessStatisticsInfo(String siteIdx, Integer year, Integer month, Integer day, Integer hour);
|
||||
|
||||
public boolean setInsertAccessStatistics(T_ACCESS_STATISTICS accessStatistics);
|
||||
|
||||
public boolean setUpdateAccessStatistics(T_ACCESS_STATISTICS accessStatistics);
|
||||
}
|
||||
126
src/main/java/seed/dao/AccessStatisticsDAOImpl.java
Normal file
126
src/main/java/seed/dao/AccessStatisticsDAOImpl.java
Normal file
@ -0,0 +1,126 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_ACCESS_STATISTICS;
|
||||
|
||||
@Repository
|
||||
public class AccessStatisticsDAOImpl implements AccessStatisticsDAO {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<HashMap<Object,Object>> getAccessStatisticsList(String memberMergeSiteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_ACCESS_STATISTICS.class);
|
||||
|
||||
if(qryColumns != null && qryColumns.length > 0){
|
||||
ProjectionList projectionList = Projections.projectionList();
|
||||
boolean groupCheck = false;
|
||||
for(int i=0; i<qryColumns.length; i++){
|
||||
if(qryColumns[i]!=null && !"".equals(qryColumns[i])){
|
||||
if(!groupCheck && qryColumns[i].indexOf("groupBy") >= 0){
|
||||
groupCheck = true;
|
||||
continue;
|
||||
}
|
||||
if(groupCheck){
|
||||
if(qryColumns[i].indexOf("Count") >= 0){
|
||||
projectionList.add(Projections.count(qryColumns[i]).as(qryColumns[i]));
|
||||
}else{
|
||||
projectionList.add(Projections.groupProperty(qryColumns[i]).as(qryColumns[i]));
|
||||
}
|
||||
}else{
|
||||
projectionList.add(Projections.property(qryColumns[i]).as(qryColumns[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
criteria.setProjection(projectionList);
|
||||
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
||||
}
|
||||
|
||||
if(!memberMergeSiteIdx.equals("")){
|
||||
criteria.add(Restrictions.ne("siteIdx", memberMergeSiteIdx));
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("siteIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public T_ACCESS_STATISTICS getAccessStatisticsInfo(String siteIdx, Integer year, Integer month, Integer day, Integer hour) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_ACCESS_STATISTICS.class);
|
||||
|
||||
criteria.add(Restrictions.eq("siteIdx", siteIdx));
|
||||
criteria.add(Restrictions.eq("accessYear", year));
|
||||
criteria.add(Restrictions.eq("accessMonth", month));
|
||||
criteria.add(Restrictions.eq("accessDay", day));
|
||||
criteria.add(Restrictions.eq("accessHour", hour));
|
||||
|
||||
List<T_ACCESS_STATISTICS> dataList = criteria.list();
|
||||
|
||||
if(dataList!=null && dataList.size()>0){
|
||||
return dataList.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean setInsertAccessStatistics(T_ACCESS_STATISTICS accessStatistics) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(accessStatistics);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error(e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setUpdateAccessStatistics(T_ACCESS_STATISTICS accessStatistics) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
|
||||
Query createQuery = this.sessionFactory.getCurrentSession().createQuery("UPDATE T_ACCESS_STATISTICS SET accessCount = :accessCount WHERE dataIdx = :dataIdx ");
|
||||
|
||||
createQuery.setInteger("accessCount", accessStatistics.getAccessCount());
|
||||
createQuery.setInteger("dataIdx", accessStatistics.getDataIdx());
|
||||
|
||||
int rowCount = createQuery.executeUpdate();
|
||||
|
||||
if(rowCount>0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
}catch(HibernateException e){
|
||||
log.error(e);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
}
|
||||
45
src/main/java/seed/dao/BannerDataDAO.java
Normal file
45
src/main/java/seed/dao/BannerDataDAO.java
Normal file
@ -0,0 +1,45 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_BANNER_DATA;
|
||||
|
||||
|
||||
public interface BannerDataDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BANNER_DATA> getBannerDataAllList(Integer memberIdx);
|
||||
|
||||
//ManagerBannerDataService
|
||||
public Integer getBannerDataOrderFormCnt(Integer bannerSetIdx);
|
||||
|
||||
//ManagerBannerSetService, ManagerBannerDataService
|
||||
public T_BANNER_DATA getBannerDataForm(Integer bannerDataIdx);
|
||||
|
||||
//ManagerBannerSetService
|
||||
public T_BANNER_DATA getBannerDataOrderForm(Integer bannerSetIdx, Integer bannerDataOrder);
|
||||
|
||||
//ManagerBannerSetService
|
||||
public Long getBannerDataListCnt(Integer bannerSetIdx);
|
||||
|
||||
//ManagerBannerDataService
|
||||
public Long getBannerDataListCnt(Integer bannerSetIdx, String column, String search);
|
||||
|
||||
//ManagerBannerDataService
|
||||
public List<T_BANNER_DATA> getBannerDataList(Integer bannerSetIdx);
|
||||
|
||||
//ManagerBannerDataService
|
||||
public List<T_BANNER_DATA> getBannerDataList(Integer bannerSetIdx, int page, int row, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBannerDataService
|
||||
public T_BANNER_DATA setBannerDataRegProc(T_BANNER_DATA tBannerData);
|
||||
|
||||
//ManagerBannerSetService, ManagerBannerDataService
|
||||
public boolean setBannerDataModProc(T_BANNER_DATA tBannerData);
|
||||
|
||||
//ManagerBannerDataService
|
||||
public boolean setBannerDataDelProc(T_BANNER_DATA tBannerData);
|
||||
|
||||
//ManagerBannerDataService
|
||||
public void setBannerDataOrderProc(Integer bannerSetIdx, Integer bannerDataOrder);
|
||||
}
|
||||
358
src/main/java/seed/dao/BannerDataDAOImpl.java
Normal file
358
src/main/java/seed/dao/BannerDataDAOImpl.java
Normal file
@ -0,0 +1,358 @@
|
||||
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_BANNER_DATA;
|
||||
|
||||
/**
|
||||
* T_BANNER_DATA 테이블을 select,insert,update,delete하기 위한 DAO메소드
|
||||
* */
|
||||
@Repository
|
||||
public class BannerDataDAOImpl implements BannerDataDAO {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 모든 배너 데디터를 가지고 오는 메소드
|
||||
* memberIdx 조건에 해당하는 데이터를 가지오 온다 즉 자신이 생성한 배너 데이터 리스트를 가지고 온다
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_BANNER_DATA> 배너 데이터 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BANNER_DATA> getBannerDataAllList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너데이터중 BANNER_DATA_ORDER의 MAX을 가지고 오는 메소드
|
||||
* bannerSetIdx에 해당하는 데이터중 가장 큰 bnaaner_data_order 를 가지고 온다
|
||||
* @param Integer bannerSetIdx 배너셋 idx
|
||||
* @return Integer max banner_data_order
|
||||
* */
|
||||
//ManagerBannerDataService
|
||||
public Integer getBannerDataOrderFormCnt(Integer bannerSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBannerSet.bannerSetIdx", bannerSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.max("bannerDataOrder"));
|
||||
|
||||
if(criteria.uniqueResult() == null){
|
||||
return 0;
|
||||
}else{
|
||||
return (Integer)criteria.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너데이터 상세 정보를 가지고 오는 메소드
|
||||
* bannerDataIdx 에 해당하는 정보를 가지고 오는 메소드
|
||||
* @param Integer bannerDataIdx 배너 데이터 idx
|
||||
* @return T_BANNER_DATA 배너 데이터 정보
|
||||
* */
|
||||
//ManagerBannerSetService, ManagerBannerDataService
|
||||
public T_BANNER_DATA getBannerDataForm(Integer bannerDataIdx) {
|
||||
|
||||
return (T_BANNER_DATA) this.sessionFactory.getCurrentSession().load(T_BANNER_DATA.class, bannerDataIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너데이터를 가지고 오는 메소드
|
||||
* bannerSetIdx, bannerDataOrder의 조건에 해당하는 데이터를 가지고 오는 메소드
|
||||
* @param Integer bannerSetIdx 배너 설정 idx
|
||||
* @param Integer bannerDataOrder 배너 출력 순서 값
|
||||
* @return T_BANNER_DATA 배너 정보
|
||||
* */
|
||||
//ManagerBannerSetService
|
||||
public T_BANNER_DATA getBannerDataOrderForm(Integer bannerSetIdx, Integer bannerDataOrder) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBannerSet.bannerSetIdx", bannerSetIdx),
|
||||
Restrictions.eq("bannerDataOrder", bannerDataOrder)));
|
||||
|
||||
return (T_BANNER_DATA) criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너데이터 개수를 가지고 오는 메소드
|
||||
* bannerSetIdx에 해당하는 데이터 개수를 가지고 온다
|
||||
* @param Integer bannerSetIdx 배너 설정 idx
|
||||
* @return Long 개수
|
||||
* */
|
||||
//ManagerBannerSetService
|
||||
public Long getBannerDataListCnt(Integer bannerSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBannerSet.bannerSetIdx", bannerSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너데이터 개수를 가지고 오는 메소드
|
||||
* bannerSetIdx, column, search에 해당하는 데이터 개수를 가지고 온다.
|
||||
* @param Integer bannerSetIdx 배너 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 검색된 개수
|
||||
* */
|
||||
//ManagerBannerDataService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBannerDataListCnt(Integer bannerSetIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_DATA.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tBannerSet.bannerSetIdx", bannerSetIdx));
|
||||
|
||||
if (!column.equals("")) {
|
||||
if (column.equals("A")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.like("bannerDataTitle", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("bannerDataContent", 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();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너리스트를 가지고 오는 메소드
|
||||
* bannerSetIdx에 해당하는 배너 데이터 리스트를 가지고 오는 메소드
|
||||
* @param Integer bannerSetIdx
|
||||
* @return List<T_BANNER_DATA> 배너 데이터 리스트
|
||||
* */
|
||||
//ManagerBannerDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BANNER_DATA> getBannerDataList(Integer bannerSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.ne("bannerDataType", "N"),
|
||||
Restrictions.eq("bannerDataStatus", "U")),
|
||||
Restrictions.eq("tBannerSet.bannerSetIdx", bannerSetIdx)));
|
||||
|
||||
criteria.addOrder(Order.desc("bannerDataOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 데이터 리스트를 가지고 오는 메소드
|
||||
* bannerSetIdx, column, search 에 해당하는 데이터중 한페이지당 row개수 만큼 page에 해당하는 페이지 리스트를 가지고 온다.
|
||||
* @param Integer bannerSetIdx 배너 설정 idx
|
||||
* @param int page 출력할 페이지 번호
|
||||
* @param int row 한 페이지당 출력 개수
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns 가지고올
|
||||
* @return List<T_BANNER_DATA> 배너 데이터 리스트
|
||||
* */
|
||||
//ManagerBannerDataService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BANNER_DATA> getBannerDataList(Integer bannerSetIdx, int page, int row, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_DATA.class);
|
||||
|
||||
criteria.createCriteria("tBannerSet", "tBannerSet", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tBannerSet.bannerSetIdx", bannerSetIdx));
|
||||
|
||||
if (!column.equals("")) {
|
||||
if (column.equals("A")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.like("bannerDataTitle", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("bannerDataContent", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
} else {
|
||||
criteria.add(Restrictions.like(column, search,
|
||||
MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("bannerDataOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 정보를 저장하는 메소드
|
||||
* @param T_BANNER_DATA tBannerData 저장할 배너 데이터 객체
|
||||
* @return T_BANNER_DATA 저장된 배너 데이터 객체(idx값 체크를 위해서 return)
|
||||
* */
|
||||
//ManagerBannerDataService
|
||||
public T_BANNER_DATA setBannerDataRegProc(T_BANNER_DATA tBannerData){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBannerData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getBannerDataForm(tBannerData.getBannerDataIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 데이터 정보를 수정하는 메소드
|
||||
* 작업의 성공 여부는 exception여부로 결정
|
||||
* @param T_BANNER_DATA tBannerData 수정할 배너 데이터 객체
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerBannerSetService, ManagerBannerDataService
|
||||
public boolean setBannerDataModProc(T_BANNER_DATA tBannerData) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBannerData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 데이터를 삭제 하는 메소드
|
||||
* tBannerData는 반드시 idx에 해당하는 값이 존재 해야 합니다.
|
||||
* @param T_BANNER_DATA tBannerData 삭제할 배너 데이터 객체
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerBannerDataService
|
||||
public boolean setBannerDataDelProc(T_BANNER_DATA tBannerData) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBannerData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 정렬 값을 변경 하는 메소드
|
||||
* bannerSetIdx에 해당하고 bannerDataOrder보다 큰 조건에 해당하는 배너 데이터 리스트를 가지고 와서
|
||||
* 해당 데이터의 banneerDataOrder 값을 +1 해줍니다.
|
||||
* @param Integer bannerSetIdx 배너 설정 정보 idx
|
||||
* @param Integer bannerDataOrder 배너 정렬 값
|
||||
* @return void
|
||||
* */
|
||||
//ManagerBannerDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setBannerDataOrderProc(Integer bannerSetIdx, Integer bannerDataOrder){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBannerSet.bannerSetIdx", bannerSetIdx),
|
||||
Restrictions.gt("bannerDataOrder", bannerDataOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("bannerDataOrder"));
|
||||
|
||||
List<T_BANNER_DATA> tBannerDataList = criteria.list();
|
||||
|
||||
if(tBannerDataList.size() > 0){
|
||||
for(int i=0; i<tBannerDataList.size(); i++){
|
||||
|
||||
T_BANNER_DATA tBannerDataDB = tBannerDataList.get(i);
|
||||
tBannerDataDB.setBannerDataOrder(tBannerDataDB.getBannerDataOrder()-1);
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBannerDataDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
44
src/main/java/seed/dao/BannerManagerDAO.java
Normal file
44
src/main/java/seed/dao/BannerManagerDAO.java
Normal file
@ -0,0 +1,44 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_BANNER_MANAGER;
|
||||
|
||||
public interface BannerManagerDAO {
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_BANNER_MANAGER> getBannerManagerList(String siteIdx);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BANNER_MANAGER> getBannerManagerList(Integer memberIdx);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public T_BANNER_MANAGER getBannerManagerForm(Integer bannerManagerIdx);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public Long getBannerManagerListGrantCnt(Integer bannerSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public Long getBannerManagerListCnt(Integer bannerSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public Long getBannerManagerListCnt(Integer bannerSetIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public Long getBannerManagerListCnt(String siteIdx, Integer memberIdx, String column, String search);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public List<T_BANNER_MANAGER> getBannerManagerList(Integer bannerSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public List<T_BANNER_MANAGER> getBannerManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public boolean setBannerManagerRegProc(T_BANNER_MANAGER tBannerManager);
|
||||
|
||||
//ManagerBannerManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setBannerManagerModProc(T_BANNER_MANAGER tBannerManager);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public boolean setBannerManagerDelProc(T_BANNER_MANAGER tBannerManager);
|
||||
}
|
||||
433
src/main/java/seed/dao/BannerManagerDAOImpl.java
Normal file
433
src/main/java/seed/dao/BannerManagerDAOImpl.java
Normal file
@ -0,0 +1,433 @@
|
||||
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_BANNER_MANAGER;
|
||||
|
||||
/**
|
||||
* T_BANNER_MANAGER 정보를 select, insert, update, delete 하는 메소드
|
||||
* */
|
||||
@Repository
|
||||
public class BannerManagerDAOImpl implements BannerManagerDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 리스트
|
||||
* siteIdx에 해당하는 배너 관리자 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return List<T_BANNER_MANAGR> 배너 관리자 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BANNER_MANAGER> getBannerManagerList(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tBannerSet", "tBannerSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tBannerSet.tSite.siteIdx", siteIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 리스트를 가지고 오는 메소드
|
||||
* memberIdx에 해당하는 배너 관리자 리스트를 가지고 오는 메소드 자신이 관리자로 있는
|
||||
* 배너 정보를 모두 가지고 온다.
|
||||
* @param Integer memberIdx 사용자 idx
|
||||
* @return List<T_BANNER_MANAGER> 배너 관리자 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BANNER_MANAGER> getBannerManagerList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_MANAGER.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 배너 관리자 정보를 가지고 오는 메소드
|
||||
* bannerManagerIdx에 해당하는 관리자 정보를 가지고 오는 메소드
|
||||
* @param Integer bannerManagerIdx 배너 관리자 idx
|
||||
* @return T_BANNER_MANAGER 배너 관리자 정보
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
public T_BANNER_MANAGER getBannerManagerForm(Integer bannerManagerIdx){
|
||||
|
||||
return (T_BANNER_MANAGER) this.sessionFactory.getCurrentSession().load(T_BANNER_MANAGER.class, bannerManagerIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 리스트 개수를 가지고 오는 메소드
|
||||
* bannertSetIdx, memberIdx에 해당하는 배너 관리자 개수를 가지고 오는 메소드
|
||||
* 해당 메소드를 통해서 배너 관리자 유무를 판단 할 수 있습니다.
|
||||
* @param Integer bannerSetIdx 배너 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 배너 관리자 리스트 개수
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBannerManagerListGrantCnt(Integer bannerSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBannerSet.bannerSetIdx", bannerSetIdx),
|
||||
Restrictions.eq("bannerManagerStatus", "U")),
|
||||
Restrictions.eq("bannerManagerGrant", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 리스트 개수를 가지고 오는 메소드
|
||||
* bannertSetIdx, memberIdx에 해당하는 배너 관리자 개수를 가지고 오는 메소드
|
||||
* 해당 메소드를 통해서 배너 관리자 유무를 판단 할 수 있습니다.
|
||||
* @param Integer bannerSetIdx 배너 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 배너 관리자 리스트 개수
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBannerManagerListCnt(Integer bannerSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBannerSet.bannerSetIdx", bannerSetIdx),
|
||||
Restrictions.eq("bannerManagerStatus", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 리스트 개수를 가지고 오는 메소드
|
||||
* bannerSetIdx, column, search 에 해당하는 배너 리스트 개수를 가지고 오는 메소드
|
||||
* @param Integer bannerSetIdx 배너설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 매니저 리스트 개수
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBannerManagerListCnt(Integer bannerSetIdx, Integer selGroup, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tBannerSet.bannerSetIdx", bannerSetIdx));
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 리스트 개수를 가지고 오는 메소드
|
||||
* bannerSetIdx, column, search 에 해당하는 배너 리스트 개수를 가지고 오는 메소드
|
||||
* @param Integer bannerSetIdx 배너설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 매니저 리스트 개수
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBannerManagerListCnt(String siteIdx, Integer memberIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tBannerSet", "tBannerSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBannerSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 리스트를 가지고 오는 메소드
|
||||
* bannerSetIdx, column, search 에 해당하는 관리자 리스트 row개를 page페이지에 해당 하는 데이터를
|
||||
* 가지고 오는 메소드
|
||||
* select시 order, orderColumn조건에 해당하는 방식으로 정렬을 하게 된다.
|
||||
* @param Integer bannerSetIdx 배너설정 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param Stirng orderColumn order by 에 사용할 컬럼 정보
|
||||
* @param String order order by 에 사용할 정렬 기준 ex> DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 할 컬럼 정보
|
||||
* @return List<T_BANNER_MANGER> 배너 관리자 리스트
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BANNER_MANAGER> getBannerManagerList(Integer bannerSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tBannerSet.bannerSetIdx", bannerSetIdx));
|
||||
|
||||
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 = "bannerManagerIdx";
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 리스트를 가지고 오는 메소드
|
||||
* bannerSetIdx, column, search 에 해당하는 관리자 리스트 row개를 page페이지에 해당 하는 데이터를
|
||||
* 가지고 오는 메소드
|
||||
* select시 order, orderColumn조건에 해당하는 방식으로 정렬을 하게 된다.
|
||||
* @param Integer bannerSetIdx 배너설정 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param Stirng orderColumn order by 에 사용할 컬럼 정보
|
||||
* @param String order order by 에 사용할 정렬 기준 ex> DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 할 컬럼 정보
|
||||
* @return List<T_BANNER_MANGER> 배너 관리자 리스트
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BANNER_MANAGER> getBannerManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tBannerSet", "tBannerSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.and(
|
||||
Restrictions.eq("tBannerSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 정보를 저장하는 메소드$
|
||||
* @param T_BANNER_MANAGER tBannerManager 관리자 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
public boolean setBannerManagerRegProc(T_BANNER_MANAGER tBannerManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBannerManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 정보를 수정하는 메소드
|
||||
* @param T_BANNER_MANAGER tBannerManager 배너관리자 객체
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBannerManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setBannerManagerModProc(T_BANNER_MANAGER tBannerManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBannerManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 관리자 정보를 삭제 하는 메소드
|
||||
* @param T_BANNER_MANAGER tBannerManager 삭제할 배너관리자 객체
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
public boolean setBannerManagerDelProc(T_BANNER_MANAGER tBannerManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBannerManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
32
src/main/java/seed/dao/BannerSetDAO.java
Normal file
32
src/main/java/seed/dao/BannerSetDAO.java
Normal file
@ -0,0 +1,32 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_BANNER_SET;
|
||||
|
||||
public interface BannerSetDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BANNER_SET> getBannerSetList(Integer memberIdx);
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_BANNER_SET> getBannerSetList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public Long getBannerSetListCnt(String siteIdx, String column, String search);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public List<T_BANNER_SET> getBannerSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public T_BANNER_SET getBannerSetForm(Integer bannerSetIdx);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public T_BANNER_SET setBannerSetRegProc(T_BANNER_SET tBannerSet);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public boolean setBannerSetModProc(T_BANNER_SET tBannerSet);
|
||||
|
||||
//ManagerBannerManagerService
|
||||
public boolean setBannerSetDelProc(T_BANNER_SET tBannerSet);
|
||||
}
|
||||
275
src/main/java/seed/dao/BannerSetDAOImpl.java
Normal file
275
src/main/java/seed/dao/BannerSetDAOImpl.java
Normal file
@ -0,0 +1,275 @@
|
||||
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_BANNER_SET;
|
||||
|
||||
/**
|
||||
* T_BANNER_SET테이블의 증보를 SELECT, INSERT, UPDATE하는 DAO 클래스
|
||||
* */
|
||||
@Repository
|
||||
public class BannerSetDAOImpl implements BannerSetDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 설정 정보의 리스트를 가지고 오는 메소드
|
||||
* 회원이 생성한 배너 설정 정보 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 사용자 idx
|
||||
* @return List<T_BANNER_SET> 배너 설정 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BANNER_SET> getBannerSetList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_SET.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 설정 리스트를 가지고 오는 메소드
|
||||
* siteIdx에 해당하는 배너 설정 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select할 컬럼 정보
|
||||
* @return List<T_BANNER_SET> 배너 설정 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BANNER_SET> getBannerSetList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_SET.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
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.addOrder(Order.asc("bannerSetIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 설정 개수를 가지고 오는 메소드
|
||||
* siteIdx, column, search에 해당하는 배너 설정 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBannerSetListCnt(String siteIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_SET.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("bannerSetName", 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();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 설정 리스트를 가지고 오는 메소드
|
||||
* stieIdx, column, search에 해당하는 배서 설정 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param int page 출력할 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param String orderColumn order by할 column정보
|
||||
* @param String order order by 정렬기준 ex>DESC,ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select할 컬럼 정보
|
||||
* @return List<T_BANNER_SET> 배너 설정 리스트 정보
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BANNER_SET> getBannerSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BANNER_SET.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tBannerDatas", "tBannerDatas", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tSite.siteIdx", siteIdx));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("bannerSetName", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 설정 정보를 가지고 오는 메소드
|
||||
* bannerSetIdx 정보에 해당하는 데이터를 가지고 오는 메소드
|
||||
* @param Integer bannerSetIdx 배너 설정 idx
|
||||
* @return T_BANNER_SET 배너 설정 정보
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
public T_BANNER_SET getBannerSetForm(Integer bannerSetIdx){
|
||||
|
||||
return (T_BANNER_SET) this.sessionFactory.getCurrentSession().load(T_BANNER_SET.class, bannerSetIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 설정 정보를 저장하는 메소드
|
||||
* @param T_BANNER_SET tBannerSet 저장할 배너 설정 객체
|
||||
* @return T_BANNER_SET 저장된 배너 설정 객체
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
public T_BANNER_SET setBannerSetRegProc(T_BANNER_SET tBannerSet){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBannerSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getBannerSetForm(tBannerSet.getBannerSetIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 설정 정보를 저장하는 메소드
|
||||
* @param T_BANNER_SET tBannerSet 저장할 배너 설정 객체
|
||||
* @return T_BANNER_SET 저장된 배너 설정 객체
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
public boolean setBannerSetModProc(T_BANNER_SET tBannerSet){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBannerSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 배너 설정 정보를 삭제 하는 메소드
|
||||
* @param T_BANNER_SET tBannerSet 삭제할 배너 설정 객체
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBannerManagerService
|
||||
public boolean setBannerSetDelProc(T_BANNER_SET tBannerSet){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBannerSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
30
src/main/java/seed/dao/BbsAuthDAO.java
Normal file
30
src/main/java/seed/dao/BbsAuthDAO.java
Normal file
@ -0,0 +1,30 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_BBS_AUTH;
|
||||
|
||||
public interface BbsAuthDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BBS_AUTH> getBbsAuthList(Integer memberIdx);
|
||||
|
||||
//ManagerBbsAuthService
|
||||
public T_BBS_AUTH getBbsAuthForm(Integer bbsAuthIdx);
|
||||
|
||||
//ManagerBbsAuthService
|
||||
public T_BBS_AUTH getBbsAuthForm(Integer bbsSetIdx, Integer groupLevel);
|
||||
|
||||
//ManagerBbsAuthService
|
||||
public List<T_BBS_AUTH> getBbsAuthList(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//UserBbsAuthService
|
||||
public List<Map<Object, Object>> getBbsAuthMapList(Integer bbsSetIdx, Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//AdminGroupService, ManagerGroupService, ManagerBbsSetService
|
||||
public boolean setBbsAuthRegProc(T_BBS_AUTH tBbsAuth);
|
||||
|
||||
//ManagerBbsAuthService
|
||||
public boolean setBbsAuthModProc(T_BBS_AUTH tBbsAuth);
|
||||
}
|
||||
229
src/main/java/seed/dao/BbsAuthDAOImpl.java
Normal file
229
src/main/java/seed/dao/BbsAuthDAOImpl.java
Normal file
@ -0,0 +1,229 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_BBS_AUTH;
|
||||
|
||||
/**
|
||||
* T_BBS_AUTH테이블 정보를 SELECT, INSERT, UPDATE, DELETE 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class BbsAuthDAOImpl implements BbsAuthDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 권한 정보 리스트를 가지고 오는 메소드
|
||||
* 게시판 권한 정보중 자신이 생성한 정보 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 사용자 idx
|
||||
* @return List<T_BBS_AUTH> 게시판 권한 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_AUTH> getBbsAuthList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_AUTH.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 권한 정보를 가지고 오는 메소드
|
||||
* bbsAuthIdx 에 해당하는 권한 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsAuthIdx 게시판 권한 idx
|
||||
* @return T_BBS_AUTH 게시판 권한 정보
|
||||
* */
|
||||
//ManagerBbsAuthService
|
||||
public T_BBS_AUTH getBbsAuthForm(Integer bbsAuthIdx){
|
||||
|
||||
return (T_BBS_AUTH) this.sessionFactory.getCurrentSession().load(T_BBS_AUTH.class, bbsAuthIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 권한 정보를 가지고 오는 메소드
|
||||
* bbsAuthIdx 에 해당하는 권한 정보를 가지고 오는 메소드
|
||||
* @return T_BBS_AUTH 게시판 권한 정보
|
||||
* */
|
||||
//ManagerBbsAuthService
|
||||
@SuppressWarnings("deprecation")
|
||||
public T_BBS_AUTH getBbsAuthForm(Integer bbsSetIdx, Integer groupLevel){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_AUTH.class);
|
||||
|
||||
criteria.createCriteria("tGroup", "tGroup", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("tGroup.groupLevel", groupLevel)));
|
||||
|
||||
return (T_BBS_AUTH) criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 권한 리스트를 가지고 오는 메소드
|
||||
* bbsSetIdx에 해당하는 권한 리스트를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 정보
|
||||
* @param String[] qryColumns SELECT할 컬럼 정보
|
||||
* @return List<T_BBS_AUTH> 게시판 권한 리스트
|
||||
* */
|
||||
//ManagerBbsAuthService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BBS_AUTH> getBbsAuthList(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_AUTH.class);
|
||||
|
||||
criteria.createCriteria("tGroup", "tGroup", 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.add(Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("tGroup.groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 권한 리스트 정보를 가지고 오는 메소드
|
||||
* bbsSetIdx, memberIdx에 해당하는 게시판 권한 리스트를 가지고 오는 메소드
|
||||
* memberIdx 체크를 위해서 group, groups와 조인을 해서 검색 memberIdx가 0일 경우 groupLevel=999로 검색
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @param String[] qryColumns select할 컬럼 정보
|
||||
* @return List<Map<Object, Object>> 게시판 권한 리스트
|
||||
* */
|
||||
//UserBbsAuthService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<Map<Object, Object>> getBbsAuthMapList(Integer bbsSetIdx, Integer memberIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_AUTH.class);
|
||||
|
||||
criteria.createCriteria("tGroup", "tGroup", Criteria.LEFT_JOIN).
|
||||
createCriteria("tGroupss", "tGroupss", 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(memberIdx > 0){//로그인 되었을때 해당 테이블의 권한 검색
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("tGroupss.tMember.memberIdx", memberIdx)));
|
||||
}else{//로그인이 안되고 손님일 경우일때 grouplevel 999로 검색
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("tGroup.groupLevel", 999)));
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.asc("tGroup.groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 권한 정보를 디비에 저장하는 메소드
|
||||
* @param T_BBS_AUTH tBbsAuth 저장할 게시판 권한 객체
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//AdminGroupService, ManagerGroupService, ManagerBbsSetService
|
||||
public boolean setBbsAuthRegProc(T_BBS_AUTH tBbsAuth){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBbsAuth);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 권한 정보를 수정하는 메소드
|
||||
* @param T_BBS_AUTH tBbsAuth 수정한 게시판 권한 객체
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsAuthService
|
||||
public boolean setBbsAuthModProc(T_BBS_AUTH tBbsAuth){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsAuth);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
}
|
||||
46
src/main/java/seed/dao/BbsCategoryDAO.java
Normal file
46
src/main/java/seed/dao/BbsCategoryDAO.java
Normal file
@ -0,0 +1,46 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_BBS_CATEGORY;
|
||||
import seed.map.VIEW_BBS_CATEGORY;
|
||||
|
||||
public interface BbsCategoryDAO {
|
||||
|
||||
//ManagerBbsService
|
||||
public List<VIEW_BBS_CATEGORY> getBbsCategoryList(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsService, UserBbsService
|
||||
public List<T_BBS_CATEGORY> getBbsCategoryListt(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsService
|
||||
public List<T_BBS_CATEGORY> getBbsCategoryList(Integer bbsSetIdx, String bbsCategoryIdxs, Integer bbsCategoryDepth);
|
||||
|
||||
//ManagerBbsService
|
||||
public Map<Object, Object> getBbsCategoryParentForm(Integer bbsSetIdx, String bbsCategoryParentIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsService
|
||||
public Map<Object, Object> getBbsCategoryForm(Integer bbsSetIdx, String bbsCategoryParentIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsService
|
||||
public Integer getBbsCategoryOrderForm(Integer bbsSetIdx, String bbsCategoryIdxs, Integer bbsCategoryDepth);
|
||||
|
||||
//ManagerBbsService
|
||||
public T_BBS_CATEGORY getBbsCategoryForm(Integer bbsCategoryIdx);
|
||||
|
||||
//ManagerBbsService
|
||||
public T_BBS_CATEGORY getBbsCategoryOrderForm(Integer bbsSetIdx, Integer bbsCategoryDepth, Integer bbsCategoryOrder, String orderType);
|
||||
|
||||
//ManagerBbsService
|
||||
public void setBbsCategoryOrderProc(Integer bbsSetIdx, Integer bbsCategoryOrder, Integer bbsCategoryListCnt, String orderType);
|
||||
|
||||
//ManagerBbsService
|
||||
public boolean setBbsCategoryRegProc(T_BBS_CATEGORY tBbsCategory);
|
||||
|
||||
//ManagerBbsService
|
||||
public boolean setBbsCategoryModProc(T_BBS_CATEGORY tBbsCategory);
|
||||
|
||||
//ManagerBbsService
|
||||
public boolean setBbsCategoryDelProc(T_BBS_CATEGORY tBbsCategory);
|
||||
}
|
||||
472
src/main/java/seed/dao/BbsCategoryDAOImpl.java
Normal file
472
src/main/java/seed/dao/BbsCategoryDAOImpl.java
Normal file
@ -0,0 +1,472 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_BBS_CATEGORY;
|
||||
import seed.map.VIEW_BBS_CATEGORY;
|
||||
|
||||
/**
|
||||
* T_BBS_CATEGORY 테이블 정보를 SELECT, INSERT, UPDATE, DELETE 하는 class
|
||||
* VIEW_BBS_CATEOGRY 뷰테이블 정보를 SELECT 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class BbsCategoryDAOImpl implements BbsCategoryDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 카테고리 리스트를 가지고 오는 메소드
|
||||
* @param Integer bbsSetidx 게시판 설정 idx
|
||||
* @param String[] qryColumns select 할 컬럼 정보
|
||||
* @return List<VIEW_BBS_CATEOGRY> 카테고리 리스트
|
||||
* */
|
||||
//ManagerBbsService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<VIEW_BBS_CATEGORY> getBbsCategoryList(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(VIEW_BBS_CATEGORY.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("bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsCategoryOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 카테고리 리스트를 가지고 오는 메소드
|
||||
* bbsSetIdx에 해당하는 카테고리 리스틀 가지고 온다
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String[] qryColumns select 할 컬럼 정보
|
||||
* @return List<T_BBS_CATEGORY> 게시판 카테고리 리스트
|
||||
* */
|
||||
//ManagerBbsService, UserBbsService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_CATEGORY> getBbsCategoryListt(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_CATEGORY.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("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.addOrder(
|
||||
Order.asc("bbsCategoryDepth")).addOrder(
|
||||
Order.asc("bbsCategoryOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 카테고리 리스트를 가지고 오는 메소드
|
||||
* bbsSetIdx, bbsCategoryIdxs 에 해당하는 카테고리 리스트를 가지고 온다.
|
||||
* bbsCategoryIdxs where 조건 작업을 위해서 0~bbsCategoryDepth 만큼 for문을 돌려서
|
||||
* bbsCateogryIdx1~bbsCateogryIdx5에 해당하는 조건문을 생성 한다.
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String bbsCategoryIdxs 게시판 카테고리 idxs정보 ex>0100000000 2자리수를 기준으로 depth별 그룹을 이루에 된다.
|
||||
* @param Integer bbsCategoryDepth 게시판 depth설정 정보-카테고리의 단계를 표현한다. ex>1 or 2 or 3
|
||||
* @return List<T_BBS_CATEGORY> 카테고리 리스트
|
||||
* */
|
||||
//ManagerBbsService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_CATEGORY> getBbsCategoryList(Integer bbsSetIdx, String bbsCategoryIdxs, Integer bbsCategoryDepth){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_CATEGORY.class);
|
||||
|
||||
String[] bbsCategoryIdxss = new String[5];
|
||||
|
||||
for(int d=0; d<bbsCategoryDepth; d++){
|
||||
bbsCategoryIdxss[d] = bbsCategoryIdxs.substring((d*2), ((d*2)+2));
|
||||
criteria.add(Restrictions.eq("bbsCategoryIdx"+(d+1), bbsCategoryIdxss[d]));
|
||||
}
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsCategoryOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 상위 정보를 가지고 오는 메소드
|
||||
* bbsSetIdx, bbsCategoryParentIdx에 해당하는 카테고리 리스트중 bbsCategoryIdx1~bbsCategoryIdx5 컬럼의 DESC정렬중 상위 데이터1개를
|
||||
* 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String bbsCategoryParentIdx 상위 카테고리 idx
|
||||
* @param String[] qryColumns select 할 컬럼 정보
|
||||
* @return Map<Object, Object> 카테고리 정보
|
||||
* */
|
||||
//ManagerBbsService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public Map<Object, Object> getBbsCategoryParentForm(Integer bbsSetIdx, String bbsCategoryParentIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_CATEGORY.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
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.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsCategoryParentIdx", bbsCategoryParentIdx)));
|
||||
|
||||
for(int o=1; o<5; o++){
|
||||
criteria.addOrder(Order.desc("bbsCategoryIdx"+o));
|
||||
}
|
||||
|
||||
ArrayList<Map<Object, Object>> list = (ArrayList<Map<Object, Object>>)criteria.list();
|
||||
|
||||
if(list != null && list.size() > 0){
|
||||
return list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String bbsCategoryParentIdx 상위 카테고리 idx
|
||||
* @param String[] qryColumns select컬럼 정보
|
||||
* @return Map<Object, Object>
|
||||
* */
|
||||
//ManagerBbsService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public Map<Object, Object> getBbsCategoryForm(Integer bbsSetIdx, String bbsCategoryParentIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_CATEGORY.class);
|
||||
|
||||
criteria.createCriteria("tBbsSet", "tBbsSet", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember", "tMember", 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.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsCategoryIdxs", bbsCategoryParentIdx)));
|
||||
|
||||
ArrayList<Map<Object, Object>> list = (ArrayList<Map<Object, Object>>)criteria.list();
|
||||
|
||||
if(list != null && list.size() > 0){
|
||||
return list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 정렬 정보를 가지고 오는 메소드
|
||||
* bbsSetIdx에 해당하는 카테고리 정부중 bbsCategoryOrder DESC로 정렬한 데이터중 상위 1개의 bbsCategoryOrder값을 가지고 온다
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String bbsCategoryIdxs 게시판 카테고리 idxs정보 ex>0100000000 2자리수를 기준으로 depth별 그룹을 이루에 된다.
|
||||
* @param Integer bbsCategoryDepth 게시판 depth설정 정보-카테고리의 단계를 표현한다. ex>1 or 2 or 3
|
||||
* @return Integer bbsCategoryOrder 정보
|
||||
* */
|
||||
//ManagerBbsService
|
||||
public Integer getBbsCategoryOrderForm(Integer bbsSetIdx, String bbsCategoryIdxs, Integer bbsCategoryDepth){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_CATEGORY.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
String[] bbsCategoryIdxss = new String[5];
|
||||
|
||||
for(int d=0; d<bbsCategoryDepth; d++){
|
||||
bbsCategoryIdxss[d] = bbsCategoryIdxs.substring((d*2), ((d*2)+2));
|
||||
criteria.add(Restrictions.eq("bbsCategoryIdx"+(d+1), bbsCategoryIdxss[d]));
|
||||
}
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.addOrder(Order.desc("bbsCategoryOrder"));
|
||||
|
||||
T_BBS_CATEGORY tBbsCategory = (T_BBS_CATEGORY)criteria.list().get(0);
|
||||
|
||||
return tBbsCategory.getBbsCategoryOrder();
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 정보를 가지고 오는 메소드
|
||||
* bbsCategoryIdx 에 해당하는 카테고리 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsCategoryIdx 카테고리 idx
|
||||
* @return T_BBS_CATEGORY 카테고리 정보 객체
|
||||
* */
|
||||
//ManagerBbsService
|
||||
public T_BBS_CATEGORY getBbsCategoryForm(Integer bbsCategoryIdx){
|
||||
|
||||
return (T_BBS_CATEGORY) this.sessionFactory.getCurrentSession().load(T_BBS_CATEGORY.class, bbsCategoryIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 정렬 정보를 가지고 오는 메소드
|
||||
* bbsSetIdx, bbsCategoryDepthdp 해당하는 값중 orderType에 따라서 bbsCategoryOrder 보다 작거나 큰 정렬된 데이터중 하나를 가지고 오는 메소드
|
||||
* up=bbsCategoryOrder 작은(<) 데이터중 bbsCategoryOrder DESC정렬 상위 1개
|
||||
* down=bbsCategoryOrder 큰(>) 데이터중 bbsCategoryOrder ASC정렬 상위 1개
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer bbsCategoryDepth 게시판 depth설정 정보-카테고리의 단계를 표현한다. ex>1 or 2 or 3
|
||||
* @param Integer bbsCategoryOrder 게시판 정렬 순서 값
|
||||
* @param String orderType 가지고올 데이터의 bbsCategoryOrder desc,asc를 결정하는 메소드 ex>up,down
|
||||
* @return T_BBS_CATEGORY 카테고리 정보 객체
|
||||
* */
|
||||
//ManagerBbsService
|
||||
public T_BBS_CATEGORY getBbsCategoryOrderForm(Integer bbsSetIdx, Integer bbsCategoryDepth, Integer bbsCategoryOrder, String orderType){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_CATEGORY.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
if(orderType.equals("up")){
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsCategoryDepth", bbsCategoryDepth)),
|
||||
Restrictions.lt("bbsCategoryOrder", bbsCategoryOrder)));
|
||||
|
||||
criteria.addOrder(Order.desc("bbsCategoryOrder"));
|
||||
|
||||
}else{
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsCategoryDepth", bbsCategoryDepth)),
|
||||
Restrictions.gt("bbsCategoryOrder", bbsCategoryOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsCategoryOrder"));
|
||||
}
|
||||
|
||||
return (T_BBS_CATEGORY)criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 정보를 저장하는 메소드
|
||||
* @param T_BBS_CATEGORY tBbsCategory 저장할 카테고리 객체
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsService
|
||||
public boolean setBbsCategoryRegProc(T_BBS_CATEGORY tBbsCategory){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBbsCategory);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 정보를 수정하는 메소드
|
||||
* @param T_BBS_CATEGORY tBbsCategory 수정할 카테고리 객체
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsService
|
||||
public boolean setBbsCategoryModProc(T_BBS_CATEGORY tBbsCategory){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsCategory);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 정보를 삭제 하는 메소드
|
||||
* @param T_BBS_CATEGORY tBbsCategory 삭제할 카테고리 객체
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsService
|
||||
public boolean setBbsCategoryDelProc(T_BBS_CATEGORY tBbsCategory){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBbsCategory);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 카테고리 정렬 정보를 수정하는 메소드
|
||||
* bbsSetIdx 에 맞고 bbsCategoryOrder 보다 큰 카테고리 리스트를 가지고 와서
|
||||
* orderType에 맞춰서 bbsCategoryOrder값을 수정하는 메소드
|
||||
* orderType-plus= +1
|
||||
* orderType-minus= -1
|
||||
* orderType-minuss= -bbsCategoryListCnt
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer bbsCategoryOrder 카테고리 정렬 순서 값
|
||||
* @param Integer bbsCategoryListCnt 카테고리 리스트 개수
|
||||
* @param String orderType 정렬 형식 ex>plus, minus, minuss
|
||||
* */
|
||||
//ManagerBbsService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setBbsCategoryOrderProc(Integer bbsSetIdx, Integer bbsCategoryOrder, Integer bbsCategoryListCnt, String orderType){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_CATEGORY.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.ge("bbsCategoryOrder", bbsCategoryOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsCategoryOrder"));
|
||||
|
||||
List<T_BBS_CATEGORY> tBbsCategoryList = criteria.list();
|
||||
|
||||
if(tBbsCategoryList.size() > 0){
|
||||
for(int i=0; i<tBbsCategoryList.size(); i++){
|
||||
|
||||
T_BBS_CATEGORY tBbsCategoryDB = tBbsCategoryList.get(i);
|
||||
|
||||
if(orderType.equals("plus")){
|
||||
tBbsCategoryDB.setBbsCategoryOrder(tBbsCategoryDB.getBbsCategoryOrder()+1);
|
||||
}else if(orderType.equals("minus")){
|
||||
tBbsCategoryDB.setBbsCategoryOrder(tBbsCategoryDB.getBbsCategoryOrder()-1);
|
||||
}else if(orderType.equals("minuss")){
|
||||
tBbsCategoryDB.setBbsCategoryOrder(tBbsCategoryDB.getBbsCategoryOrder()-bbsCategoryListCnt);
|
||||
}
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsCategoryDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
29
src/main/java/seed/dao/BbsCommentDAO.java
Normal file
29
src/main/java/seed/dao/BbsCommentDAO.java
Normal file
@ -0,0 +1,29 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_BBS_COMMENT;
|
||||
|
||||
public interface BbsCommentDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BBS_COMMENT> getBbsCommentList(Integer memberIdx);
|
||||
|
||||
//UserBbsCommentService
|
||||
public T_BBS_COMMENT getBbsCommentForm(Integer bbsCommentIdx);
|
||||
|
||||
//UserBbsCommentService
|
||||
public List<T_BBS_COMMENT> getBbsCommentList(Integer bbsDataIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//UserBbsCommentService
|
||||
public Long getBbsCommentListCnt(Integer bbsDataIdx);
|
||||
|
||||
//UserBbsCommentService
|
||||
public boolean setBbsCommentRegProc(T_BBS_COMMENT tBbsComment);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public boolean setBbsCommentModProc(T_BBS_COMMENT tBbsComment);
|
||||
|
||||
//UserBbsCommentService
|
||||
public boolean setBbsCommentDelProc(T_BBS_COMMENT tBbsComment);
|
||||
}
|
||||
197
src/main/java/seed/dao/BbsCommentDAOImpl.java
Normal file
197
src/main/java/seed/dao/BbsCommentDAOImpl.java
Normal file
@ -0,0 +1,197 @@
|
||||
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.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_BBS_COMMENT;
|
||||
|
||||
/**
|
||||
* T_BBS_COMMENT 테이블 정보를 SELECT, INSERT, UPDATE, DELETE 하는 메소드
|
||||
* */
|
||||
@Repository
|
||||
public class BbsCommentDAOImpl implements BbsCommentDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 한줄 답변 리스트를 가지고 오는 메소드
|
||||
* memberIdx에 해당하는 한줄 답변 리스트를 가지고 온다
|
||||
* @param Integer memberIdx 회원 정보 idx
|
||||
* @return List<T_BBS_COMMENT> 한줄 답변 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_COMMENT> getBbsCommentList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_COMMENT.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 한줄 답변 정보를 가지고 오는 메소드
|
||||
* bbsCommentIdx에 해당하는 한줄답변 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsCommentIdx 한줄답변 idx
|
||||
* @return T_BBS_COMMENT 한줄답변 객체
|
||||
* */
|
||||
//UserBbsCommentService
|
||||
public T_BBS_COMMENT getBbsCommentForm(Integer bbsCommentIdx){
|
||||
|
||||
return (T_BBS_COMMENT) this.sessionFactory.getCurrentSession().load(T_BBS_COMMENT.class, bbsCommentIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 한줄 답변 리스트를 가지고 오는 메소드
|
||||
* bbsDataIdx에 해당하는 한줄답변 리스트를 row개씩 page데이터를 가지고 온다
|
||||
* @param Integer bbsDataIdx 게시물 idx
|
||||
* @param int page 출력할 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param String[] qryColumns select할 컬럼 지정
|
||||
* @return List<T_BBS_COMMENT> 한줄 답변 리스트
|
||||
* */
|
||||
//UserBbsCommentService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BBS_COMMENT> getBbsCommentList(Integer bbsDataIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_COMMENT.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tBbsData.bbsDataIdx", bbsDataIdx));
|
||||
|
||||
criteria.addOrder(Order.desc("bbsCommentIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 한줄답변 개수를 가지고 오는 메소드
|
||||
* bbsDataIdx에 해당하는 한줄답변 개수를 가지고 오는 메소드
|
||||
* @param Integer bbsDataIdx 게시물 idx
|
||||
* @return Long 한줄답변 개수
|
||||
* */
|
||||
//UserBbsCommentService
|
||||
@SuppressWarnings("unchecked")
|
||||
public Long getBbsCommentListCnt(Integer bbsDataIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_COMMENT.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsData.bbsDataIdx", bbsDataIdx));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
List<Long> tBbsComment = criteria.list();
|
||||
|
||||
return tBbsComment.get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 한줄답변 정보를 디비에 저장하는 메소드
|
||||
* @param T_BBS_COMMENT tBbsComment 저장할 한줄답변 정보
|
||||
* @return boolean 작업 성공여부
|
||||
* */
|
||||
//UserBbsCommentService
|
||||
public boolean setBbsCommentRegProc(T_BBS_COMMENT tBbsComment){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBbsComment);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 한줄답변 내용을 수정하는 메소드
|
||||
* @param T_BBS_COMMENT tBbsComment 수정할 한줄답변 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public boolean setBbsCommentModProc(T_BBS_COMMENT tBbsComment){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsComment);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 한줄 답변 정보를 삭제하는 메소드
|
||||
* @param T_BBS_COMMENT tBbsComment 삭제할 한줄답변 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//UserBbsCommentService
|
||||
public boolean setBbsCommentDelProc(T_BBS_COMMENT tBbsComment){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBbsComment);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
79
src/main/java/seed/dao/BbsDataDAO.java
Normal file
79
src/main/java/seed/dao/BbsDataDAO.java
Normal file
@ -0,0 +1,79 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_BBS_DATA;
|
||||
import seed.map.T_POINT;
|
||||
|
||||
public interface BbsDataDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BBS_DATA> getBbsDataList(Integer memberIdx);
|
||||
|
||||
//UserBbsDataService
|
||||
public List<T_BBS_DATA> getBestDataList(Integer bbsSetIdx, int row, String[] qryColumns);
|
||||
|
||||
//UserBbsDataService
|
||||
public List<T_BBS_DATA> getSlideDataList(Integer bbsSetIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//UserBbsDataService, ManagerBbsDataService
|
||||
public List<Map<Object, Object>> getBbsDataMiniList(Integer bbsSetIdx, int page, int row, String bbsSetDateOrder, ArrayList<String> qryArrayList);
|
||||
|
||||
public List<Map<Object, Object>> getBbsDashboardList(String siteIdx, int page, int row, ArrayList<String> qryArrayList);
|
||||
|
||||
//ManagerBbsTrashService
|
||||
public Long getBbsTrashListCnt(Integer bbsSetIdx, String column, String search, String bbsSetType, String searchSDate, String searchEDate);
|
||||
|
||||
//ManagerBbsTrashService
|
||||
public List<Map<Object, Object>> getBbsTrashList(Integer bbsSetIdx, int page, int row, String column, String search, String bbsSetType, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
|
||||
|
||||
//UserBbsDataService
|
||||
public List<Map<Object, Object>> getBbsNoticeDataList(Integer bbsSetIdx, String column, String search, String bbsSetDateOrder, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
|
||||
|
||||
//UserBbsDataService
|
||||
public Long getBbsDataReplyCnt(Integer bbsSetIdx, Integer bbsDataGroup, Integer bbsDataDepth);
|
||||
|
||||
//UserBbsDataService
|
||||
public Long getBbsDataListCnt(boolean grant, Integer bbsSetIdx, String column, String search, String bbsSetType, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
|
||||
|
||||
//UserBbsDataService
|
||||
public List<Map<Object, Object>> getBbsDataList(boolean grant, Integer bbsSetIdx, int page, int row, String column, String search, String bbsSetDateOrder, String bbsSetType, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
|
||||
|
||||
//ManagerBbsDataService
|
||||
public List<Map<Object, Object>> getBbsDataList(Integer bbsSetIdx, String column, String search, String bbsSetType, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList<String> qryArrayList);
|
||||
|
||||
//ManagerBbsSetService, UserBbsDataService, ManagerBbsDataService
|
||||
public T_BBS_DATA getBbsDataForm(Integer bbsDataIdx);
|
||||
|
||||
//ManagerBbsSetService, UserBbsDataService, ManagerBbsDataService
|
||||
public T_BBS_DATA getBbsReplyForm(Integer bbsDataGroup, Integer bbsDataFam);
|
||||
|
||||
//ManagerBbsTrashService
|
||||
public T_BBS_DATA getBbsTrashForm(Integer bbsDataIdx);
|
||||
|
||||
//UserBbsDataService
|
||||
public Map<Object, Object> getBbsDataPreForm(T_BBS_DATA tBbsData, String column, String search, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns);
|
||||
|
||||
//UserBbsDataService
|
||||
public Map<Object, Object> getBbsDataNextForm(T_BBS_DATA tBbsData, String column, String search, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns);
|
||||
|
||||
//UserBbsDataService
|
||||
public T_BBS_DATA setBbsDataRegProc(T_BBS_DATA tBbsData);
|
||||
|
||||
//ManagerBbsSetService, UserBbsDataService
|
||||
public boolean setBbsDataModProc(T_BBS_DATA tBbsData);
|
||||
|
||||
//ManagerBbsSetService, UserBbsDataService
|
||||
public boolean setBbsDataDelProc(T_BBS_DATA tBbsData);
|
||||
|
||||
//UserBbsDataService, ManagerBbsDataService
|
||||
public void setBbsDataPosModProc(T_BBS_DATA tBbsData);
|
||||
|
||||
//ManagerBbsSetService, UserBbsDataService
|
||||
public void setBbsPointProc(T_POINT tPoint);
|
||||
|
||||
//UserBbsDataService, ManagerBbsDataService
|
||||
public void setBbsDataHitProc(Integer bbsDataIdx);
|
||||
}
|
||||
1523
src/main/java/seed/dao/BbsDataDAOImpl.java
Normal file
1523
src/main/java/seed/dao/BbsDataDAOImpl.java
Normal file
File diff suppressed because it is too large
Load Diff
36
src/main/java/seed/dao/BbsFileDAO.java
Normal file
36
src/main/java/seed/dao/BbsFileDAO.java
Normal file
@ -0,0 +1,36 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_BBS_FILE;
|
||||
|
||||
public interface BbsFileDAO {
|
||||
|
||||
//UserBbsFileService
|
||||
public T_BBS_FILE getBbsFileForm(Integer bbsFileIdx);
|
||||
|
||||
//ManagerBbsDataService, UserBbsDataService
|
||||
public Long getBbsFileListCnt(Integer bbsDataIdx);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public List<T_BBS_FILE> getBbsFileList(Integer bbsDataIdx);
|
||||
|
||||
//UserBbsFileService, ManagerBbsFileService, ManagerBbsDataService
|
||||
public List<T_BBS_FILE> getBbsFileList(Integer bbsDataIdx, String[] qryColumns);
|
||||
|
||||
//UserBbsFileService
|
||||
public List<Map<Object, Object>> getBbsFileListMap(Integer bbsDataIdx, String[] qryColumns);
|
||||
|
||||
//UserBbsFileService
|
||||
public List<T_BBS_FILE> getBbsFileList(Integer bbsDataIdx, Integer[] bbsFileIdx, String[] qryColumns);
|
||||
|
||||
//UserBbsFileService
|
||||
public boolean setBbsFileRegProc(T_BBS_FILE tBbsFile);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public boolean setBbsFileModProc(T_BBS_FILE tBbsFile);
|
||||
|
||||
//UserBbsFileService
|
||||
public boolean setBbsFileDelProc(T_BBS_FILE tBbsFile);
|
||||
}
|
||||
279
src/main/java/seed/dao/BbsFileDAOImpl.java
Normal file
279
src/main/java/seed/dao/BbsFileDAOImpl.java
Normal file
@ -0,0 +1,279 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_BBS_FILE;
|
||||
|
||||
/**
|
||||
* T_BBS_FILE 데이블 정보를 SELECT, INSERT, UPDATE, DELETE하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class BbsFileDAOImpl implements BbsFileDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 첨부파일 정보를 가지고 오는 메소드
|
||||
* bbsFileIdx에 해당하는 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsFileIdx 첨부파일 idx
|
||||
* @return T_BBS_FILE 첨부파일 정보
|
||||
* */
|
||||
//UserBbsFileService
|
||||
public T_BBS_FILE getBbsFileForm(Integer bbsFileIdx){
|
||||
|
||||
return (T_BBS_FILE) this.sessionFactory.getCurrentSession().load(T_BBS_FILE.class, bbsFileIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 첨부파일 개수를 가지고 오는 메소드
|
||||
* bbsDataIdx에 해당하는 첨부파일 개수를 가지고 오는 메소드
|
||||
* @param Integer bbsDataIdx 게시물 idx
|
||||
* @return Long 첨부파일 개수
|
||||
* */
|
||||
//ManagerBbsDataService, UserBbsDataService
|
||||
public Long getBbsFileListCnt(Integer bbsDataIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_FILE.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsData.bbsDataIdx", bbsDataIdx));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* 첨부파일 리스트를 가지고 오는 메소드
|
||||
* bbsDataIdx 에 해당하는 첨부파일 리스트를 가지고 온다
|
||||
* @param Integer bbsDataIdx 게시물 idx
|
||||
* @return List<T_BBS_FILE> 첨부파일 리스트
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_FILE> getBbsFileList(Integer bbsDataIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_FILE.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsData.bbsDataIdx", bbsDataIdx));
|
||||
|
||||
criteria.addOrder(Order.desc("bbsFileIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 첨부파일 리스트를 가지고 오는 메소드
|
||||
* bbsDataIdx 에 해당하는 첨부파일 리스트
|
||||
* @param Integer bbsDataIdx 게시물 idx
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<T_BBS_FILE> 첨부파일 리스트
|
||||
* */
|
||||
//UserBbsFileService, ManagerBbsFileService, ManagerBbsDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_FILE> getBbsFileList(Integer bbsDataIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_FILE.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("tBbsData.bbsDataIdx", bbsDataIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsFileIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 첨부파일 리스트를 가지고 오는 메소드
|
||||
* bbsDataIdx 에 해당하는 첨부파일 리스트를 가지고 온다
|
||||
* @param Integer bbsDataIdx 게시물 idx
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<Map<Object, Object>> 첨부파일 리스트
|
||||
* */
|
||||
//UserBbsFileService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<Object, Object>> getBbsFileListMap(Integer bbsDataIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_FILE.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("tBbsData.bbsDataIdx", bbsDataIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsFileIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 첨부파일 리스트를 가지고 오는 메소드
|
||||
* bbsDataIdx, bbsFileIdx에 해당하는 첨부파일 리스트를 가지고 온다
|
||||
* bbsFileIdx 데이터는 in 조건으로 검색 한다
|
||||
* @param Integer bbsDataIdx 게시물 idx
|
||||
* @param Integer[] bbsFileIdx 첨부파일 idx 리스트
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<T_BBS_FILE> 첨부파일 리스트
|
||||
* */
|
||||
//UserBbsFileService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_FILE> getBbsFileList(Integer bbsDataIdx, Integer[] bbsFileIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_FILE.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.and(
|
||||
Restrictions.not(
|
||||
Restrictions.in("bbsFileIdx", bbsFileIdx)),
|
||||
Restrictions.eq("tBbsData.bbsDataIdx", bbsDataIdx)));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 첨부파일 정보를 저장하는 메소드
|
||||
* @param T_BBS_FILE tBbsFile 저장할 첨부파일 정보
|
||||
* @return boolean 작업의 성공여부
|
||||
* */
|
||||
//UserBbsFileService
|
||||
public boolean setBbsFileRegProc(T_BBS_FILE tBbsFile){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBbsFile);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 첨부파일 정보를 수정하는 메소드
|
||||
* @param T_BBS_FILE tBbsFile 수정할 첨부파일 정보
|
||||
* @return boolean 작업의 성공여부
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
public boolean setBbsFileModProc(T_BBS_FILE tBbsFile){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsFile);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 첨부파일 정보를 삭제하는 메소드
|
||||
* @param T_BBS_FILE tBbsFile 삭제할 첨부파일 정보
|
||||
* @return boolean 작업의 성공여부
|
||||
* */
|
||||
//UserBbsFileService
|
||||
public boolean setBbsFileDelProc(T_BBS_FILE tBbsFile){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBbsFile);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
84
src/main/java/seed/dao/BbsItemDAO.java
Normal file
84
src/main/java/seed/dao/BbsItemDAO.java
Normal file
@ -0,0 +1,84 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_BBS_ITEM;
|
||||
|
||||
public interface BbsItemDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BBS_ITEM> getBbsItemAllList(Integer memberIdx);
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_BBS_ITEM> getBbsItemList(Integer bbsSetIdx);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public T_BBS_ITEM getBbsItemForm(Integer bbsItemIdx);
|
||||
|
||||
//ManagerBbsItemService, UserBbsItemService
|
||||
public T_BBS_ITEM getBbsItemValueForm(Integer bbsSetIdx, String bbsItemGroup);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public T_BBS_ITEM getBbsItemForm(Integer bbsSetIdx, String bbsItemGroup);
|
||||
|
||||
//UserBbsItemService, ManagerBbsItemService
|
||||
public List<Map<Object, Object>> getBbsItemMiniList(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public List<T_BBS_ITEM> getBbsItemViewOrderList(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public List<T_BBS_ITEM> getBbsItemMiniOrderList(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsItemService, UserBbsItemService
|
||||
public List<Map<Object, Object>> getBbsItemList(Integer bbsSetIdx, String orderType, String[] qryColumns);
|
||||
|
||||
//UserBbsItemService
|
||||
public List<T_BBS_ITEM> getBbsItemValuesList(Integer bbsSetIdx, String orderType, String[] qryColumns);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public List<T_BBS_ITEM> getBbsItemValuesGroupList(Integer bbsSetIdx, String bbsItemGroup, String[] qryColumns);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public List<Map<String, Object>> getBbsItemGroupList(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public List<T_BBS_ITEM> getBbsItemMiniOrderList(Integer bbsSetIdx, Integer bbsItemMiniOrder, String[] qryColumns);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public List<T_BBS_ITEM> getBbsItemListOrderList(Integer bbsSetIdx, Integer bbsItemListOrder, String[] qryColumns);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public List<T_BBS_ITEM> getBbsItemViewOrderList(Integer bbsSetIdx, Integer bbsItemViewOrder, String[] qryColumns);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public Long getBbsItemListCnt(Integer bbsSetIdx);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public Integer getBbsItemMiniOrderFormCnt(Integer bbsSetIdx);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public Integer getBbsItemListOrderFormCnt(Integer bbsSetIdx);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public Integer getBbsItemViewOrderFormCnt(Integer bbsSetIdx);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public T_BBS_ITEM setBbsItemRegProc(T_BBS_ITEM tBbsItem);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public boolean setBbsItemModProc(T_BBS_ITEM tBbsItem);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public boolean setBbsItemDelProc(T_BBS_ITEM tBbsItem);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public void setBbsItemMiniOrderProc(Integer bbsSetIdx, Integer bbsItemMiniOrder);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public void setBbsItemListOrderProc(Integer bbsSetIdx, Integer bbsItemListOrder);
|
||||
|
||||
//ManagerBbsItemService
|
||||
public void setBbsItemViewOrderProc(Integer bbsSetIdx, Integer bbsItemViewOrder);
|
||||
}
|
||||
851
src/main/java/seed/dao/BbsItemDAOImpl.java
Normal file
851
src/main/java/seed/dao/BbsItemDAOImpl.java
Normal file
@ -0,0 +1,851 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_BBS_ITEM;
|
||||
|
||||
/**
|
||||
* T_BBS_ITEM 테이블 정보를 SELECT, INSERT, UPDATE, DELETE하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class BbsItemDAOImpl implements BbsItemDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx에 해당하는 게시판 항목 정보 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 정보 idx
|
||||
* @return List<T_BBS_ITEM> 게시판 항목 정보 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_ITEM> getBbsItemAllList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx에 해당하는 게시판 항목 정보 리스트를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @return List<T_BBS_ITEM> 게시판 항목 정보 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_ITEM> getBbsItemList(Integer bbsSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemListOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsItemIdx에 해당하는 게시판 항목 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsItemIdx 게시판 항목 idx
|
||||
* @return T_BBS_ITEM 게시판 항목 정보
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
public T_BBS_ITEM getBbsItemForm(Integer bbsItemIdx){
|
||||
|
||||
return (T_BBS_ITEM) this.sessionFactory.getCurrentSession().load(T_BBS_ITEM.class, bbsItemIdx);
|
||||
}
|
||||
|
||||
//ManagerBbsItemService, UserBbsItemService
|
||||
public T_BBS_ITEM getBbsItemValueForm(Integer bbsSetIdx, String bbsItemGroup){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemGroup", bbsItemGroup)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemGroup")).addOrder(Order.asc("bbsItemIdx"));
|
||||
|
||||
return (T_BBS_ITEM)criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemGroup 조건에 대한 항목 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String bbsItemGroup 게시판 항목 정보 그룹 ex>bbsDataIdx, bbsDataTitle, bbsDataContent...
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
public T_BBS_ITEM getBbsItemForm(Integer bbsSetIdx, String bbsItemGroup){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemGroup", bbsItemGroup)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemGroup"));
|
||||
|
||||
return (T_BBS_ITEM)criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx,bbsItemMiniList=Y, bbsItemStatus=U 조건에 해당하는 항목 정보를 map형태로 가지고 오는 메소드
|
||||
* 미니게시판 출력 시 사용할 항목 정보 리스트 조회시 사용된다
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<Map<Object,Object>> 게시판 항목 리스트
|
||||
* */
|
||||
//UserBbsItemService, ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<Object, Object>> getBbsItemMiniList(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemMiniList", "Y")),
|
||||
Restrictions.eq("bbsItemStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemMiniOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemStatus=U 에 해당하는 게시물 항목 정보 리스트를 가지고 오는 메소드
|
||||
* 상세보기 및 글짝성시 항목 리스트를 가지고 온다
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<T_BBS_ITEM> 게시판 항목 리스트
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_ITEM> getBbsItemViewOrderList(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemViewOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemMiniList=Y, bbsItemStatus=U에 해당하는 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_BBS_ITEM> 항목 리스트
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_ITEM> getBbsItemMiniOrderList(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemMiniList", "Y")),
|
||||
Restrictions.eq("bbsItemStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemMiniOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx에 해당하는 게시판 항목 리스트를 map형태로 가지고 오는 메소드
|
||||
* orderType 에 따라서 정렬 기준이 달라 지게 된다.
|
||||
* @param Integer bbsSetidx 게시판 설정 idx
|
||||
* @param String orderType 정렬에 사용할 컬럼을 정의 하기 위한 값 ex>LIST, VIEW
|
||||
* @param String[] qryColumns select할 컬럼 정의
|
||||
* @return List<Map<Obejct, Object>> 항목 리스트
|
||||
* */
|
||||
//ManagerBbsItemService, UserBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<Object, Object>> getBbsItemList(Integer bbsSetIdx, String orderType, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItem"+orderType+"Order"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemStatus=U 에 해당하는 게시판 항목 리스트를 가지고 오는 메소드
|
||||
* orderType 에 따라서 정렬 기준이 달라 지게 된다.
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String orderType 정렬에 사용할 컬럼을 정의 하기 위한 값 ex>LIST, VIEW
|
||||
* @param String[] qryColumns select할 컬럼 정의
|
||||
* @return List<T_BBS_ITEM> 항목 리스트
|
||||
* */
|
||||
//UserBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_ITEM> getBbsItemValuesList(Integer bbsSetIdx, String orderType, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItem"+orderType+"Order")).addOrder(Order.asc("bbsItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemGroup 에 해당하는 게시판 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String bbsItemGroup 게시판 그룹 값 ex>bbsDataIdx, bbsDataTitle
|
||||
* @param String[] qryColumns select할 컬럼 정의
|
||||
* @return List<T_BBS_ITEM> 항목 리스트
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_ITEM> getBbsItemValuesGroupList(Integer bbsSetIdx, String bbsItemGroup, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemGroup", bbsItemGroup)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemGroup")).addOrder(Order.asc("bbsItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemType=A 에 해당하는 게시판 항목 리스트를 map형태로 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<Map<String,Object>> 항목 리스트
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<String, Object>> getBbsItemGroupList(Integer bbsSetIdx, String[] qryColumns) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemType", "A")));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemGroup"));
|
||||
|
||||
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemMiniOrder에 해당하는 게시판 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer bbsItemMiniOrder 미니게시판 출력 순서
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<T_BBS_ITEM> 항목 리스트
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_ITEM> getBbsItemMiniOrderList(Integer bbsSetIdx, Integer bbsItemMiniOrder, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemMiniOrder", bbsItemMiniOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemListOrder에 해당하는 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer bbsItemListOrder 게시판 리스트 출력 개수
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_BBS_ITEM> 항목 리스트
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_ITEM> getBbsItemListOrderList(Integer bbsSetIdx, Integer bbsItemListOrder, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemListOrder", bbsItemListOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemViewOrder 에 해당하는 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer bbsItemViewOrder 게시판 상세보기 정렬 순서
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_BBS_ITEM> 항목 리스트
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_ITEM> getBbsItemViewOrderList(Integer bbsSetIdx, Integer bbsItemViewOrder, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.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.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsItemViewOrder", bbsItemViewOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx 에 해당하는 항목 개수를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @return Long 항목 개수
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
public Long getBbsItemListCnt(Integer bbsSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.countDistinct("bbsItemGroup"));
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx에 해당하는 bbsItemMiniOrder 최대값을 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @return Integer bbsItemMiniOrder 최대값
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
public Integer getBbsItemMiniOrderFormCnt(Integer bbsSetIdx) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.max("bbsItemMiniOrder"));
|
||||
|
||||
if(criteria.uniqueResult() == null){
|
||||
return 0;
|
||||
}else{
|
||||
return (Integer)criteria.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx에 해당하는 bbsItemListOrder 최대값을 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @return Integer bbsItemListOrder 최대값
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
public Integer getBbsItemListOrderFormCnt(Integer bbsSetIdx) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.max("bbsItemListOrder"));
|
||||
|
||||
if(criteria.uniqueResult() == null){
|
||||
return 0;
|
||||
}else{
|
||||
return (Integer)criteria.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx에 해당하는 bbsItemViewOrder 최대값을 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @return Integer bbsItemViewOrder 최대값
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
public Integer getBbsItemViewOrderFormCnt(Integer bbsSetIdx) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.max("bbsItemViewOrder"));
|
||||
|
||||
if(criteria.uniqueResult() == null){
|
||||
return 0;
|
||||
}else{
|
||||
return (Integer)criteria.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 항목 정보를 저장하는 메소드
|
||||
* @param T_BBS_ITEM tBbsItem 저장할 항목 정보
|
||||
* @return T_BBS_ITEM 저장된 항목 정보
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
public T_BBS_ITEM setBbsItemRegProc(T_BBS_ITEM tBbsItem){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBbsItem);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getBbsItemForm(tBbsItem.gettBbsSet().getBbsSetIdx(), tBbsItem.getBbsItemGroup());
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 항목 정보를 수정하는 메소드
|
||||
* @param T_BBS_ITEM tBbsItem 수정할 항목 정보
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
public boolean setBbsItemModProc(T_BBS_ITEM tBbsItem){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsItem);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 항목 정보를 삭제하는 메소드
|
||||
* @param T_BBS_ITEM tBbsItem 삭제할 항목 정보
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
public boolean setBbsItemDelProc(T_BBS_ITEM tBbsItem){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBbsItem);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemMiniOrder < 조건에 해당하는 항목 정보를 가지고 와서 bbsItemMiniOrder값을 -1 해주는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer bbsItemMiniOrder 미니게시판 정렬 순서
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setBbsItemMiniOrderProc(Integer bbsSetIdx, Integer bbsItemMiniOrder){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.gt("bbsItemMiniOrder", bbsItemMiniOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemMiniOrder"));
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemList = criteria.list();
|
||||
|
||||
if(tBbsItemList.size() > 0){
|
||||
for(int i=0; i<tBbsItemList.size(); i++){
|
||||
|
||||
T_BBS_ITEM tBbsItemDB = tBbsItemList.get(i);
|
||||
|
||||
if(tBbsItemDB.getBbsItemMiniOrder() != null && tBbsItemDB.getBbsItemMiniOrder() > 0){
|
||||
tBbsItemDB.setBbsItemMiniOrder(tBbsItemDB.getBbsItemMiniOrder()-1);
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsItemDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemListOrder < 조건에 해당하는 항목 정보를 가지고 와서 bbsItemListOrder -1 해주는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer bbsItemListOrder 리시트 출력 정렬 순서
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setBbsItemListOrderProc(Integer bbsSetIdx, Integer bbsItemListOrder){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.gt("bbsItemListOrder", bbsItemListOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemListOrder"));
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemList = criteria.list();
|
||||
|
||||
if(tBbsItemList.size() > 0){
|
||||
for(int i=0; i<tBbsItemList.size(); i++){
|
||||
|
||||
T_BBS_ITEM tBbsItemDB = tBbsItemList.get(i);
|
||||
|
||||
if(tBbsItemDB.getBbsItemListOrder() != null && tBbsItemDB.getBbsItemListOrder() > 0){
|
||||
tBbsItemDB.setBbsItemListOrder(tBbsItemDB.getBbsItemListOrder()-1);
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsItemDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, bbsItemViewOrder < 조건에 해당하는 항목 정보를 가지고 와서 bbsItemViewOrder -1 해주는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer bbsItemViewOrder 상세보기 정렬 순서
|
||||
* */
|
||||
//ManagerBbsItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setBbsItemViewOrderProc(Integer bbsSetIdx, Integer bbsItemViewOrder){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_ITEM.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.gt("bbsItemViewOrder", bbsItemViewOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("bbsItemViewOrder"));
|
||||
|
||||
List<T_BBS_ITEM> tBbsItemList = criteria.list();
|
||||
|
||||
if(tBbsItemList.size() > 0){
|
||||
for(int i=0; i<tBbsItemList.size(); i++){
|
||||
|
||||
T_BBS_ITEM tBbsItemDB = tBbsItemList.get(i);
|
||||
|
||||
if(tBbsItemDB.getBbsItemViewOrder() != null && tBbsItemDB.getBbsItemViewOrder() > 0){
|
||||
tBbsItemDB.setBbsItemViewOrder(tBbsItemDB.getBbsItemViewOrder()-1);
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsItemDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
48
src/main/java/seed/dao/BbsManagerDAO.java
Normal file
48
src/main/java/seed/dao/BbsManagerDAO.java
Normal file
@ -0,0 +1,48 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_BBS_MANAGER;
|
||||
|
||||
public interface BbsManagerDAO {
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(String siteIdx);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(Integer memberIdx);
|
||||
|
||||
//ManagerBbsManagerService
|
||||
public T_BBS_MANAGER getBbsManagerForm(Integer managerIdx);
|
||||
|
||||
//ManagerBbsManagerService
|
||||
public Long getBbsManagerListGrantCnt(Integer bbsSetIdx, Integer memberIdx);
|
||||
|
||||
//UserBbsManagerService
|
||||
public Long getBbsManagerListCnt(Integer bbsSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerBbsManagerService
|
||||
public Long getBbsManagerListCnt(Integer bbsSetIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//ManagerBbsManagerService
|
||||
public Long getBbsManagerListCnt(String siteIdx, Integer memberIdx, String column, String search);
|
||||
|
||||
//ManagerBbsManagerService
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(Integer bbsSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBbsManagerService
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBbsManagerService
|
||||
public List<Map<Object, Object>> getBbsManagerList(String siteIdx, Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsManagerService
|
||||
public boolean setBbsManagerRegProc(T_BBS_MANAGER tBbsManager);
|
||||
|
||||
//ManagerBbsManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setBbsManagerModProc(T_BBS_MANAGER tBbsManager);
|
||||
|
||||
//ManagerBbsManagerService
|
||||
public boolean setBbsManagerDelProc(T_BBS_MANAGER tBbsManager);
|
||||
}
|
||||
471
src/main/java/seed/dao/BbsManagerDAOImpl.java
Normal file
471
src/main/java/seed/dao/BbsManagerDAOImpl.java
Normal file
@ -0,0 +1,471 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_BBS_MANAGER;
|
||||
|
||||
/**
|
||||
* T_BBS_MANAGER 테이블 정보를 SELECT, INSERT, UPDATE, DELETE하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class BbsManagerDAOImpl implements BbsManagerDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx에 해당하는 게시판 관리자 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return List<T_BBS_MANAGER> 게시판 관리자 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tBbsSet", "tBbsSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsSet.tSite.siteIdx", siteIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 게시판 관리자 리스틀 가지고 오는 메소드
|
||||
* @param Integer memberIdx 사용자 idx
|
||||
* @return List<T_BBS_MANAGER> 관리자 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_MANAGER.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* managerIdx에 해당하는 게시판 관리자 정보를 가지고 오는 메소드
|
||||
* @param Integer managerIdx 관리자 idx
|
||||
* @return T_BBS_MANAGER 관리자 정보
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
public T_BBS_MANAGER getBbsManagerForm(Integer managerIdx){
|
||||
|
||||
return (T_BBS_MANAGER) this.sessionFactory.getCurrentSession().load(T_BBS_MANAGER.class, managerIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, memberIdx, bbsManagerStatus=U, bbsManagerGrant=U, Member.memberStatus=U에 해당하는 게시판 관리자 개수를 가지고 오는
|
||||
* 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer memberIdx 회원 정보 idx
|
||||
* @return Long 관리자 개수
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBbsManagerListGrantCnt(Integer bbsSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsManagerStatus", "U")),
|
||||
Restrictions.eq("bbsManagerGrant", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, memberIdx, bbsManagerStatus=U, bbsManagerGrant=널 OR 빈값, Member.memberStatus=U에 해당하는 게시판 관리자 개수를 가지고 오는
|
||||
* 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param Integer memberIdx 회원 정보 idx
|
||||
* @return Long 관리자 개수
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBbsManagerListCnt(Integer bbsSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx),
|
||||
Restrictions.eq("bbsManagerStatus", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, column, search 에 해당하는 게시판 관리자 정보 개수를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 관리자 정보 개수
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBbsManagerListCnt(Integer bbsSetIdx, Integer selGroup, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, memberIdx, column, search 에 해당하는 게시판 관리자 정보 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 관리자 정보 개수
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBbsManagerListCnt(String siteIdx, Integer memberIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tBbsSet", "tBbsSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx, column, search 에 해당하는 게시판 관리자 리스트를 가지고 오는 메소드
|
||||
* order by 시에는 orderColumn, order 조건을 기준으로 정렬을 하게 된다.
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param String orderColumn order by 에 사용할 column정보
|
||||
* @param String order 정렬 기준 ex> DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<T_BBS_MANAGER> 게시판 관리자 리스트
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(Integer bbsSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tBbsSet.bbsSetIdx", bbsSetIdx));
|
||||
|
||||
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 = "bbsManagerIdx";
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, memberIdx, column, search 에 해당하는 게시판 관리자 리스트를 가지고 오는 메소드
|
||||
* order by 시에는 orderColumn, order 조건을 기준으로 정렬을 하게 된다.
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param String orderColumn order by 에 사용할 column정보
|
||||
* @param String order 정렬 기준 ex> DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<T_BBS_MANAGER> 게시판 관리자 리스트
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BBS_MANAGER> getBbsManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tBbsSet", "tBbsSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.and(
|
||||
Restrictions.eq("tBbsSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, bbsSetIdx 에 해당하는 게시판 관리자 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<T_BBS_MANAGER> 게시판 관리자 리스트
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<Map<Object, Object>> getBbsManagerList(String siteIdx, Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tBbsSet", "tBbsSet", 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.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tBbsSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tBbsSet.bbsSetIdx", bbsSetIdx)));
|
||||
|
||||
criteria.addOrder(Order.desc("bbsManagerIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 관리자 정보를 저장하는 메소드
|
||||
* @param T_BBS_MANAGER tBbsManager 저장할 게시판 관리자 정보
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
public boolean setBbsManagerRegProc(T_BBS_MANAGER tBbsManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBbsManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 관리자 정보를 수정하는 메소드
|
||||
* @param T_BBS_MANAGER tBbsManager 수정할 게시판 관리자 정보
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setBbsManagerModProc(T_BBS_MANAGER tBbsManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 관리자 정보를 삭제하는 메소드
|
||||
* @param T_BBS_MANAGER tBbsManager 수정할 게시판 관리자 정보
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsManagerService
|
||||
public boolean setBbsManagerDelProc(T_BBS_MANAGER tBbsManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBbsManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
42
src/main/java/seed/dao/BbsSetDAO.java
Normal file
42
src/main/java/seed/dao/BbsSetDAO.java
Normal file
@ -0,0 +1,42 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_BBS_SET;
|
||||
|
||||
public interface BbsSetDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BBS_SET> getBbsSetList(Integer memberIdx);
|
||||
|
||||
//AdminGroupService, ManagerGroupService, AdminSiteService
|
||||
public List<T_BBS_SET> getBbsSetList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public List<T_BBS_SET> getBbsSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public List<T_BBS_SET> getBbsSetList(String siteIdx, Integer bbsSetIdx, String bbsSetType, String[] qryColumns);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public Long getBbsSetListCnt(String siteIdx, String column, String search);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public T_BBS_SET getBbsSetForm(String siteIdx, String siteMenuIdx);
|
||||
|
||||
//ManagerBbsSetService, UserBbsSetService
|
||||
public T_BBS_SET getBbsSetForm(Integer bbsSetIdx);
|
||||
|
||||
//ManagerBbsSetService, UserBbsSetService
|
||||
public Map<Object, Object> getBbsSetMapForm(Integer bbsSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public T_BBS_SET setBbsSetRegProc(T_BBS_SET tBbsSet);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public boolean setBbsSetModProc(T_BBS_SET tBbsSet);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public boolean setBbsSetDelProc(T_BBS_SET tBbsSet);
|
||||
}
|
||||
389
src/main/java/seed/dao/BbsSetDAOImpl.java
Normal file
389
src/main/java/seed/dao/BbsSetDAOImpl.java
Normal file
@ -0,0 +1,389 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_BBS_SET;
|
||||
|
||||
/**
|
||||
* T_BBS_SET 테이블 정보를 select, insert, update, delete하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class BbsSetDAOImpl implements BbsSetDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx에 해당하는 게시판 설정 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 정보 idx
|
||||
* @return List<T_BBS_SET> 게시판 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_SET> getBbsSetList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SET.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 게시판 설정 리시트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_BBS_SET> 게시판 설정 리스트
|
||||
* */
|
||||
//AdminGroupService, ManagerGroupService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_SET> getBbsSetList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SET.class);
|
||||
|
||||
if(!siteIdx.equals("ALL_SITE_IDX")){
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
}
|
||||
|
||||
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.addOrder(Order.asc("bbsSetIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
*siteIdx, column, search에 해당하는 게시판 설정 리스트를 가지고 오는 메소드
|
||||
*orderColumn 은 order by 할 컬럼을 정의 하는 값으로 order값으로 정렬기준으로 추가로 정의 합니다.
|
||||
*@param String siteIdx 사이트 idx
|
||||
*@param int page 출력 페이지 번호
|
||||
*@param int row 페이지별 출력 개수
|
||||
*@param String orderColumn order by 컬럼 정의
|
||||
*@param String order order by 하는 정의 ex> DESC,ASC
|
||||
*@param String column 검색 항목
|
||||
*@param String search 검색 어
|
||||
*@param String[] qryColumns select하는 컬럼 정의
|
||||
*@return List<T_BBS_SET> 게시판 설정 리스트
|
||||
* */
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BBS_SET> getBbsSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SET.class);
|
||||
|
||||
criteria.createCriteria("tBbsDatas", "tBbsDatas", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tSite.siteIdx", siteIdx));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("bbsSetName", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, bbsSetType에 해당하고 bbsSetIdx이 아닌 게시판 설정 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String bbsSetType 게시판 설정 타입 ex>B=일반게시판, A=앨범게시판, M=동영상게시판
|
||||
* @param String[] qryColumns select할 컬럼 정의
|
||||
* @return List<T_BBS_SET> 게시판 설정 리스트
|
||||
* */
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_SET> getBbsSetList(String siteIdx, Integer bbsSetIdx, String bbsSetType, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SET.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.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("bbsSetType", bbsSetType)),
|
||||
Restrictions.ne("bbsSetIdx", bbsSetIdx)));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 게시판 설정 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String column 검색 항목
|
||||
* @param Stirng search 검색 어
|
||||
* @return Long 게시판 설정 개수
|
||||
* */
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getBbsSetListCnt(String siteIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SET.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("bbsSetName", 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();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, siteMenuIdx 에 해당 하는 게시판 설정 정보를 가지고 오는 메소드
|
||||
* siteMenuIdx 은 like 검색
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String siteMenuIdx 사이트 메뉴 idex
|
||||
* @return T_BBS_SET 게시판 설정 정보
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public T_BBS_SET getBbsSetForm(String siteIdx, String siteMenuIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SET.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.like("siteMenuIdxs", siteMenuIdx, MatchMode.ANYWHERE)));
|
||||
|
||||
ArrayList<T_BBS_SET> list = (ArrayList<T_BBS_SET>)criteria.list();
|
||||
|
||||
if(list != null && list.size() > 0){
|
||||
return list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx에 해당하는 게시판 설정 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @return T_BBS_SET 게시판 설정 정보
|
||||
* */
|
||||
public T_BBS_SET getBbsSetForm(Integer bbsSetIdx){
|
||||
|
||||
return (T_BBS_SET) this.sessionFactory.getCurrentSession().load(T_BBS_SET.class, bbsSetIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSetIdx 에 대한 게시판 설정 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsSetIdx 게시판 설정 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return Map<Object,Object> 게시판 설정 정보
|
||||
* */
|
||||
//ManagerBbsSetService, UserBbsSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public Map<Object, Object> getBbsSetMapForm(Integer bbsSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SET.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);
|
||||
}
|
||||
|
||||
ArrayList<Map<Object, Object>> list = (ArrayList<Map<Object, Object>>)criteria.list();
|
||||
|
||||
if(list != null && list.size() > 0){
|
||||
return list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 설정 정보를 저장하는 메소드
|
||||
* @param T_BBS_SET tBbsSet 저장할 게시판 설정 정보
|
||||
* @return T_BBS_SET 저장된 게시판 설정 정보
|
||||
* */
|
||||
public T_BBS_SET setBbsSetRegProc(T_BBS_SET tBbsSet){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBbsSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getBbsSetForm(tBbsSet.getBbsSetIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 설정 정보를 수정하는 메소드
|
||||
* @param T_BBS_SET tBbsSet 수정할 게시판 설정 정보
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
public boolean setBbsSetModProc(T_BBS_SET tBbsSet){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 설정 정보를 삭제하는 메소드
|
||||
* @param T_BBS_SET tBbsSet 삭제할 게시판 설정 정보
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
public boolean setBbsSetDelProc(T_BBS_SET tBbsSet){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBbsSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
41
src/main/java/seed/dao/BbsSkinDAO.java
Normal file
41
src/main/java/seed/dao/BbsSkinDAO.java
Normal file
@ -0,0 +1,41 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_BBS_SKIN;
|
||||
|
||||
public interface BbsSkinDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_BBS_SKIN> getBbsSkinList(Integer memberIdx);
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_BBS_SKIN> getBbsSkinList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public String getBbsSkinCode(String siteIdx);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public T_BBS_SKIN getBbsSkinForm(Integer bbsSkinIdx);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public Long getBbsSetSkinListCnt(String siteIdx, String bbsSetType, String bbsSetSubType);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public List<T_BBS_SKIN> getBbsSetSkinList(String siteIdx, String bbsSetType, String bbsSetSubType, int page, int row, String[] qryColumns);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public Long getBbsSkinListCnt(String siteIdx);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public List<T_BBS_SKIN> getBbsSkinList(String siteIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//AdminSiteService, ManagerBbsSetService
|
||||
public T_BBS_SKIN setBbsSkinRegProc(T_BBS_SKIN tBbsSkin);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public boolean setBbsSkinModProc(T_BBS_SKIN tBbsSkin);
|
||||
|
||||
//ManagerBbsSetService
|
||||
public boolean setBbsSkinDelProc(T_BBS_SKIN tBbsSkin);
|
||||
}
|
||||
364
src/main/java/seed/dao/BbsSkinDAOImpl.java
Normal file
364
src/main/java/seed/dao/BbsSkinDAOImpl.java
Normal file
@ -0,0 +1,364 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
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.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_BBS_SKIN;
|
||||
|
||||
/**
|
||||
* T_BBS_SKIN 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class BbsSkinDAOImpl implements BbsSkinDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx에 해당하는 게시판 스킨 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 정보 idx
|
||||
* @return List<T_BBS_SKIN> 게시판 스킨 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_SKIN> getBbsSkinList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SKIN.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 게시판 스킨 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_BBS_SKIN> 게시판 스킨 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_BBS_SKIN> getBbsSkinList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SKIN.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
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.addOrder(Order.asc("bbsSkinIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 bbsSkinCode 정보를 가지고 오는 메소드
|
||||
* bbsSkinCode order by desc 형태로 정렬한 데이터중 최상위 1개의 데이터를 가지고 온다
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return String bbsSkinCode정보
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public String getBbsSkinCode(String siteIdx){
|
||||
|
||||
String bbsSkinCode = "01";
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SKIN.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
criteria.addOrder(Order.desc("bbsSkinCode"));
|
||||
|
||||
ArrayList<T_BBS_SKIN> list = (ArrayList<T_BBS_SKIN>)criteria.list();
|
||||
|
||||
if(list != null && list.size() > 0){
|
||||
|
||||
T_BBS_SKIN tBbsSkinDB = list.get(0);
|
||||
|
||||
Integer bbsSkinCodeTmp = Integer.parseInt(tBbsSkinDB.getBbsSkinCode()) + 1;
|
||||
|
||||
if(bbsSkinCodeTmp < 10){
|
||||
bbsSkinCode = "0"+bbsSkinCodeTmp;
|
||||
}else{
|
||||
bbsSkinCode = bbsSkinCodeTmp+"";
|
||||
}
|
||||
}
|
||||
|
||||
return bbsSkinCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* bbsSkinIdx 에 해당하는 게시판 스킨 정보를 가지고 오는 메소드
|
||||
* @param Integer bbsSkinIdx 게시판 스킨 idx
|
||||
* @return T_BBS_SKIN 게시판 스킨 정보
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
public T_BBS_SKIN getBbsSkinForm(Integer bbsSkinIdx){
|
||||
|
||||
return (T_BBS_SKIN) this.sessionFactory.getCurrentSession().load(T_BBS_SKIN.class, bbsSkinIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, bbsSetType, bbsSetSubType, bbsSkinStatus=U 에 해당하는 게시판 스킨 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String bbsSetType 게시판 설정 타입 ex>B=게시판, A=앨범, M=동영상
|
||||
* @param String bbsSetSubType 게시판 sub설정 타입 ex>L=리스트, I=이미지, G=갤러리형태
|
||||
* @return Long 개수
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
public Long getBbsSetSkinListCnt(String siteIdx, String bbsSetType, String bbsSetSubType){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SKIN.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.or(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.isNull("tSite.siteIdx")),
|
||||
Restrictions.eq("bbsSkinType", bbsSetType)),
|
||||
Restrictions.eq("bbsSkinSubType", bbsSetSubType)),
|
||||
Restrictions.eq("bbsSkinStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, bbsSetType, bbsSetSubType, bbsSkinStatus=U 에 대한 게시판 스킨 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String bbsSetType 게시판 설정 타입 ex>B=게시판, A=앨범, M=동영상
|
||||
* @param String bbsSetSubType 게시판 sub설정 타입 ex>L=리스트, I=이미지, G=갤러리형태
|
||||
* @param int page 출력 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_BBS_SKIN> 게시판 스킨 리스트
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BBS_SKIN> getBbsSetSkinList(String siteIdx, String bbsSetType, String bbsSetSubType, int page, int row, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SKIN.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.or(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.isNull("tSite.siteIdx")),
|
||||
Restrictions.eq("bbsSkinType", bbsSetType)),
|
||||
Restrictions.eq("bbsSkinSubType", bbsSetSubType)),
|
||||
Restrictions.eq("bbsSkinStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.desc("bbsSkinIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 게시판 스킨 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return Long 게시판 스킨 개수
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
public Long getBbsSkinListCnt(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SKIN.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.isNull("tSite.siteIdx"),
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx)));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 게시판 스킨 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param int page 출력할 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_BBS_SKIN> 게시판 스킨 리스트
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_BBS_SKIN> getBbsSkinList(String siteIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_BBS_SKIN.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.or(
|
||||
Restrictions.isNull("tSite.siteIdx"),
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx)));
|
||||
|
||||
criteria.addOrder(Order.desc("bbsSkinIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 스킨 정보를 저장하는 메소드
|
||||
* @param T_BBS_SKIN tBbsSkin 저장할 게시판 스킨 정보
|
||||
* @return T_BBS_SKIN 저장된 게시판 스킨 정보
|
||||
* */
|
||||
//AdminSiteService, ManagerBbsSetService
|
||||
public T_BBS_SKIN setBbsSkinRegProc(T_BBS_SKIN tBbsSkin){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tBbsSkin);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getBbsSkinForm(tBbsSkin.getBbsSkinIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 스킨 정보를 수정하는 메소드
|
||||
* @param T_BBS_SKIN tBbsSkin 수정할 게시판 스킨 정보
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
public boolean setBbsSkinModProc(T_BBS_SKIN tBbsSkin){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tBbsSkin);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 스킨 정보를 삭제하는 메소드
|
||||
* @param T_BBS_SKIN tBbsSkin 삭제할 게시판 스킨 정보
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerBbsSetService
|
||||
public boolean setBbsSkinDelProc(T_BBS_SKIN tBbsSkin){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tBbsSkin);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
18
src/main/java/seed/dao/CommonFileDAO.java
Normal file
18
src/main/java/seed/dao/CommonFileDAO.java
Normal file
@ -0,0 +1,18 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_COMMON_FILE;
|
||||
|
||||
public interface CommonFileDAO {
|
||||
|
||||
public T_COMMON_FILE getCommonFileForm(Integer commonFileIdx);
|
||||
|
||||
public List<T_COMMON_FILE> getCommonFileList(Integer funcIdx, String fileCode);
|
||||
|
||||
public List<T_COMMON_FILE> getCommonFileList(String toDate);
|
||||
|
||||
public T_COMMON_FILE setCommonFileRegProc(T_COMMON_FILE tCommonFile);
|
||||
|
||||
public boolean setCommonFileDelProc(T_COMMON_FILE tCommonFile);
|
||||
}
|
||||
115
src/main/java/seed/dao/CommonFileDAOImpl.java
Normal file
115
src/main/java/seed/dao/CommonFileDAOImpl.java
Normal file
@ -0,0 +1,115 @@
|
||||
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.Order;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import seed.map.T_COMMON_FILE;
|
||||
|
||||
/**
|
||||
* T_COMMON_FILE 테이블 정보를 select, insert, update, delete하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class CommonFileDAOImpl implements CommonFileDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 임시파일 정보 리스트를 가지고 오는 메소드
|
||||
* funcIdx 와 fileCode에 해당하는 임시 첨부파일 리스트를 가지고 오는 메소드
|
||||
* fileCode의 경우 yyyyMMddHHmmss format을 기준으로 생성한 임시 값을 사용 한다.
|
||||
* @param Integer funcIdx 첨부파일 idx
|
||||
* @param String fileCode 임시 첨부파일시 생성된 fileCode값
|
||||
* @return List<T_COMMON_FILE>
|
||||
* */
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_COMMON_FILE> getCommonFileList(Integer funcIdx, String fileCode){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_COMMON_FILE.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("commonFileFuncIdx", funcIdx),
|
||||
Restrictions.eq("commonFileCode", fileCode)));
|
||||
|
||||
criteria.addOrder(Order.asc("commonFileIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 게시판 임시 첨부파일 리스트중 toDate에 해당하는 리스트를 가지고 오는 메소드
|
||||
* @param String toDate yyyymmdd 형식의 현재 날짜 정보
|
||||
* @return List<T_COMMON_FILE> 임시 첨부파일 리스트
|
||||
* */
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_COMMON_FILE> getCommonFileList(String toDate){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_COMMON_FILE.class);
|
||||
|
||||
criteria.add(Restrictions.not(Restrictions.in("commonFileDate", new Object[]{toDate})));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* commonFileIdx에 해당하는 임시 첨부파일 정보를 가지고 오는 메소드
|
||||
* @param Integer commonFileIdx 임시첨부파일 idx
|
||||
* @return T_COMMON_FILE 임시첨부파일 정보
|
||||
* */
|
||||
public T_COMMON_FILE getCommonFileForm(Integer commonFileIdx){
|
||||
|
||||
return (T_COMMON_FILE) this.sessionFactory.getCurrentSession().load(T_COMMON_FILE.class, commonFileIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 임시 첨부파일 정보를 저장하는 메소드
|
||||
* @param T_COMMON_FILE tCommonFile 저장할 첨부파일 정보
|
||||
* @return T_COMMON_FILE 저장된 첨부파일 정보
|
||||
* */
|
||||
public T_COMMON_FILE setCommonFileRegProc(T_COMMON_FILE tCommonFile){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tCommonFile);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getCommonFileForm(tCommonFile.getCommonFileIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 임시 첨부파일 정보를 삭제 하는 메소드
|
||||
* @param T_COMMON_FILE tCommonFile 임시 첨부파일
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
public boolean setCommonFileDelProc(T_COMMON_FILE tCommonFile){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tCommonFile);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
59
src/main/java/seed/dao/CommonMessageDAO.java
Normal file
59
src/main/java/seed/dao/CommonMessageDAO.java
Normal file
@ -0,0 +1,59 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_MESSAGE;
|
||||
import seed.map.T_MESSAGE_FILE;
|
||||
import seed.map.VIEW_MESSAGE;
|
||||
|
||||
public interface CommonMessageDAO {
|
||||
|
||||
//CommonMessageService
|
||||
public T_MESSAGE getMessageForm(Integer messageIdx);
|
||||
|
||||
//CommonMessageService
|
||||
public VIEW_MESSAGE getMessageViewForm(Integer messageIdx);
|
||||
|
||||
//CommonMessageService
|
||||
public Map<Object, Object> getMessagePreFrom(Integer messageIdx, String messageStatus, String column, String search, String[] qryColumnsPn);
|
||||
|
||||
//CommonMessageService
|
||||
public Map<Object, Object> getMessageNextFrom(Integer messageIdx, String messageStatus, String column, String search, String[] qryColumns);
|
||||
|
||||
//CommonMessageService
|
||||
public Long getMessageCnt(Integer memberIdx);
|
||||
|
||||
//CommonMessageService
|
||||
public Long getMessageCnt(Integer memberIdx, String messageStatus, String column, String search);
|
||||
|
||||
//CommonMessageService
|
||||
public List<VIEW_MESSAGE> getMessageList(Integer memberIdx, Integer page, Integer row, String[] qryColumns, String messageStatus, String column, String search);
|
||||
|
||||
//CommonMessageService
|
||||
public T_MESSAGE_FILE getMessageFileForm(Integer fileIdx);
|
||||
|
||||
//CommonMessageService
|
||||
public List<T_MESSAGE_FILE> getMessageFileList(Integer messageIdx);
|
||||
|
||||
//CommonMessageService
|
||||
public void setMessageStatusProc(T_MESSAGE tMessage);
|
||||
|
||||
//CommonMessageService
|
||||
public T_MESSAGE setMessageRegProc(T_MESSAGE tMessage);
|
||||
|
||||
//CommonMessageService
|
||||
public boolean setMessageDelProc(T_MESSAGE tMessage);
|
||||
|
||||
//CommonMessageService
|
||||
public boolean setMessageFileRegProc(T_MESSAGE_FILE tMessageFile);
|
||||
|
||||
//CommonMessageService
|
||||
public boolean setMessageFileDelProc(T_MESSAGE_FILE tMessageFileDB);
|
||||
|
||||
//CommonMessageService
|
||||
public List<T_MESSAGE> getMessageList(Integer memberIdx);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_MESSAGE> getMessageAllList(Integer memberIdx);
|
||||
}
|
||||
447
src/main/java/seed/dao/CommonMessageDAOImpl.java
Normal file
447
src/main/java/seed/dao/CommonMessageDAOImpl.java
Normal file
@ -0,0 +1,447 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_MESSAGE;
|
||||
import seed.map.T_MESSAGE_FILE;
|
||||
import seed.map.VIEW_MESSAGE;
|
||||
|
||||
/**
|
||||
* T_MESSAGE 테이블 정보를 select, insert, update, delete하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class CommonMessageDAOImpl implements CommonMessageDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* messageIdx에 해당하는 메시지 정보를 가지고 오는 메소드
|
||||
* @param Integer messageIdx 메시지 idx
|
||||
* @return T_MESSAGE 메시지 정보
|
||||
* */
|
||||
//CommonMessageService
|
||||
public T_MESSAGE getMessageForm(Integer messageIdx){
|
||||
|
||||
return (T_MESSAGE)this.sessionFactory.getCurrentSession().load(T_MESSAGE.class, messageIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* view테이블의 정보를 가지고 오는 메소드(해당 view테이블의 경우 member_idx에 해당하는 member_name을 가지고 있는 테이블이다.
|
||||
* @param Integer messageIdx 메시지 idx
|
||||
* @return VIEW_MESSAGE 메시지 정보
|
||||
* */
|
||||
//CommonMessageService
|
||||
public VIEW_MESSAGE getMessageViewForm(Integer messageIdx){
|
||||
|
||||
return (VIEW_MESSAGE)this.sessionFactory.getCurrentSession().load(VIEW_MESSAGE.class, messageIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* messageIdx 보다큰 값을 가진 메시지 정보중 order by messageIdx desc 정렬로 가지고온 데이터중
|
||||
* 최상위 하나를 가지고 오는 메소드
|
||||
* @param Integer messageIdx 메시지 idx
|
||||
* @param String messageStatus 메시지 확인상태(Y:확인,N:미확인)
|
||||
* @param String column 검색 항목
|
||||
* @param Stirng search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return Map<Object, Object> 메시지 정보
|
||||
* */
|
||||
//CommonMessageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public Map<Object, Object> getMessagePreFrom(Integer messageIdx, String messageStatus, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(VIEW_MESSAGE.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
criteria.add(Restrictions.gt("messageIdx", messageIdx));
|
||||
|
||||
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.addOrder(Order.desc("messageIdx"));
|
||||
|
||||
if(!messageStatus.equals("")){
|
||||
criteria.add(Restrictions.eq("messageStatus", messageStatus));
|
||||
}
|
||||
|
||||
if(!column.equals("") && !search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
List<VIEW_MESSAGE> tMessageList = criteria.list();
|
||||
|
||||
if(tMessageList.size() > 0){
|
||||
return (Map<Object, Object>)tMessageList.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* messageIdx 보다작은 값을 가진 메시지 정보중 order by messageIdx desc 정렬로 가지고온 데이터중
|
||||
* 최상위 하나를 가지고 오는 메소드
|
||||
* @param Integer messageIdx 메시지 idx
|
||||
* @param String messageStatus 메시지 확인상태(Y:확인,N:미확인)
|
||||
* @param String column 검색 항목
|
||||
* @param Stirng search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return Map<Object, Object> 메시지 정보
|
||||
* */
|
||||
//CommonMessageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public Map<Object, Object> getMessageNextFrom(Integer messageIdx, String messageStatus, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(VIEW_MESSAGE.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
criteria.add(Restrictions.lt("messageIdx", messageIdx));
|
||||
|
||||
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.addOrder(Order.desc("messageIdx"));
|
||||
|
||||
if(!messageStatus.equals("")){
|
||||
criteria.add(Restrictions.eq("messageStatus", messageStatus));
|
||||
}
|
||||
|
||||
if(!column.equals("") && !search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
List<VIEW_MESSAGE> tMessageList = criteria.list();
|
||||
|
||||
if(tMessageList.size() > 0){
|
||||
return (Map<Object, Object>)tMessageList.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx에 해당하는 메시지 개수를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 개수
|
||||
* */
|
||||
//CommonMessageService
|
||||
public Long getMessageCnt(Integer memberIdx){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(T_MESSAGE.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx, messageStatus, column, search에 해당하는 메시지 개수를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @param String messageStatus 메시지 확인상태(Y:확인,N:미확인)
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 메시지 개수
|
||||
* */
|
||||
//CommonMessageService
|
||||
public Long getMessageCnt(Integer memberIdx, String messageStatus, String column, String search){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(VIEW_MESSAGE.class);
|
||||
|
||||
criteria.add(Restrictions.eq("memberIdx", memberIdx));
|
||||
|
||||
if(!messageStatus.equals("")){
|
||||
criteria.add(Restrictions.eq("messageStatus", messageStatus));
|
||||
}
|
||||
|
||||
if(!column.equals("") && !search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx, messageStatus, column, search에 해당하는 정보를 페이지 별로 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @param Integer page 페이지 번호
|
||||
* @param Intege row 페지이당 출력 개수
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @param String messageStatus 메시지 확인상태(Y:확인,N:미확인)
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return List<VIEW_MESSAGE> 메시지 리스트
|
||||
* */
|
||||
//CommonMessageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<VIEW_MESSAGE> getMessageList(Integer memberIdx, Integer page, Integer row, String[] qryColumns, String messageStatus, String column, String search){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(VIEW_MESSAGE.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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));
|
||||
|
||||
if(!messageStatus.equals("")){
|
||||
criteria.add(Restrictions.eq("messageStatus", messageStatus));
|
||||
}
|
||||
|
||||
if(!column.equals("") && !search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("messageIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* fileIdx에 해당하는 메시지 첨부파일 정보를 가지고오는 메소드
|
||||
* @param Integer fileIdx 파일 idx
|
||||
* @return T_MESSAGE_FILE 메시지 파일 정보
|
||||
* */
|
||||
//CommonMessageService
|
||||
public T_MESSAGE_FILE getMessageFileForm(Integer fileIdx){
|
||||
|
||||
return (T_MESSAGE_FILE)this.sessionFactory.getCurrentSession().load(T_MESSAGE_FILE.class, fileIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* messageIdx에 해당하는 메시지 파일 리스트를 가지고 오는 메소드
|
||||
* @param Integer messageIdx 메시지 idx
|
||||
* @return List<T_MESSAGE_FILE> 메시지 파일 리스트
|
||||
* */
|
||||
//CommonMessageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MESSAGE_FILE> getMessageFileList(Integer messageIdx){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(T_MESSAGE_FILE.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMessage.messageIdx", messageIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 메시지 상태 정보를 수정하는 메소드
|
||||
* @param T_MESSAGE tMessage 수정할 메시지 정보
|
||||
* */
|
||||
//CommonMessageService
|
||||
public void setMessageStatusProc(T_MESSAGE tMessage){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tMessage);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 메시지 정보를 저장하는 메소드
|
||||
* @param T_MESSAGE t_message 저장할 메시지 정보
|
||||
* @return T_MESSAGE 저장된 메시지 정보
|
||||
* */
|
||||
//CommonMessageService
|
||||
public T_MESSAGE setMessageRegProc(T_MESSAGE tMessage){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tMessage);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getMessageForm(tMessage.getMessageIdx());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 메시지 정보를 삭제 하는 메소드
|
||||
* @param T_MESSAGE tMessage 수정할 메시지 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//CommonMessageService
|
||||
public boolean setMessageDelProc(T_MESSAGE tMessage){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tMessage);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 메시지 파일 정보를 저장하는 메소드
|
||||
* @param T_MESSAGE_FILE tMessageFile 저장할 메시지 파일 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//CommonMessageService
|
||||
public boolean setMessageFileRegProc(T_MESSAGE_FILE tMessageFile){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tMessageFile);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 메시지 파일 정보를 삭제하는 메소드
|
||||
* @param T_MESSAGE_FILE tMessageFileDB 삭제할 메시지 파일 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//CommonMessageService
|
||||
public boolean setMessageFileDelProc(T_MESSAGE_FILE tMessageFileDB){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tMessageFileDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 메시지 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_MESSAGE> 메시지 리스트
|
||||
* */
|
||||
//CommonMessageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MESSAGE> getMessageList(Integer memberIdx){
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(T_MESSAGE.class);
|
||||
|
||||
criteria.setFirstResult(100);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
criteria.addOrder(Order.desc("messageIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 메시지 정보 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_MESSAGE> 메시지 리스트
|
||||
* */
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MESSAGE> getMessageAllList(Integer memberIdx){
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(T_MESSAGE.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
}
|
||||
14
src/main/java/seed/dao/CommonPostCodeDAO.java
Normal file
14
src/main/java/seed/dao/CommonPostCodeDAO.java
Normal file
@ -0,0 +1,14 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_POSTCODE;
|
||||
|
||||
public interface CommonPostCodeDAO {
|
||||
|
||||
public List<T_POSTCODE> getCommonPostCodeList(String search);
|
||||
|
||||
public Long getCommonPostCodeListCnt();
|
||||
|
||||
public boolean setCommonPostCodeRegProc(T_POSTCODE tPostCode);
|
||||
}
|
||||
69
src/main/java/seed/dao/CommonPostCodeDAOImpl.java
Normal file
69
src/main/java/seed/dao/CommonPostCodeDAOImpl.java
Normal file
@ -0,0 +1,69 @@
|
||||
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.Projections;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import seed.map.T_POSTCODE;
|
||||
|
||||
/**
|
||||
* 해당 클래스에 대한 사용 여부를 생각 해야할 필요가 있음
|
||||
* */
|
||||
@Repository
|
||||
public class CommonPostCodeDAOImpl implements CommonPostCodeDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_POSTCODE> getCommonPostCodeList(String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POSTCODE.class);
|
||||
|
||||
if(search != null && !search.equals("")){
|
||||
criteria.add(Restrictions.like("dong", search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("seq"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
public Long getCommonPostCodeListCnt(){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POSTCODE.class);
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
public boolean setCommonPostCodeRegProc(T_POSTCODE tPostCode){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tPostCode);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
35
src/main/java/seed/dao/DisputeResolutionCommitteeDao.java
Normal file
35
src/main/java/seed/dao/DisputeResolutionCommitteeDao.java
Normal file
@ -0,0 +1,35 @@
|
||||
package seed.dao;
|
||||
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository("disputeResolutionCommitteeDao")
|
||||
public class DisputeResolutionCommitteeDao {
|
||||
|
||||
@Autowired SqlSession sqlSession;
|
||||
|
||||
|
||||
// public DisputeResolutionCommitteeVO resolutionCommitteeLogin(DisputeResolutionCommitteeVO disputeResolutionCommitteeVO) {
|
||||
// return sqlSession.selectOne("disputeResolutionCommittee.resolutionCommitteeLogin", disputeResolutionCommitteeVO);
|
||||
// }
|
||||
//
|
||||
// public DisputeResolutionCommitteeVO resolutionCommitteeInfo(String memberNo) {
|
||||
// return sqlSession.selectOne("disputeResolutionCommittee.resolutionCommitteeInfo", memberNo);
|
||||
// }
|
||||
//
|
||||
// public boolean resolutionCommitteeLoginLog(DisputeResolutionCommitteeVO resultVO){
|
||||
// int dmlCnt = sqlSession.insert("disputeResolutionCommittee.resolutionCommitteeLoginLog", resultVO);
|
||||
// if(dmlCnt>0){
|
||||
// return true;
|
||||
// }else{
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public DisputeResolutionCommitteeAttendanceRateVO resolutionCommitteeRate(String memberIdx) {
|
||||
// return sqlSession.selectOne("disputeResolutionCommittee.resolutionCommitteeRate", memberIdx);
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
20
src/main/java/seed/dao/ErrorLogsDAO.java
Normal file
20
src/main/java/seed/dao/ErrorLogsDAO.java
Normal file
@ -0,0 +1,20 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_ERROR_LOGS;
|
||||
|
||||
public interface ErrorLogsDAO {
|
||||
|
||||
//AdminErrorLogsSetService
|
||||
public T_ERROR_LOGS getErrorLogsForm(Integer errorLogsIdx);
|
||||
|
||||
//AdminErrorLogsSetService
|
||||
public Long getErrorLogsListCnt(String column, String search);
|
||||
|
||||
//AdminErrorLogsSetService
|
||||
public List<T_ERROR_LOGS> getErrorLogsList(int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//CommonErrorLogsService
|
||||
public void setErrorLogsRegProc(T_ERROR_LOGS tErrorLogs);
|
||||
}
|
||||
126
src/main/java/seed/dao/ErrorLogsDAOImpl.java
Normal file
126
src/main/java/seed/dao/ErrorLogsDAOImpl.java
Normal file
@ -0,0 +1,126 @@
|
||||
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_ERROR_LOGS;
|
||||
|
||||
@Repository
|
||||
public class ErrorLogsDAOImpl implements ErrorLogsDAO {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
//AdminErrorLogsSetService
|
||||
public T_ERROR_LOGS getErrorLogsForm(Integer errorLogsIdx){
|
||||
|
||||
return (T_ERROR_LOGS) this.sessionFactory.getCurrentSession().load(T_ERROR_LOGS.class, errorLogsIdx);
|
||||
}
|
||||
|
||||
//AdminErrorLogsSetService
|
||||
public Long getErrorLogsListCnt(String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_ERROR_LOGS.class);
|
||||
|
||||
if (!column.equals("")) {
|
||||
if (column.equals("A")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("errorLogsUrl", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("errorLogsType", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
} else {
|
||||
criteria.add(Restrictions.like(column, search,
|
||||
MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
//AdminErrorLogsSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_ERROR_LOGS> getErrorLogsList(int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_ERROR_LOGS.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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 (!column.equals("")) {
|
||||
if (column.equals("A")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("errorLogsUrl", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("errorLogsType", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
} else {
|
||||
criteria.add(Restrictions.like(column, search,
|
||||
MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//CommonErrorLogsService
|
||||
public void setErrorLogsRegProc(T_ERROR_LOGS tErrorLogs) {
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tErrorLogs);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
23
src/main/java/seed/dao/FileDownLoadDAO.java
Normal file
23
src/main/java/seed/dao/FileDownLoadDAO.java
Normal file
@ -0,0 +1,23 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_FILE_DOWNLOAD;
|
||||
|
||||
public interface FileDownLoadDAO {
|
||||
|
||||
//CommonFileDownLoadService
|
||||
public Long getFileDownLoadCnt(String funcType, String funcSetIdx, String funcDataIdx);
|
||||
|
||||
//CommonFileDownLoadService
|
||||
public List<T_FILE_DOWNLOAD> getFileDownLoadList(String funcType, String funcSetIdx, String funcDataIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//CommonFileDownLoadService
|
||||
public List<T_FILE_DOWNLOAD> getFileDownLoadList(String funcType, String funcSetIdx, String funcDataIdx);
|
||||
|
||||
//CommonFileDownLoadService
|
||||
public boolean setFileDownLoadDelProc(T_FILE_DOWNLOAD tFileDownLoad);
|
||||
|
||||
//CommonFileDownLoadService
|
||||
public boolean setFileDownLoadProc(T_FILE_DOWNLOAD tFileDownLoad);
|
||||
}
|
||||
172
src/main/java/seed/dao/FileDownLoadDAOImpl.java
Normal file
172
src/main/java/seed/dao/FileDownLoadDAOImpl.java
Normal file
@ -0,0 +1,172 @@
|
||||
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.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_FILE_DOWNLOAD;
|
||||
|
||||
/**
|
||||
* T_FILE_DOWNLOAD 테이블을 select,insert,update,delete하기 위한 DAO메소드
|
||||
* */
|
||||
@Repository
|
||||
public class FileDownLoadDAOImpl implements FileDownLoadDAO {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
public Long getFileDownLoadCnt(String funcType, String funcSetIdx, String funcDataIdx) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FILE_DOWNLOAD.class);
|
||||
|
||||
if(!funcSetIdx.equals("0") && !funcDataIdx.equals("0")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("funcType", funcType),
|
||||
Restrictions.eq("funcSetIdx", funcSetIdx)),
|
||||
Restrictions.eq("funcDataIdx", funcDataIdx)));
|
||||
}else if(!funcSetIdx.equals("0")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("funcType", funcType),
|
||||
Restrictions.eq("funcSetIdx", funcSetIdx)));
|
||||
}else if(!funcDataIdx.equals("0")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("funcType", funcType),
|
||||
Restrictions.eq("funcDataIdx", funcDataIdx)));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FILE_DOWNLOAD> getFileDownLoadList(String funcType, String funcSetIdx, String funcDataIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FILE_DOWNLOAD.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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(!funcSetIdx.equals("0") && !funcDataIdx.equals("0")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("funcType", funcType),
|
||||
Restrictions.eq("funcSetIdx", funcSetIdx)),
|
||||
Restrictions.eq("funcDataIdx", funcDataIdx)));
|
||||
}else if(!funcSetIdx.equals("0")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("funcType", funcType),
|
||||
Restrictions.eq("funcSetIdx", funcSetIdx)));
|
||||
}else if(!funcDataIdx.equals("0")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("funcType", funcType),
|
||||
Restrictions.eq("funcDataIdx", funcDataIdx)));
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("fileDownLoadIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FILE_DOWNLOAD> getFileDownLoadList(String funcType, String funcSetIdx, String funcDataIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FILE_DOWNLOAD.class);
|
||||
|
||||
if(!funcSetIdx.equals("0") && !funcDataIdx.equals("0")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("funcType", funcType),
|
||||
Restrictions.eq("funcSetIdx", funcSetIdx)),
|
||||
Restrictions.eq("funcDataIdx", funcDataIdx)));
|
||||
}else if(!funcSetIdx.equals("0")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("funcType", funcType),
|
||||
Restrictions.eq("funcSetIdx", funcSetIdx)));
|
||||
}else if(!funcDataIdx.equals("0")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("funcType", funcType),
|
||||
Restrictions.eq("funcDataIdx", funcDataIdx)));
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("fileDownLoadIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
public boolean setFileDownLoadDelProc(T_FILE_DOWNLOAD tFileDownLoad){
|
||||
|
||||
boolean success = false;
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tFileDownLoad);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setFileDownLoadProc(T_FILE_DOWNLOAD tFileDownLoad){
|
||||
|
||||
boolean success = false;
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tFileDownLoad);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
}
|
||||
30
src/main/java/seed/dao/FirewallDAO.java
Normal file
30
src/main/java/seed/dao/FirewallDAO.java
Normal file
@ -0,0 +1,30 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_FIREWALL;
|
||||
|
||||
public interface FirewallDAO {
|
||||
|
||||
//AdminFirewallSetService
|
||||
public T_FIREWALL getFirewallForm(Integer firewallIdx);
|
||||
|
||||
//AdminFirewallSetService
|
||||
public Long getFirewallListCnt(String column, String search);
|
||||
|
||||
//AdminFirewallSetService
|
||||
public List<T_FIREWALL> getFirewallList(int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//AdminFirewallSetService
|
||||
public List<Map<Object, Object>> getFirewallList();
|
||||
|
||||
//AdminFirewallSetService
|
||||
public T_FIREWALL setFirewallRegProc(T_FIREWALL tFirewall);
|
||||
|
||||
//AdminFirewallSetService
|
||||
public boolean setFirewallModProc(T_FIREWALL tFirewall);
|
||||
|
||||
//AdminFirewallSetService
|
||||
public boolean setFirewallDelProc(T_FIREWALL tFirewall);
|
||||
}
|
||||
262
src/main/java/seed/dao/FirewallDAOImpl.java
Normal file
262
src/main/java/seed/dao/FirewallDAOImpl.java
Normal file
@ -0,0 +1,262 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_FIREWALL;
|
||||
|
||||
/**
|
||||
* T_FIREWALL 테이블 정보를 select, insert, update, delete하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class FirewallDAOImpl implements FirewallDAO {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* firewallIdx에 해당하는 방화벽 정보를 가지고 오는 메소드
|
||||
* @param Integer firewallIdx 방화벽 idx
|
||||
* @return T_FIREWALL 방화벽 정보
|
||||
* */
|
||||
//AdminFirewallSetService
|
||||
public T_FIREWALL getFirewallForm(Integer firewallIdx) {
|
||||
|
||||
return (T_FIREWALL) this.sessionFactory.getCurrentSession().load(T_FIREWALL.class, firewallIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* column, search에 해당하는 방화벽 개수를 가지고 오는 메소드
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 방화벽 개수
|
||||
* */
|
||||
//AdminFirewallSetService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getFirewallListCnt(String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FIREWALL.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
if (!column.equals("")) {
|
||||
if (column.equals("firewallIp")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.like("firewallAClass", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("firewallBClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallCClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallDClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallEClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallFClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallGClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallHClass", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
} else {
|
||||
criteria.add(Restrictions.like(column, search,
|
||||
MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* column, search에 해당하는 방화벽 리스트 정보를 orderColumn, order 기준으로 정렬해서
|
||||
* 페이지 별로 가지고 오는 메소드
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param String orderColumn order by 컬럼 정보
|
||||
* @param String order 정렬 방법 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select컬럼 정의
|
||||
* @return List<T_FIREWALL> 방화벽 정보 리스트
|
||||
* */
|
||||
//AdminFirewallSetService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_FIREWALL> getFirewallList(int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FIREWALL.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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 (!column.equals("")) {
|
||||
if (column.equals("firewallIp")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.like("firewallAClass", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("firewallBClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallCClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallDClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallEClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallFClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallGClass", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("firewallHClass", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
} else {
|
||||
criteria.add(Restrictions.like(column, search,
|
||||
MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* firewallStatus=U 인 방화벽 정보 리스트를 가지고 오는 메소드
|
||||
* @return List<Map<Object, Object>> 방화벽 리스트
|
||||
* */
|
||||
//AdminFirewallSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<Object, Object>> getFirewallList(){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FIREWALL.class);
|
||||
|
||||
ProjectionList projectionList = Projections.projectionList();
|
||||
|
||||
projectionList.add(Projections.property("firewallAClass").as("_firewallAClass"));
|
||||
projectionList.add(Projections.property("firewallBClass").as("_firewallBClass"));
|
||||
projectionList.add(Projections.property("firewallCClass").as("_firewallCClass"));
|
||||
projectionList.add(Projections.property("firewallDClass").as("_firewallDClass"));
|
||||
projectionList.add(Projections.property("firewallEClass").as("_firewallEClass"));
|
||||
projectionList.add(Projections.property("firewallFClass").as("_firewallFClass"));
|
||||
projectionList.add(Projections.property("firewallGClass").as("_firewallGClass"));
|
||||
projectionList.add(Projections.property("firewallHClass").as("_firewallHClass"));
|
||||
|
||||
criteria.setProjection(projectionList);
|
||||
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
||||
|
||||
criteria.add(Restrictions.eq("firewallStatus", "U"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 방화벽 정보를 저장하는 메소드
|
||||
* @param T_FIREWALL tFirewall 저장할 방화벽 정보
|
||||
* @return T_FIREWALL 저장된 방화벽 정보
|
||||
* */
|
||||
//AdminFirewallSetService
|
||||
public T_FIREWALL setFirewallRegProc(T_FIREWALL tFirewall){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tFirewall);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getFirewallForm(tFirewall.getFirewallIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 방화벽 정보를 수정하는 메소드
|
||||
* @param T_FIREWALL tFirewall 수정할 방화벽 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminFirewallSetService
|
||||
public boolean setFirewallModProc(T_FIREWALL tFirewall) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tFirewall);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 방하벽 정보를 삭제하는 메소드
|
||||
* @param T_FIREWALL tFirewall 삭제할 방화벽 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminFirewallSetService
|
||||
public boolean setFirewallDelProc(T_FIREWALL tFirewall) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tFirewall);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
27
src/main/java/seed/dao/FormbuilderAuthDAO.java
Normal file
27
src/main/java/seed/dao/FormbuilderAuthDAO.java
Normal file
@ -0,0 +1,27 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_FORMBUILDER_AUTH;
|
||||
|
||||
public interface FormbuilderAuthDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_FORMBUILDER_AUTH> getFormbuilderAuthList(Integer memberIdx);
|
||||
|
||||
//ManagerFormbuilderAuthService
|
||||
public T_FORMBUILDER_AUTH getFormbuilderAuthForm(Integer formbuilderAuthIdx);
|
||||
|
||||
//ManagerFormbuilderAuthService
|
||||
public List<T_FORMBUILDER_AUTH> getFormbuilderAuthList(Integer formbuilderSetIdx, String[] qryColumns);
|
||||
|
||||
//UserFormbuilderAuthService
|
||||
public List<Map<Object, Object>> getFormbuilderAuthMapList(Integer formbuilderSetIdx, Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//AdminGroupService, ManagerGroupService, ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderAuthRegProc(T_FORMBUILDER_AUTH tFormbuilderAuth);
|
||||
|
||||
//ManagerFormbuilderAuthService
|
||||
public boolean setFormbuilderAuthModProc(T_FORMBUILDER_AUTH tFormbuilderAuth);
|
||||
}
|
||||
205
src/main/java/seed/dao/FormbuilderAuthDAOImpl.java
Normal file
205
src/main/java/seed/dao/FormbuilderAuthDAOImpl.java
Normal file
@ -0,0 +1,205 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_FORMBUILDER_AUTH;
|
||||
|
||||
/**
|
||||
* T_FORMBUILDER_AUTH 정보를 select, insert, update, delete하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class FormbuilderAuthDAOImpl implements FormbuilderAuthDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx에 해당하는 폼빌더 권한 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_FORMBUILDER_AUTH> 폼빌더 권한 리스트를 가지고 오는 메소드
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_AUTH> getFormbuilderAuthList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_AUTH.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderAuthIdx에 해당하는 권한 정보를 가지고 오는 메소드
|
||||
* @param Integer formbuilderAuthIdx 권한 idx
|
||||
* @return T_FORMBUILDER_AUTH 권한 정보
|
||||
* */
|
||||
//ManagerFormbuilderAuthService
|
||||
public T_FORMBUILDER_AUTH getFormbuilderAuthForm(Integer formbuilderAuthIdx){
|
||||
|
||||
return (T_FORMBUILDER_AUTH) this.sessionFactory.getCurrentSession().load(T_FORMBUILDER_AUTH.class, formbuilderAuthIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx에 해당하는 권한 리스트를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 idx
|
||||
* @param String[] qryColumns select 할 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_AUTH> 권한 리스트
|
||||
* */
|
||||
//ManagerFormbuilderAuthService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_FORMBUILDER_AUTH> getFormbuilderAuthList(Integer formbuilderSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_AUTH.class);
|
||||
|
||||
criteria.createCriteria("tGroup", "tGroup", 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.add(Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("tGroup.groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, memberIdx에 해당하는 폼빌더 권한 리스트를 가지고 오는 메소드
|
||||
* memberIdx가 0인 경우 로그인이 안되고 손님일 경우로 보고 grouplevel 999로 검색
|
||||
* @param Integer formbuilderSetIdx 폼빌더 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<Map<Object, Object>> 권한 리스트
|
||||
* */
|
||||
//UserFormbuilderAuthService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<Map<Object, Object>> getFormbuilderAuthMapList(Integer formbuilderSetIdx, Integer memberIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_AUTH.class);
|
||||
|
||||
criteria.createCriteria("tGroup", "tGroup", Criteria.LEFT_JOIN).
|
||||
createCriteria("tGroupss", "tGroupss", 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(memberIdx > 0){//로그인 되었을때 해당 테이블의 권한 검색
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("tGroupss.tMember.memberIdx", memberIdx)));
|
||||
}else{//로그인이 안되고 손님일 경우일때 grouplevel 999로 검색
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("tGroup.groupLevel", 999)));
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.asc("tGroup.groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 권한 정보를 저장하는 메소드
|
||||
* @param T_FORMBUILDER_AUTH tFormbuilderAuth 저장할 권한 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminGroupService, ManagerGroupService, ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderAuthRegProc(T_FORMBUILDER_AUTH tFormbuilderAuth){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tFormbuilderAuth);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 권한 정보를 수정하는 메소드
|
||||
* @param T_FORMBUILDER_AUTH tFormbuilderAuth 수정할 권한 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderAuthService
|
||||
public boolean setFormbuilderAuthModProc(T_FORMBUILDER_AUTH tFormbuilderAuth){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tFormbuilderAuth);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
44
src/main/java/seed/dao/FormbuilderDataDAO.java
Normal file
44
src/main/java/seed/dao/FormbuilderDataDAO.java
Normal file
@ -0,0 +1,44 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_FORMBUILDER_DATA;
|
||||
|
||||
public interface FormbuilderDataDAO {
|
||||
|
||||
//UserFormbuilderDataService
|
||||
public Long getFormbuilderDataOverlapCnt(Integer formbuilderSetIdx, Integer memberIdx, String memberIp);
|
||||
|
||||
//UserFormbuilderDataService
|
||||
public Long getFormbuilderDataOverlapCnt(Integer formbuilderSetIdx, Integer memberIdx, String memberName, String memberEmail);
|
||||
|
||||
//UserFormbuilderDataService
|
||||
public T_FORMBUILDER_DATA getFormbuilderDataForm(Integer formbuilderDataIdx);
|
||||
|
||||
//ManagerFormbuilderDataService
|
||||
public Long getFormbuilderDataListCnt(Integer formbuilderSetIdx, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderDataService
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataItemGroupList(Integer formbuilderItemGroup);
|
||||
|
||||
//ManagerFormbuilderDataService
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataList(Integer formbuilderDataGroup);
|
||||
|
||||
//ManagerFormbuilderDataService
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataList(Integer formbuilderSetIdx, int page, int row, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderDataService
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataList(Integer formbuilderSetIdx, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderDataService
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataSubList(Integer formbuilderSetIdx);
|
||||
|
||||
//UserFormbuilderDataService, ManagerFormbuilderDataService
|
||||
public T_FORMBUILDER_DATA setFormbuilderDataRegProc(T_FORMBUILDER_DATA tFormbuilderData);
|
||||
|
||||
//UserFormbuilderDataService, ManagerFormbuilderDataService
|
||||
public boolean setFormbuilderDataModProc(T_FORMBUILDER_DATA tFormbuilderData);
|
||||
|
||||
//ManagerFormbuilderDataService
|
||||
public boolean setFormbuilderDataDelProc(T_FORMBUILDER_DATA tFormbuilderData);
|
||||
}
|
||||
397
src/main/java/seed/dao/FormbuilderDataDAOImpl.java
Normal file
397
src/main/java/seed/dao/FormbuilderDataDAOImpl.java
Normal file
@ -0,0 +1,397 @@
|
||||
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_FORMBUILDER_DATA;
|
||||
|
||||
/**
|
||||
* T_FORMBUILDER_DATA 테이블 정보를 select, insert, update, delete하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class FormbuilderDataDAOImpl implements FormbuilderDataDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx와 memberIdx에 해당하는 폼빌더 데이터 개수를 가지고 오는 메소드
|
||||
* memberIdx의 정보가 0일 경우 memberIdx 를 대신해서 memberIp를 사용 한다
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @param String memberIp 회원 접속 아이피
|
||||
* @return Long 데이터 개수
|
||||
* */
|
||||
//UserFormbuilderDataService
|
||||
public Long getFormbuilderDataOverlapCnt(Integer formbuilderSetIdx, Integer memberIdx, String memberIp){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderDataStatus","U")));
|
||||
|
||||
if(memberIdx == 0){
|
||||
criteria.add(Restrictions.eq("formbuilderDataMemberIp",memberIp));
|
||||
}else{
|
||||
criteria.add(Restrictions.eq("formbuilderDataMemberIdx",memberIdx));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, formbuilderDataStatus=U, memberIdx에 해당하는 폼빌더 데이터 개수를 가지고 오는 메소드
|
||||
* memberIdx가 0인 경우 memberName, memberEmail에 해당하는 정보의 개수를 가지고 온다
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @param String memberName 회원 이름
|
||||
* @param String memberEmail 회원 이메일
|
||||
* @return Long 폼빌더 데이터 개수
|
||||
* */
|
||||
//UserFormbuilderDataService
|
||||
public Long getFormbuilderDataOverlapCnt(Integer formbuilderSetIdx, Integer memberIdx, String memberName, String memberEmail){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderDataStatus","U")));
|
||||
|
||||
if(memberIdx == 0){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("formbuilderDataMemberName",memberName),
|
||||
Restrictions.eq("formbuilderDataMemberEmail",memberEmail)));
|
||||
}else{
|
||||
criteria.add(Restrictions.eq("formbuilderDataMemberIdx",memberIdx));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderDataIdx에 해당하는 폼빌더 정보를 가지고 오는 메소드
|
||||
* @param Integer formbuilderDataIdx 폼빌더 데이터 idx
|
||||
* @return T_FORMBUILDER_DATA 폼빌더 정보
|
||||
* */
|
||||
public T_FORMBUILDER_DATA getFormbuilderDataForm(Integer formbuilderDataIdx){
|
||||
|
||||
return (T_FORMBUILDER_DATA) this.sessionFactory.getCurrentSession().load(T_FORMBUILDER_DATA.class, formbuilderDataIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, column, search에 해당하는 데이터의 개수를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return Long 데이터 개수
|
||||
* */
|
||||
//ManagerFormbuilderDataService
|
||||
public Long getFormbuilderDataListCnt(Integer formbuilderSetIdx, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_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){
|
||||
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("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
if(!column.equals("") && !search.equals("")){
|
||||
|
||||
if(column.equals("formbuilderDataMemberName") || column.equals("formbuilderDataMemberEmail")){
|
||||
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
|
||||
}else{
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("formbuilderItemGroup", Integer.parseInt(column)),
|
||||
Restrictions.like("formbuilderDataText", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* service까지 확인후 주석 달 예정 이런 메소드가 왜 필요한지 알수가 없네요 아직은
|
||||
* */
|
||||
//ManagerFormbuilderDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataItemGroupList(Integer formbuilderItemGroup){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("formbuilderItemGroup", formbuilderItemGroup));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderDataIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* service까지 확인후 주석 달 예정 이런 메소드가 왜 필요한지 알수가 없네요 아직은
|
||||
* @param Integer formbuilderDataGroup
|
||||
* @return List<T_FORMBUILDER_DATA>
|
||||
* */
|
||||
//ManagerFormbuilderDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataList(Integer formbuilderDataGroup){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("formbuilderDataGroup", formbuilderDataGroup));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderDataIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, column, search 해당하는 폼빌더 데이터를 페이지 별로 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_DATA> 폼빌더 리스트
|
||||
* */
|
||||
//ManagerFormbuilderDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataList(Integer formbuilderSetIdx, int page, int row, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_DATA.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
if(!column.equals("") && !search.equals("")){
|
||||
|
||||
if(column.equals("formbuilderDataMemberName") || column.equals("formbuilderDataMemberEmail")){
|
||||
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
|
||||
}else{
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("formbuilderItemGroup", Integer.parseInt(column)),
|
||||
Restrictions.like("formbuilderDataText", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("formbuilderDataGroup"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, column, search 에 해당하는 폼빌더 데이터를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_DATA> 폼빌더 데이터 리스트
|
||||
* */
|
||||
//ManagerFormbuilderDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataList(Integer formbuilderSetIdx, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_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("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
if(!column.equals("") && !search.equals("")){
|
||||
|
||||
if(column.equals("formbuilderDataMemberName") || column.equals("formbuilderDataMemberEmail")){
|
||||
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
|
||||
}else{
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("formbuilderItemGroup", Integer.parseInt(column)),
|
||||
Restrictions.like("formbuilderDataText", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("formbuilderDataGroup"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx 에 해당하는 폼빌더 데이터 리스트를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @return List<T_FORMBUILDER_DATA> 폼빌더 데이터 리스트
|
||||
* */
|
||||
//ManagerFormbuilderDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataSubList(Integer formbuilderSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderDataIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 데이터를 저장하는 메소드
|
||||
* @param T_FORMBUILDER_DATA tFormbuilderData 저장할 폼빌더 데이터
|
||||
* @return T_FORMBUILDER_DATA 저장된 폼빌더 데이터
|
||||
* */
|
||||
//UserFormbuilderDataService, ManagerFormbuilderDataService
|
||||
public T_FORMBUILDER_DATA setFormbuilderDataRegProc(T_FORMBUILDER_DATA tFormbuilderData){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tFormbuilderData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getFormbuilderDataForm(tFormbuilderData.getFormbuilderDataIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 데이터를 수정하는 메소드
|
||||
* @param T_FORMBUILDER_DATA tFormbuilderData 수정할 폼빌더 데이터
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//UserFormbuilderDataService, ManagerFormbuilderDataService
|
||||
public boolean setFormbuilderDataModProc(T_FORMBUILDER_DATA tFormbuilderData){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try {
|
||||
this.sessionFactory.getCurrentSession().update(tFormbuilderData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 데이터를 삭제하는 메소드
|
||||
* @param T_FORMBUILDER_DATA tFormbuilderData 삭제할 폼빌더 데이터
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderDataService
|
||||
public boolean setFormbuilderDataDelProc(T_FORMBUILDER_DATA tFormbuilderData){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try {
|
||||
this.sessionFactory.getCurrentSession().delete(tFormbuilderData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
51
src/main/java/seed/dao/FormbuilderItemDAO.java
Normal file
51
src/main/java/seed/dao/FormbuilderItemDAO.java
Normal file
@ -0,0 +1,51 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_FORMBUILDER_ITEM;
|
||||
|
||||
public interface FormbuilderItemDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemAllList(Integer memberIdx);
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemList(Integer formbuilderSetIdx);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public T_FORMBUILDER_ITEM getFormbuilderItemForm(Integer formbuilderItemIdx);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public T_FORMBUILDER_ITEM getFormbuilderItemForm(Integer formbuilderSetIdx, Integer formbuilderItemGroup);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public List<Map<Object, Object>> getFormbuilderItemList(Integer formbuilderSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemValuesList(Integer formbuilderSetIdx, Integer formbuilderItemGroup, String[] qryColumns);
|
||||
|
||||
//UserFormbuilderItemService
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemValuesList(Integer formbuilderSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemOrderList(Integer formbuilderSetIdx, Integer formbuilderItemOrder, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public Long getFormbuilderItemListCnt(Integer formbuilderSetIdx);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public Integer getFormbuilderItemOrderFormCnt(Integer formbuilderSetIdx);
|
||||
|
||||
//ManagerformbuilderSetService
|
||||
public T_FORMBUILDER_ITEM setFormbuilderItemRegProc(T_FORMBUILDER_ITEM tFormbuilderItem);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public boolean setFormbuilderItemModProc(T_FORMBUILDER_ITEM tFormbuilderItem);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public boolean setFormbuilderItemDelProc(T_FORMBUILDER_ITEM tFormbuilderItem);
|
||||
|
||||
//ManagerFormbuilderItemService
|
||||
public void setFormbuilderItemOrderProc(Integer formbuilderSetIdx, Integer formbuilderItemOrder);
|
||||
}
|
||||
421
src/main/java/seed/dao/FormbuilderItemDAOImpl.java
Normal file
421
src/main/java/seed/dao/FormbuilderItemDAOImpl.java
Normal file
@ -0,0 +1,421 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_FORMBUILDER_ITEM;
|
||||
|
||||
/**
|
||||
* T_FORMBUILDER_ITE 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class FormbuilderItemDAOImpl implements FormbuilderItemDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx에 해당하는 폼빌더 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_FORMBUILDER_ITEM> 폼빌더 항목 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemAllList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx 에 해당하는 폼빌더 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @return List<T_FORMBUILDER_ITEM> 폼빌더 항목 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemList(Integer formbuilderSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderItemOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderItemIdx 에 해당하는 항목 정보를 가지고 오는 메소드
|
||||
* @param Integer formbuilderItemIdx 폼빌더 항목 idx
|
||||
* @return T_FORMBUILDER_ITEM 폼빌더 항목 정보
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
public T_FORMBUILDER_ITEM getFormbuilderItemForm(Integer formbuilderItemIdx){
|
||||
|
||||
return (T_FORMBUILDER_ITEM) this.sessionFactory.getCurrentSession().load(T_FORMBUILDER_ITEM.class, formbuilderItemIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, formbuilderItemGroup 에 해당하는 항목 정보를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param Integer formbuilderItemGroup 폼빌더 항목 그룹 정보
|
||||
* @return T_FORMBUILDER_ITEM 항목 정보
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
public T_FORMBUILDER_ITEM getFormbuilderItemForm(Integer formbuilderSetIdx, Integer formbuilderItemGroup){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderItemGroup", formbuilderItemGroup)));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderItemGroup"));
|
||||
|
||||
return (T_FORMBUILDER_ITEM)criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx 에 해당하는 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<Map<Object, Object>> 항목 리스트
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<Object, Object>> getFormbuilderItemList(Integer formbuilderSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.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("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderItemOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, formbuilderItemGroup 에 해당하는 폼빌더 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param Integer formbuilderItemGroup 항목 그룹 정보
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_ITEM> 항목 리스트
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemValuesList(Integer formbuilderSetIdx, Integer formbuilderItemGroup, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.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.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderItemGroup", formbuilderItemGroup)));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderItemGroup")).addOrder(Order.asc("formbuilderItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, formbuilderItemStatus=U 인 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_ITEM> 폼빌더 항목 리스트
|
||||
* */
|
||||
//UserFormbuilderItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemValuesList(Integer formbuilderSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.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.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderItemStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderItemOrder")).addOrder(Order.asc("formbuilderItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, formbuilderItemOrder 에 해당하는 항목 리스트를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param Integer formbuilderItemOrder 폼빌더 항목 정렬 순서
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_ITEM> 폼빌더 항목 리스트
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemOrderList(Integer formbuilderSetIdx, Integer formbuilderItemOrder, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.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.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderItemOrder", formbuilderItemOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx 에 해당하는 항목 개수를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @return Long 항목 개수
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
public Long getFormbuilderItemListCnt(Integer formbuilderSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.countDistinct("formbuilderItemGroup"));
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx 에 해당하는 항목 정보중 formbuilderItemOrder 최대값을 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @return Integer formbuilderItemOrder 최대값
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
public Integer getFormbuilderItemOrderFormCnt(Integer formbuilderSetIdx) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.max("formbuilderItemOrder"));
|
||||
|
||||
if(criteria.uniqueResult() == null){
|
||||
return 0;
|
||||
}else{
|
||||
return (Integer)criteria.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 폴빌더 항목 정보를 저장하는 메소드
|
||||
* @param T_FORMBUILDER_ITEM tFormbuilderItem 저장할 폼빌더 항목 정보
|
||||
* @return T_FORMBUILDER_ITEM 저장된 폼빌더 항목 정보
|
||||
* */
|
||||
//ManagerformbuilderSetService
|
||||
public T_FORMBUILDER_ITEM setFormbuilderItemRegProc(T_FORMBUILDER_ITEM tFormbuilderItem){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tFormbuilderItem);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getFormbuilderItemForm(tFormbuilderItem.gettFormbuilderSet().getFormbuilderSetIdx(), tFormbuilderItem.getFormbuilderItemGroup());
|
||||
}
|
||||
|
||||
/**
|
||||
* 폴빌더 항목 정보를 수정하는 메소드
|
||||
* @param T_FORMBUILDER_ITEM tFormbuilderItem 수정할 폼빌더 항목 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
public boolean setFormbuilderItemModProc(T_FORMBUILDER_ITEM tFormbuilderItem){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tFormbuilderItem);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 폴빌더 항목 정보를 삭제하는 메소드
|
||||
* @param T_FORMBUILDER_ITEM tFormbuilderItem 삭제할 폼빌더 항목 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
public boolean setFormbuilderItemDelProc(T_FORMBUILDER_ITEM tFormbuilderItem){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tFormbuilderItem);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
*formbuilderSetIdx, formbuilderItemOrder 에해당하는 항목 의 formbuilderItemOrder 값을 -1 해주는 메소드
|
||||
*formbuilderItemOrder 조건의 경우 formbuilderItemOrder보다 큰 값을 가진 항목을 찾는 조건 이다.
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param Integer formbuilderItemOrder 폼빌더 항목 정렬값
|
||||
* */
|
||||
//ManagerFormbuilderItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setFormbuilderItemOrderProc(Integer formbuilderSetIdx, Integer formbuilderItemOrder){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.gt("formbuilderItemOrder", formbuilderItemOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderItemOrder"));
|
||||
|
||||
List<T_FORMBUILDER_ITEM> tFormbuilderItemList = criteria.list();
|
||||
|
||||
if(tFormbuilderItemList.size() > 0){
|
||||
for(int i=0; i<tFormbuilderItemList.size(); i++){
|
||||
|
||||
T_FORMBUILDER_ITEM tFormbuilderItemDB = tFormbuilderItemList.get(i);
|
||||
tFormbuilderItemDB.setFormbuilderItemOrder(tFormbuilderItemDB.getFormbuilderItemOrder()-1);
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tFormbuilderItemDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
48
src/main/java/seed/dao/FormbuilderManagerDAO.java
Normal file
48
src/main/java/seed/dao/FormbuilderManagerDAO.java
Normal file
@ -0,0 +1,48 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_FORMBUILDER_MANAGER;
|
||||
|
||||
public interface FormbuilderManagerDAO {
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(String siteIdx);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(Integer memberIdx);
|
||||
|
||||
//ManagerFormbuilderManagerService
|
||||
public T_FORMBUILDER_MANAGER getFormbuilderManagerForm(Integer managerIdx);
|
||||
|
||||
//ManagerFormbuilderManagerService
|
||||
public Long getFormbuilderManagerListGrantCnt(Integer formbuilderSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerFormbuilderManagerService, UserFormbuilderManagerService
|
||||
public Long getFormbuilderManagerListCnt(Integer formbuilderSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerFormbuilderManagerService
|
||||
public Long getFormbuilderManagerListCnt(Integer formbuilderSetIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//ManagerFormbuilderManagerService
|
||||
public Long getFormbuilderManagerListCnt(String siteIdx, Integer memberIdx, String column, String search);
|
||||
|
||||
//ManagerFormbuilderManagerService
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(Integer formbuilderSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderManagerService
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderManagerService
|
||||
public List<Map<Object, Object>> getFormbuilderManagerList(String siteIdx, Integer formbuilderSetIdx, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderManagerService
|
||||
public boolean setFormbuilderManagerRegProc(T_FORMBUILDER_MANAGER tFormbuilderManager);
|
||||
|
||||
//ManagerFormbuilderManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setFormbuilderManagerModProc(T_FORMBUILDER_MANAGER tFormbuilderManager);
|
||||
|
||||
//ManagerFormbuilderManagerService
|
||||
public boolean setFormbuilderManagerDelProc(T_FORMBUILDER_MANAGER tFormbuilderManager);
|
||||
}
|
||||
467
src/main/java/seed/dao/FormbuilderManagerDAOImpl.java
Normal file
467
src/main/java/seed/dao/FormbuilderManagerDAOImpl.java
Normal file
@ -0,0 +1,467 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_FORMBUILDER_MANAGER;
|
||||
|
||||
/**
|
||||
* T_FORMBUILDER_MANAGER 테이블 정보를 select, insert, update, delete하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class FormbuilderManagerDAOImpl implements FormbuilderManagerDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx에 해당하는 폼빌더 관리자 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return List<T_FORMBUILDER_MANAGER> 폼빌더 관리자 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tFormbuilderSet", "tFormbuilderSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tFormbuilderSet.tSite.siteIdx", siteIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx에 해당하는 폼빌더 관리자 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_FORMBUILDER_MANAGER> 폼빌더 관리자 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_MANAGER.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* managerIdx에 해당하는 폼빌더 정보를 가지고 오는 메소드
|
||||
* @param Integer managerIdx 폼빌더 관리자 idx
|
||||
* @return T_FORMBUILDER_MANAGER 폼빌더 관리자 정보
|
||||
* */
|
||||
//ManagerFormbuilderManagerService
|
||||
public T_FORMBUILDER_MANAGER getFormbuilderManagerForm(Integer managerIdx){
|
||||
|
||||
return (T_FORMBUILDER_MANAGER) this.sessionFactory.getCurrentSession().load(T_FORMBUILDER_MANAGER.class, managerIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, memberIdx 에 해당하는 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 폼빌더 관리자 정보 개수
|
||||
* */
|
||||
//ManagerFormbuilderManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getFormbuilderManagerListGrantCnt(Integer formbuilderSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderManagerStatus", "U")),
|
||||
Restrictions.eq("formbuilderManagerGrant", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, memberIdx 에 해당하는 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 폼빌더 관리자 정보 개수
|
||||
* */
|
||||
//ManagerFormbuilderManagerService, UserFormbuilderManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getFormbuilderManagerListCnt(Integer formbuilderSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderManagerStatus", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, column, search 에 해당하는 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 폼빌더 관리자 개수
|
||||
* */
|
||||
//ManagerFormbuilderManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getFormbuilderManagerListCnt(Integer formbuilderSetIdx, Integer selGroup, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, column, search 에 해당하는 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 폼빌더 관리자 개수
|
||||
* */
|
||||
//ManagerFormbuilderManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getFormbuilderManagerListCnt(String siteIdx, Integer memberIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tFormbuilderSet", "tFormbuilderSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, column, search 에 해당하는 폼빌더 관리자 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* orderColumn 의로 정렬할 컬럼을 정의 하고 order 옵션으로 정렬 형식을 정의 한다.
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 개수
|
||||
* @param String orderColumn order by 컬럼 정의
|
||||
* @param String order order by 옵션정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_MANAGER> 관리자 리스트
|
||||
* */
|
||||
//ManagerFormbuilderManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(Integer formbuilderSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
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 = "formbuilderManagerIdx";
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, column, search 에 해당하는 폼빌더 관리자 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* orderColumn 의로 정렬할 컬럼을 정의 하고 order 옵션으로 정렬 형식을 정의 한다.
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 개수
|
||||
* @param String orderColumn order by 컬럼 정의
|
||||
* @param String order order by 옵션정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_MANAGER> 관리자 리스트
|
||||
* */
|
||||
//ManagerFormbuilderManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_FORMBUILDER_MANAGER> getFormbuilderManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tFormbuilderSet", "tFormbuilderSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.and(
|
||||
Restrictions.eq("tFormbuilderSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, formbuilderSetIdx 에 해당하는 폼빌더 관리자 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_MANAGER> 관리자 리스트
|
||||
* */
|
||||
//ManagerFormbuilderManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<Map<Object, Object>> getFormbuilderManagerList(String siteIdx, Integer formbuilderSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tFormbuilderSet", "tFormbuilderSet", 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.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tFormbuilderSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx)));
|
||||
|
||||
criteria.addOrder(Order.desc("formbuilderManagerIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 관리자 정보를 저장하는 메소드
|
||||
* @param T_FORMBUILDER_MANAGER tFormbuilderManager 저장할 폼빌더 관리자 계정
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderManagerService
|
||||
public boolean setFormbuilderManagerRegProc(T_FORMBUILDER_MANAGER tFormbuilderManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tFormbuilderManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 관리자 정보를 수정하는 메소드
|
||||
* @param T_FORMBUILDER_MANAGER tFormbuilderManager 수정할 폼빌더 관리자 계정
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setFormbuilderManagerModProc(T_FORMBUILDER_MANAGER tFormbuilderManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tFormbuilderManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 관리자 정보를 삭제하는 메소드
|
||||
* @param T_FORMBUILDER_MANAGER tFormbuilderManager 삭제할 폼빌더 관리자 계정
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderManagerService
|
||||
public boolean setFormbuilderManagerDelProc(T_FORMBUILDER_MANAGER tFormbuilderManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tFormbuilderManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
46
src/main/java/seed/dao/FormbuilderSetDAO.java
Normal file
46
src/main/java/seed/dao/FormbuilderSetDAO.java
Normal file
@ -0,0 +1,46 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_FORMBUILDER_SET;
|
||||
import seed.map.VIEW_FORMBUILDER_SET;
|
||||
|
||||
public interface FormbuilderSetDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_FORMBUILDER_SET> getFormbuilderSetList(Integer memberIdx);
|
||||
|
||||
//AdminGroupService, ManagerGroupService
|
||||
public List<T_FORMBUILDER_SET> getFormbuilderSetList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public List<Map<Object, Object>> getFormbuilderSetMiniList(Integer formbuilderSetIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public List<VIEW_FORMBUILDER_SET> getFormbuilderSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//UserFormbuilderSetService
|
||||
public List<T_FORMBUILDER_SET> getFormbuilderSetList(Integer formbuilderSetIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public Long getFormbuilderSetListCnt(String siteIdx, String column, String search);
|
||||
|
||||
//UserFormbuilderSetService
|
||||
public Long getFormbuilderSetListCnt(Integer formbuilderSetIdx);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public T_FORMBUILDER_SET getFormbuilderSetForm(String siteIdx, String siteMenuIdx);
|
||||
|
||||
//ManagerFormbuilderSetService, UserFormbuilderSetService
|
||||
public T_FORMBUILDER_SET getFormbuilderSetForm(Integer formbuilderSetIdx);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public T_FORMBUILDER_SET setFormbuilderSetRegProc(T_FORMBUILDER_SET tFormbuilderSet);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderSetModProc(T_FORMBUILDER_SET tFormbuilderSet);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderSetDelProc(T_FORMBUILDER_SET tFormbuilderSet);
|
||||
}
|
||||
434
src/main/java/seed/dao/FormbuilderSetDAOImpl.java
Normal file
434
src/main/java/seed/dao/FormbuilderSetDAOImpl.java
Normal file
@ -0,0 +1,434 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_FORMBUILDER_SET;
|
||||
import seed.map.VIEW_FORMBUILDER_SET;
|
||||
|
||||
/**
|
||||
* T_FORMBUILDER_SET 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class FormbuilderSetDAOImpl implements FormbuilderSetDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 폼빌더 설정 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_FORMBUILDER_SET> 폼빌더 설정 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_SET> getFormbuilderSetList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SET.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 데이터를 가지고 오는 메소드
|
||||
* formbuilderSetIdx에 해당하는 정보를 page에 맞춰서 row개 가지고 온다
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param int page 출력할 페이지 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String[] select 컬럼 정의
|
||||
* @return List<Map<Object, Object>> 폼빌더 설정 리스트
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<Object, Object>> getFormbuilderSetMiniList(Integer formbuilderSetIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SET.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.and(
|
||||
Restrictions.eq("formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderSetStatus","U")));
|
||||
|
||||
criteria.addOrder(Order.desc("formbuilderSetIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 폼빌더 설정 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns seelct 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_SET> 폼빌더 설정 리스트
|
||||
* */
|
||||
//AdminGroupService, ManagerGroupService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_SET> getFormbuilderSetList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SET.class);
|
||||
|
||||
if(!siteIdx.equals("ALL_SITE_IDX")){
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
}
|
||||
|
||||
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.addOrder(Order.asc("formbuilderSetIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx, column, search 에 해당하는 폼빌더 설정 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* orderColumn 의로 정렬할 컬럼을 정의 하고 order 옵션으로 정렬 형식을 정의 한다.
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String orderColumn 정렬 컬럼 정의
|
||||
* @param String order 정렬 옵션 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<VIEW_FORMBUILDER_SET> 폼빌더 설정 리스트
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<VIEW_FORMBUILDER_SET> getFormbuilderSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(VIEW_FORMBUILDER_SET.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("siteIdx", siteIdx));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("formbuilderSetName", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx 에 해당하는 폼빌더 설정 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_SET> 폼빌더 설정 리스트
|
||||
* */
|
||||
//UserFormbuilderSetService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_FORMBUILDER_SET> getFormbuilderSetList(Integer formbuilderSetIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SET.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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(formbuilderSetIdx.equals(0)){
|
||||
criteria.add(Restrictions.eq("formbuilderSetStatus", "U"));
|
||||
}else{
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderSetStatus", "U")));
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("formbuilderSetIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 폼빌더 설정 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 폼빌더 설정 개수
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
public Long getFormbuilderSetListCnt(String siteIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(VIEW_FORMBUILDER_SET.class);
|
||||
|
||||
criteria.add(Restrictions.eq("siteIdx", siteIdx));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("formbuilderSetName", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx 에 해당하는 폼빌더 설정 개수를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @return Long 폼빌더 설정 개수
|
||||
* */
|
||||
//UserFormbuilderSetService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getFormbuilderSetListCnt(Integer formbuilderSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SET.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
if(formbuilderSetIdx.equals(0)){
|
||||
criteria.add(Restrictions.eq("formbuilderSetStatus", "U"));
|
||||
}else{
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderSetStatus", "U")));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, siteMenuIdx 에 해당하는 폼빌더 정보를 가지고 오는 메소드
|
||||
* siteMenuIdx의 경우 SITE_MENU_IDXS 컬럼을 LIKE검색 한다
|
||||
* @param String siteIdx 폼빌더 설정 idx
|
||||
* @param String siteMenuIdx 폼빌더 설정 idx
|
||||
* @return T_FORMBUILDER_SET 폼빌더 정보
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public T_FORMBUILDER_SET getFormbuilderSetForm(String siteIdx, String siteMenuIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SET.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.like("siteMenuIdxs", siteMenuIdx, MatchMode.ANYWHERE)));
|
||||
|
||||
ArrayList<T_FORMBUILDER_SET> list = (ArrayList<T_FORMBUILDER_SET>)criteria.list();
|
||||
|
||||
if(list != null && list.size() > 0){
|
||||
return list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSetIdx 에 해당하는 폼빌더 설정 정보를 가지고 옵니다.
|
||||
* @param Integer formbuilderSetIdx 폼빌더 설정 idx
|
||||
* @return T_FORMBUILDER_SET 폼빌더 설정 정보
|
||||
* */
|
||||
//ManagerFormbuilderSetService, UserFormbuilderSetService
|
||||
public T_FORMBUILDER_SET getFormbuilderSetForm(Integer formbuilderSetIdx){
|
||||
|
||||
return (T_FORMBUILDER_SET) this.sessionFactory.getCurrentSession().load(T_FORMBUILDER_SET.class, formbuilderSetIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 설정 정보를 저장하는 메소드
|
||||
* @param T_FORMBUILDER_SET tFormbuilderSet 저장할 폼빌더 설정 정보
|
||||
* @return T_FORMBUILDER_SET 저장한 폼빌더 설정 정보
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
public T_FORMBUILDER_SET setFormbuilderSetRegProc(T_FORMBUILDER_SET tFormbuilderSet){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tFormbuilderSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getFormbuilderSetForm(tFormbuilderSet.getFormbuilderSetIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 설정 정보를 수정하는 메소드
|
||||
* @param T_FORMBUILDER_SET tFormbuilderSet 수정할 폼빌더 설정 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderSetModProc(T_FORMBUILDER_SET tFormbuilderSet){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tFormbuilderSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 설정 정보를 삭제하는 메소드
|
||||
* @param T_FORMBUILDER_SET tFormbuilderSet 삭제할 폼빌더 설정 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderSetDelProc(T_FORMBUILDER_SET tFormbuilderSet){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tFormbuilderSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
41
src/main/java/seed/dao/FormbuilderSkinDAO.java
Normal file
41
src/main/java/seed/dao/FormbuilderSkinDAO.java
Normal file
@ -0,0 +1,41 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_FORMBUILDER_SKIN;
|
||||
|
||||
public interface FormbuilderSkinDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSkinList(Integer memberIdx);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public String getFormbuilderSkinCode(String siteIdx);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public T_FORMBUILDER_SKIN getFormbuilderSkinForm(Integer formbuilderSkinIdx);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public Long getFormbuilderSetSkinListCnt(String siteIdx);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSetSkinList(String siteIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public Long getFormbuilderSkinListCnt(String siteIdx);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSkinList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSkinList(String siteIdx, int page, int row, String[] qryColumns);
|
||||
|
||||
//AdminSiteService, ManagerFormbuilderSetService
|
||||
public T_FORMBUILDER_SKIN setFormbuilderSkinRegProc(T_FORMBUILDER_SKIN tFormbuilderSkin);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderSkinModProc(T_FORMBUILDER_SKIN tFormbuilderSkin);
|
||||
|
||||
//ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderSkinDelProc(T_FORMBUILDER_SKIN tFormbuilderSkin);
|
||||
}
|
||||
351
src/main/java/seed/dao/FormbuilderSkinDAOImpl.java
Normal file
351
src/main/java/seed/dao/FormbuilderSkinDAOImpl.java
Normal file
@ -0,0 +1,351 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
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.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_FORMBUILDER_SKIN;
|
||||
|
||||
/**
|
||||
* T_FORMBUILDER_SKIN 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class FormbuilderSkinDAOImpl implements FormbuilderSkinDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx에 해당하는 폼빌더 스킨 정보 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_FORMBUILDER_SKIN> 폼빌더 스킨 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSkinList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SKIN.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 맞는 skinCode정보를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return String 스킨 코드값
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
@SuppressWarnings("unchecked")
|
||||
public String getFormbuilderSkinCode(String siteIdx){
|
||||
|
||||
String formbuilderSkinCode = "01";
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SKIN.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
criteria.addOrder(Order.desc("formbuilderSkinCode"));
|
||||
|
||||
ArrayList<T_FORMBUILDER_SKIN> list = (ArrayList<T_FORMBUILDER_SKIN>)criteria.list();
|
||||
|
||||
if(list != null && list.size() > 0){
|
||||
|
||||
T_FORMBUILDER_SKIN tFormbuilderSkinDB = list.get(0);
|
||||
|
||||
Integer formbuilderSkinCodeTmp = Integer.parseInt(tFormbuilderSkinDB.getFormbuilderSkinCode()) + 1;
|
||||
|
||||
if(formbuilderSkinCodeTmp < 10){
|
||||
formbuilderSkinCode = "0"+formbuilderSkinCodeTmp;
|
||||
}else{
|
||||
formbuilderSkinCode = formbuilderSkinCodeTmp+"";
|
||||
}
|
||||
}
|
||||
|
||||
return formbuilderSkinCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* formbuilderSkinIdx 에 해당하는 스킨 정보를 가지고 오는 메소드
|
||||
* @param Integer formbuilderSkinIdx 폼빌더 스킨 idx
|
||||
* @return T_FORMBUILDER_SKIN 폼빌더 스킨 정보
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
public T_FORMBUILDER_SKIN getFormbuilderSkinForm(Integer formbuilderSkinIdx){
|
||||
|
||||
return (T_FORMBUILDER_SKIN) this.sessionFactory.getCurrentSession().load(T_FORMBUILDER_SKIN.class, formbuilderSkinIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 스킨 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return Long 스킨개수
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
public Long getFormbuilderSetSkinListCnt(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SKIN.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.or(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.isNull("tSite.siteIdx")),
|
||||
Restrictions.eq("formbuilderSkinStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx에 해당하는 폼빌더 스킨 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_SKIN> 폼빌더 스킨 리스트
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSetSkinList(String siteIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SKIN.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.and(
|
||||
Restrictions.or(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.isNull("tSite.siteIdx")),
|
||||
Restrictions.eq("formbuilderSkinStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.desc("formbuilderSkinIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 폼빌더 스킨 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return Long 폼빌더 스킨 개수
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
public Long getFormbuilderSkinListCnt(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SKIN.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.isNull("tSite.siteIdx"),
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx)));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 폼빌더 스킨 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_SKIN> 폼빌더 스킨 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSkinList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SKIN.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
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.addOrder(Order.asc("formbuilderSkinIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 폼빌더 스킨 리스트를 페이지별로 가지고 온다.
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_FORMBUILDER_SKIN> 폼빌더 스킨 리스트
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_FORMBUILDER_SKIN> getFormbuilderSkinList(String siteIdx, int page, int row, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_SKIN.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.or(
|
||||
Restrictions.isNull("tSite.siteIdx"),
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx)));
|
||||
|
||||
criteria.addOrder(Order.desc("formbuilderSkinIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 스킨 정보를 저장하는 메소드
|
||||
* @param T_FORMBUILDER_SKIN tFormbuilderSkin 저장할 폼빌더 스킨 정보
|
||||
* @return T_FORMBUILDER_SKIN 저장된 폼빌더 스킨 정보
|
||||
* */
|
||||
//AdminSiteService, ManagerFormbuilderSetService
|
||||
public T_FORMBUILDER_SKIN setFormbuilderSkinRegProc(T_FORMBUILDER_SKIN tFormbuilderSkin){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tFormbuilderSkin);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getFormbuilderSkinForm(tFormbuilderSkin.getFormbuilderSkinIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 스킨 정보를 수정하는 메소드
|
||||
* @param T_FORMBUILDER_SKIN tFormbuilderSkin 수정할 폼빌더 스킨 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderSkinModProc(T_FORMBUILDER_SKIN tFormbuilderSkin){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tFormbuilderSkin);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 폼빌더 스킨 정보를 삭제하는 메소드
|
||||
* @param T_FORMBUILDER_SKIN tFormbuilderSkin 삭제할 폼빌더 스킨 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerFormbuilderSetService
|
||||
public boolean setFormbuilderSkinDelProc(T_FORMBUILDER_SKIN tFormbuilderSkin){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tFormbuilderSkin);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
42
src/main/java/seed/dao/GroupDAO.java
Normal file
42
src/main/java/seed/dao/GroupDAO.java
Normal file
@ -0,0 +1,42 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_GROUP;
|
||||
|
||||
public interface GroupDAO {
|
||||
|
||||
//AdminGroupService ManagerGroupService
|
||||
public void setGroupLevelProc(Integer groupLevel);
|
||||
|
||||
//AdminGroupService ManagerGroupService
|
||||
public T_GROUP getGroupLevelForm(String siteIdx, Integer groupLevel);
|
||||
|
||||
//AdminGroupService ManagerGroupService
|
||||
public Integer getGroupLevelFormCnt(String siteIdx);
|
||||
|
||||
//AdminGroupService, ManagerGroupService
|
||||
public T_GROUP getGroupForm(Integer groupIdx);
|
||||
|
||||
//AdminGroupService
|
||||
public List<T_GROUP> getGroupList(String[] qryColumns);
|
||||
|
||||
//AdminGroupService, ManagerGroupService, ManagerBbsSetService, AdminSiteService
|
||||
public List<T_GROUP> getGroupList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//AdminGroupService, ManagerGroupService, ManagerBbsSetService, AdminSiteService
|
||||
public List<Map<Object, Object>> getGroupMapList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//AdminGroupService, ManagerGroupService
|
||||
public List<T_GROUP> getGroupList(String siteIdx, String column, String search, String[] qryColumns);
|
||||
|
||||
//AdminSiteService, AdminGroupService, ManagerSiteService, ManagerGroupService
|
||||
public T_GROUP setGroupRegProc(T_GROUP tGroup);
|
||||
|
||||
//AdminGroupService, ManagerGroupService
|
||||
public boolean setGroupModProc(T_GROUP tGroup);
|
||||
|
||||
//AdminGroupService, ManagerGroupService
|
||||
public boolean setGroupDelProc(T_GROUP tGroup);
|
||||
}
|
||||
382
src/main/java/seed/dao/GroupDAOImpl.java
Normal file
382
src/main/java/seed/dao/GroupDAOImpl.java
Normal file
@ -0,0 +1,382 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_GROUP;
|
||||
|
||||
/**
|
||||
* T_GROUP 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class GroupDAOImpl implements GroupDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* groupLevel 보다 크고 999보다 작은 그룹레벨을 가진 데이터의 그룹레벨값을 -1 하는 메소드
|
||||
* @param Integer groupLevel
|
||||
* */
|
||||
//AdminGroupService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setGroupLevelProc(Integer groupLevel){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUP.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.lt("groupLevel", 999),
|
||||
Restrictions.gt("groupLevel", groupLevel)));
|
||||
|
||||
criteria.addOrder(Order.asc("groupLevel"));
|
||||
|
||||
List<T_GROUP> tGroupList = criteria.list();
|
||||
|
||||
if(tGroupList.size() > 0){
|
||||
for(int i=0; i<tGroupList.size(); i++){
|
||||
|
||||
T_GROUP tGroupDB = tGroupList.get(i);
|
||||
tGroupDB.setGroupLevel(tGroupDB.getGroupLevel()-1);
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tGroupDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, groupLevel 에 해당하는 그룹 정보를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer groupLevel 그룹 레벨
|
||||
* @return T_GROUP 그룹 정보
|
||||
* */
|
||||
//AdminGroupService
|
||||
public T_GROUP getGroupLevelForm(String siteIdx, Integer groupLevel) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUP.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("groupLevel", groupLevel)));
|
||||
|
||||
return (T_GROUP) criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 그룹중 그룹레벨이 999보다 작은 값중 가장 큰 그룹레벨을 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return Integer 그룹레벨 최대값
|
||||
* */
|
||||
//AdminGroupService
|
||||
public Integer getGroupLevelFormCnt(String siteIdx){
|
||||
|
||||
Integer groupLevel = 0;
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUP.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.lt("groupLevel", 999)));
|
||||
|
||||
criteria.setProjection(Projections.max("groupLevel"));
|
||||
|
||||
if((Integer)criteria.uniqueResult() != null){
|
||||
groupLevel = (Integer)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
return groupLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* groupIdx 에 해당하는 그룹 정보를 가지고 오는 메소드
|
||||
* @param Integer groupIdx 그룹 idx
|
||||
* @return T_GROUP 그룹정보
|
||||
* */
|
||||
//AdminGroupService
|
||||
public T_GROUP getGroupForm(Integer groupIdx){
|
||||
|
||||
return (T_GROUP) this.sessionFactory.getCurrentSession().load(T_GROUP.class, groupIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* groupStatus=U 에 해당하는 그룹 정보 리스트를 가지고 오는 메소드
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_GROUP> 그룹 리스트
|
||||
* */
|
||||
//AdminGroupService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_GROUP> getGroupList(String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUP.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("groupStatus", "U"));
|
||||
|
||||
criteria.addOrder(Order.asc("groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, groupStatus=U 에 해당하는 그룹 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_GROUP> 그룹 리스트
|
||||
* */
|
||||
//AdminGroupService, ManagerGroupService, ManagerBbsSetService, AdminSiteService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_GROUP> getGroupList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUP.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.and(
|
||||
Restrictions.eq("groupStatus", "U"),
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx)));
|
||||
|
||||
criteria.addOrder(Order.asc("groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, groupStatus=U 에 해당하는 그룹 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<Map<Object, Object>> 그룹 리스트
|
||||
* */
|
||||
//AdminGroupService, ManagerGroupService, ManagerBbsSetService, AdminSiteService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<Object, Object>> getGroupMapList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUP.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.and(
|
||||
Restrictions.eq("groupStatus", "U"),
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx)));
|
||||
|
||||
criteria.addOrder(Order.asc("groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 그룹 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_GROUP> 그룹 리스트
|
||||
* */
|
||||
//AdminGroupService, ManagerGroupService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_GROUP> getGroupList(String siteIdx, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUP.class);
|
||||
|
||||
criteria.createCriteria("tGroupss", "tGroupss", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember", "tMember", 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.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("groupName", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.asc("groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 그룹 정보를 저장하는 메소드
|
||||
* @param T_GROUP tGroup 저장할 그룹 정보
|
||||
* @return T_GROUP 저장된 그룹 정보
|
||||
* */
|
||||
//AdminSiteService, AdminGroupService, ManagerSiteService, ManagerGroupService
|
||||
public T_GROUP setGroupRegProc(T_GROUP tGroup){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tGroup);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return getGroupForm(tGroup.getGroupIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 그룹 정보를 수정하는 메소드
|
||||
* @param T_GROUP tGroup 수정할 그룹 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminGroupService, ManagerGroupService
|
||||
public boolean setGroupModProc(T_GROUP tGroup){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tGroup);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 그룹 정보를 삭제하는 메소드
|
||||
* @param T_GROUP tGroup 삭제할 그룹 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminGroupService, ManagerGroupService
|
||||
public boolean setGroupDelProc(T_GROUP tGroup){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tGroup);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
45
src/main/java/seed/dao/GroupsDAO.java
Normal file
45
src/main/java/seed/dao/GroupsDAO.java
Normal file
@ -0,0 +1,45 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_GROUPS;
|
||||
|
||||
public interface GroupsDAO {
|
||||
|
||||
//AdminGroupsService
|
||||
public Long getGroupsListCnt(String siteIdx, Integer groupIdx, Integer memberIdx);
|
||||
|
||||
//AdminGroupsService
|
||||
public Long getGroupsListCnt(Integer groupIdx, String column, String search);
|
||||
|
||||
//AdminGroupsService, ManagerGroupsService
|
||||
public Long getGroupsListCnt(Integer memberIdx);
|
||||
|
||||
//AdminGroupsService
|
||||
public List<T_GROUPS> getGroupsList(Integer groupIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//AdminGroupsService
|
||||
public List<Map<Object, Object>> getGroupsMapList(Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//AdminMemberController, ManagerGroupsService
|
||||
public List<T_GROUPS> getGroupsList(String siteIdx, Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//AdminMemberService, ManagerSiteService
|
||||
public List<T_GROUPS> getGroupsList(Integer memberIdx);
|
||||
|
||||
//ManagerMemberService
|
||||
public List<T_GROUPS> getGroupsList(String siteIdx, Integer memberIdx);
|
||||
|
||||
//AdminGroupsService, ManagerGroupsService
|
||||
public T_GROUPS getGroupsForm(Integer groupsIdx);
|
||||
|
||||
//AdminGroupsService, ManagerGroupsService
|
||||
public boolean setGroupsRegProc(T_GROUPS tGroups);
|
||||
|
||||
//AdminGroupsService, ManagerGroupsService
|
||||
public boolean setGroupsModProc(T_GROUPS tGroups);
|
||||
|
||||
//AdminGroupsService, AdminMemberService, ManagerMemberService, ManagerGroupsService
|
||||
public boolean setGroupsDelProc(T_GROUPS tGroups);
|
||||
}
|
||||
403
src/main/java/seed/dao/GroupsDAOImpl.java
Normal file
403
src/main/java/seed/dao/GroupsDAOImpl.java
Normal file
@ -0,0 +1,403 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_GROUPS;
|
||||
|
||||
/**
|
||||
* T_GROUPS 테이블 정보를 select, insert, update, delete하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class GroupsDAOImpl implements GroupsDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, groupIdx, memberIdx 에 해당하는 그룹회원 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer groupIdx 그룹 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 그룹회원 개수
|
||||
* */
|
||||
//AdminGroupsService
|
||||
public Long getGroupsListCnt(String siteIdx, Integer groupIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUPS.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tGroup.groupIdx", groupIdx)),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* groupIdx, column, search 에 해당하는 그룹회원 개수를 가지고 오는 메소드
|
||||
* @param Integer groupIdx 그룹 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 그룹회원 개수
|
||||
* */
|
||||
//AdminGroupsService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getGroupsListCnt(Integer groupIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUPS.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tGroup.groupIdx", groupIdx));
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 그룹회원 개수를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 그룹회원 개수
|
||||
* */
|
||||
//AdminGroupsService, ManagerGroupsService
|
||||
public Long getGroupsListCnt(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUPS.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* groupIdx, column, search 에 해당하는 그룹회원 리스트를 페이지별로 가지고 오는 메소드
|
||||
* orderColumn, order 에 정의돈 내용으로 정렬을 한다
|
||||
* @param Integer groupIdx 그룹 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String orderColumn 정렬 컬럼 정의
|
||||
* @param String order 정렬 방법 정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns
|
||||
* @return List<T_GROUPS> 그룹 회원 리스트
|
||||
* */
|
||||
//AdminGroupsService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_GROUPS> getGroupsList(Integer groupIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUPS.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tGroup", "tGroup", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tGroup.groupIdx", groupIdx));
|
||||
|
||||
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(!order.equals("") && !orderColumn.equals("")){
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx, groupsStatus=U 에 해당하는 그룹회원 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 그룹 idx
|
||||
* @param String[] qryColumns
|
||||
* @return List<Map<Object, Object>> 그룹 회원 리스트
|
||||
* */
|
||||
//AdminGroupsService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<Map<Object, Object>> getGroupsMapList(Integer memberIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUPS.class);
|
||||
|
||||
criteria.createCriteria("tSite", "tSite", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tGroup", "tGroup", 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.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("groupsStatus", "U"),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
criteria.addOrder(Order.asc("tSite.siteName")).addOrder(Order.asc("tGroup.groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, memberIdx, groupsStatus=U 에 해당하는 회원 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_GROUPS> 그룹 회원 리스트
|
||||
* */
|
||||
//AdminMemberController, ManagerGroupsService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_GROUPS> getGroupsList(String siteIdx, Integer memberIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUPS.class);
|
||||
|
||||
criteria.createCriteria("tSite", "tSite", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tGroup", "tGroup", 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.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("groupsStatus", "U"),
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx)),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
criteria.addOrder(Order.asc("tSite.siteName")).addOrder(Order.asc("tGroup.groupLevel"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 회원 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_GROUPS> 그룹 회원 리스트
|
||||
* */
|
||||
//AdminMemberService, AdminSiteService, ManagerSiteService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_GROUPS> getGroupsList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUPS.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, memberIdx 에 해당하는 회원 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_GROUPS> 그룹 회원 리스트
|
||||
* */
|
||||
//ManagerMemberService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_GROUPS> getGroupsList(String siteIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_GROUPS.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx),
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx)));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
*groupsIdx 에 해당하는 회원 정보를 가지고 오는 메소드
|
||||
* @param Integer groupsIdx 그룹 회원 idx
|
||||
* @return T_GROUPS 그룹 회원 정보
|
||||
* */
|
||||
//AdminGroupsService, ManagerGroupsService
|
||||
public T_GROUPS getGroupsForm(Integer groupsIdx){
|
||||
|
||||
return (T_GROUPS) this.sessionFactory.getCurrentSession().load(T_GROUPS.class, groupsIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
*그룹 회원 정보를 저장하는 메소드
|
||||
* @param T_GROUPS tGroups 저장할 그룹 회원 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminGroupsService, ManagerGroupsService
|
||||
public boolean setGroupsRegProc(T_GROUPS tGroups){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tGroups);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
*그룹 회원 정보를 수정하는 메소드
|
||||
* @param T_GROUPS tGroups 수정할 그룹 회원 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminGroupsService, ManagerGroupsService
|
||||
public boolean setGroupsModProc(T_GROUPS tGroups){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tGroups);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
*그룹 회원 정보를 삭제하는 메소드
|
||||
* @param T_GROUPS tGroups 삭제할 그룹 회원 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminGroupsService, AdminMemberService, ManagerMemberService, ManagerGroupsService
|
||||
public boolean setGroupsDelProc(T_GROUPS tGroups){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tGroups);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
15
src/main/java/seed/dao/LogsDAO.java
Normal file
15
src/main/java/seed/dao/LogsDAO.java
Normal file
@ -0,0 +1,15 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_LOGS;
|
||||
import seed.map.VIEW_LOGS;
|
||||
|
||||
public interface LogsDAO {
|
||||
|
||||
public Long getSiteMemberLogListCnt(String logsType, String logsSubType, String column, String search, String sDate, String eDate);
|
||||
|
||||
public List<VIEW_LOGS> getLogsList(String logsType, String logsSubType, int page, int row, String orderColumn, String order, String column, String search, String sDate, String eDate);
|
||||
|
||||
public void setLogsRegProc(T_LOGS tLogs);
|
||||
}
|
||||
99
src/main/java/seed/dao/LogsDAOImpl.java
Normal file
99
src/main/java/seed/dao/LogsDAOImpl.java
Normal file
@ -0,0 +1,99 @@
|
||||
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.Projections;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import seed.map.T_LOGS;
|
||||
import seed.map.VIEW_LOGS;
|
||||
|
||||
@Repository
|
||||
public class LogsDAOImpl implements LogsDAO {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
public Long getSiteMemberLogListCnt(String logsType, String logsSubType, String column, String search, String sDate, String eDate){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(VIEW_LOGS.class);
|
||||
|
||||
criteria.add(Restrictions.eq("logsType", logsType));
|
||||
|
||||
if(!logsSubType.equals("")){
|
||||
criteria.add(Restrictions.eq("logsSubType", logsSubType));
|
||||
}
|
||||
|
||||
if(!column.equals("") && !search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
if(!sDate.equals("") && !eDate.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.ge("logsRegDate", sDate),
|
||||
Restrictions.le("logsRegDate", eDate)));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<VIEW_LOGS> getLogsList(String logsType, String logsSubType, int page, int row, String orderColumn, String order, String column, String search, String sDate, String eDate){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(VIEW_LOGS.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
criteria.add(Restrictions.eq("logsType", logsType));
|
||||
|
||||
if(!logsSubType.equals("")){
|
||||
criteria.add(Restrictions.eq("logsSubType", logsSubType));
|
||||
}
|
||||
|
||||
if(!column.equals("") && !search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
if(!sDate.equals("") && !eDate.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.ge("logsRegDate", sDate),
|
||||
Restrictions.le("logsRegDate", eDate)));
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
public void setLogsRegProc(T_LOGS tLogs){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tLogs);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
61
src/main/java/seed/dao/MemberDAO.java
Normal file
61
src/main/java/seed/dao/MemberDAO.java
Normal file
@ -0,0 +1,61 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_MEMBER;
|
||||
|
||||
public interface MemberDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public Long getMemberFormCnt(String memberId);
|
||||
|
||||
//AdminMemberService
|
||||
public List<T_MEMBER> getMemberList(ArrayList<Integer> arrayListMemberIdx);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public Long getMemberListCnt(String siteIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//AdminMemberService
|
||||
public Long getMemberListCnt(String column, String search);
|
||||
|
||||
//AdminMemberService
|
||||
public Long getMemberPrivacyListCnt(String siteIdx, String column, String search, Integer privacyDate);
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_MEMBER> getMemberList(String siteIdx);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_MEMBER> getMemberList(String siteIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//AdminMemberService
|
||||
public List<T_MEMBER> getMemberList(int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//AdminMemberService
|
||||
public List<T_MEMBER> getMemberPrivacyList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, Integer privacyDate, String[] qryColumns);
|
||||
|
||||
//AdminLoginService, ManagerLoginService
|
||||
public T_MEMBER getMemberForm(String memberId);
|
||||
|
||||
//AdminSiteService, AdminLoginService, ManagerLoginService, AdminSiteManagerService, AdminMemberService, ManagerSiteService, ManagerMemberService, UserMemberService
|
||||
public T_MEMBER getMemberForm(Integer memberIdx);
|
||||
|
||||
//ManagerMemberService
|
||||
public Map<Object, Object> getMemberMapForm(Integer memberIdx, String[] qryColumns);
|
||||
|
||||
//UserMemberService
|
||||
public String getMemberIdFindForm(String memberName, String memberEmail1, String memberEmail2);
|
||||
|
||||
//UserMemberService
|
||||
public Integer getMemberPwFindForm(String memberName, String memberId);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public T_MEMBER setMemberRegProc(T_MEMBER tMember);
|
||||
|
||||
//AdminSiteService, AdminLoginService, ManagerLoginService, AdminSiteManagerService, AdminMemberService, ManagerSiteService, ManagerMemberService
|
||||
public boolean setMemberModProc(T_MEMBER tMember);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public boolean setMemberDelProc(T_MEMBER tMember);
|
||||
}
|
||||
665
src/main/java/seed/dao/MemberDAOImpl.java
Normal file
665
src/main/java/seed/dao/MemberDAOImpl.java
Normal file
@ -0,0 +1,665 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_MEMBER;
|
||||
|
||||
/**
|
||||
* T_MEMBER 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class MemberDAOImpl implements MemberDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberId에 해당하는 회원 개수를 가지고 오는 메소드
|
||||
* @param String memberId 회원 id
|
||||
* @return Long 회원 개수
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public Long getMemberFormCnt(String memberId){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.add(Restrictions.eq("memberId", memberId));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* arrayListMemberIdx 에 해당하는 회원 리스트를 가지고 오는 메소드
|
||||
* arrayListMemberIdx 정보는 memberIdx in (arrayListMemberIdx) 조건에 사용된다.
|
||||
* @param ArrayList<Integer> arrayListMemberIdx
|
||||
* @return List<T_MEMBER>
|
||||
* */
|
||||
//AdminMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MEMBER> getMemberList(ArrayList<Integer> arrayListMemberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.add(Restrictions.in("memberIdx", arrayListMemberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 회원 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 회원 개수
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getMemberListCnt(String siteIdx, Integer selGroup, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.createCriteria("tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tGroups.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("memberId", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.countDistinct("memberIdx"));
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 슈퍼관리자 및 회원 관리자 회원 개수를 가지고 오는 메소드
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 회원 개수
|
||||
* */
|
||||
//AdminMemberService
|
||||
public Long getMemberListCnt(String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.eq("memberGrant", "U"),
|
||||
Restrictions.eq("memberGrant", "S")));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("memberId", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.countDistinct("memberIdx"));
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 슈퍼관리자 및 회원 관리자 회원 개수를 가지고 오는 메소드
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 회원 개수
|
||||
* */
|
||||
//AdminMemberService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getMemberPrivacyListCnt(String siteIdx, String column, String search, Integer privacyDate){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.createCriteria("tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
Calendar cal = new GregorianCalendar();
|
||||
|
||||
cal.setTime(new Date());
|
||||
cal.add(Calendar.DAY_OF_YEAR, -privacyDate);
|
||||
|
||||
Date privacy = new Date();
|
||||
|
||||
try {
|
||||
privacy = sdf.parse(sdf.format(cal.getTime()));
|
||||
} catch (ParseException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
return 0L;
|
||||
}
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.ne("memberGrant", "U"),
|
||||
Restrictions.ne("memberGrant", "S")),
|
||||
Restrictions.in("memberStatus", new String[]{"S", "D"})),
|
||||
Restrictions.eq("tGroups.tSite.siteIdx", siteIdx)),
|
||||
Restrictions.le("memberRegDate", privacy)));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("memberId", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.countDistinct("memberIdx"));
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 회원 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return List<T_MEMBER> 회원 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_MEMBER> getMemberList(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.createCriteria("tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tGroups.tSite.siteIdx", siteIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 회원 리스트를 가지고 오는 메소드
|
||||
* orderColumn 의로 정렬할 컬럼을 정의 하고 order 옵션으로 정렬 형식을 정의 한다.
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 개수
|
||||
* @param String orderColumn order by 컬럼 정의
|
||||
* @param String order order by 옵션정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MEMBER> 회원 리스트
|
||||
* */
|
||||
//AdminMemberService, MangerMemberService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_MEMBER> getMemberList(String siteIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.createCriteria("tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tGroups.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("memberId", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 슈퍼관리자 및 회원 관리자 회원 리스트를 가지고 오는 메소드
|
||||
* orderColumn 의로 정렬할 컬럼을 정의 하고 order 옵션으로 정렬 형식을 정의 한다.
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 개수
|
||||
* @param String orderColumn order by 컬럼 정의
|
||||
* @param String order order by 옵션정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MEMBER> 회원 리스트
|
||||
* */
|
||||
//AdminMemberService, MangerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MEMBER> getMemberList(int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.or(
|
||||
Restrictions.eq("memberGrant", "U"),
|
||||
Restrictions.eq("memberGrant", "S")));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("memberId", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 슈퍼관리자 및 회원 관리자 회원 리스트를 가지고 오는 메소드
|
||||
* orderColumn 의로 정렬할 컬럼을 정의 하고 order 옵션으로 정렬 형식을 정의 한다.
|
||||
* @param int page 페이지 번호
|
||||
* @param int row 개수
|
||||
* @param String orderColumn order by 컬럼 정의
|
||||
* @param String order order by 옵션정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MEMBER> 회원 리스트
|
||||
* */
|
||||
//AdminMemberService, MangerMemberService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_MEMBER> getMemberPrivacyList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, Integer privacyDate, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.createCriteria("tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
Calendar cal = new GregorianCalendar();
|
||||
|
||||
cal.setTime(new Date());
|
||||
cal.add(Calendar.DAY_OF_YEAR, -privacyDate);
|
||||
|
||||
Date privacy = new Date();
|
||||
|
||||
try {
|
||||
privacy = sdf.parse(sdf.format(cal.getTime()));
|
||||
} catch (ParseException e) {
|
||||
log.error("CHECK ERROR:",e);
|
||||
return null;
|
||||
}
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.ne("memberGrant", "U"),
|
||||
Restrictions.ne("memberGrant", "S")),
|
||||
Restrictions.in("memberStatus", new String[]{"S", "D"})),
|
||||
Restrictions.eq("tGroups.tSite.siteIdx", siteIdx)),
|
||||
Restrictions.le("memberRegDate", privacy)));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("memberId", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberId 에 해당하는 회원 정보를 가지고 오는 메소드
|
||||
* @param String memberId 회원아이디
|
||||
* @return T_MEMBER 회원 정보
|
||||
* */
|
||||
//AdminLoginService, ManagerLoginService
|
||||
@SuppressWarnings("unchecked")
|
||||
public T_MEMBER getMemberForm(String memberId){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.add(Restrictions.eq("memberId", memberId));
|
||||
|
||||
List<T_MEMBER> list = criteria.list();
|
||||
|
||||
if(list.size() > 0){
|
||||
return (T_MEMBER)list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 회원 정보를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return T_MEMBER 회원 정보
|
||||
* */
|
||||
//AdminSiteService, AdminLoginService, ManagerLoginService, AdminSiteManagerService, AdminMemberService, ManagerSiteService, ManagerMemberService, UserMemberService
|
||||
public T_MEMBER getMemberForm(Integer memberIdx){
|
||||
|
||||
return (T_MEMBER) this.sessionFactory.getCurrentSession().load(T_MEMBER.class, memberIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 회원 정보를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return Map<Object, Object>
|
||||
* */
|
||||
//ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public Map<Object, Object> getMemberMapForm(Integer memberIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.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));
|
||||
|
||||
List<Map<Object, Object>> list = criteria.list();
|
||||
|
||||
if(list.size() > 0){
|
||||
return (Map<Object, Object>)list.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* memberName, memberEmail1, memberEmail2 에 해당하는 회원 아이디를 가지고 오는 메소드
|
||||
* @param String memberName 회원 이름
|
||||
* @param String memberEmail1 회원 이메일1
|
||||
* @param String memberEmail2 회원 이메일2
|
||||
* @return String 회원 아이디
|
||||
* */
|
||||
//UserMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public String getMemberIdFindForm(String memberName, String memberEmail1, String memberEmail2){
|
||||
|
||||
String memberId = "";
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("memberName", memberName),
|
||||
Restrictions.eq("memberEmail1", memberEmail1)),
|
||||
Restrictions.eq("memberEmail2", memberEmail2)));
|
||||
|
||||
List<T_MEMBER> list = criteria.list();
|
||||
|
||||
if(list.size() > 0){
|
||||
memberId = list.get(0).getMemberId();
|
||||
}
|
||||
|
||||
return memberId;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberName, memberEmail1, memberEmail2 에 해당하는 회원 아이디를 가지고 오는 메소드
|
||||
* @param String memberName 회원 이름
|
||||
* @param String memberEmail1 회원 이메일1
|
||||
* @param String memberEmail2 회원 이메일2
|
||||
* @return String 회원 아이디
|
||||
* */
|
||||
//UserMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public Integer getMemberPwFindForm(String memberName, String memberId){
|
||||
|
||||
Integer memberIdx = 0;
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("memberId", memberId),
|
||||
Restrictions.eq("memberName", memberName)));
|
||||
|
||||
List<T_MEMBER> list = criteria.list();
|
||||
|
||||
if(list.size() > 0){
|
||||
return list.get(0).getMemberIdx();
|
||||
}
|
||||
|
||||
return memberIdx;
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 정보를 저장하는 메소드
|
||||
* @param T_MEMBER tMember 저장할 회원 정보
|
||||
* @return T_MEMBER 저장된 회원 정보
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public T_MEMBER setMemberRegProc(T_MEMBER tMember){
|
||||
|
||||
this.sessionFactory.getCurrentSession().save(tMember);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
|
||||
return getMemberForm(tMember.getMemberIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 정보를 수정하는 메소드
|
||||
* @param T_MEMBER tMember 수정할 회원 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminSiteService, AdminLoginService, ManagerLoginService, AdminSiteManagerService, AdminMemberService, ManagerSiteService, ManagerMemberService
|
||||
public boolean setMemberModProc(T_MEMBER tMember){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tMember);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 정보를 삭제하는 메소드
|
||||
* @param T_MEMBER tMember 삭제할 회원 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public boolean setMemberDelProc(T_MEMBER tMember){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tMember);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
48
src/main/java/seed/dao/MemberItemDAO.java
Normal file
48
src/main/java/seed/dao/MemberItemDAO.java
Normal file
@ -0,0 +1,48 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_MEMBER_ITEM;
|
||||
|
||||
public interface MemberItemDAO {
|
||||
|
||||
//ManagerMemberItemService
|
||||
public T_MEMBER_ITEM getMemberItemForm(Integer memberItemIdx);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public T_MEMBER_ITEM getMemberItemForm(String siteIdx, String memberItemGroup);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public List<Map<Object, Object>> getMemberItemList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public List<T_MEMBER_ITEM> getMemberItemValuesList(String siteIdx, String memberItemGroup, String[] qryColumns);
|
||||
|
||||
//UsermemberItemService
|
||||
public List<T_MEMBER_ITEM> getMemberItemValuesList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public List<Map<String, Object>> getMemberItemGroupList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public List<T_MEMBER_ITEM> getMemberItemOrderList(String siteIdx, Integer memberItemOrder, String[] qryColumns);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public Long getMemberItemListCnt(String siteIdx);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public Integer getMemberItemOrderFormCnt(String siteIdx);
|
||||
|
||||
//ManagermemberSetService
|
||||
public T_MEMBER_ITEM setMemberItemRegProc(T_MEMBER_ITEM tMemberItem);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public boolean setMemberItemModProc(T_MEMBER_ITEM tMemberItem);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public boolean setMemberItemDelProc(T_MEMBER_ITEM tMemberItem);
|
||||
|
||||
//ManagerMemberItemService
|
||||
public void setMemberItemOrderProc(String siteIdx, Integer memberItemOrder);
|
||||
}
|
||||
432
src/main/java/seed/dao/MemberItemDAOImpl.java
Normal file
432
src/main/java/seed/dao/MemberItemDAOImpl.java
Normal file
@ -0,0 +1,432 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_MEMBER_ITEM;
|
||||
|
||||
/**
|
||||
* T_MEMBER_ITEM 테이블 관련 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class MemberItemDAOImpl implements MemberItemDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberItemIdx 에 해당하는 회원 정보 추가 컬럼 정보를 가지고 오는 메소드
|
||||
* @param Integer memberItemIdx 회원 정보 추가컬럼 idx
|
||||
* @return T_MEMBER_ITEM 회원 정보 추가컬럼
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
public T_MEMBER_ITEM getMemberItemForm(Integer memberItemIdx){
|
||||
|
||||
return (T_MEMBER_ITEM) this.sessionFactory.getCurrentSession().load(T_MEMBER_ITEM.class, memberItemIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, memberItemGroup 에 해당하는 회원 정보 추가 컬럼 정보를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String memberItemGroup 추가 컬럼 그룹 정보
|
||||
* @return T_MEMBER_ITEM 회원 정보 추가컬럼
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
public T_MEMBER_ITEM getMemberItemForm(String siteIdx, String memberItemGroup){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_ITEM.class);
|
||||
|
||||
criteria.setMaxResults(1);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("memberItemGroup", memberItemGroup)));
|
||||
|
||||
criteria.addOrder(Order.asc("memberItemGroup"));
|
||||
|
||||
return (T_MEMBER_ITEM)criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, memberItemGroup 에 해당하는 회원 정보 추가 컬럼 정보를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<Map<Object, Object>> 회원 정보 추가 컬럼 리스트
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<Object, Object>> getMemberItemList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_ITEM.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("tSite.siteIdx", siteIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("memberItemOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, memberItemGroup 에 해당하는 회원 정보 추가 컬럼 정보를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String memberItemGroup 추가 컬럼 그룹 정보
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MEMBER_ITEM> 회원 정보 추가 컬럼 리스트
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MEMBER_ITEM> getMemberItemValuesList(String siteIdx, String memberItemGroup, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_ITEM.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.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("memberItemGroup", memberItemGroup)));
|
||||
|
||||
criteria.addOrder(Order.asc("memberItemGroup")).addOrder(Order.asc("memberItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 회원 정보 추가 컬럼 정보를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MEMBER_ITEM> 회원 정보 추가 컬럼 리스트
|
||||
* */
|
||||
//ManagerMemberItemService, UserMemberItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MEMBER_ITEM> getMemberItemValuesList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_ITEM.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.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("memberItemStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.asc("memberItemOrder")).addOrder(Order.asc("memberItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 회원 정보 추가 컬럼 정보를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<Map<String, Object>> 회원 정보 추가 컬럼 리스트
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<String, Object>> getMemberItemGroupList(String siteIdx, String[] qryColumns) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_ITEM.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("tSite.siteIdx", siteIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("memberItemGroup"));
|
||||
|
||||
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, memberItemOrder 에 해당하는 회원 정보 추가 컬럼 정보를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param Integer memberItemOrder 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MEMBER_ITEM> 회원 정보 추가 컬럼 리스트
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MEMBER_ITEM> getMemberItemOrderList(String siteIdx, Integer memberItemOrder, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_ITEM.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.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("memberItemOrder", memberItemOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("memberItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 회원 추가 컬럼 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return Long 회원 추가 컬럼 개수
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
public Long getMemberItemListCnt(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
criteria.setProjection(Projections.countDistinct("memberItemGroup"));
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 회원 추가 컬럼 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return Long 회원 추가 컬럼 개수
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
public Integer getMemberItemOrderFormCnt(String siteIdx) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_ITEM.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
criteria.setProjection(Projections.max("memberItemOrder"));
|
||||
|
||||
if(criteria.uniqueResult() == null){
|
||||
return 0;
|
||||
}else{
|
||||
return (Integer)criteria.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 정보 추가 컬럼을 저장하는 메소드
|
||||
* @param T_MEMBER_ITEM tMemberItem 저장할 회원 정보 추가 컬럼
|
||||
* @return T_MEMBER_ITEM 저장된 회원 정보 추가 컬럼
|
||||
* */
|
||||
//ManagermemberSetService
|
||||
public T_MEMBER_ITEM setMemberItemRegProc(T_MEMBER_ITEM tMemberItem){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tMemberItem);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getMemberItemForm(tMemberItem.gettSite().getSiteIdx(), tMemberItem.getMemberItemGroup());
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 정보 추가 컬럼을 수정하는 메소드
|
||||
* @param T_MEMBER_ITEM tMemberItem 수정할 회원 정보 추가 컬럼
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
public boolean setMemberItemModProc(T_MEMBER_ITEM tMemberItem){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tMemberItem);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 정보 추가 컬럼을 삭제하는 메소드
|
||||
* @param T_MEMBER_ITEM tMemberItem 삭제할 회원 정보 추가 컬럼
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
public boolean setMemberItemDelProc(T_MEMBER_ITEM tMemberItem){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tMemberItem);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 정보 추가 컬럼 정보의 memberItemOrder -1
|
||||
* @param String siteIdx
|
||||
* @param Integer memberItemOrder
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerMemberItemService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setMemberItemOrderProc(String siteIdx, Integer memberItemOrder){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_ITEM.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.gt("memberItemOrder", memberItemOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("memberItemOrder"));
|
||||
|
||||
List<T_MEMBER_ITEM> tMemberItemList = criteria.list();
|
||||
|
||||
if(tMemberItemList.size() > 0){
|
||||
for(int i=0; i<tMemberItemList.size(); i++){
|
||||
|
||||
T_MEMBER_ITEM tMemberItemDB = tMemberItemList.get(i);
|
||||
tMemberItemDB.setMemberItemOrder(tMemberItemDB.getMemberItemOrder()-1);
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tMemberItemDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
20
src/main/java/seed/dao/MemberSmartDAO.java
Normal file
20
src/main/java/seed/dao/MemberSmartDAO.java
Normal file
@ -0,0 +1,20 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_MEMBER_SMART;
|
||||
|
||||
public interface MemberSmartDAO {
|
||||
|
||||
//UserSmartMenuDataService
|
||||
public T_MEMBER_SMART getMemberSmartForm(Integer memberSmartIdx);
|
||||
|
||||
//UserSmartMenuDataService
|
||||
public List<T_MEMBER_SMART> getMemberSmartList(Integer smartMenuSetIdx, Integer memberIdx);
|
||||
|
||||
//UserSmartMenuDataService
|
||||
public boolean setMemberSmartDelProc(T_MEMBER_SMART tMemberSmart);
|
||||
|
||||
//UserSmartMenuDataService
|
||||
public boolean setMemberSmartProc(T_MEMBER_SMART tMemberSmart);
|
||||
}
|
||||
104
src/main/java/seed/dao/MemberSmartDAOImpl.java
Normal file
104
src/main/java/seed/dao/MemberSmartDAOImpl.java
Normal file
@ -0,0 +1,104 @@
|
||||
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.Restrictions;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import seed.map.T_MEMBER_SMART;
|
||||
|
||||
/**
|
||||
* T_MEMBER_SMART 테이블 관련 정보를 select, insert, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class MemberSmartDAOImpl implements MemberSmartDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 스마트 메뉴 상세 정보를 가지고 오는 메소드
|
||||
* memberSmartIdx 에 해당하는 정보를 가지고 오는 메소드
|
||||
* @param Integer memberSmartIdx 회원 스마트 메뉴 데이터 idx
|
||||
* @return T_BANNER_DATA 배너 데이터 정보
|
||||
* */
|
||||
//UserSmartMenuDataService
|
||||
public T_MEMBER_SMART getMemberSmartForm(Integer memberSmartIdx) {
|
||||
|
||||
return (T_MEMBER_SMART) this.sessionFactory.getCurrentSession().load(T_MEMBER_SMART.class, memberSmartIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, smartMenuSetIdx, memberIdx 에 해당하는 회원 스마트 메뉴 정보를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String smartMenuSetIdx 스마트 메뉴 idx
|
||||
* @param String memberIdx 회원 idx
|
||||
* @return T_MEMBER_SMART 회원 스마트 메뉴 정보
|
||||
* */
|
||||
//UserSmartMenuDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MEMBER_SMART> getMemberSmartList(Integer smartMenuSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_SMART.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx),
|
||||
Restrictions.eq("tSmartMenuSet.smartMenuSetIdx", smartMenuSetIdx)));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 스마트 메뉴를 삭제하는 메소드
|
||||
* @param T_MEMBER_SMART tMemberSmart 삭제할 회원 스마트 메뉴
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//UserSmartMenuDataService
|
||||
public boolean setMemberSmartDelProc(T_MEMBER_SMART tMemberSmart){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tMemberSmart);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 회원 스마트 메뉴를 저장하는 메소드
|
||||
* @param T_MEMBER_SMART tMemberSmart 수정할 회원 스마트 메뉴
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//UserSmartMenuDataService
|
||||
public boolean setMemberSmartProc(T_MEMBER_SMART tMemberSmart){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tMemberSmart);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
30
src/main/java/seed/dao/MenuAuthDAO.java
Normal file
30
src/main/java/seed/dao/MenuAuthDAO.java
Normal file
@ -0,0 +1,30 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_MENU_AUTH;
|
||||
|
||||
public interface MenuAuthDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_MENU_AUTH> getMenuAuthList(Integer memberIdx);
|
||||
|
||||
//AdminMenuService
|
||||
public T_MENU_AUTH getMenuAuthForm(Integer menuAuthIdx);
|
||||
|
||||
//AdminMenuAuthService, AdminSiteService
|
||||
public List<T_MENU_AUTH> getMenuAuthList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//AdminMenuAuthService, AdminSiteService
|
||||
public List<Map<Object, Object>> getMenuAuthMapList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//AdminMenuService
|
||||
public boolean setMenuAuthRegProc(T_MENU_AUTH tMenuAuth);
|
||||
|
||||
//AdminMenuService
|
||||
public boolean setMenuAuthModProc(T_MENU_AUTH tMenuAuth);
|
||||
|
||||
//AdminMenuService
|
||||
public boolean setMenuAuthDelProc(T_MENU_AUTH tMenuAuth);
|
||||
}
|
||||
220
src/main/java/seed/dao/MenuAuthDAOImpl.java
Normal file
220
src/main/java/seed/dao/MenuAuthDAOImpl.java
Normal file
@ -0,0 +1,220 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_MENU_AUTH;
|
||||
|
||||
/**
|
||||
* T_MEMBER_AUTH 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class MenuAuthDAOImpl implements MenuAuthDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 회원 권한 정보를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_MENU_AUTH>
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MENU_AUTH> getMenuAuthList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU_AUTH.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* menuAuthIdx 에 해당하는 메뉴 권한 정보를 가지고 오는 메소드
|
||||
* @param Integer menuAuthIdx 메뉴 권한 idx
|
||||
* @return T_MENU_AUTH 메뉴권한 정보
|
||||
* */
|
||||
//AdminMenuService
|
||||
public T_MENU_AUTH getMenuAuthForm(Integer menuAuthIdx){
|
||||
|
||||
return (T_MENU_AUTH) this.sessionFactory.getCurrentSession().load(T_MENU_AUTH.class, menuAuthIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 메뉴 권한 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MENU_AUTH> 메뉴 권한 리스트
|
||||
* */
|
||||
//AdminMenuAuthService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_MENU_AUTH> getMenuAuthList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU_AUTH.class);
|
||||
|
||||
criteria.createCriteria("tMenu", "tMenu", 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.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("menuAuthStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.asc("tMenu.menuOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 메뉴 권한 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MENU_AUTH> 메뉴 권한 리스트
|
||||
* */
|
||||
//AdminMenuAuthService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<Map<Object, Object>> getMenuAuthMapList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU_AUTH.class);
|
||||
|
||||
criteria.createCriteria("tMenu", "tMenu", 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.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("menuAuthStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.asc("tMenu.menuOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 메뉴 권한 정보를 저장하는 메소드
|
||||
* @param T_MENU_AUTH tMenuAuth 저장할 메뉴 권한
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminMenuService
|
||||
public boolean setMenuAuthRegProc(T_MENU_AUTH tMenuAuth){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tMenuAuth);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 메뉴 권한 정보를 수정하는 메소드
|
||||
* @param T_MENU_AUTH tMenuAuth 수정할 메뉴 권한
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminMenuService
|
||||
public boolean setMenuAuthModProc(T_MENU_AUTH tMenuAuth){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tMenuAuth);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 메뉴 권한 정보를 삭제하는 메소드
|
||||
* @param T_MENU_AUTH tMenuAuth 삭제할 메뉴 권한
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//AdminMenuService
|
||||
public boolean setMenuAuthDelProc(T_MENU_AUTH tMenuAuth){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tMenuAuth);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
29
src/main/java/seed/dao/MenuDAO.java
Normal file
29
src/main/java/seed/dao/MenuDAO.java
Normal file
@ -0,0 +1,29 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_MENU;
|
||||
|
||||
public interface MenuDAO {
|
||||
|
||||
//AdminMenuService
|
||||
public Long getMenuListCnt(String column, String search);
|
||||
|
||||
//AdminMenuService
|
||||
public List<T_MENU> getMenuList(int page, int row, String column, String search, String[] qryColumns);
|
||||
|
||||
//AdminMenuService
|
||||
public List<T_MENU> getMenuList(String[] qryColumns);
|
||||
|
||||
//AdminMenuService
|
||||
public T_MENU getMenuForm(Integer menuIdx);
|
||||
|
||||
//AdminMenuService
|
||||
public T_MENU getMenuOrderForm(Integer menuOrder);
|
||||
|
||||
//AdminMenuService
|
||||
public boolean setMenuModProc(T_MENU tMenu);
|
||||
|
||||
//AdminMenuService
|
||||
public boolean setMenuDelProc(T_MENU tMenu);
|
||||
}
|
||||
237
src/main/java/seed/dao/MenuDAOImpl.java
Normal file
237
src/main/java/seed/dao/MenuDAOImpl.java
Normal file
@ -0,0 +1,237 @@
|
||||
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_MENU;
|
||||
|
||||
/**
|
||||
* T_MENU 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class MenuDAOImpl implements MenuDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* column, search 에 해당하는 메뉴 개수를 가지고 오는 메소드
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 메뉴 개수
|
||||
* */
|
||||
//AdminMenuService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getMenuListCnt(String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("menuName", 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();
|
||||
}
|
||||
|
||||
/**
|
||||
* column, search 에 해당하는 메뉴 리스트를 페이지별로 가지고 오는 메소드
|
||||
* @param int page 출력 페이지 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MENU> 메뉴 리스트
|
||||
* */
|
||||
//AdminMenuService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_MENU> getMenuList(int page, int row, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("menuName", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.asc("menuOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* menuStatus=U 에 해당하는 메뉴 리스트를 가지고 오는 메소드
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_MENU> 메뉴 리스트
|
||||
* */
|
||||
//AdminMenuService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MENU> getMenuList(String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU.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("menuStatus", "U"));
|
||||
|
||||
criteria.addOrder(Order.asc("menuOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* menuIdx 에 해당하는 메뉴 정보를 가지고 오는 메소드
|
||||
* @param Integer menuIdx 메뉴 idx
|
||||
* @return T_MENU 메뉴 정보
|
||||
* */
|
||||
//AdminMenuService
|
||||
public T_MENU getMenuForm(Integer menuIdx){
|
||||
|
||||
return (T_MENU) this.sessionFactory.getCurrentSession().load(T_MENU.class, menuIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* menuOrder 에 해당하는 메뉴 정보를 가지고 오는 메소드
|
||||
* @param Integer menuOrder 메뉴 정렬 번호
|
||||
* @return T_MENU 메뉴 정보
|
||||
* */
|
||||
//AdminMenuService
|
||||
public T_MENU getMenuOrderForm(Integer menuOrder) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU.class);
|
||||
|
||||
criteria.add(Restrictions.eq("menuOrder", menuOrder));
|
||||
|
||||
return (T_MENU) criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 메뉴 정보를 수정 하는 메소드
|
||||
* @param T_MENU tMenu 저장할 메뉴 정보
|
||||
* @return boolean
|
||||
* */
|
||||
//AdminMenuService
|
||||
public boolean setMenuModProc(T_MENU tMenu){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tMenu);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 메뉴 정보를 삭제 하는 메소드
|
||||
* @param T_MENU tMenu 저장할 메뉴 정보
|
||||
* @return boolean
|
||||
* */
|
||||
//AdminMenuService
|
||||
public boolean setMenuDelProc(T_MENU tMenu){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tMenu);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
21
src/main/java/seed/dao/MenuStatisticsDAO.java
Normal file
21
src/main/java/seed/dao/MenuStatisticsDAO.java
Normal file
@ -0,0 +1,21 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
import seed.map.T_MENU_STATISTICS;
|
||||
|
||||
public interface MenuStatisticsDAO {
|
||||
|
||||
public ArrayList<HashMap<Object,Object>> getHmenuStatisticsList(String siteIdx, String[] qryColumns);
|
||||
|
||||
public ArrayList<HashMap<Object,Object>> getHmenuStatisticsList(String siteIdx, Integer year, Integer month, String[] qryColumns);
|
||||
|
||||
public T_MENU_STATISTICS getHmenuStatisticsInfo(String siteIdx, Integer siteMenuIdx, Integer year, Integer month, Integer day, Integer hour);
|
||||
|
||||
public boolean setInsertHmenuStatistics(T_MENU_STATISTICS hmenuStatistics);
|
||||
|
||||
public boolean setUpdateHmenuStatistics(T_MENU_STATISTICS hmenuStatistics);
|
||||
|
||||
public HashMap<Object,Object> getHmenuStatisticsInfo(String siteIdx, Integer siteMenuIdx, String[] qryColumns);
|
||||
}
|
||||
216
src/main/java/seed/dao/MenuStatisticsDAOImpl.java
Normal file
216
src/main/java/seed/dao/MenuStatisticsDAOImpl.java
Normal file
@ -0,0 +1,216 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.SessionFactory;
|
||||
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_MENU_STATISTICS;
|
||||
|
||||
@Repository
|
||||
public class MenuStatisticsDAOImpl implements MenuStatisticsDAO {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public ArrayList<HashMap<Object,Object>> getHmenuStatisticsList(String siteIdx, String[] qryColumns) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU_STATISTICS.class);
|
||||
|
||||
if(qryColumns != null && qryColumns.length > 0){
|
||||
ProjectionList projectionList = Projections.projectionList();
|
||||
boolean groupCheck = false;
|
||||
for(int i=0; i<qryColumns.length; i++){
|
||||
if(qryColumns[i]!=null && !"".equals(qryColumns[i])){
|
||||
if(!groupCheck && qryColumns[i].indexOf("groupBy") >= 0){
|
||||
groupCheck = true;
|
||||
continue;
|
||||
}
|
||||
if(groupCheck){
|
||||
if(qryColumns[i].indexOf("Count") >= 0){
|
||||
projectionList.add(Projections.sum(qryColumns[i]).as(qryColumns[i]));
|
||||
}else{
|
||||
projectionList.add(Projections.groupProperty(qryColumns[i]).as(qryColumns[i]));
|
||||
}
|
||||
}else{
|
||||
projectionList.add(Projections.property(qryColumns[i]).as(qryColumns[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
criteria.setProjection(projectionList);
|
||||
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
||||
}
|
||||
|
||||
criteria.add(Restrictions.eq("siteIdx", siteIdx));
|
||||
criteria.addOrder(Order.desc("siteMenuIdx"));
|
||||
|
||||
return (ArrayList<HashMap<Object,Object>>)criteria.list();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public ArrayList<HashMap<Object,Object>> getHmenuStatisticsList(String siteIdx, Integer year, Integer month, String[] qryColumns) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU_STATISTICS.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);
|
||||
}
|
||||
|
||||
if(!siteIdx.equals("")){
|
||||
criteria.add(Restrictions.eq("siteIdx", siteIdx));
|
||||
criteria.add(Restrictions.eq("accessYear", year));
|
||||
criteria.add(Restrictions.eq("accessMonth", month));
|
||||
|
||||
criteria.addOrder(Order.desc("siteMenuIdx"));
|
||||
}else{
|
||||
criteria.add(Restrictions.eq("accessYear", year));
|
||||
criteria.add(Restrictions.eq("accessMonth", month));
|
||||
|
||||
criteria.addOrder(Order.desc("siteIdx"));
|
||||
}
|
||||
|
||||
criteria.add(Restrictions.eq("accessYear", year));
|
||||
criteria.add(Restrictions.eq("accessMonth", month));
|
||||
|
||||
criteria.addOrder(Order.desc("siteMenuIdx"));
|
||||
|
||||
return (ArrayList<HashMap<Object,Object>>)criteria.list();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public T_MENU_STATISTICS getHmenuStatisticsInfo(String siteIdx, Integer siteMenuIdx, Integer year, Integer month, Integer day, Integer hour) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU_STATISTICS.class);
|
||||
|
||||
criteria.add(Restrictions.eq("siteIdx", siteIdx));
|
||||
criteria.add(Restrictions.eq("siteMenuIdx", siteMenuIdx));
|
||||
criteria.add(Restrictions.eq("accessYear", year));
|
||||
criteria.add(Restrictions.eq("accessMonth", month));
|
||||
criteria.add(Restrictions.eq("accessDay", day));
|
||||
criteria.add(Restrictions.eq("accessHour", hour));
|
||||
|
||||
List<T_MENU_STATISTICS> dataList = criteria.list();
|
||||
|
||||
if(dataList!=null && dataList.size()>0){
|
||||
return dataList.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean setInsertHmenuStatistics(T_MENU_STATISTICS hmenuStatistics) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(hmenuStatistics);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error(e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean setUpdateHmenuStatistics(T_MENU_STATISTICS hmenuStatistics) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
|
||||
Query createQuery = this.sessionFactory.getCurrentSession().createQuery("UPDATE T_MENU_STATISTICS SET accessCount = :accessCount WHERE dataIdx = :dataIdx ");
|
||||
|
||||
createQuery.setInteger("accessCount", hmenuStatistics.getAccessCount());
|
||||
createQuery.setInteger("dataIdx", hmenuStatistics.getDataIdx());
|
||||
|
||||
int rowCount = createQuery.executeUpdate();
|
||||
|
||||
if(rowCount>0){
|
||||
success = true;
|
||||
}
|
||||
|
||||
}catch(HibernateException e){
|
||||
log.error(e);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HashMap<Object,Object> getHmenuStatisticsInfo(String siteIdx, Integer siteMenuIdx, String[] qryColumns) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MENU_STATISTICS.class);
|
||||
|
||||
if(qryColumns != null && qryColumns.length > 0){
|
||||
ProjectionList projectionList = Projections.projectionList();
|
||||
boolean groupCheck = false;
|
||||
for(int i=0; i<qryColumns.length; i++){
|
||||
if(qryColumns[i]!=null && !"".equals(qryColumns[i])){
|
||||
if(!groupCheck && qryColumns[i].indexOf("groupBy") >= 0){
|
||||
groupCheck = true;
|
||||
continue;
|
||||
}
|
||||
if(groupCheck){
|
||||
if(qryColumns[i].indexOf("Count") >= 0){
|
||||
projectionList.add(Projections.sum(qryColumns[i]).as(qryColumns[i]));
|
||||
}else{
|
||||
projectionList.add(Projections.groupProperty(qryColumns[i]).as(qryColumns[i]));
|
||||
}
|
||||
}else{
|
||||
projectionList.add(Projections.property(qryColumns[i]).as(qryColumns[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
criteria.setProjection(projectionList);
|
||||
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
||||
}
|
||||
|
||||
criteria.add(Restrictions.eq("siteIdx", siteIdx));
|
||||
criteria.add(Restrictions.eq("siteMenuIdx", siteMenuIdx));
|
||||
|
||||
ArrayList<HashMap<Object,Object>> dataList = (ArrayList<HashMap<Object,Object>>)criteria.list();
|
||||
|
||||
if(dataList!=null && dataList.size()>0){
|
||||
return dataList.get(0);
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
61
src/main/java/seed/dao/MyPageDAO.java
Normal file
61
src/main/java/seed/dao/MyPageDAO.java
Normal file
@ -0,0 +1,61 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import seed.map.T_FORMBUILDER_DATA;
|
||||
import seed.map.T_FORMBUILDER_ITEM;
|
||||
import seed.map.T_MEMBER_AUTH;
|
||||
import seed.map.VIEW_BBS_DATA;
|
||||
import seed.map.VIEW_FORMBUILDER_DATA;
|
||||
|
||||
public interface MyPageDAO {
|
||||
|
||||
//UserMyPageService
|
||||
public T_FORMBUILDER_DATA getFormbuilderDataForm(Integer formbuilderDataIdx);
|
||||
|
||||
//UserMyPageService
|
||||
public Long getBbsDataCnt(Integer memberIdx, String column, String search, String searchSDate, String searchEDate);
|
||||
|
||||
//UserMyPageService
|
||||
public List<VIEW_BBS_DATA> getBbsDataList(Integer memberIdx, Integer page, Integer row, String column, String search, String searchSDate, String searchEDate);
|
||||
|
||||
//UserMyPageService
|
||||
public Long getFormbuilderDataCnt(Integer memberIdx, String column, String search, String searchSDate, String searchEDate, String[] qryColumns);
|
||||
|
||||
//UserMyPageService
|
||||
public List<VIEW_FORMBUILDER_DATA> getFormbuilderDataList(Integer memberIdx, Integer page, Integer row, String column, String search, String searchSDate, String searchEDate, String[] qryColumns);
|
||||
|
||||
//UserMyPageService
|
||||
public List<Map<Object, Object>> getFormbuilderItemList(Integer formbuilderSetIdx, String[] qryColumns);
|
||||
|
||||
//UserMyPageService
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemValuesList(Integer formbuilderSetIdx, String[] qryColumns);
|
||||
|
||||
//UserMyPageService
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataList(Integer formbuilderDataGroup);
|
||||
|
||||
//UserMyPageService
|
||||
public T_FORMBUILDER_DATA setFormbuilderDataRegProc(T_FORMBUILDER_DATA tFormbuilderData);
|
||||
|
||||
//UserMyPageService
|
||||
public boolean setFormbuilderDataDelProc(T_FORMBUILDER_DATA tFormbuilderData);
|
||||
|
||||
//UserLoginService
|
||||
public Long getMemberAuthCnt(Integer memberIdx, String memberIp);
|
||||
|
||||
//UserMyPageService
|
||||
public T_MEMBER_AUTH getMemberAuthForm(Integer memberAuthIdx);
|
||||
|
||||
//UserMyPageService
|
||||
public Long getMemberAuthListCnt(Integer memberIdx, String column, String search, String searchSDate, String searchEDate);
|
||||
|
||||
//UserMyPageService
|
||||
public List<T_MEMBER_AUTH> getMemberAuthList(Integer memberIdx, Integer page, Integer row, String column, String search, String searchSDate, String searchEDate, String[] qryColumns);
|
||||
|
||||
//UserMyPageService
|
||||
public boolean setMemberAuthRegProc(T_MEMBER_AUTH tMemberAuth);
|
||||
|
||||
//UserMyPageService
|
||||
public boolean setMemberAuthDelProc(T_MEMBER_AUTH tMemberAuth);
|
||||
}
|
||||
532
src/main/java/seed/dao/MyPageDAOImpl.java
Normal file
532
src/main/java/seed/dao/MyPageDAOImpl.java
Normal file
@ -0,0 +1,532 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
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_FORMBUILDER_DATA;
|
||||
import seed.map.T_FORMBUILDER_ITEM;
|
||||
import seed.map.T_MEMBER_AUTH;
|
||||
import seed.map.VIEW_BBS_DATA;
|
||||
import seed.map.VIEW_FORMBUILDER_DATA;
|
||||
|
||||
@Repository
|
||||
public class MyPageDAOImpl implements MyPageDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
public T_FORMBUILDER_DATA getFormbuilderDataForm(Integer formbuilderDataIdx){
|
||||
|
||||
return (T_FORMBUILDER_DATA) this.sessionFactory.getCurrentSession().load(T_FORMBUILDER_DATA.class, formbuilderDataIdx);
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
public Long getBbsDataCnt(Integer memberIdx, String column, String search, String searchSDate, String searchEDate){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(VIEW_BBS_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("memberIdx", memberIdx),
|
||||
Restrictions.eq("bbsDataStatus","U")));
|
||||
|
||||
if(!column.equals("") && (!search.equals("") || !searchSDate.equals("") || !searchEDate.equals(""))){
|
||||
if(column.equals("bbsDataTitle")){
|
||||
criteria.add(Restrictions.like("bbsDataTitle", search, MatchMode.ANYWHERE));
|
||||
|
||||
}else if(column.equals("bbsDataRegDate")){
|
||||
|
||||
if(!searchSDate.equals("") && !searchEDate.equals("")){
|
||||
criteria.add(Restrictions.between("bbsDataRegDate", searchSDate, searchEDate + " 24:59:59"));
|
||||
}
|
||||
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(column.equals("bbsDataRegDate") && !searchSDate.equals("") && !searchEDate.equals("")){
|
||||
criteria.add(Restrictions.between("bbsDataRegDate", searchSDate, searchEDate + " 24:59:59"));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<VIEW_BBS_DATA> getBbsDataList(Integer memberIdx, Integer page, Integer row, String column, String search, String searchSDate, String searchEDate){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(VIEW_BBS_DATA.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("memberIdx", memberIdx),
|
||||
Restrictions.eq("bbsDataStatus","U")));
|
||||
|
||||
if(!column.equals("") && (!search.equals("") || !searchSDate.equals("") || !searchEDate.equals(""))){
|
||||
if(column.equals("bbsDataTitle")){
|
||||
criteria.add(Restrictions.like("bbsDataTitle", search, MatchMode.ANYWHERE));
|
||||
|
||||
}else if(column.equals("bbsDataRegDate")){
|
||||
|
||||
if(!searchSDate.equals("") && !searchEDate.equals("")){
|
||||
criteria.add(Restrictions.between("bbsDataRegDate", searchSDate, searchEDate + " 24:59:59"));
|
||||
}
|
||||
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("bbsDataIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
public Long getFormbuilderDataCnt(Integer memberIdx, String column, String search, String searchSDate, String searchEDate, String[] qryColumns){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(VIEW_FORMBUILDER_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){
|
||||
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.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("memberIdx", memberIdx),
|
||||
Restrictions.eq("formbuilderSetStatus", "U")),
|
||||
Restrictions.eq("formbuilderDataStatus","U")));
|
||||
|
||||
if(!column.equals("") && (!search.equals("") || !searchSDate.equals("") || !searchEDate.equals(""))){
|
||||
if(column.equals("formbuilderSetName")){
|
||||
criteria.add(Restrictions.like("formbuilderSetName", search, MatchMode.ANYWHERE));
|
||||
|
||||
}else if(column.equals("formbuilderDataRegDate")){
|
||||
|
||||
if(!searchSDate.equals("") && !searchEDate.equals("")){
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
try{
|
||||
criteria.add(Restrictions.between("formbuilderDataRegDate", sdf.parse(searchSDate), sdf.parse(searchEDate)));
|
||||
}catch(Exception e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<VIEW_FORMBUILDER_DATA> getFormbuilderDataList(Integer memberIdx, Integer page, Integer row, String column, String search, String searchSDate, String searchEDate, String[] qryColumns){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(VIEW_FORMBUILDER_DATA.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("memberIdx", memberIdx),
|
||||
Restrictions.eq("formbuilderSetStatus", "U")),
|
||||
Restrictions.eq("formbuilderDataStatus","U")));
|
||||
|
||||
if(!column.equals("") && (!search.equals("") || !searchSDate.equals("") || !searchEDate.equals(""))){
|
||||
if(column.equals("formbuilderSetName")){
|
||||
criteria.add(Restrictions.like("formbuilderSetName", search, MatchMode.ANYWHERE));
|
||||
|
||||
}else if(column.equals("formbuilderDataRegDate")){
|
||||
|
||||
if(!searchSDate.equals("") && !searchEDate.equals("")){
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
try{
|
||||
criteria.add(Restrictions.between("formbuilderDataRegDate", sdf.parse(searchSDate), sdf.parse(searchEDate)));
|
||||
}catch(Exception e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("formbuilderDataGroup"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map<Object, Object>> getFormbuilderItemList(Integer formbuilderSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.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("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderItemOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_ITEM> getFormbuilderItemValuesList(Integer formbuilderSetIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_ITEM.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.and(
|
||||
Restrictions.eq("tFormbuilderSet.formbuilderSetIdx", formbuilderSetIdx),
|
||||
Restrictions.eq("formbuilderItemStatus", "U")));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderItemOrder")).addOrder(Order.asc("formbuilderItemIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_FORMBUILDER_DATA> getFormbuilderDataList(Integer formbuilderDataGroup){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_FORMBUILDER_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("formbuilderDataGroup", formbuilderDataGroup));
|
||||
|
||||
criteria.addOrder(Order.asc("formbuilderDataIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
public T_FORMBUILDER_DATA setFormbuilderDataRegProc(T_FORMBUILDER_DATA tFormbuilderData){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tFormbuilderData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getFormbuilderDataForm(tFormbuilderData.getFormbuilderDataIdx());
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
public boolean setFormbuilderDataDelProc(T_FORMBUILDER_DATA tFormbuilderData){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tFormbuilderData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//UserLoginService
|
||||
public Long getMemberAuthCnt(Integer memberIdx, String memberIp){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(T_MEMBER_AUTH.class);
|
||||
|
||||
String[] memberIps = memberIp.split("\\.");
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx),
|
||||
Restrictions.eq("memberAuthA", memberIps[0])),
|
||||
Restrictions.eq("memberAuthB", memberIps[1])),
|
||||
Restrictions.eq("memberAuthC", memberIps[2])),
|
||||
Restrictions.eq("memberAuthD", memberIps[3])));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
public T_MEMBER_AUTH getMemberAuthForm(Integer memberAuthIdx){
|
||||
|
||||
return (T_MEMBER_AUTH) this.sessionFactory.getCurrentSession().load(T_MEMBER_AUTH.class, memberAuthIdx);
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
public Long getMemberAuthListCnt(Integer memberIdx, String column, String search, String searchSDate, String searchEDate){
|
||||
|
||||
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(T_MEMBER_AUTH.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
if(!column.equals("") && (!search.equals("") || !searchSDate.equals("") || !searchEDate.equals(""))){
|
||||
if(column.equals("memberAuthDatas")){
|
||||
|
||||
String[] searchs = search.split("\\.");
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("memberAuthA", searchs[0]),
|
||||
Restrictions.eq("memberAuthB", searchs[1])),
|
||||
Restrictions.eq("memberAuthC", searchs[2])),
|
||||
Restrictions.eq("memberAuthD", searchs[3])));
|
||||
|
||||
}else if(column.equals("memberAuthRegDate")){
|
||||
|
||||
if(!searchSDate.equals("") && !searchEDate.equals("")){
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
try{
|
||||
criteria.add(Restrictions.between("memberAuthRegDate", sdf.parse(searchSDate), sdf.parse(searchEDate)));
|
||||
}catch(Exception e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_MEMBER_AUTH> getMemberAuthList(Integer memberIdx, Integer page, Integer row, String column, String search, String searchSDate, String searchEDate, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_MEMBER_AUTH.class);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tMember.memberIdx", memberIdx));
|
||||
|
||||
if(!column.equals("") && (!search.equals("") || !searchSDate.equals("") || !searchEDate.equals(""))){
|
||||
if(column.equals("memberAuthDatas")){
|
||||
|
||||
String[] searchs = search.split("\\.");
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("memberAuthA", searchs[0]),
|
||||
Restrictions.eq("memberAuthB", searchs[1])),
|
||||
Restrictions.eq("memberAuthC", searchs[2])),
|
||||
Restrictions.eq("memberAuthD", searchs[3])));
|
||||
|
||||
}else if(column.equals("memberAuthRegDate")){
|
||||
|
||||
if(!searchSDate.equals("") && !searchEDate.equals("")){
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
try{
|
||||
criteria.add(Restrictions.between("memberAuthRegDate", sdf.parse(searchSDate), sdf.parse(searchEDate)));
|
||||
}catch(Exception e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("memberAuthIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
public boolean setMemberAuthRegProc(T_MEMBER_AUTH tMemberAuth){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tMemberAuth);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
//UserMyPageService
|
||||
public boolean setMemberAuthDelProc(T_MEMBER_AUTH tMemberAuth){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tMemberAuth);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
}
|
||||
45
src/main/java/seed/dao/PopupDataDAO.java
Normal file
45
src/main/java/seed/dao/PopupDataDAO.java
Normal file
@ -0,0 +1,45 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_POPUP_DATA;
|
||||
|
||||
|
||||
public interface PopupDataDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_POPUP_DATA> getPopupDataAllList(Integer memberIdx);
|
||||
|
||||
//ManagerpopupDataService
|
||||
public Integer getPopupDataOrderFormCnt(Integer popupSetIdx);
|
||||
|
||||
//ManagerpopupSetService, ManagerpopupDataService
|
||||
public T_POPUP_DATA getPopupDataForm(Integer popupDataIdx);
|
||||
|
||||
//ManagerpopupSetService
|
||||
public T_POPUP_DATA getPopupDataOrderForm(Integer popupSetIdx, Integer popupDataOrder);
|
||||
|
||||
//ManagerpopupSetService
|
||||
public Long getPopupDataListCnt(Integer popupSetIdx);
|
||||
|
||||
//ManagerpopupDataService
|
||||
public Long getPopupDataListCnt(Integer popupSetIdx, String column, String search);
|
||||
|
||||
//ManagerpopupDataService
|
||||
public List<T_POPUP_DATA> getPopupDataList(Integer popupSetIdx);
|
||||
|
||||
//ManagerpopupDataService
|
||||
public List<T_POPUP_DATA> getPopupDataList(Integer popupSetIdx, int page, int row, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerpopupDataService
|
||||
public T_POPUP_DATA setPopupDataRegProc(T_POPUP_DATA tPopupData);
|
||||
|
||||
//ManagerpopupSetService, ManagerpopupDataService
|
||||
public boolean setPopupDataModProc(T_POPUP_DATA tPopupData);
|
||||
|
||||
//ManagerpopupDataService
|
||||
public boolean setPopupDataDelProc(T_POPUP_DATA tPopupData);
|
||||
|
||||
//ManagerpopupDataService
|
||||
public void setPopupDataOrderProc(Integer popupSetIdx, Integer popupDataOrder);
|
||||
}
|
||||
347
src/main/java/seed/dao/PopupDataDAOImpl.java
Normal file
347
src/main/java/seed/dao/PopupDataDAOImpl.java
Normal file
@ -0,0 +1,347 @@
|
||||
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_POPUP_DATA;
|
||||
|
||||
/**
|
||||
* T_POPUP_DATA 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class PopupDataDAOImpl implements PopupDataDAO {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 팝업 데이터 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_POPUP_DATA> 팝업 데이터 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_POPUP_DATA> getPopupDataAllList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx 에 해당하는 팝업 popupDataOrder 최대 값을 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @return Integer popupDataOrder 최대값
|
||||
* */
|
||||
//ManagerpopupDataService
|
||||
public Integer getPopupDataOrderFormCnt(Integer popupSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tPopupSet.popupSetIdx", popupSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.max("popupDataOrder"));
|
||||
|
||||
if(criteria.uniqueResult() == null){
|
||||
return 0;
|
||||
}else{
|
||||
return (Integer)criteria.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* popupDataIdx 에 해당하는 팝업 데이터 정보를 가지고 오는 메소드
|
||||
* @param Integer popupDataIdx 팝업 데이터 idx
|
||||
* @return T_POPUP_DATA 팝업 데이터
|
||||
* */
|
||||
//ManagerpopupSetService, ManagerpopupDataService
|
||||
public T_POPUP_DATA getPopupDataForm(Integer popupDataIdx) {
|
||||
|
||||
return (T_POPUP_DATA) this.sessionFactory.getCurrentSession().load(T_POPUP_DATA.class, popupDataIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, popupDataOrder 에 해당하는 팝업 데이터 정보를 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @param Integer popupDataOrder 팝업 데이터 정렬값
|
||||
* @return T_POPUP_DATA 팝업 데이터
|
||||
* */
|
||||
//ManagerpopupSetService
|
||||
public T_POPUP_DATA getPopupDataOrderForm(Integer popupSetIdx, Integer popupDataOrder) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tPopupSet.popupSetIdx", popupSetIdx),
|
||||
Restrictions.eq("popupDataOrder", popupDataOrder)));
|
||||
|
||||
return (T_POPUP_DATA) criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx 에 해당하는 팝업 데이터 개수를 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @return Long 팝업 데이터 개수
|
||||
* */
|
||||
//ManagerpopupSetService
|
||||
public Long getPopupDataListCnt(Integer popupSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tPopupSet.popupSetIdx", popupSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, column, search 에 해당하는 팝업 데이터 개수를 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 팝업 데이터 개수
|
||||
* */
|
||||
//ManagerpopupDataService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getPopupDataListCnt(Integer popupSetIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_DATA.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tPopupSet.popupSetIdx", popupSetIdx));
|
||||
|
||||
if (!column.equals("")) {
|
||||
if (column.equals("A")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.like("popupDataTitle", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("popupDataContent", 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();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx 에 해당하는 팝업 데이터 리스트를 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @return List<T_POPUP_DATA> 팝업 데이터 리스트
|
||||
* */
|
||||
//ManagerpopupDataService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_POPUP_DATA> getPopupDataList(Integer popupSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_DATA.class);
|
||||
|
||||
criteria.createCriteria("tPopupSet", "tPopupSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.ne("popupDataType", "N"),
|
||||
Restrictions.eq("popupDataStatus", "U")),
|
||||
Restrictions.eq("tPopupSet.popupSetIdx", popupSetIdx)));
|
||||
|
||||
criteria.addOrder(Order.desc("popupDataOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, column, search 에 해당하는 팝업 데이터 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @param int page 페이지 출력 번호
|
||||
* @param int row 페이지당 출력 개수
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_POPUP_DATA> 팝업 데이터 리스트
|
||||
* */
|
||||
//ManagerpopupDataService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_POPUP_DATA> getPopupDataList(Integer popupSetIdx, int page, int row, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_DATA.class);
|
||||
|
||||
criteria.createCriteria("tPopupSet", "tPopupSet", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tPopupSet.popupSetIdx", popupSetIdx));
|
||||
|
||||
if (!column.equals("")) {
|
||||
if (column.equals("A")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.like("popupDataTitle", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("popupDataContent", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
} else {
|
||||
criteria.add(Restrictions.like(column, search,
|
||||
MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.desc("popupDataOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 팝업 데이터 정보를 저장하는 메소드
|
||||
* @param T_POPUP_DATA tPopupData 저장할 팝업 데이터
|
||||
* @return T_POPUP_DATA 저장한 팝업 데이터
|
||||
* */
|
||||
//ManagerpopupDataService
|
||||
public T_POPUP_DATA setPopupDataRegProc(T_POPUP_DATA tPopupData){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tPopupData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getPopupDataForm(tPopupData.getPopupDataIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 팝업 데이터 정보를 수정하는 메소드
|
||||
* @param T_POPUP_DATA tPopupData 수정할 팝업 데이터
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerpopupSetService, ManagerpopupDataService
|
||||
public boolean setPopupDataModProc(T_POPUP_DATA tPopupData) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tPopupData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 팝업 데이터 정보를 삭제하는 메소드
|
||||
* @param T_POPUP_DATA tPopupData 삭제할 팝업 데이터
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerpopupDataService
|
||||
public boolean setPopupDataDelProc(T_POPUP_DATA tPopupData) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tPopupData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, popupDataOrder 보다 큰 데이터를 가지고 와서 order값을 -1 하는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @param Integer popupDataOrder 팝업 데이터 정렬값
|
||||
* */
|
||||
//ManagerpopupDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setPopupDataOrderProc(Integer popupSetIdx, Integer popupDataOrder){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tPopupSet.popupSetIdx", popupSetIdx),
|
||||
Restrictions.gt("popupDataOrder", popupDataOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("popupDataOrder"));
|
||||
|
||||
List<T_POPUP_DATA> tPopupDataList = criteria.list();
|
||||
|
||||
if(tPopupDataList.size() > 0){
|
||||
for(int i=0; i<tPopupDataList.size(); i++){
|
||||
|
||||
T_POPUP_DATA tPopupDataDB = tPopupDataList.get(i);
|
||||
tPopupDataDB.setPopupDataOrder(tPopupDataDB.getPopupDataOrder()-1);
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tPopupDataDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
44
src/main/java/seed/dao/PopupManagerDAO.java
Normal file
44
src/main/java/seed/dao/PopupManagerDAO.java
Normal file
@ -0,0 +1,44 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_POPUP_MANAGER;
|
||||
|
||||
public interface PopupManagerDAO {
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_POPUP_MANAGER> getPopupManagerList(String siteIdx);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_POPUP_MANAGER> getPopupManagerList(Integer memberIdx);
|
||||
|
||||
//ManagerpopupManagerService
|
||||
public T_POPUP_MANAGER getPopupManagerForm(Integer popupManagerIdx);
|
||||
|
||||
//ManagerpopupManagerService
|
||||
public Long getPopupManagerListGrantCnt(Integer popupSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerpopupManagerService
|
||||
public Long getPopupManagerListCnt(Integer popupSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerpopupManagerService
|
||||
public Long getPopupManagerListCnt(Integer popupSetIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//ManagerpopupManagerService
|
||||
public Long getPopupManagerListCnt(String siteIdx, Integer memberIdx, String column, String search);
|
||||
|
||||
//ManagerpopupManagerService
|
||||
public List<T_POPUP_MANAGER> getPopupManagerList(Integer popupSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerpopupManagerService
|
||||
public List<T_POPUP_MANAGER> getPopupManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerpopupManagerService
|
||||
public boolean setPopupManagerRegProc(T_POPUP_MANAGER tPopupManager);
|
||||
|
||||
//ManagerpopupManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setPopupManagerModProc(T_POPUP_MANAGER tPopupManager);
|
||||
|
||||
//ManagerpopupManagerService
|
||||
public boolean setPopupManagerDelProc(T_POPUP_MANAGER tPopupManager);
|
||||
}
|
||||
416
src/main/java/seed/dao/PopupManagerDAOImpl.java
Normal file
416
src/main/java/seed/dao/PopupManagerDAOImpl.java
Normal file
@ -0,0 +1,416 @@
|
||||
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_POPUP_MANAGER;
|
||||
|
||||
/**
|
||||
* T_POPUP_MANAGER 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class PopupManagerDAOImpl implements PopupManagerDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 팝업 관리자 리스트
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return List<T_POPUP_MANAGER> 팝업 관리자 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_POPUP_MANAGER> getPopupManagerList(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tPopupSet", "tPopupSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tPopupSet.tSite.siteIdx", siteIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 팝업 관리자 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_POPUP_MANAGER> 팝업 관리자 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_POPUP_MANAGER> getPopupManagerList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_MANAGER.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupManagerIdx 에 해당하는 관리자 정보를 가지고 오는 메소드
|
||||
* @param Integer popupManagerIdx 팝업관리자 idx
|
||||
* @return T_POPUP_MANAGER 팝업 관리자 정보
|
||||
* */
|
||||
//ManagerpopupManagerService
|
||||
public T_POPUP_MANAGER getPopupManagerForm(Integer popupManagerIdx){
|
||||
|
||||
return (T_POPUP_MANAGER) this.sessionFactory.getCurrentSession().load(T_POPUP_MANAGER.class, popupManagerIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, memberIdx 에 해당하는 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 관리자 개수
|
||||
* */
|
||||
//ManagerpopupManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getPopupManagerListGrantCnt(Integer popupSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tPopupSet.popupSetIdx", popupSetIdx),
|
||||
Restrictions.eq("popupManagerStatus", "U")),
|
||||
Restrictions.eq("popupManagerGrant", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, memberIdx 에 해당하는 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 관리자 개수
|
||||
* */
|
||||
//ManagerpopupManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getPopupManagerListCnt(Integer popupSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tPopupSet.popupSetIdx", popupSetIdx),
|
||||
Restrictions.eq("popupManagerStatus", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, column, search 에 해당하는 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 관리자 개수
|
||||
* */
|
||||
//ManagerpopupManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getPopupManagerListCnt(Integer popupSetIdx, Integer selGroup, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tPopupSet.popupSetIdx", popupSetIdx));
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, column, search 에 해당하는 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 관리자 개수
|
||||
* */
|
||||
//ManagerpopupManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getPopupManagerListCnt(String siteIdx, Integer memberIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tPopupSet", "tPopupSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tPopupSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, column, search 에 해당하는 관리자 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업설정 idx
|
||||
* @param int page 페이지 출력 번호
|
||||
* @param int row 페이 출력 개수
|
||||
* @param String orderColumn order by 컬럼
|
||||
* @param String order order by 정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_POPUP_MANAGER> 팝업 관리자 리스트
|
||||
* */
|
||||
//ManagerpopupManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_POPUP_MANAGER> getPopupManagerList(Integer popupSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tPopupSet.popupSetIdx", popupSetIdx));
|
||||
|
||||
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 = "popupManagerIdx";
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx, column, search 에 해당하는 관리자 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업설정 idx
|
||||
* @param int page 페이지 출력 번호
|
||||
* @param int row 페이 출력 개수
|
||||
* @param String orderColumn order by 컬럼
|
||||
* @param String order order by 정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_POPUP_MANAGER> 팝업 관리자 리스트
|
||||
* */
|
||||
//ManagerpopupManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_POPUP_MANAGER> getPopupManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tPopupSet", "tPopupSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.and(
|
||||
Restrictions.eq("tPopupSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 팝업 관리자 정보를 저장하는 메소드
|
||||
* @param T_POPUP_MANAGER tPopupManager 저장할 팝업 관리자 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerpopupManagerService
|
||||
public boolean setPopupManagerRegProc(T_POPUP_MANAGER tPopupManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tPopupManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 팝업 관리자 정보를 수정하는 메소드
|
||||
* @param T_POPUP_MANAGER tPopupManager 수정할 팝업 관리자 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerpopupManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setPopupManagerModProc(T_POPUP_MANAGER tPopupManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tPopupManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 팝업 관리자 정보를 삭제하는 메소드
|
||||
* @param T_POPUP_MANAGER tPopupManager 삭제할 팝업 관리자 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerpopupManagerService
|
||||
public boolean setPopupManagerDelProc(T_POPUP_MANAGER tPopupManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tPopupManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
32
src/main/java/seed/dao/PopupSetDAO.java
Normal file
32
src/main/java/seed/dao/PopupSetDAO.java
Normal file
@ -0,0 +1,32 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_POPUP_SET;
|
||||
|
||||
public interface PopupSetDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_POPUP_SET> getPopupSetList(Integer memberIdx);
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_POPUP_SET> getPopupSetList(String siteIdx, String[] qryColumns);
|
||||
|
||||
//ManagerPopupManagerService
|
||||
public Long getPopupSetListCnt(String siteIdx, String column, String search);
|
||||
|
||||
//ManagerPopupManagerService
|
||||
public List<T_POPUP_SET> getPopupSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerPopupManagerService
|
||||
public T_POPUP_SET getPopupSetForm(Integer popupSetIdx);
|
||||
|
||||
//ManagerPopupManagerService
|
||||
public T_POPUP_SET setPopupSetRegProc(T_POPUP_SET tPopupSet);
|
||||
|
||||
//ManagerPopupManagerService
|
||||
public boolean setPopupSetModProc(T_POPUP_SET tPopupSet);
|
||||
|
||||
//ManagerPopupManagerService
|
||||
public boolean setPopupSetDelProc(T_POPUP_SET tPopupSet);
|
||||
}
|
||||
266
src/main/java/seed/dao/PopupSetDAOImpl.java
Normal file
266
src/main/java/seed/dao/PopupSetDAOImpl.java
Normal file
@ -0,0 +1,266 @@
|
||||
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_POPUP_SET;
|
||||
|
||||
/**
|
||||
* T_POPUP_SET 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class PopupSetDAOImpl implements PopupSetDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 팝업 설정 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_POPUP_SET> 팝업 설정
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_POPUP_SET> getPopupSetList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_SET.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 팝업 설정 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_POPUP_SET> 팝업 설정
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_POPUP_SET> getPopupSetList(String siteIdx, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_SET.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
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.addOrder(Order.asc("popupSetIdx"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 팝업 설정 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 팝업 개수
|
||||
* */
|
||||
//ManagerPopupManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getPopupSetListCnt(String siteIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_SET.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("popupSetName", 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();
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx, column, search 에 해당하는 팝업 설정 개수를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 팝업 개수
|
||||
* */
|
||||
//ManagerPopupManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_POPUP_SET> getPopupSetList(String siteIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_POPUP_SET.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tPopupDatas", "tPopupDatas", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tSite.siteIdx", siteIdx));
|
||||
|
||||
if(!column.equals("")){
|
||||
if(column.equals("A")){
|
||||
if(!search.equals("")){
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.like("popupSetName", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
}else{
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* popupSetIdx 에 해당하는 팝업 설정 정보를 가지고 오는 메소드
|
||||
* @param Integer popupSetIdx 팝업 설정 idx
|
||||
* @return T_POPUP_SET 팝업 설정 정보
|
||||
* */
|
||||
//ManagerPopupManagerService
|
||||
public T_POPUP_SET getPopupSetForm(Integer popupSetIdx){
|
||||
|
||||
return (T_POPUP_SET) this.sessionFactory.getCurrentSession().load(T_POPUP_SET.class, popupSetIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* 팝업 설정 정보를 저장하는 메소드
|
||||
* @param T_POPUP_SET tPopupSet 저장할 팝업 정보
|
||||
* @return T_POPUP_SET 저장된 팝업 정보
|
||||
* */
|
||||
//ManagerPopupManagerService
|
||||
public T_POPUP_SET setPopupSetRegProc(T_POPUP_SET tPopupSet){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tPopupSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getPopupSetForm(tPopupSet.getPopupSetIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 팝업 설정 정보를 수정하는 메소드
|
||||
* @param T_POPUP_SET tPopupSet 수정할 팝업 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerPopupManagerService
|
||||
public boolean setPopupSetModProc(T_POPUP_SET tPopupSet){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tPopupSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 팝업 설정 정보를 삭제하는 메소드
|
||||
* @param T_POPUP_SET tPopupSet 삭제할 팝업 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerPopupManagerService
|
||||
public boolean setPopupSetDelProc(T_POPUP_SET tPopupSet){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tPopupSet);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
45
src/main/java/seed/dao/QuickDataDAO.java
Normal file
45
src/main/java/seed/dao/QuickDataDAO.java
Normal file
@ -0,0 +1,45 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_QUICK_DATA;
|
||||
|
||||
|
||||
public interface QuickDataDAO {
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_QUICK_DATA> getQuickDataAllList(Integer memberIdx);
|
||||
|
||||
//ManagerQuickDataService
|
||||
public Integer getQuickDataOrderFormCnt(Integer quickSetIdx);
|
||||
|
||||
//ManagerQuickSetService, ManagerQuickDataService
|
||||
public T_QUICK_DATA getQuickDataForm(Integer quickDataIdx);
|
||||
|
||||
//ManagerQuickSetService
|
||||
public T_QUICK_DATA getQuickDataOrderForm(Integer quickSetIdx, Integer quickDataOrder);
|
||||
|
||||
//ManagerQuickSetService
|
||||
public Long getQuickDataListCnt(Integer quickSetIdx);
|
||||
|
||||
//ManagerQuickDataService
|
||||
public Long getQuickDataListCnt(Integer quickSetIdx, String column, String search);
|
||||
|
||||
//ManagerQuickDataService
|
||||
public List<T_QUICK_DATA> getQuickDataList(Integer quickSetIdx, int page, int row, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerQuickDataService
|
||||
public List<T_QUICK_DATA> getQuickDataList(Integer quickSetIdx);
|
||||
|
||||
//ManagerQuickDataService
|
||||
public T_QUICK_DATA setQuickDataRegProc(T_QUICK_DATA tQuickData);
|
||||
|
||||
//ManagerQuickSetService, ManagerQuickDataService
|
||||
public boolean setQuickDataModProc(T_QUICK_DATA tQuickData);
|
||||
|
||||
//ManagerQuickDataService
|
||||
public boolean setQuickDataDelProc(T_QUICK_DATA tQuickData);
|
||||
|
||||
//ManagerQuickDataService
|
||||
public void setQuickDataOrderProc(Integer quickSetIdx, Integer quickDataOrder);
|
||||
}
|
||||
345
src/main/java/seed/dao/QuickDataDAOImpl.java
Normal file
345
src/main/java/seed/dao/QuickDataDAOImpl.java
Normal file
@ -0,0 +1,345 @@
|
||||
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_QUICK_DATA;
|
||||
|
||||
/**
|
||||
* T_QUICK_DATA 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class QuickDataDAOImpl implements QuickDataDAO {
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 퀵메뉴 데이터 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_QUICK_DATA> 퀵메뉴 데이터 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_QUICK_DATA> getQuickDataAllList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx 에 해당하는 퀵메뉴 quickDataOrder 최대값을 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @return Integer quickDataOrder 최대값
|
||||
* */
|
||||
//ManagerQuickDataService
|
||||
public Integer getQuickDataOrderFormCnt(Integer quickSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tQuickSet.quickSetIdx", quickSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.max("quickDataOrder"));
|
||||
|
||||
if(criteria.uniqueResult() == null){
|
||||
return 0;
|
||||
}else{
|
||||
return (Integer)criteria.uniqueResult();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* quickDataIdx 에 해당하는 퀵메뉴 데이터 정보를 가지고 오는 메소드
|
||||
* @param Integer quickDataIdx 퀵메뉴 데이터 idx
|
||||
* @return T_QUICK_DATA 퀵메뉴 데이터
|
||||
* */
|
||||
//ManagerQuickSetService, ManagerQuickDataService
|
||||
public T_QUICK_DATA getQuickDataForm(Integer quickDataIdx) {
|
||||
|
||||
return (T_QUICK_DATA) this.sessionFactory.getCurrentSession().load(T_QUICK_DATA.class, quickDataIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, quickDataOrder 에 해당하는 퀵메뉴 데이터 정보를 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @param Integer quickDataOrder 퀵메뉴 데이터 정렬 값
|
||||
* @return T_QUICK_DATA 퀵메뉴 데이터
|
||||
* */
|
||||
//ManagerQuickSetService
|
||||
public T_QUICK_DATA getQuickDataOrderForm(Integer quickSetIdx, Integer quickDataOrder) {
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tQuickSet.quickSetIdx", quickSetIdx),
|
||||
Restrictions.eq("quickDataOrder", quickDataOrder)));
|
||||
|
||||
return (T_QUICK_DATA) criteria.list().get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx 에 해당하는 퀵메뉴 데이터 개수를 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @return Long
|
||||
* */
|
||||
//ManagerQuickSetService
|
||||
public Long getQuickDataListCnt(Integer quickSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_DATA.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tQuickSet.quickSetIdx", quickSetIdx));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, column, search 에 해당하는 퀵메뉴 데이터 개수를 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long
|
||||
* */
|
||||
//ManagerQuickDataService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getQuickDataListCnt(Integer quickSetIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_DATA.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tQuickSet.quickSetIdx", quickSetIdx));
|
||||
|
||||
if (!column.equals("")) {
|
||||
if (column.equals("A")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.like("quickDataTitle", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("quickDataContent", 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();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, column, search 에 해당하는 퀵메뉴 데이터 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @param int page 페이지 출력 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_QUICK_DATA> 퀵메뉴 데이터 리스트
|
||||
* */
|
||||
//ManagerQuickDataService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_QUICK_DATA> getQuickDataList(Integer quickSetIdx, int page, int row, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_DATA.class);
|
||||
|
||||
criteria.createCriteria("tQuickSet", "tQuickSet", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tQuickSet.quickSetIdx", quickSetIdx));
|
||||
|
||||
if (!column.equals("")) {
|
||||
if (column.equals("A")) {
|
||||
if (!search.equals("")) {
|
||||
criteria.add(
|
||||
Restrictions.or(
|
||||
Restrictions.or(
|
||||
Restrictions.like("quickDataTitle", search, MatchMode.ANYWHERE),
|
||||
Restrictions.like("quickDataContent", search, MatchMode.ANYWHERE)),
|
||||
Restrictions.like("tMember.memberName", search, MatchMode.ANYWHERE)));
|
||||
}
|
||||
} else {
|
||||
criteria.add(Restrictions.like(column, search,
|
||||
MatchMode.ANYWHERE));
|
||||
}
|
||||
}
|
||||
|
||||
criteria.addOrder(Order.asc("quickDataOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx,quickDataStatus=U 에 해당하는 퀵메뉴 데이터 리스트를 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @return List<T_QUICK_DATA> 퀵메뉴 데이터 리스트
|
||||
* */
|
||||
//ManagerQuickDataService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_QUICK_DATA> getQuickDataList(Integer quickSetIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_DATA.class);
|
||||
|
||||
criteria.createCriteria("tQuickSet", "tQuickSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("quickDataStatus", "U"),
|
||||
Restrictions.eq("tQuickSet.quickSetIdx", quickSetIdx)));
|
||||
|
||||
criteria.addOrder(Order.asc("quickDataOrder"));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 퀵메뉴 데이터를 저장하는 메소드
|
||||
* @param T_QUICK_DATA tQuickData 저장할 퀵메뉴 데이터
|
||||
* @return T_QUICK_DATA 저장된 퀵메뉴 데이터
|
||||
* */
|
||||
//ManagerQuickDataService
|
||||
public T_QUICK_DATA setQuickDataRegProc(T_QUICK_DATA tQuickData){
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tQuickData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return getQuickDataForm(tQuickData.getQuickDataIdx());
|
||||
}
|
||||
|
||||
/**
|
||||
* 퀵메뉴 데이터를 수정하는 메소드
|
||||
* @param T_QUICK_DATA tQuickData 수정할 퀵메뉴 데이터
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerQuickSetService, ManagerQuickDataService
|
||||
public boolean setQuickDataModProc(T_QUICK_DATA tQuickData) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tQuickData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 퀵메뉴 데이터를 삭제하는 메소드
|
||||
* @param T_QUICK_DATA tQuickData 삭제할 퀵메뉴 데이터
|
||||
* @return boolean 작업 성공 여부
|
||||
* */
|
||||
//ManagerQuickDataService
|
||||
public boolean setQuickDataDelProc(T_QUICK_DATA tQuickData) {
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tQuickData);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, quickDataOrder 보다 큰 데이터를 가지고 와서 order값을 -1 하는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 데이터 설정 idx
|
||||
* @param Integer quickDataOrder 퀵메뉴 데이터 정렬값
|
||||
* */
|
||||
//ManagerQuickDataService
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setQuickDataOrderProc(Integer quickSetIdx, Integer quickDataOrder){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_DATA.class);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tQuickSet.quickSetIdx", quickSetIdx),
|
||||
Restrictions.gt("quickDataOrder", quickDataOrder)));
|
||||
|
||||
criteria.addOrder(Order.asc("quickDataOrder"));
|
||||
|
||||
List<T_QUICK_DATA> tQuickDataList = criteria.list();
|
||||
|
||||
if(tQuickDataList.size() > 0){
|
||||
for(int i=0; i<tQuickDataList.size(); i++){
|
||||
|
||||
T_QUICK_DATA tQuickDataDB = tQuickDataList.get(i);
|
||||
tQuickDataDB.setQuickDataOrder(tQuickDataDB.getQuickDataOrder()-1);
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tQuickDataDB);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
}catch(HibernateException e){
|
||||
log.error("CHECK ERROR:",e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
44
src/main/java/seed/dao/QuickManagerDAO.java
Normal file
44
src/main/java/seed/dao/QuickManagerDAO.java
Normal file
@ -0,0 +1,44 @@
|
||||
package seed.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import seed.map.T_QUICK_MANAGER;
|
||||
|
||||
public interface QuickManagerDAO {
|
||||
|
||||
//AdminSiteService
|
||||
public List<T_QUICK_MANAGER> getQuickManagerList(String siteIdx);
|
||||
|
||||
//AdminMemberService, ManagerMemberService
|
||||
public List<T_QUICK_MANAGER> getQuickManagerList(Integer memberIdx);
|
||||
|
||||
//ManagerQuickManagerService
|
||||
public T_QUICK_MANAGER getQuickManagerForm(Integer quickManagerIdx);
|
||||
|
||||
//ManagerQuickManagerService
|
||||
public Long getQuickManagerListGrantCnt(Integer quickSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerQuickManagerService
|
||||
public Long getQuickManagerListCnt(Integer quickSetIdx, Integer memberIdx);
|
||||
|
||||
//ManagerQuickManagerService
|
||||
public Long getQuickManagerListCnt(Integer quickSetIdx, Integer selGroup, String column, String search);
|
||||
|
||||
//ManagerQuickManagerService
|
||||
public Long getQuickManagerListCnt(String siteIdx, Integer memberIdx, String column, String search);
|
||||
|
||||
//ManagerQuickManagerService
|
||||
public List<T_QUICK_MANAGER> getQuickManagerList(Integer quickSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerQuickManagerService
|
||||
public List<T_QUICK_MANAGER> getQuickManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns);
|
||||
|
||||
//ManagerQuickManagerService
|
||||
public boolean setQuickManagerRegProc(T_QUICK_MANAGER tQuickManager);
|
||||
|
||||
//ManagerQuickManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setQuickManagerModProc(T_QUICK_MANAGER tQuickManager);
|
||||
|
||||
//ManagerQuickManagerService
|
||||
public boolean setQuickManagerDelProc(T_QUICK_MANAGER tQuickManager);
|
||||
}
|
||||
416
src/main/java/seed/dao/QuickManagerDAOImpl.java
Normal file
416
src/main/java/seed/dao/QuickManagerDAOImpl.java
Normal file
@ -0,0 +1,416 @@
|
||||
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_QUICK_MANAGER;
|
||||
|
||||
/**
|
||||
* T_QUICK_MANAGER 테이블 정보를 select, insert, update, delete 하는 class
|
||||
* */
|
||||
@Repository
|
||||
public class QuickManagerDAOImpl implements QuickManagerDAO{
|
||||
|
||||
private Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
public void setSessionFactory(SessionFactory sessionFactory) {
|
||||
this.sessionFactory = sessionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* siteIdx 에 해당하는 관리자 리스트를 가지고 오는 메소드
|
||||
* @param String siteIdx 사이트 idx
|
||||
* @return List<T_QUICK_MANAGER> 퀵메뉴 관리자 리스트
|
||||
* */
|
||||
//AdminSiteService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_QUICK_MANAGER> getQuickManagerList(String siteIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tQuickSet", "tQuickSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tQuickSet.tSite.siteIdx", siteIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* memberIdx 에 해당하는 퀵메뉴 관리자 리스트를 가지고 오는 메소드
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return List<T_QUICK_MANAGER> 퀵메뉴 관리자 리스트
|
||||
* */
|
||||
//AdminMemberService, ManagerMemberService
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T_QUICK_MANAGER> getQuickManagerList(Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_MANAGER.class);
|
||||
|
||||
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickManagerIdx 에 해당하는 퀵메뉴 관리자 정보를 가지고 오는 메소드
|
||||
* @param Integer quickManagerIdx 퀵메뉴 idx
|
||||
* @return T_QUICK_MANAGER 퀵메뉴 관리자 정보
|
||||
* */
|
||||
//ManagerQuickManagerService
|
||||
public T_QUICK_MANAGER getQuickManagerForm(Integer quickManagerIdx){
|
||||
|
||||
return (T_QUICK_MANAGER) this.sessionFactory.getCurrentSession().load(T_QUICK_MANAGER.class, quickManagerIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, memberIdx 에 해당하는 퀵메뉴 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 데이터 개수
|
||||
* */
|
||||
//ManagerQuickManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getQuickManagerListGrantCnt(Integer quickSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tQuickSet.quickSetIdx", quickSetIdx),
|
||||
Restrictions.eq("quickManagerStatus", "U")),
|
||||
Restrictions.eq("quickManagerGrant", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, memberIdx 에 해당하는 퀵메뉴 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @param Integer memberIdx 회원 idx
|
||||
* @return Long 데이터 개수
|
||||
* */
|
||||
//ManagerQuickManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getQuickManagerListCnt(Integer quickSetIdx, Integer memberIdx){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tQuickSet.quickSetIdx", quickSetIdx),
|
||||
Restrictions.eq("quickManagerStatus", "U")),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)),
|
||||
Restrictions.eq("tMember.memberStatus", "U")));
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, column, search 에 해당하는 퀵메뉴 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 데이터 개수
|
||||
* */
|
||||
//ManagerQuickManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getQuickManagerListCnt(Integer quickSetIdx, Integer selGroup, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(Restrictions.eq("tQuickSet.quickSetIdx", quickSetIdx));
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, column, search 에 해당하는 퀵메뉴 관리자 개수를 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @return Long 데이터 개수
|
||||
* */
|
||||
//ManagerQuickManagerService
|
||||
@SuppressWarnings("deprecation")
|
||||
public Long getQuickManagerListCnt(String siteIdx, Integer memberIdx, String column, String search){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tQuickSet", "tQuickSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.add(
|
||||
Restrictions.and(
|
||||
Restrictions.eq("tQuickSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
criteria.setProjection(Projections.rowCount());
|
||||
|
||||
return (Long)criteria.uniqueResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, column, search 에 해당하는 퀵메뉴 관리자 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @param int page 페이지 출력 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String orderColumn order by 컬럼 정의
|
||||
* @param String order order by 형식 정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_QUICK_MANAGER> 퀵메뉴 관리자 리스트
|
||||
* */
|
||||
//ManagerQuickManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_QUICK_MANAGER> getQuickManagerList(Integer quickSetIdx, int page, int row, String orderColumn, String order, Integer selGroup, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tMember.tGroups", "tGroups", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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("tQuickSet.quickSetIdx", quickSetIdx));
|
||||
|
||||
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 = "quickManagerIdx";
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* quickSetIdx, column, search 에 해당하는 퀵메뉴 관리자 리스트를 페이지 별로 가지고 오는 메소드
|
||||
* @param Integer quickSetIdx 퀵메뉴 설정 idx
|
||||
* @param int page 페이지 출력 번호
|
||||
* @param int row 페이지 출력 개수
|
||||
* @param String orderColumn order by 컬럼 정의
|
||||
* @param String order order by 형식 정의 ex>DESC, ASC
|
||||
* @param String column 검색 항목
|
||||
* @param String search 검색 어
|
||||
* @param String[] qryColumns select 컬럼 정의
|
||||
* @return List<T_QUICK_MANAGER> 퀵메뉴 관리자 리스트
|
||||
* */
|
||||
//ManagerQuickManagerService
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
public List<T_QUICK_MANAGER> getQuickManagerList(String siteIdx, Integer memberIdx, int page, int row, String orderColumn, String order, String column, String search, String[] qryColumns){
|
||||
|
||||
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_QUICK_MANAGER.class);
|
||||
|
||||
criteria.createCriteria("tMember", "tMember", Criteria.LEFT_JOIN);
|
||||
criteria.createCriteria("tQuickSet", "tQuickSet", Criteria.LEFT_JOIN);
|
||||
|
||||
criteria.setFirstResult(page);
|
||||
criteria.setMaxResults(row);
|
||||
|
||||
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.and(
|
||||
Restrictions.eq("tQuickSet.tSite.siteIdx", siteIdx),
|
||||
Restrictions.eq("tMember.memberIdx", memberIdx)));
|
||||
|
||||
if(!search.equals("")){
|
||||
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
||||
}
|
||||
|
||||
if(order.equals("DESC")){
|
||||
criteria.addOrder(Order.desc(orderColumn));
|
||||
}else{
|
||||
criteria.addOrder(Order.asc(orderColumn));
|
||||
}
|
||||
|
||||
return criteria.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 퀵메뉴 관리자 정보를 저장하는 메소드
|
||||
* @param T_QUICK_MANAGER tQuickManager 저장할 퀵메뉴 관리자 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerQuickManagerService
|
||||
public boolean setQuickManagerRegProc(T_QUICK_MANAGER tQuickManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().save(tQuickManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 퀵메뉴 관리자 정보를 수정하는 메소드
|
||||
* @param T_QUICK_MANAGER tQuickManager 수정할 퀵메뉴 관리자 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerQuickManagerService, AdminMemberService, ManagerMemberService
|
||||
public boolean setQuickManagerModProc(T_QUICK_MANAGER tQuickManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().update(tQuickManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* 퀵메뉴 관리자 정보를 삭제하는 메소드
|
||||
* @param T_QUICK_MANAGER tQuickManager 삭제할 퀵메뉴 관리자 정보
|
||||
* @return boolean 작업의 성공 여부
|
||||
* */
|
||||
//ManagerQuickManagerService
|
||||
public boolean setQuickManagerDelProc(T_QUICK_MANAGER tQuickManager){
|
||||
|
||||
boolean success = false;
|
||||
|
||||
try{
|
||||
this.sessionFactory.getCurrentSession().delete(tQuickManager);
|
||||
this.sessionFactory.getCurrentSession().flush();
|
||||
this.sessionFactory.getCurrentSession().clear();
|
||||
success = true;
|
||||
}catch(HibernateException ex){
|
||||
log.error("CHECK ERROR:",ex);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user