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 queryByCondtion(OrgQuery query) { PageHelper.startPage(query.getPage(),query.getLimit()); List list=orgDao.queryByCondtion(query); PageInfo 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 getAllChildIdsByOrgId(Long orgId) { if (orgId == null){ return null;} OrgItem orgItem = platformService.buildOrg().findChild(orgId); if (orgItem == null) { return null; } List 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 idList) { // orgDao.batchDelByIds(idList); // } /*public boolean deleteById(List 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); }*/ }