导入提示修改

This commit is contained in:
cwchen 2024-08-30 11:27:28 +08:00
parent 2c8d2ea639
commit fae81c60d8
4 changed files with 26 additions and 47 deletions

View File

@ -182,7 +182,6 @@ public class ConsControlServiceImpl implements IConsControlService {
@Override
public AjaxResult getPersonsTree(BraceletParamsDto dto) {
JSONArray resultTree = new JSONArray();
JSONArray dataTree = new JSONArray();
try {
List<PersonTreeVo> list = new ArrayList<>();
list = mapper.getPersonsTree(dto);
@ -201,49 +200,26 @@ public class ConsControlServiceImpl implements IConsControlService {
}
//构建人员树
resultTree = BuildTreeUtil.listInfoToTree(JSONArray.parseArray(JSON.toJSONString(list)), "id", "parentId", "children");
if (CollectionUtils.isNotEmpty(resultTree)) {
for (int i = 0; i < resultTree.size(); i++) {
JSONObject jsonObject = resultTree.getJSONObject(i);
PersonTreeVo personTreeVo = jsonObject.toJavaObject(PersonTreeVo.class);
// 检查第三层是否有子节点
boolean hasChildren = hasChildrenAtLevel(personTreeVo, 2);
if(hasChildren){
dataTree.add(jsonObject);
}
// System.out.println("第四层是否有子节点: " + hasChildren); // 应输出 true因为第二层有节点 4 5
}
}
} catch (Exception e) {
log.error(e.toString(), e);
}
return AjaxResult.success(dataTree);
return AjaxResult.success(resultTree);
}
// 递归方法判断在特定层级下是否包含子节点
public static boolean hasChildrenAtLevel(PersonTreeVo node, int level) {
if (node == null) {
return false;
public PersonTreeVo pruneTree(PersonTreeVo root) {
if (root == null) {
return null;
}
if (level == 0) {
return !node.getChildren().isEmpty();
}
return hasChildrenAtLevelInChildren(node.getChildren(), level - 1);
}
// 递归子节点集合查看在特定层级下是否有子节点
private static boolean hasChildrenAtLevelInChildren(List<PersonTreeVo> nodes, int level) {
for (PersonTreeVo child : nodes) {
if (level == 0) {
if (!child.getChildren().isEmpty()) {
return true;
}
} else {
if (hasChildrenAtLevelInChildren(child.getChildren(), level - 1)) {
return true;
}
List<PersonTreeVo> nonEmptyChildren = new ArrayList<>();
for (PersonTreeVo child : root.getChildren()) {
PersonTreeVo prunedChild = pruneTree(child);
if (prunedChild != null) {
nonEmptyChildren.add(prunedChild);
}
}
return false;
root.setChildren(nonEmptyChildren);
return root.getChildren().isEmpty() ? null : root;
}
@Override

View File

@ -96,8 +96,8 @@ public class TeamMgeServiceImpl implements ITeamMgeService {
}
// 判断班组长是否已经创建班组
List<Integer> isDistributionList = mapper.isDistribution(vo);
// 1. 班组长不变 2. 选了没有分配班组的班组长 3.选了已经分配的班组长
if (isDistributionList.get(0) != 0 || isDistributionList.get(1) > 0 || isDistributionList.get(2) == 0) {
// 1. 班组长不变 2.选了已经分配的班组长
if (isDistributionList.get(0) != 1 || isDistributionList.get(1) > 0) {
return AjaxResult.error("所选班组长已分配班组");
}
// 移除人员时 判断人员是否已经分配手环或者设备

View File

@ -129,7 +129,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!--人员管控-人员树-->
<select id="getPersonsTree" resultType="com.bonus.common.entity.bracelet.vo.PersonTreeVo">
SELECT * FROM (
SELECT tp.id,
SELECT DISTINCT tp.id,
tp.pro_name AS label,
tp.depart_id AS departId,
0 AS parentId,
@ -140,9 +140,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
0 AS devId,
0 AS gtId
FROM tb_project tp
WHERE tp.del_flag = 0
LEFT JOIN tb_sh_box tsb ON tp.id = tsb.pro_id AND tsb.del_flag = 0
LEFT JOIN tb_bracelet tb ON tsb.id = tb.box_id AND tb.del_flag = 0
WHERE tp.del_flag = 0 AND tb.bid_id IS NOT NULL
UNION ALL
SELECT CONCAT('tower','-',tpp.id),
SELECT DISTINCT CONCAT('tower','-',tpp.id),
tpp.power_name AS label,
tp.depart_id AS departId,
tpp.pro_id AS parentId,
@ -154,9 +156,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
0 AS gtId
FROM tb_project_power tpp
LEFT JOIN tb_project tp ON tpp.pro_id = tp.id AND tp.del_flag = 0
WHERE tpp.del_flag = 0
LEFT JOIN tb_sh_box tsb ON tpp.id = tsb.gt_id AND tsb.del_flag = 0
LEFT JOIN tb_bracelet tb ON tsb.id = tb.box_id AND tb.del_flag = 0
WHERE tpp.del_flag = 0 AND tb.bid_id IS NOT NULL
UNION ALL
SELECT CONCAT('team','-',twt.team_id) AS id,
SELECT DISTINCT CONCAT('team','-',twt.team_id) AS id,
twt.team_name AS label,
tp.depart_id AS departId,
CONCAT('tower','-',tsb.gt_id) AS parentId,
@ -167,9 +171,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
0 AS devId,
0 AS gtId
FROM tb_sh_box tsb
LEFT JOIN tb_bracelet tb ON tsb.id = tb.box_id AND tb.del_flag = 0
LEFT JOIN t_work_team twt ON tsb.team_id = twt.team_id AND twt.del_flag = 0
LEFT JOIN tb_project tp ON twt.pro_id = tp.id AND tp.del_flag = 0
WHERE tsb.del_flag = 0 AND tsb.team_id IS NOT NULL
WHERE tsb.del_flag = 0 AND tsb.team_id IS NOT NULL AND tb.bid_id IS NOT NULL
UNION ALL
SELECT tpe.id,
CONCAT(tpe.name,'-',tpe.phone) AS label,

View File

@ -90,7 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
INSTR(tp.pro_name,#{keyWord}) > 0
)
</if>
ORDER BY twt.create_time DESC
ORDER BY twt.team_status,twt.create_time DESC
</select>
<!--获取班组在施和未施人数-->
<select id="getWorkNum" resultType="java.lang.Integer">
@ -193,8 +193,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT COUNT(*) FROM tb_people WHERE id = #{teamLeaderId} AND team_id = #{teamId} AND del_flag = 0
UNION ALL
SELECT COUNT(*) FROM tb_people WHERE id = #{teamLeaderId} AND team_id != #{teamId} AND del_flag = 0 AND team_id IS NOT NULL
UNION ALL
SELECT COUNT(*) FROM tb_people WHERE id = #{teamLeaderId} AND team_id IS NULL
</if>
</select>
<!--班组是否已分配设备-->