|  | @ -0,0 +1,691 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.base.service.menu;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSON;
 | 
	
		
			
				|  |  | import com.fasterxml.jackson.databind.ObjectMapper;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.dao.article.KnowledgeArticleDictDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.dao.article.KnowledgeArticleMenuDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.dao.menu.BaseLinkDictDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.dao.menu.BaseMenuDictDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.dao.menu.BaseMenuShowDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.menu.BaseLinkDictDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.menu.BaseMenuDictDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.menu.BaseMenuShowDO;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.ListEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.MixEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.hibernate.HibenateUtils;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.data.domain.PageRequest;
 | 
	
		
			
				|  |  | import org.springframework.data.domain.Pageable;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | @Service
 | 
	
		
			
				|  |  | public class BaseMenuManageService {
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BaseMenuDictDao baseMenuDictDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BaseMenuShowDao baseMenuShowDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BaseLinkDictDao baseLinkDictDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private HibenateUtils hibenateUtils;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private ObjectMapper objectMapper;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private KnowledgeArticleMenuDao knowledgeArticleMenuDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private KnowledgeArticleDictDao knowledgeArticleDictDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
 | 
	
		
			
				|  |  |     //删除菜单字典
 | 
	
		
			
				|  |  |     public void deletMenuDict(String id) throws  Exception{
 | 
	
		
			
				|  |  |         BaseMenuDictDO baseMenuDictDO= baseMenuDictDao.findOne(id);
 | 
	
		
			
				|  |  |         if (baseMenuDictDO!=null){
 | 
	
		
			
				|  |  |             if ("0".equalsIgnoreCase(baseMenuDictDO.getParentId())){
 | 
	
		
			
				|  |  |                  List<BaseMenuDictDO> childList = baseMenuDictDao.findByParentId(baseMenuDictDO.getId());
 | 
	
		
			
				|  |  |                  if (childList!=null&&childList.size()>0){
 | 
	
		
			
				|  |  |                      throw  new Exception("存在子菜单不允许删除");
 | 
	
		
			
				|  |  |                  }else {
 | 
	
		
			
				|  |  |                      baseMenuDictDO.setIsDel("0");
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 if (1==baseMenuDictDO.getStatus()){
 | 
	
		
			
				|  |  |                     throw  new Exception("生效的子菜单不允许删除");
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     baseMenuDictDO.setIsDel("0");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             baseMenuDictDao.save(baseMenuDictDO);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     //菜单词典查询
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> findMenuDictByKey(String parentId, String name){
 | 
	
		
			
				|  |  |         String sql = "select t.id as \"id\", " +
 | 
	
		
			
				|  |  |                 " t.parent_id as \"parentId\", " +
 | 
	
		
			
				|  |  |                 " t.name as \"name\", " +
 | 
	
		
			
				|  |  |                 " t.menu_sort as \"menuSort\", " +
 | 
	
		
			
				|  |  |                 " t.icon as \"icon\", " +
 | 
	
		
			
				|  |  |                 " t.url as \"url\", " +
 | 
	
		
			
				|  |  |                 " t.is_show as \"isShow\", " +
 | 
	
		
			
				|  |  |                 " t.status as \"status\", " +
 | 
	
		
			
				|  |  |                 " t.create_time as \"createTime\", " +
 | 
	
		
			
				|  |  |                 " t.remark as \"remark\", " +
 | 
	
		
			
				|  |  |                 " t.function_type as \"functionType\", " +
 | 
	
		
			
				|  |  |                 " t.menu_level as \"menuLevel\", " +
 | 
	
		
			
				|  |  |                 " t.menu_location as \"menuLocation\", " +
 | 
	
		
			
				|  |  |                 " t.bg_img as \"bgImg\", " +
 | 
	
		
			
				|  |  |                 " t.menu_title as \"menuTitle\", " +
 | 
	
		
			
				|  |  |                 " t.describtion as \"describtion\", " +
 | 
	
		
			
				|  |  |                 " t.menu_img as \"menuImg\"  " +
 | 
	
		
			
				|  |  |                 "from base_menu_dict t  where 1=1 and t.is_del ='1' ";
 | 
	
		
			
				|  |  |         String sqlParent ="select t.id as \"id\", " +
 | 
	
		
			
				|  |  |                 " t.parent_id as \"parentId\", " +
 | 
	
		
			
				|  |  |                 " t.name as \"name\", " +
 | 
	
		
			
				|  |  |                 " t.menu_sort as \"menuSort\", " +
 | 
	
		
			
				|  |  |                 " t.icon as \"icon\", " +
 | 
	
		
			
				|  |  |                 " t.url as \"url\", " +
 | 
	
		
			
				|  |  |                 " t.is_show as \"isShow\", " +
 | 
	
		
			
				|  |  |                 " t.status as \"status\", " +
 | 
	
		
			
				|  |  |                 " t.create_time as \"createTime\", " +
 | 
	
		
			
				|  |  |                 " t.remark as \"remark\", " +
 | 
	
		
			
				|  |  |                 " t.function_type as \"functionType\", " +
 | 
	
		
			
				|  |  |                 " t.menu_level as \"menuLevel\", " +
 | 
	
		
			
				|  |  |                 " t.bg_img as \"bgImg\", " +
 | 
	
		
			
				|  |  |                 " t.menu_title as \"menuTitle\", " +
 | 
	
		
			
				|  |  |                 " t.describtion as \"describtion\", " +
 | 
	
		
			
				|  |  |                 " t.menu_location as \"menuLocation\", " +
 | 
	
		
			
				|  |  |                 " t.menu_img as \"menuImg\"  " +
 | 
	
		
			
				|  |  |                 "from base_menu_dict t   where 1=1 and t.is_del ='1' ";
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(parentId)){
 | 
	
		
			
				|  |  |             sql+=" and t.parent_id = '"+parentId+"'";
 | 
	
		
			
				|  |  |             sqlParent+=" and t.id = '"+parentId+"'";
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             sqlParent+=" and t.parent_id = '0'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(name)){
 | 
	
		
			
				|  |  |             sql+=" and t.name like '%"+name+"%'";
 | 
	
		
			
				|  |  |             sqlParent+=" and t.name like '%"+name+"%'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql+=" order by t.parent_id asc ,t.menu_sort asc ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
 | 
	
		
			
				|  |  |         List<Map<String,Object>> listParent = hibenateUtils.createSQLQuery(sqlParent);
 | 
	
		
			
				|  |  |         List<WlyyHospitalSysDictDO> menuLocation = wlyyHospitalSysDictDao.findByDictName("menuLocation");
 | 
	
		
			
				|  |  |         List<WlyyHospitalSysDictDO> menuFunction = wlyyHospitalSysDictDao.findByDictName("menuFunction");
 | 
	
		
			
				|  |  |         List<WlyyHospitalSysDictDO> effect = wlyyHospitalSysDictDao.findByDictName("isEffect");
 | 
	
		
			
				|  |  |         for (Map<String,Object> map:listParent){
 | 
	
		
			
				|  |  |             List<Map<String,Object>> childList = new ArrayList<>();
 | 
	
		
			
				|  |  |             Integer articleParentNum= knowledgeArticleDictDao.getCountByCategoryFirst(map.get("id").toString());
 | 
	
		
			
				|  |  |             map.put("articleNum",articleParentNum);
 | 
	
		
			
				|  |  |             for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:effect){
 | 
	
		
			
				|  |  |                 if (map.get("status").toString().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
 | 
	
		
			
				|  |  |                     map.put("statusName",wlyyHospitalSysDictDO.getDictValue());
 | 
	
		
			
				|  |  |                     map.put("isShow",wlyyHospitalSysDictDO.getDictValue().equalsIgnoreCase("1")?"是":"否");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:menuLocation){
 | 
	
		
			
				|  |  |                 if (map.get("menuLocation").toString().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
 | 
	
		
			
				|  |  |                     map.put("menuLocationName",wlyyHospitalSysDictDO.getDictValue());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             for (Map<String,Object> mapchild:list){
 | 
	
		
			
				|  |  |                 if (mapchild.get("parentId").toString().equalsIgnoreCase(map.get("id").toString())){
 | 
	
		
			
				|  |  |                    Integer articleChildNum= knowledgeArticleDictDao.getCountByCategorySecond(mapchild.get("id").toString());
 | 
	
		
			
				|  |  |                     mapchild.put("articleNum",articleChildNum);
 | 
	
		
			
				|  |  |                     for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:effect){
 | 
	
		
			
				|  |  |                         if (mapchild.get("status").toString().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
 | 
	
		
			
				|  |  |                             mapchild.put("statusName",wlyyHospitalSysDictDO.getDictValue());
 | 
	
		
			
				|  |  |                             mapchild.put("isShow",wlyyHospitalSysDictDO.getDictValue().equalsIgnoreCase("1")?"是":"否");
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:menuFunction){
 | 
	
		
			
				|  |  |                         if (mapchild.get("functionType").toString().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
 | 
	
		
			
				|  |  |                             mapchild.put("functionTypeName",wlyyHospitalSysDictDO.getDictValue());
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     childList.add(mapchild);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             map.put("childList",childList);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return listParent;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     //查询单挑菜单字典
 | 
	
		
			
				|  |  |     public BaseMenuDictDO findOneMenuDict(String id){
 | 
	
		
			
				|  |  |         BaseMenuDictDO baseMenuDictDO= baseMenuDictDao.findOne(id);
 | 
	
		
			
				|  |  |         if (baseMenuDictDO!=null){
 | 
	
		
			
				|  |  |             WlyyHospitalSysDictDO menuLocation = wlyyHospitalSysDictDao.findOneByDictNameAndDictCode("menuLocation",baseMenuDictDO.getMenuLocation());
 | 
	
		
			
				|  |  |             WlyyHospitalSysDictDO menuFunction = wlyyHospitalSysDictDao.findOneByDictNameAndDictCode("menuFunction",baseMenuDictDO.getFunctionType());
 | 
	
		
			
				|  |  |             WlyyHospitalSysDictDO effect = wlyyHospitalSysDictDao.findOneByDictNameAndDictCode("isEffect",baseMenuDictDO.getStatus().toString());
 | 
	
		
			
				|  |  |             baseMenuDictDO.setLocaTionName(menuLocation.getDictValue());
 | 
	
		
			
				|  |  |             baseMenuDictDO.setFunctionName(menuFunction.getDictValue());
 | 
	
		
			
				|  |  |             baseMenuDictDO.setShowName(baseMenuDictDO.getStatus().equals("1")?"是":"否");
 | 
	
		
			
				|  |  |             baseMenuDictDO.setStatusName(effect.getDictValue());
 | 
	
		
			
				|  |  |             if (!"0".equalsIgnoreCase(baseMenuDictDO.getParentId())){
 | 
	
		
			
				|  |  |                 BaseMenuDictDO parentDo= baseMenuDictDao.findOne(baseMenuDictDO.getParentId());
 | 
	
		
			
				|  |  |                 if (parentDo!=null){
 | 
	
		
			
				|  |  |                     baseMenuDictDO.setParentName(parentDo.getName());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return baseMenuDictDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 二级菜单下移
 | 
	
		
			
				|  |  |      * @param
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public BaseMenuDictDO downMenu(String id) throws Exception{
 | 
	
		
			
				|  |  |         BaseMenuDictDO baseMenuDictDO= baseMenuDictDao.findOne(id);
 | 
	
		
			
				|  |  |         int maxSort = baseMenuDictDao.getMaxSort(baseMenuDictDO.getParentId());
 | 
	
		
			
				|  |  |         int sort = 0;
 | 
	
		
			
				|  |  |         if(null!=baseMenuDictDO){
 | 
	
		
			
				|  |  |             sort = baseMenuDictDO.getMenuSort();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (maxSort==sort){
 | 
	
		
			
				|  |  |             throw new Exception("不能下移");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql = "select t.id AS \"id\" from base_menu_dict t where t.is_del='1' and t.menu_sort > "+sort+" and " +
 | 
	
		
			
				|  |  |                 " t.parent_id='"+baseMenuDictDO.getParentId()+"' order by t.menu_sort asc ";
 | 
	
		
			
				|  |  |         System.out.println(sql);
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,1,1);
 | 
	
		
			
				|  |  |         BaseMenuDictDO upPrevious = new BaseMenuDictDO();
 | 
	
		
			
				|  |  |         if (list.size()>0){
 | 
	
		
			
				|  |  |             String prviousBannerId = list.get(0).get("id").toString();
 | 
	
		
			
				|  |  |             upPrevious =baseMenuDictDao.findOne(prviousBannerId);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //交换sort值
 | 
	
		
			
				|  |  |         baseMenuDictDO.setMenuSort(upPrevious.getMenuSort());
 | 
	
		
			
				|  |  |         upPrevious.setMenuSort(sort);
 | 
	
		
			
				|  |  |         baseMenuDictDao.save(baseMenuDictDO);
 | 
	
		
			
				|  |  |         baseMenuDictDao.save(upPrevious);
 | 
	
		
			
				|  |  |         return baseMenuDictDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 二级菜单上移
 | 
	
		
			
				|  |  |      * * @param
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public BaseMenuDictDO upMenu(String id) throws Exception{
 | 
	
		
			
				|  |  |         //当前
 | 
	
		
			
				|  |  |         BaseMenuDictDO baseMenuDictDO = baseMenuDictDao.findOne(id);
 | 
	
		
			
				|  |  |         int minSort = baseMenuDictDao.getMinSort(baseMenuDictDO.getParentId());
 | 
	
		
			
				|  |  |         int sort = 0;
 | 
	
		
			
				|  |  |         if(null!=baseMenuDictDO){
 | 
	
		
			
				|  |  |             sort = baseMenuDictDO.getMenuSort();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (minSort==sort){
 | 
	
		
			
				|  |  |             throw new Exception("不能上移");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql = " select id AS \"id\" from base_menu_dict where  is_del='1' and menu_sort < "+sort+" and" +
 | 
	
		
			
				|  |  |                 " parent_id='"+baseMenuDictDO.getParentId()+"'order by menu_sort desc ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,1,1);
 | 
	
		
			
				|  |  |         BaseMenuDictDO downPrevious = new BaseMenuDictDO();
 | 
	
		
			
				|  |  |         if (list.size()>0){
 | 
	
		
			
				|  |  |             String prviousBannerId = list.get(0).get("id").toString();
 | 
	
		
			
				|  |  |             downPrevious =baseMenuDictDao.findOne(prviousBannerId);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //获取的下一条b
 | 
	
		
			
				|  |  |         //交换sort值
 | 
	
		
			
				|  |  |         baseMenuDictDO.setMenuSort(downPrevious.getMenuSort());
 | 
	
		
			
				|  |  |         downPrevious.setMenuSort(sort);
 | 
	
		
			
				|  |  |         baseMenuDictDao.save(baseMenuDictDO);
 | 
	
		
			
				|  |  |         baseMenuDictDao.save(downPrevious);
 | 
	
		
			
				|  |  |         return baseMenuDictDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 设置生效和失效
 | 
	
		
			
				|  |  |      * @param id
 | 
	
		
			
				|  |  |      * @param status
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public void updateStatus(String id,Integer status){
 | 
	
		
			
				|  |  |         baseMenuDictDao.updateStatus(id,status);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     //新增修改菜单
 | 
	
		
			
				|  |  |     public BaseMenuDictDO createOrUpdateMenu(String json) throws  Exception{
 | 
	
		
			
				|  |  |         BaseMenuDictDO menuDO = objectMapper.readValue(json,BaseMenuDictDO.class);
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(menuDO.getId())){
 | 
	
		
			
				|  |  |             BaseMenuDictDO menuOld = baseMenuDictDao.findOne(menuDO.getId());
 | 
	
		
			
				|  |  |             if (menuOld!=null){
 | 
	
		
			
				|  |  |                 menuOld.setParentId(menuDO.getParentId());
 | 
	
		
			
				|  |  |                 menuOld.setName(menuDO.getName());
 | 
	
		
			
				|  |  |                 menuOld.setMenuLocation(menuDO.getMenuLocation());
 | 
	
		
			
				|  |  |                 menuOld.setFunctionType(menuDO.getFunctionType());
 | 
	
		
			
				|  |  |                 //menuOld.setIsShow(menuDO.getIsShow());
 | 
	
		
			
				|  |  |                 menuOld.setMenuImg(menuDO.getMenuImg());
 | 
	
		
			
				|  |  |                 menuOld.setDescribtion(menuDO.getDescribtion());
 | 
	
		
			
				|  |  |                 menuOld.setMenuTitle(menuDO.getMenuTitle());
 | 
	
		
			
				|  |  |                 menuOld.setBgImg(menuDO.getBgImg());
 | 
	
		
			
				|  |  |                 menuOld.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |                 menuOld.setIsDel("1");
 | 
	
		
			
				|  |  |                 menuDO = baseMenuDictDao.save(menuOld);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             if (StringUtils.isNoneBlank(menuDO.getParentId())){
 | 
	
		
			
				|  |  |                 Integer maxSort=baseMenuDictDao.getMaxSort(menuDO.getParentId());
 | 
	
		
			
				|  |  |                 menuDO.setMenuSort((maxSort==null?0:maxSort)+1);
 | 
	
		
			
				|  |  |                 menuDO.setIsDel("1");
 | 
	
		
			
				|  |  |                 menuDO.setIsShow(menuDO.getStatus()==1?"1":"0");
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 menuDO.setIsDel("1");
 | 
	
		
			
				|  |  |                 menuDO.setIsShow(menuDO.getStatus()==1?"1":"0");
 | 
	
		
			
				|  |  |                 menuDO.setMenuSort(1);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             menuDO = baseMenuDictDao.save(menuDO);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return menuDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     //新增修改友情链接
 | 
	
		
			
				|  |  |     public BaseLinkDictDO createOrUpdateLink(String json) throws  Exception{
 | 
	
		
			
				|  |  |         BaseLinkDictDO linkDictDO = objectMapper.readValue(json,BaseLinkDictDO.class);
 | 
	
		
			
				|  |  |         Integer maxSort=baseLinkDictDao.getMaxSort();
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(linkDictDO.getId())){
 | 
	
		
			
				|  |  |             BaseLinkDictDO baseLinkDictDO=baseLinkDictDao.findOne(linkDictDO.getId());
 | 
	
		
			
				|  |  |             if (baseLinkDictDO!=null){
 | 
	
		
			
				|  |  |                 baseLinkDictDO.setName(linkDictDO.getName());
 | 
	
		
			
				|  |  |                 baseLinkDictDO.setLinkUrl(linkDictDO.getLinkUrl());
 | 
	
		
			
				|  |  |                 //baseLinkDictDO.setLinkSort((maxSort==null?0:maxSort)+1);
 | 
	
		
			
				|  |  |                 baseLinkDictDO.setIsShow(linkDictDO.getIsShow());
 | 
	
		
			
				|  |  |                 baseLinkDictDO.setIsDel("1");
 | 
	
		
			
				|  |  |                 linkDictDO =  baseLinkDictDao.save(baseLinkDictDO);
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 throw new  NoSuchElementException();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             linkDictDO.setLinkSort((maxSort==null?0:maxSort)+1);
 | 
	
		
			
				|  |  |             linkDictDO.setIsDel("1");
 | 
	
		
			
				|  |  |             linkDictDO =  baseLinkDictDao.save(linkDictDO);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return linkDictDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> findLinkDict(String name,String status){
 | 
	
		
			
				|  |  |         String sql="select t.id as \"id\"," +
 | 
	
		
			
				|  |  |                 " t.name as \"name\"," +
 | 
	
		
			
				|  |  |                 " t.link_url as \"linkUrl\"," +
 | 
	
		
			
				|  |  |                 " t.is_show as \"isShow\"," +
 | 
	
		
			
				|  |  |                 " t.link_sort as \"linkSort\"," +
 | 
	
		
			
				|  |  |                 " t.create_time as \"createTime\"," +
 | 
	
		
			
				|  |  |                 " t.is_del as \"isDel\" " +
 | 
	
		
			
				|  |  |                 " from base_link_dict t where 1=1 and t.is_del='1'";
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(name)){
 | 
	
		
			
				|  |  |             sql+=" and t.name like '%"+name+"%'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(status)){
 | 
	
		
			
				|  |  |             sql+=" and t.status = '"+status+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql+=" order by t.link_sort asc";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
 | 
	
		
			
				|  |  |         return list;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public BaseLinkDictDO findOneLinkDict(String id){
 | 
	
		
			
				|  |  |         BaseLinkDictDO baseLinkDictDO= baseLinkDictDao.findOne(id);
 | 
	
		
			
				|  |  |         if (baseLinkDictDO!=null){
 | 
	
		
			
				|  |  |             WlyyHospitalSysDictDO effect = wlyyHospitalSysDictDao.findOneByDictNameAndDictCode("isEffect",baseLinkDictDO.getStatus());
 | 
	
		
			
				|  |  |             baseLinkDictDO.setShowName(baseLinkDictDO.getStatus().equalsIgnoreCase("1")?"是":"否");
 | 
	
		
			
				|  |  |             baseLinkDictDO.setStatusName(effect.getDictValue());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return baseLinkDictDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 友情链接下移
 | 
	
		
			
				|  |  |      * @param
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public BaseLinkDictDO downlink(String id) throws Exception{
 | 
	
		
			
				|  |  |         BaseLinkDictDO baseLinkDictDO= baseLinkDictDao.findOne(id);
 | 
	
		
			
				|  |  |         int maxSort = baseLinkDictDao.getMaxSort();
 | 
	
		
			
				|  |  |         int sort = 0;
 | 
	
		
			
				|  |  |         if(null!=baseLinkDictDO){
 | 
	
		
			
				|  |  |             sort = baseLinkDictDO.getLinkSort();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (maxSort==sort){
 | 
	
		
			
				|  |  |             throw new Exception("不能下移");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql = "select t.id AS \"id\" from base_link_dict t where t.is_del='1' and  t.link_sort > "+sort+" order by t.link_sort asc ";
 | 
	
		
			
				|  |  |         System.out.println(sql);
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,1,1);
 | 
	
		
			
				|  |  |         BaseLinkDictDO upPrevious = new BaseLinkDictDO();
 | 
	
		
			
				|  |  |         if (list.size()>0){
 | 
	
		
			
				|  |  |             String prviousBannerId = list.get(0).get("id").toString();
 | 
	
		
			
				|  |  |             upPrevious =baseLinkDictDao.findOne(prviousBannerId);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //交换sort值
 | 
	
		
			
				|  |  |         baseLinkDictDO.setLinkSort(upPrevious.getLinkSort());
 | 
	
		
			
				|  |  |         upPrevious.setLinkSort(sort);
 | 
	
		
			
				|  |  |         baseLinkDictDao.save(baseLinkDictDO);
 | 
	
		
			
				|  |  |         baseLinkDictDao.save(upPrevious);
 | 
	
		
			
				|  |  |         return baseLinkDictDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 友情链接上移
 | 
	
		
			
				|  |  |      * * @param
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public BaseLinkDictDO upLink(String id) throws Exception{
 | 
	
		
			
				|  |  |         //当前
 | 
	
		
			
				|  |  |         BaseLinkDictDO baseLinkDictDO = baseLinkDictDao.findOne(id);
 | 
	
		
			
				|  |  |         int minSort = baseLinkDictDao.getMinSort();
 | 
	
		
			
				|  |  |         int sort = 0;
 | 
	
		
			
				|  |  |         if(null!=baseLinkDictDO){
 | 
	
		
			
				|  |  |             sort = baseLinkDictDO.getLinkSort();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (minSort==sort){
 | 
	
		
			
				|  |  |             throw new Exception("不能上移");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql = " select id AS \"id\" from base_link_dict where is_del='1' and link_sort < "+sort+" order by link_sort desc ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,1,1);
 | 
	
		
			
				|  |  |         BaseLinkDictDO downPrevious = new BaseLinkDictDO();
 | 
	
		
			
				|  |  |         if (list.size()>0){
 | 
	
		
			
				|  |  |             String prviousBannerId = list.get(0).get("id").toString();
 | 
	
		
			
				|  |  |             downPrevious =baseLinkDictDao.findOne(prviousBannerId);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //获取的下一条b
 | 
	
		
			
				|  |  |         //交换sort值
 | 
	
		
			
				|  |  |         baseLinkDictDO.setLinkSort(downPrevious.getLinkSort());
 | 
	
		
			
				|  |  |         downPrevious.setLinkSort(sort);
 | 
	
		
			
				|  |  |         baseLinkDictDao.save(baseLinkDictDO);
 | 
	
		
			
				|  |  |         baseLinkDictDao.save(downPrevious);
 | 
	
		
			
				|  |  |         return baseLinkDictDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 设置生效和失效
 | 
	
		
			
				|  |  |      * @param id
 | 
	
		
			
				|  |  |      * @param status
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public void updateLinkStatus(String id,String status){
 | 
	
		
			
				|  |  |         baseLinkDictDao.updateStatus(id,status);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 设置生效和失效
 | 
	
		
			
				|  |  |      * @param id
 | 
	
		
			
				|  |  |      * @param status
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public void updateLinkShow(String id,String status){
 | 
	
		
			
				|  |  |         baseLinkDictDao.updateShow(id,status);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 友情链接删除
 | 
	
		
			
				|  |  |      * @param id
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public void updateLinkDel(String id){
 | 
	
		
			
				|  |  |         baseLinkDictDao.updateDel(id,"0");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 移除首页菜单
 | 
	
		
			
				|  |  |      * @param menuId
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public BaseMenuShowDO removeMenu(String menuId){
 | 
	
		
			
				|  |  |         BaseMenuShowDO baseMenuShowDO = baseMenuShowDao.findOne(menuId);
 | 
	
		
			
				|  |  |         baseMenuShowDO.setIsDel("0");
 | 
	
		
			
				|  |  |         baseMenuShowDao.save(baseMenuShowDO);
 | 
	
		
			
				|  |  |         return baseMenuShowDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public  List<Map<String,Object>> findMenuShow(){
 | 
	
		
			
				|  |  |         String modelSql = "select t.id as \"id\"," +
 | 
	
		
			
				|  |  |                 " t.model_id as \"modelId\", " +
 | 
	
		
			
				|  |  |                 " t.model_name as \"modelName\" from base_menu_show t where t.is_del ='1'" +
 | 
	
		
			
				|  |  |                 " group by  t.model_id, t.model_name" ;
 | 
	
		
			
				|  |  |         List<Map<String,Object>> listModel=hibenateUtils.createSQLQuery(modelSql);
 | 
	
		
			
				|  |  |         String sql =" select t.id as \"id\", " +
 | 
	
		
			
				|  |  |                 " t.model_id as \"modelId\", " +
 | 
	
		
			
				|  |  |                 " t.model_name as \"modelName\", " +
 | 
	
		
			
				|  |  |                 " t.menu_id as \"menuId\", " +
 | 
	
		
			
				|  |  |                 " t.menu_name as \"menuName\", " +
 | 
	
		
			
				|  |  |                 " t.is_del as \"isDel\"," +
 | 
	
		
			
				|  |  |                 " t.create_time as \"createTime\"," +
 | 
	
		
			
				|  |  |                 " t.menu_sort as \"menuSort\"," +
 | 
	
		
			
				|  |  |                 " t.style_code as \"styleCode\"," +
 | 
	
		
			
				|  |  |                 " t.style_name as \"styleName\" " +
 | 
	
		
			
				|  |  |                 " from base_menu_show t left join " +
 | 
	
		
			
				|  |  |                 " base_menu_dict m on t.menu_id= m.id" +
 | 
	
		
			
				|  |  |                 " where t.is_del ='1' order by t.model_id asc ,t.menu_sort asc ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String sqlLink =" select t.id as \"id\", " +
 | 
	
		
			
				|  |  |                 " t.model_id as \"modelId\", " +
 | 
	
		
			
				|  |  |                 " t.model_name as \"modelName\", " +
 | 
	
		
			
				|  |  |                 " t.menu_id as \"menuId\", " +
 | 
	
		
			
				|  |  |                 " t.menu_name as \"menuName\", " +
 | 
	
		
			
				|  |  |                 " t.is_del as \"isDel\"," +
 | 
	
		
			
				|  |  |                 " t.create_time as \"createTime\"," +
 | 
	
		
			
				|  |  |                 " t.menu_sort as \"menuSort\"," +
 | 
	
		
			
				|  |  |                 " t.style_code as \"styleCode\"," +
 | 
	
		
			
				|  |  |                 " t.style_name as \"styleName\" " +
 | 
	
		
			
				|  |  |                 " from base_menu_show t left join " +
 | 
	
		
			
				|  |  |                 " base_link_dict m on t.menu_id= m.id" +
 | 
	
		
			
				|  |  |                 " where t.is_del ='1' and t.model_id='03' order by t.menu_sort asc ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> listLink=hibenateUtils.createSQLQuery(sqlLink);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         for (Map<String,Object> map:listModel){
 | 
	
		
			
				|  |  |             List<Map<String,Object>> child = new ArrayList<>();
 | 
	
		
			
				|  |  |             if("03".equalsIgnoreCase(map.get("modelId").toString())){
 | 
	
		
			
				|  |  |                 map.put("childList",listLink);
 | 
	
		
			
				|  |  |                 map.put("childListNum",listLink==null?0:listLink.size());
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 for (Map<String,Object> childMap:list){
 | 
	
		
			
				|  |  |                     if (childMap.get("modelId").toString().equalsIgnoreCase(map.get("modelId").toString())){
 | 
	
		
			
				|  |  |                         child.add(childMap);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             map.put("childList",child);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return listModel;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 首页菜单展示下移
 | 
	
		
			
				|  |  |      * @param
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public BaseMenuShowDO downMenuShow(String id) throws Exception{
 | 
	
		
			
				|  |  |         BaseMenuShowDO baseMenuShowDO= baseMenuShowDao.findOne(id);
 | 
	
		
			
				|  |  |         int maxSort = baseMenuShowDao.getMaxSort();
 | 
	
		
			
				|  |  |         int sort = 0;
 | 
	
		
			
				|  |  |         if(null!=baseMenuShowDO){
 | 
	
		
			
				|  |  |             sort = baseMenuShowDO.getMenuSort();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (maxSort==sort){
 | 
	
		
			
				|  |  |             throw new Exception("不能下移");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql = "select t.id AS \"id\" from base_menu_show t where t.is_del='1' and t.menu_sort > "+sort+" " +
 | 
	
		
			
				|  |  |                 " and t.model_id='"+baseMenuShowDO.getModelId()+"'order by t.menu_sort asc ";
 | 
	
		
			
				|  |  |         System.out.println(sql);
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,1,1);
 | 
	
		
			
				|  |  |         BaseMenuShowDO upPrevious = new BaseMenuShowDO();
 | 
	
		
			
				|  |  |         if (list.size()>0){
 | 
	
		
			
				|  |  |             String prviousBannerId = list.get(0).get("id").toString();
 | 
	
		
			
				|  |  |             upPrevious =baseMenuShowDao.findOne(prviousBannerId);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //交换sort值
 | 
	
		
			
				|  |  |         baseMenuShowDO.setMenuSort(upPrevious.getMenuSort());
 | 
	
		
			
				|  |  |         upPrevious.setMenuSort(sort);
 | 
	
		
			
				|  |  |         baseMenuShowDao.save(baseMenuShowDO);
 | 
	
		
			
				|  |  |         baseMenuShowDao.save(upPrevious);
 | 
	
		
			
				|  |  |         return baseMenuShowDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 首页菜单展示上移
 | 
	
		
			
				|  |  |      * * @param
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public BaseMenuShowDO upMenuShow(String id) throws Exception{
 | 
	
		
			
				|  |  |         //当前
 | 
	
		
			
				|  |  |         BaseMenuShowDO baseMenuShowDO = baseMenuShowDao.findOne(id);
 | 
	
		
			
				|  |  |         int minSort = baseMenuShowDao.getMinSort();
 | 
	
		
			
				|  |  |         int sort = 0;
 | 
	
		
			
				|  |  |         if(null!=baseMenuShowDO){
 | 
	
		
			
				|  |  |             sort = baseMenuShowDO.getMenuSort();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (minSort==sort){
 | 
	
		
			
				|  |  |             throw new Exception("不能上移");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql = " select id AS \"id\" from base_menu_show where is_del='1' and menu_sort < "+sort+" " +
 | 
	
		
			
				|  |  |                 " and model_id ='"+baseMenuShowDO.getModelId()+"'order by menu_sort desc ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,1,1);
 | 
	
		
			
				|  |  |         BaseMenuShowDO downPrevious = new BaseMenuShowDO();
 | 
	
		
			
				|  |  |         if (list.size()>0){
 | 
	
		
			
				|  |  |             String prviousBannerId = list.get(0).get("id").toString();
 | 
	
		
			
				|  |  |             downPrevious =baseMenuShowDao.findOne(prviousBannerId);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //获取的下一条b
 | 
	
		
			
				|  |  |         //交换sort值
 | 
	
		
			
				|  |  |         baseMenuShowDO.setMenuSort(downPrevious.getMenuSort());
 | 
	
		
			
				|  |  |         downPrevious.setMenuSort(sort);
 | 
	
		
			
				|  |  |         baseMenuShowDao.save(baseMenuShowDO);
 | 
	
		
			
				|  |  |         baseMenuShowDao.save(downPrevious);
 | 
	
		
			
				|  |  |         return baseMenuShowDO;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public void saveMenuShow(String json) throws  Exception{
 | 
	
		
			
				|  |  |         List<BaseMenuShowDO> menuShowDO = JSON.parseArray(json,BaseMenuShowDO.class);
 | 
	
		
			
				|  |  |         List<WlyyHospitalSysDictDO> list = wlyyHospitalSysDictDao.findByDictName("menuStyle");
 | 
	
		
			
				|  |  |         int i =1;
 | 
	
		
			
				|  |  |         for (BaseMenuShowDO baseMenuShowDO:menuShowDO){
 | 
	
		
			
				|  |  |             for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:list){
 | 
	
		
			
				|  |  |                 if (baseMenuShowDO.getStyleCode().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
 | 
	
		
			
				|  |  |                     baseMenuShowDO.setStyleName(wlyyHospitalSysDictDO.getDictValue());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             String modelSql = "select t.id as \"id\"," +
 | 
	
		
			
				|  |  |                     " t.model_id as \"modelId\", max(t.menu_sort) as \"maxSort\"" +
 | 
	
		
			
				|  |  |                     " from base_menu_show t where t.is_del ='1'" +"and t.model_id='"+baseMenuShowDO.getModelId()+"'"+
 | 
	
		
			
				|  |  |                     " group by  t.model_id " ;
 | 
	
		
			
				|  |  |             List<Map<String,Object>> listModel=hibenateUtils.createSQLQuery(modelSql);
 | 
	
		
			
				|  |  |             if (listModel!=null&&listModel.size()>0){
 | 
	
		
			
				|  |  |                 baseMenuShowDO.setMenuSort((listModel.get(0).get("maxSort")==null?0:Integer.valueOf(listModel.get(0).get("maxSort").toString()))+i);
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 baseMenuShowDO.setMenuSort(1);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             baseMenuShowDO.setIsDel("1");
 | 
	
		
			
				|  |  |             baseMenuShowDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             i++;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         baseMenuShowDao.save(menuShowDO);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> findByParentId(String parentId,Integer status){
 | 
	
		
			
				|  |  |         String sql = "select t.id as \"id\", " +
 | 
	
		
			
				|  |  |                 " t.parent_id as \"parentId\", " +
 | 
	
		
			
				|  |  |                 " t.name as \"name\", " +
 | 
	
		
			
				|  |  |                 " t.menu_sort as \"menuSort\", " +
 | 
	
		
			
				|  |  |                 " t.icon as \"icon\", " +
 | 
	
		
			
				|  |  |                 " t.url as \"url\", " +
 | 
	
		
			
				|  |  |                 " t.is_show as \"isShow\", " +
 | 
	
		
			
				|  |  |                 " t.status as \"status\", " +
 | 
	
		
			
				|  |  |                 " t.create_time as \"createTime\", " +
 | 
	
		
			
				|  |  |                 " t.remark as \"remark\", " +
 | 
	
		
			
				|  |  |                 " t.function_type as \"functionType\", " +
 | 
	
		
			
				|  |  |                 " t.menu_level as \"menuLevel\", " +
 | 
	
		
			
				|  |  |                 " t.menu_location as \"menuLocation\", " +
 | 
	
		
			
				|  |  |                 " t.bg_img as \"bgImg\", " +
 | 
	
		
			
				|  |  |                 " t.menu_title as \"menuTitle\", " +
 | 
	
		
			
				|  |  |                 " t.describtion as \"describtion\", " +
 | 
	
		
			
				|  |  |                 " t.menu_img as \"menuImg\"  " +
 | 
	
		
			
				|  |  |                 "from base_menu_dict t  where 1=1 and t.is_del ='1' ";
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(parentId)){
 | 
	
		
			
				|  |  |             sql+=" and t.parent_id='"+parentId+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (status!=null){
 | 
	
		
			
				|  |  |             sql+=" and t.status="+status+"";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql+="order by t.menu_sort asc";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql);
 | 
	
		
			
				|  |  |         return list;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public MixEnvelop findArticleByMenuId(String menuId,Integer page,Integer pageSize){
 | 
	
		
			
				|  |  |         Pageable pageRequest = new PageRequest(page-1,pageSize);
 | 
	
		
			
				|  |  |         List<KnowledgeArticleDictDO> list=knowledgeArticleDictDao.findByCategorySecondAndPage(menuId,pageRequest);
 | 
	
		
			
				|  |  |         Integer count = knowledgeArticleDictDao.getCountByCategorySecond(menuId);
 | 
	
		
			
				|  |  |         MixEnvelop mixEnvelop = new MixEnvelop();
 | 
	
		
			
				|  |  |         mixEnvelop.setTotalCount(count);
 | 
	
		
			
				|  |  |         mixEnvelop.setDetailModelList(list);
 | 
	
		
			
				|  |  |         mixEnvelop.setPageSize(pageSize);
 | 
	
		
			
				|  |  |         mixEnvelop.setCurrPage(page);
 | 
	
		
			
				|  |  |         return mixEnvelop;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     //菜单词典查询
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> findMenuDictParent(String parentId, String name){
 | 
	
		
			
				|  |  |         String sqlParent ="select t.id as \"id\", " +
 | 
	
		
			
				|  |  |                 " t.parent_id as \"parentId\", " +
 | 
	
		
			
				|  |  |                 " t.name as \"name\", " +
 | 
	
		
			
				|  |  |                 " t.menu_sort as \"menuSort\", " +
 | 
	
		
			
				|  |  |                 " t.icon as \"icon\", " +
 | 
	
		
			
				|  |  |                 " t.url as \"url\", " +
 | 
	
		
			
				|  |  |                 " t.is_show as \"isShow\", " +
 | 
	
		
			
				|  |  |                 " t.status as \"status\", " +
 | 
	
		
			
				|  |  |                 " t.create_time as \"createTime\", " +
 | 
	
		
			
				|  |  |                 " t.remark as \"remark\", " +
 | 
	
		
			
				|  |  |                 " t.function_type as \"functionType\", " +
 | 
	
		
			
				|  |  |                 " t.menu_level as \"menuLevel\", " +
 | 
	
		
			
				|  |  |                 " t.menu_location as \"menuLocation\", " +
 | 
	
		
			
				|  |  |                 " t.bg_img as \"bgImg\", " +
 | 
	
		
			
				|  |  |                 " t.menu_title as \"menuTitle\", " +
 | 
	
		
			
				|  |  |                 " t.describtion as \"describtion\", " +
 | 
	
		
			
				|  |  |                 " t.menu_img as \"menuImg\"  " +
 | 
	
		
			
				|  |  |                 "from base_menu_dict t   where 1=1 and t.is_del ='1' and status =1";
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(parentId)){
 | 
	
		
			
				|  |  |             sqlParent+=" and t.id = '"+parentId+"'";
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             sqlParent+=" and t.parent_id = '0'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(name)){
 | 
	
		
			
				|  |  |             sqlParent+=" and t.name like '%"+name+"%'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<Map<String,Object>> listParent = hibenateUtils.createSQLQuery(sqlParent);
 | 
	
		
			
				|  |  |         List<WlyyHospitalSysDictDO> menuLocation = wlyyHospitalSysDictDao.findByDictName("menuLocation");
 | 
	
		
			
				|  |  |         List<WlyyHospitalSysDictDO> effect = wlyyHospitalSysDictDao.findByDictName("isEffect");
 | 
	
		
			
				|  |  |         for (Map<String,Object> map:listParent){
 | 
	
		
			
				|  |  |             Integer articleParentNum= knowledgeArticleDictDao.getCountByCategoryFirst(map.get("id").toString());
 | 
	
		
			
				|  |  |             map.put("articleNum",articleParentNum);
 | 
	
		
			
				|  |  |             for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:effect){
 | 
	
		
			
				|  |  |                 if (map.get("status").toString().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
 | 
	
		
			
				|  |  |                     map.put("statusName",wlyyHospitalSysDictDO.getDictValue());
 | 
	
		
			
				|  |  |                     map.put("isShow",wlyyHospitalSysDictDO.getDictValue().equalsIgnoreCase("1")?"是":"否");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:menuLocation){
 | 
	
		
			
				|  |  |                 if (map.get("menuLocation").toString().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
 | 
	
		
			
				|  |  |                     map.put("menuLocationName",wlyyHospitalSysDictDO.getDictValue());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return listParent;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |