938 lines
33 KiB
Java
938 lines
33 KiB
Java
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 com.mysql.jdbc.jdbc2.optional.SuspendableXAConnection;
|
|
|
|
import seed.map.T_SITE_MENU;
|
|
import seed.map.VIEW_SITE_MENU;
|
|
import seed.utils.SeedUtils;
|
|
|
|
@Repository
|
|
public class SiteMenuDAOImpl implements SiteMenuDAO{
|
|
|
|
private Logger log = Logger.getLogger(this.getClass());
|
|
|
|
private SessionFactory sessionFactory;
|
|
|
|
public void setSessionFactory(SessionFactory sessionFactory) {
|
|
this.sessionFactory = sessionFactory;
|
|
}
|
|
|
|
//ManagerSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public Map<Object, Object> getSiteMenuLoginForm(String siteIdx, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_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.and(
|
|
Restrictions.like("siteMenuLinkUrl", "/user/"+siteIdx+"/", MatchMode.END),
|
|
Restrictions.like("siteMenuLinkUrl", "/login", MatchMode.START)));
|
|
|
|
ArrayList<Map<Object, Object> > list = (ArrayList<Map<Object, Object>>)criteria.list();
|
|
|
|
if(list != null && list.size() > 0){
|
|
return list.get(0);
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
public Long getSiteMenuDepthCnt(String siteIdx, String siteMenuParentIdx){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuParentIdx", siteMenuParentIdx)));
|
|
|
|
criteria.setProjection(Projections.rowCount());
|
|
|
|
return (Long)criteria.uniqueResult();
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
public Long getSiteMenuDepthCnt(String siteIdx, Integer siteMenuIdx, String siteMenuIdxs, Integer siteMenuDepth, String siteMenuStatusType){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
if(siteMenuStatusType.equals("top")){
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.ne("siteMenuIdx", siteMenuIdx)),
|
|
Restrictions.eq("siteMenuDepth", siteMenuDepth)),
|
|
Restrictions.eq("siteMenuTopStatus", "U")));
|
|
}else{
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.ne("siteMenuIdx", siteMenuIdx)),
|
|
Restrictions.eq("siteMenuDepth", siteMenuDepth)),
|
|
Restrictions.eq("siteMenuSubStatus", "U")));
|
|
}
|
|
|
|
String[] siteMenuIdxss = new String[10];
|
|
|
|
for(int d=0; d<(siteMenuDepth-1); d++){
|
|
siteMenuIdxss[d] = siteMenuIdxs.substring((d*2), ((d*2)+2));
|
|
criteria.add(Restrictions.eq("siteMenuIdx"+(d+1), siteMenuIdxss[d]));
|
|
}
|
|
|
|
criteria.setProjection(Projections.rowCount());
|
|
|
|
return (Long)criteria.uniqueResult();
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public T_SITE_MENU getSiteMenuOrderForm(String siteIdx, Integer siteMenuDepth, String siteMenuParentIdx, Integer siteMenuOrder, String orderType){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
criteria.setMaxResults(1);
|
|
|
|
if(orderType.equals("up")){
|
|
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuDepth", siteMenuDepth)),
|
|
Restrictions.eq("siteMenuParentIdx", siteMenuParentIdx)),
|
|
Restrictions.lt("siteMenuOrder", siteMenuOrder)));
|
|
|
|
criteria.addOrder(Order.desc("siteMenuOrder"));
|
|
|
|
}else{
|
|
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuDepth", siteMenuDepth)),
|
|
Restrictions.eq("siteMenuParentIdx", siteMenuParentIdx)),
|
|
Restrictions.gt("siteMenuOrder", siteMenuOrder)));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
}
|
|
|
|
ArrayList<T_SITE_MENU> list = (ArrayList<T_SITE_MENU>)criteria.list();
|
|
|
|
if(list != null && list.size() > 0){
|
|
return list.get(0);
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
public Integer getSiteMenuOrderForm(String siteIdx, String siteMenuIdxs, Integer siteMenuDepth){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
criteria.setMaxResults(1);
|
|
|
|
String[] siteMenuIdxss = new String[10];
|
|
|
|
for(int d=0; d<siteMenuDepth; d++){
|
|
siteMenuIdxss[d] = siteMenuIdxs.substring((d*2), ((d*2)+2));
|
|
criteria.add(Restrictions.eq("siteMenuIdx"+(d+1), siteMenuIdxss[d]));
|
|
}
|
|
|
|
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
|
|
|
criteria.addOrder(Order.desc("siteMenuOrder"));
|
|
|
|
T_SITE_MENU tSiteMenu = (T_SITE_MENU)criteria.list().get(0);
|
|
|
|
return tSiteMenu.getSiteMenuOrder();
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
public Integer getSiteMenuForm(String siteIdx, Integer siteMenuDepth, Integer siteMenuOrder, String Type){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
if(Type.equals("lt")){
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuDepth", siteMenuDepth)),
|
|
Restrictions.lt("siteMenuOrder", siteMenuOrder)));
|
|
|
|
criteria.addOrder(Order.desc("siteMenuOrder"));
|
|
|
|
}else{
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuDepth", siteMenuDepth)),
|
|
Restrictions.gt("siteMenuOrder", siteMenuOrder)));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
}
|
|
|
|
criteria.setProjection(Projections.rowCount());
|
|
|
|
return Integer.valueOf(criteria.uniqueResult().toString());
|
|
}
|
|
|
|
//AdminSiteMenuService
|
|
@SuppressWarnings({ "unchecked", "deprecation" })
|
|
public Map<Object, Object> getSiteMenuForm(String siteIdx, String siteMenuParentIdx, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
criteria.createCriteria("tSite", "tSite", 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("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuIdxs", siteMenuParentIdx)));
|
|
|
|
ArrayList<Map<Object, Object>> list = (ArrayList<Map<Object, Object>>)criteria.list();
|
|
|
|
if(list != null && list.size() > 0){
|
|
return list.get(0);
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
//AdminSiteMenuService
|
|
@SuppressWarnings({ "unchecked", "deprecation" })
|
|
public Map<Object, Object> getSiteMenuParentForm(String siteIdx, String siteMenuParentIdx, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.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("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuParentIdx", siteMenuParentIdx)));
|
|
|
|
for(int o=1; o<10; o++){
|
|
criteria.addOrder(Order.desc("siteMenuIdx"+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;
|
|
}
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public List<T_SITE_MENU> getSiteMenuList(String siteIdx){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
if(!siteIdx.equals("ALL_SITE_IDX")){
|
|
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
|
}
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//AdminMemberServie, ManagerMemberServie
|
|
@SuppressWarnings("unchecked")
|
|
public List<T_SITE_MENU> getSiteMenuList(Integer memberIdx){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
criteria.add(Restrictions.eq("tMember.memberIdx", memberIdx));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public List<T_SITE_MENU> getSiteMenuList(String siteIdx, String siteMenuIdxs, Integer siteMenuDepth){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
String[] siteMenuIdxss = new String[10];
|
|
|
|
for(int d=0; d<siteMenuDepth; d++){
|
|
siteMenuIdxss[d] = siteMenuIdxs.substring((d*2), ((d*2)+2));
|
|
criteria.add(Restrictions.eq("siteMenuIdx"+(d+1), siteMenuIdxss[d]));
|
|
}
|
|
|
|
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public List<Map<Object, Object>> getSiteMenuTabList(String siteIdx, String siteMenuIdxs, Integer siteMenuDepth, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_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);
|
|
}
|
|
|
|
String[] siteMenuIdxss = new String[10];
|
|
|
|
for(int d=0; d<siteMenuDepth-1; d++){
|
|
siteMenuIdxss[d] = siteMenuIdxs.substring((d*2), ((d*2)+2));
|
|
criteria.add(Restrictions.eq("siteMenuIdx"+(d+1), siteMenuIdxss[d]));
|
|
}
|
|
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuStatus", "U")),
|
|
Restrictions.eq("siteMenuDepth", siteMenuDepth)));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
@SuppressWarnings("unchecked")
|
|
public List<Map<Object, Object>> getSiteMenuList(String siteIdx, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_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.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx)));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//AdminSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public List<T_SITE_MENU> getSiteMenuDepthList(String siteIdx, String siteMenuType){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
if(siteMenuType.equals("top")){
|
|
|
|
criteria.add(Restrictions.eq("tSite.siteIdx", siteIdx));
|
|
|
|
}else if(siteMenuType.equals("sub")){
|
|
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.ge("siteMenuDepth", 1),
|
|
Restrictions.eq("tSite.siteIdx", siteIdx)));
|
|
}
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//AdminSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public List<T_SITE_MENU> getSiteMenuTopList(String siteIdx, Integer siteMenuTopDepth, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_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.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.ge("siteMenuDepth", 1)),
|
|
Restrictions.le("siteMenuDepth", siteMenuTopDepth)));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//AdminSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public List<T_SITE_MENU> getSiteMenuSubList(String siteIdx, Integer siteMenuSubSDepth, Integer siteMenuSubEDepth, String siteMenuIdx1, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_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.and(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuStatus", "U")),
|
|
Restrictions.ge("siteMenuDepth", siteMenuSubSDepth)),
|
|
Restrictions.le("siteMenuDepth", siteMenuSubEDepth)),
|
|
Restrictions.eq("siteMenuIdx1", siteMenuIdx1)));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//AdminSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public List<VIEW_SITE_MENU> getSiteMenuList(String siteIdx, String column, String search, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(VIEW_SITE_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);
|
|
}
|
|
|
|
if(!column.equals("")){
|
|
if(column.equals("A")){
|
|
if(!search.equals("")){
|
|
criteria.add(
|
|
Restrictions.or(
|
|
Restrictions.or(
|
|
Restrictions.like("siteMenuIdxs", search, MatchMode.ANYWHERE),
|
|
Restrictions.like("siteMenuName", search, MatchMode.ANYWHERE)),
|
|
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
|
}
|
|
}else{
|
|
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
|
}
|
|
}
|
|
|
|
criteria.add(Restrictions.eq("siteIdx", siteIdx));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//AdminSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public List<Map<Object,Object>> getSiteMenuChargeList(String siteIdx, String column, String search, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(VIEW_SITE_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);
|
|
}
|
|
|
|
if(!column.equals("")){
|
|
if(column.equals("A")){
|
|
if(!search.equals("")){
|
|
criteria.add(
|
|
Restrictions.or(
|
|
Restrictions.or(
|
|
Restrictions.like("siteMenuIdxs", search, MatchMode.ANYWHERE),
|
|
Restrictions.like("siteMenuName", search, MatchMode.ANYWHERE)),
|
|
Restrictions.like("memberName", search, MatchMode.ANYWHERE)));
|
|
}
|
|
}else{
|
|
criteria.add(Restrictions.like(column, search, MatchMode.ANYWHERE));
|
|
}
|
|
}
|
|
|
|
criteria.add(Restrictions.eq("siteIdx", siteIdx));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public List<T_SITE_MENU> getSiteMenuSmartList(String siteIdx, String type, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_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);
|
|
}
|
|
|
|
if(type.equals("default")){
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuSmart", "Y")),
|
|
Restrictions.eq("siteMenuSmartDefault", "Y")));
|
|
}else{
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuSmart", "Y")));
|
|
}
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
return criteria.list();
|
|
}
|
|
|
|
//ManagerSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public String getSiteMenuSubTitleForm(String siteIdx, String siteMenuIdx1){
|
|
|
|
String siteMenuSubTitle = "";
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
ProjectionList projectionList = Projections.projectionList();
|
|
projectionList.add(Projections.property("siteMenuName").as("_siteMenuName"));
|
|
|
|
criteria.setProjection(projectionList);
|
|
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
|
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.and(
|
|
Restrictions.eq("siteMenuDepth", 1),
|
|
Restrictions.eq("tSite.siteIdx", siteIdx)),
|
|
Restrictions.eq("siteMenuIdx1", siteMenuIdx1)));
|
|
|
|
ArrayList<Map<Object, Object>> list = (ArrayList<Map<Object, Object>>)criteria.list();
|
|
|
|
if(list != null && list.size() > 0){
|
|
Map<Object, Object> tSiteMenuDB = list.get(0);
|
|
siteMenuSubTitle = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName"));
|
|
}
|
|
|
|
return siteMenuSubTitle;
|
|
}
|
|
|
|
//AdminSiteService
|
|
public T_SITE_MENU getSiteMenuForm(String siteIdx, String siteMenuIdxs){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuIdxs", siteMenuIdxs)));
|
|
|
|
return (T_SITE_MENU)criteria.list().get(0);
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
public T_SITE_MENU getSiteMenuForm(Integer siteMenuIdx){
|
|
|
|
return (T_SITE_MENU) this.sessionFactory.getCurrentSession().load(T_SITE_MENU.class, siteMenuIdx);
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
public T_SITE_MENU getSiteMenuFormByget(Integer siteMenuIdx){
|
|
|
|
return (T_SITE_MENU) this.sessionFactory.getCurrentSession().get(T_SITE_MENU.class, siteMenuIdx);
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
@SuppressWarnings({ "unchecked", "deprecation" })
|
|
public Map<Object, Object> getSiteMenuMapForm(Integer siteMenuIdx, String[] qryColumns){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
criteria.createCriteria("tSite", "tSite", Criteria.LEFT_JOIN);
|
|
|
|
if(qryColumns != null && qryColumns.length > 0){
|
|
ProjectionList projectionList = Projections.projectionList();
|
|
boolean groupCheck = false;
|
|
for(int q=0; q<qryColumns.length; q++){
|
|
if(!groupCheck && qryColumns[q].indexOf("groupBy") >= 0){
|
|
groupCheck = true;
|
|
continue;
|
|
}
|
|
if(groupCheck){
|
|
if(qryColumns[q].indexOf("Cnt") >= 0){
|
|
String qryColumn = qryColumns[q].substring(0, qryColumns[q].indexOf("Cnt"));
|
|
projectionList.add(Projections.count(qryColumn).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
|
}else{
|
|
projectionList.add(Projections.groupProperty(qryColumns[q]).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
|
}
|
|
}else{
|
|
projectionList.add(Projections.property(qryColumns[q]).as("_"+qryColumns[q].substring(qryColumns[q].lastIndexOf(".")+1)));
|
|
}
|
|
}
|
|
|
|
criteria.setProjection(projectionList);
|
|
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
|
|
}
|
|
|
|
criteria.add(Restrictions.eq("siteMenuIdx", siteMenuIdx));
|
|
|
|
ArrayList<Map<Object, Object>> list = (ArrayList<Map<Object, Object>>)criteria.list();
|
|
|
|
System.out.println("list :: "+list.toString());
|
|
if(list != null && list.size() > 0){
|
|
return list.get(0);
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public T_SITE_MENU getSiteMenuForm(String siteIdx){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
criteria.setMaxResults(1);
|
|
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.eq("siteMenuStatus", "U")));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
ArrayList<T_SITE_MENU> list = (ArrayList<T_SITE_MENU>)criteria.list();
|
|
|
|
if(list != null && list.size() > 0){
|
|
return list.get(0);
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
//ManagerSiteMenuService
|
|
public T_SITE_MENU setSiteMenuRegProc(T_SITE_MENU tSiteMenu){
|
|
|
|
try{
|
|
this.sessionFactory.getCurrentSession().save(tSiteMenu);
|
|
this.sessionFactory.getCurrentSession().flush();
|
|
this.sessionFactory.getCurrentSession().clear();
|
|
}catch(HibernateException ex){
|
|
log.error("CHECK ERROR:",ex);
|
|
}
|
|
|
|
return getSiteMenuForm(tSiteMenu.getSiteMenuIdx());
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
public boolean setSiteMenuModProc(T_SITE_MENU tSiteMenu){
|
|
|
|
boolean success = false;
|
|
|
|
try{
|
|
this.sessionFactory.getCurrentSession().update(tSiteMenu);
|
|
this.sessionFactory.getCurrentSession().flush();
|
|
this.sessionFactory.getCurrentSession().clear();
|
|
success = true;
|
|
}catch(HibernateException ex){
|
|
log.error("CHECK ERROR:",ex);
|
|
}
|
|
|
|
return success;
|
|
}
|
|
|
|
//AdminSiteMenuService, ManagerSiteMenuService
|
|
public boolean setSiteMenuDelProc(T_SITE_MENU tSiteMenu){
|
|
|
|
boolean success = false;
|
|
|
|
try{
|
|
this.sessionFactory.getCurrentSession().delete(tSiteMenu);
|
|
this.sessionFactory.getCurrentSession().flush();
|
|
this.sessionFactory.getCurrentSession().clear();
|
|
success = true;
|
|
}catch(HibernateException ex){
|
|
log.error("CHECK ERROR:",ex);
|
|
}
|
|
|
|
return success;
|
|
}
|
|
|
|
//AdminSiteMenuService
|
|
@SuppressWarnings("unchecked")
|
|
public void setSiteMenuOrderProc(String siteIdx, Integer siteMenuOrder, Integer siteMenuListCnt, String orderType){
|
|
|
|
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(T_SITE_MENU.class);
|
|
|
|
criteria.add(
|
|
Restrictions.and(
|
|
Restrictions.eq("tSite.siteIdx", siteIdx),
|
|
Restrictions.ge("siteMenuOrder", siteMenuOrder)));
|
|
|
|
criteria.addOrder(Order.asc("siteMenuOrder"));
|
|
|
|
List<T_SITE_MENU> tSiteMenuList = criteria.list();
|
|
|
|
if(tSiteMenuList.size() > 0){
|
|
for(int i=0; i<tSiteMenuList.size(); i++){
|
|
|
|
T_SITE_MENU tSiteMenuDB = tSiteMenuList.get(i);
|
|
|
|
if(orderType.equals("plus")){
|
|
tSiteMenuDB.setSiteMenuOrder(tSiteMenuDB.getSiteMenuOrder()+1);
|
|
}else if(orderType.equals("minus")){
|
|
tSiteMenuDB.setSiteMenuOrder(tSiteMenuDB.getSiteMenuOrder()-1);
|
|
}else if(orderType.equals("minuss")){
|
|
tSiteMenuDB.setSiteMenuOrder(tSiteMenuDB.getSiteMenuOrder()-siteMenuListCnt);
|
|
}
|
|
|
|
try{
|
|
this.sessionFactory.getCurrentSession().update(tSiteMenuDB);
|
|
this.sessionFactory.getCurrentSession().flush();
|
|
this.sessionFactory.getCurrentSession().clear();
|
|
}catch(HibernateException ex){
|
|
log.error("CHECK ERROR:",ex);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|