施工管控
This commit is contained in:
parent
efaa03952e
commit
13169fc4a9
|
|
@ -59,6 +59,7 @@ public class ConsControlServiceImpl implements IConsControlService {
|
|||
@Override
|
||||
public AjaxResult getBallDeviceLists(BraceletParamsDto dto) {
|
||||
JSONArray resultTree = new JSONArray();
|
||||
JSONArray dataTree = new JSONArray();
|
||||
try {
|
||||
List<BallTreeVo> list = new ArrayList<>();
|
||||
list = mapper.getBallDeviceLists(dto);
|
||||
|
|
@ -74,10 +75,19 @@ 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);
|
||||
JSONArray children = jsonObject.getJSONArray("children");
|
||||
if (CollectionUtils.isNotEmpty(children)) {
|
||||
dataTree.add(jsonObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
}
|
||||
return AjaxResult.success(resultTree);
|
||||
return AjaxResult.success(dataTree);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -172,6 +182,7 @@ 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);
|
||||
|
|
@ -190,10 +201,49 @@ 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(resultTree);
|
||||
return AjaxResult.success(dataTree);
|
||||
}
|
||||
|
||||
// 递归方法判断在特定层级下是否包含子节点
|
||||
public static boolean hasChildrenAtLevel(PersonTreeVo node, int level) {
|
||||
if (node == null) {
|
||||
return false;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -334,16 +384,19 @@ public class ConsControlServiceImpl implements IConsControlService {
|
|||
mapper.delConfig();
|
||||
mapper.delConfigItems();
|
||||
if (Objects.equals(vo.getConfigType(), BusinessConstants.CONFIG_TYPE)) {
|
||||
if (StringUtils.isEmpty(vo.getTime())) {
|
||||
return AjaxResult.error("固定时间不能为空");
|
||||
}
|
||||
// 固定时间验证
|
||||
String[] timeArr = vo.getTime().split(",");
|
||||
if (timeArr.length > 10) {
|
||||
return AjaxResult.error("固定时间验证不能超过十个配置项");
|
||||
}
|
||||
for (String time : timeArr) {
|
||||
if (!TimeValidator.isValidTime(time)) {
|
||||
return AjaxResult.error("时间格式错误(HH:MM)");
|
||||
}
|
||||
}
|
||||
if (timeArr.length > 0) {
|
||||
return AjaxResult.error("固定时间验证不能超过时间配置项");
|
||||
}
|
||||
} else if (Objects.equals(vo.getConfigType(), BusinessConstants.CONFIG_TYPE2)) {
|
||||
// 间隔时间验证
|
||||
if (!TimeValidator.isValidTime2(vo.getTime())) {
|
||||
|
|
|
|||
|
|
@ -58,23 +58,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
tp.create_time AS orderTime
|
||||
FROM tb_project tp
|
||||
WHERE tp.del_flag = 0
|
||||
UNION ALL
|
||||
UNION ALL
|
||||
SELECT
|
||||
tdu.id,
|
||||
td.id,
|
||||
CONCAT(tpe.name,'-',tpe.phone) AS label,
|
||||
td.dev_code AS devCode,
|
||||
IFNULL(td.dev_index,0) AS devIndex,
|
||||
tdu.pro_id AS parentId,
|
||||
tdl.pro_id AS parentId,
|
||||
tp.depart_id AS departId,
|
||||
IFNULL(td.dev_status,0) AS devStatus,
|
||||
tdub.ly_time AS orderTime
|
||||
FROM tb_dev_use tdu
|
||||
LEFT JOIN tb_dev_use_bid tdub ON tdu.id = tdub.id
|
||||
LEFT JOIN tb_project tp ON tp.id = tdu.pro_id AND tp.del_flag = 0
|
||||
LEFT JOIN tb_device td ON tdub.dev_id = td.id AND td.del_flag = 0
|
||||
LEFT JOIN tb_dev_ly tdl ON tdub.dev_id = tdl.dev_id
|
||||
tdl.ly_time AS orderTime
|
||||
FROM tb_device td
|
||||
LEFT JOIN tb_dev_ly tdl ON td.id = tdl.dev_id
|
||||
LEFT JOIN tb_people tpe ON tpe.id = tdl.ly_user AND tpe.del_flag = 0
|
||||
WHERE tdub.dev_type = 'ball' AND tdu.del_flag = 0 AND tdub.gh_time IS NULL
|
||||
LEFT JOIN tb_project tp ON tdl.pro_id = tp.id AND tp.del_flag = 0
|
||||
WHERE td.dev_type = 'ball' AND td.del_flag = 0 AND tdl.ly_user IS NOT NULL
|
||||
) a
|
||||
<where>
|
||||
<if test="roleCode!='administrators' and roleCode!='depart'">
|
||||
|
|
|
|||
Loading…
Reference in New Issue