导入提示修改

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 @Override
public AjaxResult getPersonsTree(BraceletParamsDto dto) { public AjaxResult getPersonsTree(BraceletParamsDto dto) {
JSONArray resultTree = new JSONArray(); JSONArray resultTree = new JSONArray();
JSONArray dataTree = new JSONArray();
try { try {
List<PersonTreeVo> list = new ArrayList<>(); List<PersonTreeVo> list = new ArrayList<>();
list = mapper.getPersonsTree(dto); list = mapper.getPersonsTree(dto);
@ -201,49 +200,26 @@ public class ConsControlServiceImpl implements IConsControlService {
} }
//构建人员树 //构建人员树
resultTree = BuildTreeUtil.listInfoToTree(JSONArray.parseArray(JSON.toJSONString(list)), "id", "parentId", "children"); 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) { } catch (Exception e) {
log.error(e.toString(), e); log.error(e.toString(), e);
} }
return AjaxResult.success(dataTree); return AjaxResult.success(resultTree);
} }
// 递归方法判断在特定层级下是否包含子节点 public PersonTreeVo pruneTree(PersonTreeVo root) {
public static boolean hasChildrenAtLevel(PersonTreeVo node, int level) { if (root == null) {
if (node == null) { return null;
return false;
} }
if (level == 0) { List<PersonTreeVo> nonEmptyChildren = new ArrayList<>();
return !node.getChildren().isEmpty(); for (PersonTreeVo child : root.getChildren()) {
} PersonTreeVo prunedChild = pruneTree(child);
return hasChildrenAtLevelInChildren(node.getChildren(), level - 1); if (prunedChild != null) {
} nonEmptyChildren.add(prunedChild);
// 递归子节点集合查看在特定层级下是否有子节点
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;
}
} }
} }
return false; root.setChildren(nonEmptyChildren);
return root.getChildren().isEmpty() ? null : root;
} }
@Override @Override

View File

@ -96,8 +96,8 @@ public class TeamMgeServiceImpl implements ITeamMgeService {
} }
// 判断班组长是否已经创建班组 // 判断班组长是否已经创建班组
List<Integer> isDistributionList = mapper.isDistribution(vo); List<Integer> isDistributionList = mapper.isDistribution(vo);
// 1. 班组长不变 2. 选了没有分配班组的班组长 3.选了已经分配的班组长 // 1. 班组长不变 2.选了已经分配的班组长
if (isDistributionList.get(0) != 0 || isDistributionList.get(1) > 0 || isDistributionList.get(2) == 0) { if (isDistributionList.get(0) != 1 || isDistributionList.get(1) > 0) {
return AjaxResult.error("所选班组长已分配班组"); 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 id="getPersonsTree" resultType="com.bonus.common.entity.bracelet.vo.PersonTreeVo">
SELECT * FROM ( SELECT * FROM (
SELECT tp.id, SELECT DISTINCT tp.id,
tp.pro_name AS label, tp.pro_name AS label,
tp.depart_id AS departId, tp.depart_id AS departId,
0 AS parentId, 0 AS parentId,
@ -140,9 +140,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
0 AS devId, 0 AS devId,
0 AS gtId 0 AS gtId
FROM tb_project tp 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 UNION ALL
SELECT CONCAT('tower','-',tpp.id), SELECT DISTINCT CONCAT('tower','-',tpp.id),
tpp.power_name AS label, tpp.power_name AS label,
tp.depart_id AS departId, tp.depart_id AS departId,
tpp.pro_id AS parentId, tpp.pro_id AS parentId,
@ -154,9 +156,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
0 AS gtId 0 AS gtId
FROM tb_project_power tpp FROM tb_project_power tpp
LEFT JOIN tb_project tp ON tpp.pro_id = tp.id AND tp.del_flag = 0 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 UNION ALL
SELECT CONCAT('team','-',twt.team_id) AS id, SELECT DISTINCT CONCAT('team','-',twt.team_id) AS id,
twt.team_name AS label, twt.team_name AS label,
tp.depart_id AS departId, tp.depart_id AS departId,
CONCAT('tower','-',tsb.gt_id) AS parentId, CONCAT('tower','-',tsb.gt_id) AS parentId,
@ -167,9 +171,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
0 AS devId, 0 AS devId,
0 AS gtId 0 AS gtId
FROM tb_sh_box tsb 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 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 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 UNION ALL
SELECT tpe.id, SELECT tpe.id,
CONCAT(tpe.name,'-',tpe.phone) AS label, 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 INSTR(tp.pro_name,#{keyWord}) > 0
) )
</if> </if>
ORDER BY twt.create_time DESC ORDER BY twt.team_status,twt.create_time DESC
</select> </select>
<!--获取班组在施和未施人数--> <!--获取班组在施和未施人数-->
<select id="getWorkNum" resultType="java.lang.Integer"> <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 SELECT COUNT(*) FROM tb_people WHERE id = #{teamLeaderId} AND team_id = #{teamId} AND del_flag = 0
UNION ALL UNION ALL
SELECT COUNT(*) FROM tb_people WHERE id = #{teamLeaderId} AND team_id != #{teamId} AND del_flag = 0 AND team_id IS NOT NULL 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> </if>
</select> </select>
<!--班组是否已分配设备--> <!--班组是否已分配设备-->