package com.xzx.gc.role.service; 
 | 
  
 | 
import com.github.pagehelper.PageHelper; 
 | 
import com.github.pagehelper.PageInfo; 
 | 
import com.xzx.gc.annotation.Dict; 
 | 
import com.xzx.gc.entity.CoreDict; 
 | 
import com.xzx.gc.entity.CoreOrg; 
 | 
import com.xzx.gc.model.query.OrgQuery; 
 | 
import com.xzx.gc.role.mapper.CoreOrgMapper; 
 | 
import com.xzx.gc.role.rbac.tree.OrgItem; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.stereotype.Service; 
 | 
import org.springframework.transaction.annotation.Transactional; 
 | 
  
 | 
import java.text.SimpleDateFormat; 
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
/** 
 | 
 *  
 | 
 * @author : xiandafu 
 | 
 */ 
 | 
@Service 
 | 
@Transactional 
 | 
public class OrgConsoleService{ 
 | 
  
 | 
    @Autowired 
 | 
    private CoreOrgMapper orgDao; 
 | 
    @Autowired 
 | 
    private CoreDictService dictService; 
 | 
    @Autowired 
 | 
    private CorePlatformService platformService; 
 | 
    static SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
 | 
  
 | 
    /** 
 | 
     * 根据条件查询 
 | 
     * @param query 
 | 
     */ 
 | 
    public PageInfo<CoreOrg> queryByCondtion(OrgQuery query) { 
 | 
  
 | 
        PageHelper.startPage(query.getPage(),query.getLimit()); 
 | 
        List<CoreOrg> list=orgDao.queryByCondtion(query); 
 | 
        PageInfo<CoreOrg> pageInfo=new PageInfo<>(list); 
 | 
        //queryListAfter(list); 
 | 
        OrgItem root = platformService.buildOrg(); 
 | 
        //处理父机构名称显示,没有用sql查询是考虑到跨数据库 
 | 
        for(CoreOrg org:list) { 
 | 
            Long parentId = org.getParentOrgId(); 
 | 
            OrgItem item = root.findChild(parentId); 
 | 
            String name = item!=null?item.getName():""; 
 | 
            String dict = dictService.findNameByType(org.getType()); 
 | 
            if(null!=org.getCreateTime()){ 
 | 
                org.setCreateTimeStr(sdf1.format(org.getCreateTime())); 
 | 
  
 | 
            } 
 | 
            org.setTypeText(dict); 
 | 
            org.setParentOrgText(name); 
 | 
            System.out.println(dict); 
 | 
            //org.set("parentOrgText", name); 
 | 
        } 
 | 
  
 | 
        return pageInfo; 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    /** 
 | 
     * 获取机构下面的所以机构 
 | 
     * @param orgId 机构id 
 | 
     */ 
 | 
    public List<Long> getAllChildIdsByOrgId(Long orgId) { 
 | 
        if (orgId == null){ 
 | 
            return null;} 
 | 
        OrgItem orgItem = platformService.buildOrg().findChild(orgId); 
 | 
        if (orgItem == null) { 
 | 
            return null; 
 | 
        } 
 | 
        List<Long> ids = orgItem.findAllChildrenId(); 
 | 
        if (ids == null) { 
 | 
            ids = new ArrayList<>(); 
 | 
        } 
 | 
        ids.add(orgId); 
 | 
  
 | 
        return ids; 
 | 
    } 
 | 
  
 | 
    public CoreOrg queryById(Long orgId) { 
 | 
        return orgDao.selectByPrimaryKey(orgId); 
 | 
    } 
 | 
  
 | 
    public void save(CoreOrg org) { 
 | 
        orgDao.insertSelective(org); 
 | 
    } 
 | 
  
 | 
    public boolean updateTemplate(CoreOrg org) { 
 | 
        return orgDao.updateByPrimaryKeySelective(org)>0; 
 | 
    } 
 | 
  
 | 
//    public void deleteById(List<Long> idList) { 
 | 
//        orgDao.batchDelByIds(idList); 
 | 
//    } 
 | 
  
 | 
  
 | 
    /*public boolean deleteById(List<Long> ids) { 
 | 
        OrgItem root = platformService.buildOrg(); 
 | 
        //检查子节点 
 | 
  
 | 
        for (Long id : ids) { 
 | 
            OrgItem child = root.findChild(id); 
 | 
            if(child != null && child.getChildren().size()!=0){ 
 | 
                throw new PlatformException("不能删除 "+child.getOrg().getName()+",还包含子机构"); 
 | 
            } 
 | 
        } 
 | 
        return super.deleteById(ids); 
 | 
    }*/ 
 | 
  
 | 
  
 | 
} 
 |