Commit 6cc22056 authored by chenzhao's avatar chenzhao

修改维保设施各方面bug

parent 6243dd92
......@@ -27,6 +27,8 @@ public class BaseTreeNode {
private List<BaseTreeNode> children;
private String companyId;
public BaseTreeNode() {
}
......@@ -37,7 +39,12 @@ public class BaseTreeNode {
public void setId(String id) {
this.id = id;
}
public void setCompanyId(String companyId) {
this.companyId = companyId;
}
public String getCompanyId() {
return companyId;
}
public String getParentId() {
return parentId;
}
......
......@@ -296,6 +296,60 @@ public class TreeNodeUtil {
}
}
}
/**
* 封装整个树状图数据
*
* @param listNodes 要处理列表集合节点数据
*/
public static <T extends BaseTreeNode> List<T> assembleTreeTs(List<T> listNodes) {
List<T> newTreeNodes = new ArrayList<>();
// 循环赋值最上面的节点数据
// 赋值最上面节点的值
List<T> collect = listNodes.stream()
.filter(t -> StringUtils.isEmpty(t.getParentId()) || "null".equals(t.getParentId()) || "0".equals(t.getParentId()) || "-1".equals(t.getParentId()))
.collect(Collectors.toList());
newTreeNodes.addAll(collect);
// 循环处理子节点数据
for (T t : newTreeNodes) {
//递归
assembleTree2(t, listNodes);
}
return newTreeNodes;
}
static <T extends BaseTreeNode> void assembleTree2(T node, List<T> listNodes) {
if (node != null && !CollectionUtils.isEmpty(listNodes)) {
// 循环节点数据,如果是子节点则添加起来
listNodes.stream().filter(t -> Objects.equals(t.getParentId(), node.getId())).forEachOrdered(node::addChild);
// 循环处理子节点数据,递归
if (!CollectionUtils.isEmpty(node.getChildren())) {
for (Object t : node.getChildren()) {
//递归
//listNodes.remove(t);
assembleTreeSon((T) t, listNodes);
}
}
}
}
static <T extends BaseTreeNode> void assembleTreeSon(T node, List<T> listNodes) {
if (node != null && !CollectionUtils.isEmpty(listNodes)) {
// 循环节点数据,如果是子节点则添加起来
listNodes.stream().filter(t -> t.getParentId().equals(node.getId()) && t.getCompanyId().equals(node.getCompanyId() == null ?node.getParentId():node.getCompanyId() ) ).forEachOrdered(node::addChild);
// 循环处理子节点数据,递归
if (!CollectionUtils.isEmpty(node.getChildren())) {
for (Object t : node.getChildren()) {
//递归
//listNodes.remove(t);
assembleTreeSon((T) t, listNodes);
}
}
}
}
static <T extends BaseTreeNode> void assembleTree_1(T node, List<T> listNodes) {
if (node != null && !CollectionUtils.isEmpty(listNodes)) {
// 循环节点数据,如果是子节点则添加起来
......
......@@ -32,6 +32,8 @@ public interface MaintenanceResourceDataMapper extends BaseMapper<MaintenanceRes
*/
public List<MaintenanceResourceData> selectMaintenanceResourceDataList(MaintenanceResourceData maintenanceResourceData);
public List<MaintenanceResourceData> selectMaintenanceResourceDataListByclassifyId();
/**
* 新增消防设施资源数据
*
......
......@@ -59,6 +59,8 @@ public interface MaintenanceResourceMapper extends BaseMapper<MaintenanceResourc
*/
public int deleteMaintenanceResourceById(Long id);
/**
* 批量删除维保设施资源树
*
......@@ -71,6 +73,8 @@ public interface MaintenanceResourceMapper extends BaseMapper<MaintenanceResourc
List<MaintenanceResourceDto> selectAll();
List<MaintenanceResourceDto> selectAllType();
List<MaintenanceResourceDataVo> findByIds(@Param("list") List<Long> ids);
List<MaintenanceResourceDto> findTreeById(Long id);
......
......@@ -120,11 +120,27 @@ public class MaintenanceResourceServiceImpl extends ServiceImpl<MaintenanceResou
@Override
public List<MaintenanceResourceDto> getMaintenanceResourceTree(String appKey, String product, String token) {
List<MaintenanceResourceDto> list = this.selectAll();
//从维保设施资源表中获取所有资源
List<MaintenanceResourceData> maintenanceResourceData = maintenanceResourceDataMapper.selectMaintenanceResourceDataListByclassifyId();
//获取第三层分类节点
List<MaintenanceResourceDto> maintenanceResourceDtos = this.baseMapper.selectAllType();
List<MaintenanceResourceDto> list = new ArrayList<>();
maintenanceResourceData.stream().forEach(e-> {
MaintenanceResourceDto e1 = new MaintenanceResourceDto();
e1.setId(e.getClassifyId().toString());
e1.setName(e.getClassifyName());
e1.setCompanyId(e.getMaintenanceCompanyId().toString());
e1.setType(MaintenanceResourceEnum.CLASSIFY.getValue());
e1.setParentId(e.getFireFightSysId().toString());
e1.setCode(e.getClassifyCode());
list.add(e1);
});
// List<MaintenanceResourceDto> list = this.selectAll();
if (!CollectionUtils.isEmpty(list)) {
//获取维保单位和业主单位
List<MaintenanceResourceDto> companyTree = getCompanyList(appKey, product, token);
if (!CollectionUtils.isEmpty(companyTree)) {
List<MaintenanceResourceDto> result = new ArrayList<>();
/* List<MaintenanceResourceDto> result = new ArrayList<>();
result.addAll(list);
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < companyTree.size(); j++) {
......@@ -132,9 +148,8 @@ public class MaintenanceResourceServiceImpl extends ServiceImpl<MaintenanceResou
result.remove(list.get(i));
}
}
}
result.addAll(companyTree);
}*/
/* result.addAll(companyTree);
result.forEach(e->{if (e.getContractId() == null){
e.setContractId(QRCodeUtil.generateQRCode());
}
......@@ -145,9 +160,11 @@ public class MaintenanceResourceServiceImpl extends ServiceImpl<MaintenanceResou
entry.getValue().ifPresent(v -> {
dataList.add(v);
});
});
return TreeNodeUtil.assembleTree(dataList);
});*/
list.addAll(companyTree);
list.addAll(maintenanceResourceDtos);
//避免造成其他代码bug,替换新的组装树
return TreeNodeUtil.assembleTreeTs(list);
}
return TreeNodeUtil.assembleTree(list);
} else {
......
......@@ -32,6 +32,36 @@
select id, maintenance_company_id, maintenance_company_code, maintenance_company_name, owner_unit_id, owner_unit_code, owner_unit_name, fire_fight_sys_id, fire_fight_sys_code, fire_fight_sys_name, classify_id, classify_code, classify_name, classify_type, fire_facility_id, fire_facility_code, fire_facility_name, fire_facility_type, maintenance_expiration_time, maintenance_time, maintenance_cycle, create_date from mt_maintenance_resource_data
</sql>
<select id="selectMaintenanceResourceDataListByclassifyId" parameterType="com.yeejoin.equipmanage.common.entity.MaintenanceResourceData"
resultMap="MaintenanceResourceDataResult">
SELECT
id,
maintenance_company_id,
maintenance_company_code,
maintenance_company_name,
owner_unit_id,
owner_unit_code,
owner_unit_name,
fire_fight_sys_id,
fire_fight_sys_code,
fire_fight_sys_name,
classify_id,
classify_code,
classify_name,
classify_type,
fire_facility_id,
fire_facility_code,
fire_facility_name,
fire_facility_type,
maintenance_expiration_time,
maintenance_time,
maintenance_cycle,
create_date
FROM
mt_maintenance_resource_data
GROUP BY classify_id
</select>
<select id="selectMaintenanceResourceDataList"
parameterType="com.yeejoin.equipmanage.common.entity.MaintenanceResourceData"
resultMap="MaintenanceResourceDataResult">
......
......@@ -124,6 +124,23 @@
`mt_maintenance_resource` m
]]>
</select>
<select id="selectAllType" resultType="com.yeejoin.equipmanage.common.dto.MaintenanceResourceDto">
<![CDATA[
SELECT
maintenance_company_id as companyId,
fire_fight_sys_id AS id,
fire_fight_sys_name name ,
owner_unit_id as parentId,
IFNULL(classify_type,3)
FROM
`mt_maintenance_resource_data`
GROUP BY
owner_unit_id,
maintenance_company_id,
fire_fight_sys_id
]]>
</select>
<select id="findTreeById" resultType="com.yeejoin.equipmanage.common.dto.MaintenanceResourceDto">
<![CDATA[
SELECT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment