533 lines
19 KiB
Java
533 lines
19 KiB
Java
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;
|
|
}
|
|
}
|