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 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= 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 > list = (ArrayList>)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 list = (ArrayList)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 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= 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> list = (ArrayList>)criteria.list(); if(list != null && list.size() > 0){ return list.get(0); }else{ return null; } } //AdminSiteMenuService @SuppressWarnings({ "unchecked", "deprecation" }) public Map 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= 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> list = (ArrayList>)criteria.list(); if(list != null && list.size() > 0){ return list.get(0); }else{ return null; } } //AdminSiteMenuService, ManagerSiteMenuService @SuppressWarnings("unchecked") public List 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 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 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> 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= 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> 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= 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 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 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= 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 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= 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 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= 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> 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= 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 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= 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> list = (ArrayList>)criteria.list(); if(list != null && list.size() > 0){ Map 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 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= 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> list = (ArrayList>)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 list = (ArrayList)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 tSiteMenuList = criteria.list(); if(tSiteMenuList.size() > 0){ for(int i=0; i