feat: 体系搜索树接口

This commit is contained in:
2023-11-14 17:10:47 +08:00
parent 9655f55303
commit 5215be2d97
8 changed files with 143 additions and 6 deletions
@@ -91,7 +91,7 @@ public class SarMenuStandardNewController extends BaseController<SarMenuStandard
}
@ApiOperation("体系搜索三层树")
@DeleteMapping("/standardSystemTree")
@GetMapping("/standardSystemTree")
public ResponseMessage<?> standardSystemTree() {
return Result.success(iSarMenuStandardNewService.standardSystemTree());
}
@@ -30,5 +30,5 @@ public interface ISarMenuStandardNewService extends IService<SarMenuStandardNew>
SarMenuStandard getMenuStandardById(String menuId);
Object standardSystemTree();
List<SarMenuStandard> standardSystemTree();
}
@@ -7,10 +7,13 @@ import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew;
import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardNewService;
import com.adc.da.slrs.sarResource.dao.TsResourceDao;
import com.adc.da.slrs.sarRole.dao.TsRoleDao;
import com.adc.da.slrs.sarStandMenu.dao.SarStandMenuDao;
import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu;
import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService;
import com.adc.da.sys.sarMenuStandard.dao.SarMenuStandardDao;
import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard;
import com.adc.da.sys.sarMenuStandard.entity.StandMenuRelation;
import com.adc.da.sys.util.BeanCopyUtils;
import com.adc.da.util.LoginUserUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -49,6 +52,8 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl<SarMenuStandar
private ISarStandMenuService sarStandMenuService;
@Resource
private ISarBussStandMenuService sarBussStandMenuService;
@Resource
private SarStandMenuDao sarStandMenuDao;
@Override
public String getTopMenu(SarMenuStandardNew sarMenuStandardNew){
@@ -124,11 +129,41 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl<SarMenuStandar
}
@Override
public Object standardSystemTree() {
// 构造三层数
public List<SarMenuStandard> standardSystemTree() {
// 构造树
List<SarMenuStandard> TsResources;
QueryWrapper<SarMenuStandard> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("DIC_ID", "9m4qqqaansxmox5e82zm");
queryWrapper.eq("VALID_FLAG", 0);
queryWrapper.isNull("PARENT_ID");
queryWrapper.orderByAsc("DISPLAY_SEQ");
TsResources = dao.selectList(queryWrapper);
// 查询数据
return null;
for (SarMenuStandard resource : TsResources) {
resource.setTreeType("sarMs");
QueryWrapper<SarMenuStandard> TsResourceQueryWrapper = new QueryWrapper<>();
TsResourceQueryWrapper.like("PARENT_IDS", resource.getId());
TsResourceQueryWrapper.eq("VALID_FLAG", 0);
TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ");
List<SarMenuStandard> children = dao.selectList(TsResourceQueryWrapper);
resource.setChildren(recursionGetListChildrenStand((resource), (children)));
}
// 把所有关联表中的数据拉出来
// 国标
List<SarStandMenu> gbStandMenu = sarStandMenuDao.getGBStandMenu().stream().filter(sarStandMenu -> sarStandMenu.getMenuId().length() > 30).collect(Collectors.toList());
List<StandMenuRelation> gbRelations = BeanCopyUtils.copyBeanList(gbStandMenu, StandMenuRelation.class);
// 外标
List<SarStandMenu> fbStandMenu = sarStandMenuDao.getFBStandMenu().stream().filter(sarStandMenu -> sarStandMenu.getMenuId().length() > 30).collect(Collectors.toList());
List<StandMenuRelation> fbRelations = BeanCopyUtils.copyBeanList(fbStandMenu, StandMenuRelation.class);
// 企标
List<SarBussStandMenu> esStandMenu = sarBussStandMenuService.list().stream().filter(sarBussStandMenu -> sarBussStandMenu.getMenuId().length() > 30).collect(Collectors.toList());
List<StandMenuRelation> esRelations = BeanCopyUtils.copyBeanList(esStandMenu, StandMenuRelation.class);
// 计算每个节点的数值
TsResources.get(0).calculateAndSetCounts(gbRelations, fbRelations, esRelations);
// 拼接返回
return TsResources;
}
@Override
@@ -31,4 +31,8 @@ public interface SarStandMenuDao extends BaseMapper<SarStandMenu> {
List<SarStandMenu> getMenuByStandId(SarStandMenu sarStandMenu);
List<SarStandMenu> getGBStandMenu();
List<SarStandMenu> getFBStandMenu();
}
@@ -144,5 +144,17 @@
</select>
<select id="getGBStandMenu" resultType="com.adc.da.slrs.sarStandMenu.entity.SarStandMenu">
select sm.MENU_ID, sm.STAND_ID from SAR_STAND_MENU AS sm
LEFT JOIN sar_standards_info AS stand ON sm.STAND_ID = stand.ID
where stand.STAND_TYPE = 'INLAND'
</select>
<select id="getFBStandMenu" resultType="com.adc.da.slrs.sarStandMenu.entity.SarStandMenu">
select sm.MENU_ID, sm.STAND_ID from SAR_STAND_MENU AS sm
LEFT JOIN sar_standards_info AS stand ON sm.STAND_ID = stand.ID
where stand.STAND_TYPE = 'FOREIGN'
</select>
</mapper>