diff --git a/ruoyi-module/src/main/java/com/ruoyi/base/controller/BaseCabinetInfoController.java b/ruoyi-module/src/main/java/com/ruoyi/base/controller/BaseCabinetInfoController.java index ae13178..d0de36b 100644 --- a/ruoyi-module/src/main/java/com/ruoyi/base/controller/BaseCabinetInfoController.java +++ b/ruoyi-module/src/main/java/com/ruoyi/base/controller/BaseCabinetInfoController.java @@ -2,6 +2,8 @@ package com.ruoyi.base.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.base.domain.baseCabinetInfoTreeSelects; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -23,7 +25,7 @@ import com.ruoyi.common.core.page.TableDataInfo; /** * 电柜信息Controller - * + * * @author ruoyi * @date 2024-10-31 */ @@ -101,4 +103,13 @@ public class BaseCabinetInfoController extends BaseController { return toAjax(baseCabinetInfoService.deleteBaseCabinetInfoByObjIds(objIds)); } + + /** + * 查询计量设备信息下拉树结构 + * */ + @PostMapping("/getBaseCabinetInfoTree") + public AjaxResult getBaseCabinetInfoTree(@RequestBody BaseCabinetInfo baseCabinetInfo) { + List list = baseCabinetInfoService.selectCabinetInfoTreeList(baseCabinetInfo); + return success(list); + } } diff --git a/ruoyi-module/src/main/java/com/ruoyi/base/domain/BaseBusbarInfo.java b/ruoyi-module/src/main/java/com/ruoyi/base/domain/BaseBusbarInfo.java index 678ed32..5d30d0d 100644 --- a/ruoyi-module/src/main/java/com/ruoyi/base/domain/BaseBusbarInfo.java +++ b/ruoyi-module/src/main/java/com/ruoyi/base/domain/BaseBusbarInfo.java @@ -1,7 +1,10 @@ package com.ruoyi.base.domain; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -10,7 +13,7 @@ import com.ruoyi.common.core.domain.BaseEntity; /** * 母排信息对象 base_busbar_info - * + * * @author zangch * @date 2024-10-31 */ @@ -72,124 +75,147 @@ public class BaseBusbarInfo extends BaseEntity @Excel(name = "是否拍照:1-是;0-否") private Long isPictures; - public void setObjId(Long objId) + /** 电柜别名 */ + @Excel(name = "电柜别名") + private String cabinetAlias; + + private List children = new ArrayList(); + + public void setObjId(Long objId) { this.objId = objId; } - public Long getObjId() + public Long getObjId() { return objId; } - public void setBusbarCode(Long busbarCode) + public void setBusbarCode(Long busbarCode) { this.busbarCode = busbarCode; } - public Long getBusbarCode() + public Long getBusbarCode() { return busbarCode; } - public void setBusbarAlias(String busbarAlias) + public void setBusbarAlias(String busbarAlias) { this.busbarAlias = busbarAlias; } - public String getBusbarAlias() + public String getBusbarAlias() { return busbarAlias; } - public void setCabinetCode(Long cabinetCode) + public void setCabinetCode(Long cabinetCode) { this.cabinetCode = cabinetCode; } - public Long getCabinetCode() + public Long getCabinetCode() { return cabinetCode; } - public void setBusbarDist(BigDecimal busbarDist) + public void setBusbarDist(BigDecimal busbarDist) { this.busbarDist = busbarDist; } - public BigDecimal getBusbarDist() + public BigDecimal getBusbarDist() { return busbarDist; } - public void setIsChecked(Long isChecked) + public void setIsChecked(Long isChecked) { this.isChecked = isChecked; } - public Long getIsChecked() + public Long getIsChecked() { return isChecked; } - public void setIsEnd(Long isEnd) + public void setIsEnd(Long isEnd) { this.isEnd = isEnd; } - public Long getIsEnd() + public Long getIsEnd() { return isEnd; } - public void setIsFlag(Long isFlag) + public void setIsFlag(Long isFlag) { this.isFlag = isFlag; } - public Long getIsFlag() + public Long getIsFlag() { return isFlag; } - public void setCreatedBy(String createdBy) + public void setCreatedBy(String createdBy) { this.createdBy = createdBy; } - public String getCreatedBy() + public String getCreatedBy() { return createdBy; } - public void setCreatedTime(Date createdTime) + public void setCreatedTime(Date createdTime) { this.createdTime = createdTime; } - public Date getCreatedTime() + public Date getCreatedTime() { return createdTime; } - public void setUpdatedBy(String updatedBy) + public void setUpdatedBy(String updatedBy) { this.updatedBy = updatedBy; } - public String getUpdatedBy() + public String getUpdatedBy() { return updatedBy; } - public void setUpdatedTime(Date updatedTime) + public void setUpdatedTime(Date updatedTime) { this.updatedTime = updatedTime; } - public Date getUpdatedTime() + public Date getUpdatedTime() { return updatedTime; } - public void setIsPictures(Long isPictures) + public void setIsPictures(Long isPictures) { this.isPictures = isPictures; } - public Long getIsPictures() + public Long getIsPictures() { return isPictures; } + public String getCabinetAlias() { + return cabinetAlias; + } + + public void setCabinetAlias(String cabinetAlias) { + this.cabinetAlias = cabinetAlias; + } + + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -207,6 +233,7 @@ public class BaseBusbarInfo extends BaseEntity .append("updatedBy", getUpdatedBy()) .append("updatedTime", getUpdatedTime()) .append("isPictures", getIsPictures()) + .append("cabinetAlias", getCabinetAlias()) .toString(); } } diff --git a/ruoyi-module/src/main/java/com/ruoyi/base/domain/BaseCabinetInfo.java b/ruoyi-module/src/main/java/com/ruoyi/base/domain/BaseCabinetInfo.java index 108b14f..67c69d3 100644 --- a/ruoyi-module/src/main/java/com/ruoyi/base/domain/BaseCabinetInfo.java +++ b/ruoyi-module/src/main/java/com/ruoyi/base/domain/BaseCabinetInfo.java @@ -1,7 +1,10 @@ package com.ruoyi.base.domain; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -10,7 +13,7 @@ import com.ruoyi.common.core.domain.BaseEntity; /** * 电柜信息对象 base_cabinet_info - * + * * @author ruoyi * @date 2024-10-31 */ @@ -63,107 +66,118 @@ public class BaseCabinetInfo extends BaseEntity /** 旋转角度 */ @Excel(name = "旋转角度") private BigDecimal rotateAngle; +/* + public List children = new ArrayList();*/ - public void setObjId(Long objId) + public void setObjId(Long objId) { this.objId = objId; } - public Long getObjId() + public Long getObjId() { return objId; } - public void setCabinetCode(Long cabinetCode) + public void setCabinetCode(Long cabinetCode) { this.cabinetCode = cabinetCode; } - public Long getCabinetCode() + public Long getCabinetCode() { return cabinetCode; } - public void setCabinetAlias(String cabinetAlias) + public void setCabinetAlias(String cabinetAlias) { this.cabinetAlias = cabinetAlias; } - public String getCabinetAlias() + public String getCabinetAlias() { return cabinetAlias; } - public void setIsChecked(Long isChecked) + public void setIsChecked(Long isChecked) { this.isChecked = isChecked; } - public Long getIsChecked() + public Long getIsChecked() { return isChecked; } - public void setIsFlag(Long isFlag) + public void setIsFlag(Long isFlag) { this.isFlag = isFlag; } - public Long getIsFlag() + public Long getIsFlag() { return isFlag; } - public void setCreatedBy(String createdBy) + public void setCreatedBy(String createdBy) { this.createdBy = createdBy; } - public String getCreatedBy() + public String getCreatedBy() { return createdBy; } - public void setCreatedTime(Date createdTime) + public void setCreatedTime(Date createdTime) { this.createdTime = createdTime; } - public Date getCreatedTime() + public Date getCreatedTime() { return createdTime; } - public void setUpdatedBy(String updatedBy) + public void setUpdatedBy(String updatedBy) { this.updatedBy = updatedBy; } - public String getUpdatedBy() + public String getUpdatedBy() { return updatedBy; } - public void setUpdatedTime(Date updatedTime) + public void setUpdatedTime(Date updatedTime) { this.updatedTime = updatedTime; } - public Date getUpdatedTime() + public Date getUpdatedTime() { return updatedTime; } - public void setIsRotate(Long isRotate) + public void setIsRotate(Long isRotate) { this.isRotate = isRotate; } - public Long getIsRotate() + public Long getIsRotate() { return isRotate; } - public void setRotateAngle(BigDecimal rotateAngle) + public void setRotateAngle(BigDecimal rotateAngle) { this.rotateAngle = rotateAngle; } - public BigDecimal getRotateAngle() + public BigDecimal getRotateAngle() { return rotateAngle; } +/* + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + }*/ + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-module/src/main/java/com/ruoyi/base/domain/baseCabinetInfoTreeSelects.java b/ruoyi-module/src/main/java/com/ruoyi/base/domain/baseCabinetInfoTreeSelects.java new file mode 100644 index 0000000..695e7c3 --- /dev/null +++ b/ruoyi-module/src/main/java/com/ruoyi/base/domain/baseCabinetInfoTreeSelects.java @@ -0,0 +1,104 @@ +package com.ruoyi.base.domain; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysMenu; + +import java.io.Serializable; +import java.util.List; +import java.util.stream.Collectors; + +/** + * baseCabinetInfoTreeSelects + * + * @author zangch + */ +public class baseCabinetInfoTreeSelects implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 节点ID */ + private Long id; + + /** 节点名称 */ + private String label; + + private String code; + + /** 子节点 */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List children; + + public baseCabinetInfoTreeSelects() + { + + } + + public baseCabinetInfoTreeSelects(SysDept dept) + { + this.id = dept.getDeptId(); + this.label = dept.getDeptName(); + + } + + public baseCabinetInfoTreeSelects(BaseCabinetInfo baseCabinetInfo){ + this.id = baseCabinetInfo.getObjId(); + this.label = baseCabinetInfo.getCabinetAlias(); + this.code = baseCabinetInfo.getCabinetCode().toString(); + + } + + + public baseCabinetInfoTreeSelects(BaseBusbarInfo baseBusbarInfo) { + this.id = baseBusbarInfo.getObjId(); + this.label = baseBusbarInfo.getBusbarAlias(); + this.code = baseBusbarInfo.getBusbarCode().toString(); + + } + + public baseCabinetInfoTreeSelects(SysMenu menu) + { + this.id = menu.getMenuId(); + this.label = menu.getMenuName(); + + } + + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public Long getId() + { + return id; + } + + public void setId(Long id) + { + this.id = id; + } + + public String getLabel() + { + return label; + } + + public void setLabel(String label) + { + this.label = label; + } + + public List getChildren() + { + return children; + } + + public void setChildren(List children) + { + this.children = children; + } +} diff --git a/ruoyi-module/src/main/java/com/ruoyi/base/service/IBaseCabinetInfoService.java b/ruoyi-module/src/main/java/com/ruoyi/base/service/IBaseCabinetInfoService.java index 4928fc4..6723c51 100644 --- a/ruoyi-module/src/main/java/com/ruoyi/base/service/IBaseCabinetInfoService.java +++ b/ruoyi-module/src/main/java/com/ruoyi/base/service/IBaseCabinetInfoService.java @@ -3,17 +3,19 @@ package com.ruoyi.base.service; import java.util.List; import com.ruoyi.base.domain.BaseCabinetInfo; +import com.ruoyi.base.domain.baseCabinetInfoTreeSelects; + /** * 电柜信息Service接口 - * + * * @author ruoyi * @date 2024-10-31 */ -public interface IBaseCabinetInfoService +public interface IBaseCabinetInfoService { /** * 查询电柜信息 - * + * * @param objId 电柜信息主键 * @return 电柜信息 */ @@ -21,7 +23,7 @@ public interface IBaseCabinetInfoService /** * 查询电柜信息列表 - * + * * @param baseCabinetInfo 电柜信息 * @return 电柜信息集合 */ @@ -29,7 +31,7 @@ public interface IBaseCabinetInfoService /** * 新增电柜信息 - * + * * @param baseCabinetInfo 电柜信息 * @return 结果 */ @@ -37,7 +39,7 @@ public interface IBaseCabinetInfoService /** * 修改电柜信息 - * + * * @param baseCabinetInfo 电柜信息 * @return 结果 */ @@ -45,7 +47,7 @@ public interface IBaseCabinetInfoService /** * 批量删除电柜信息 - * + * * @param objIds 需要删除的电柜信息主键集合 * @return 结果 */ @@ -53,9 +55,16 @@ public interface IBaseCabinetInfoService /** * 删除电柜信息信息 - * + * * @param objId 电柜信息主键 * @return 结果 */ public int deleteBaseCabinetInfoByObjId(Long objId); + + /** + * 查询电柜信息树列表 + * + * @return 所有电柜信息信息 + */ + List selectCabinetInfoTreeList(BaseCabinetInfo baseCabinetInfo); } diff --git a/ruoyi-module/src/main/java/com/ruoyi/base/service/impl/BaseCabinetInfoServiceImpl.java b/ruoyi-module/src/main/java/com/ruoyi/base/service/impl/BaseCabinetInfoServiceImpl.java index a31f23a..7abeb1f 100644 --- a/ruoyi-module/src/main/java/com/ruoyi/base/service/impl/BaseCabinetInfoServiceImpl.java +++ b/ruoyi-module/src/main/java/com/ruoyi/base/service/impl/BaseCabinetInfoServiceImpl.java @@ -1,6 +1,12 @@ package com.ruoyi.base.service.impl; +import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import java.util.stream.Collectors; + +import com.ruoyi.base.domain.baseCabinetInfoTreeSelects; +import com.ruoyi.common.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.base.mapper.BaseCabinetInfoMapper; @@ -9,19 +15,19 @@ import com.ruoyi.base.service.IBaseCabinetInfoService; /** * 电柜信息Service业务层处理 - * + * * @author ruoyi * @date 2024-10-31 */ @Service -public class BaseCabinetInfoServiceImpl implements IBaseCabinetInfoService +public class BaseCabinetInfoServiceImpl implements IBaseCabinetInfoService { @Autowired private BaseCabinetInfoMapper baseCabinetInfoMapper; /** * 查询电柜信息 - * + * * @param objId 电柜信息主键 * @return 电柜信息 */ @@ -33,7 +39,7 @@ public class BaseCabinetInfoServiceImpl implements IBaseCabinetInfoService /** * 查询电柜信息列表 - * + * * @param baseCabinetInfo 电柜信息 * @return 电柜信息 */ @@ -45,7 +51,7 @@ public class BaseCabinetInfoServiceImpl implements IBaseCabinetInfoService /** * 新增电柜信息 - * + * * @param baseCabinetInfo 电柜信息 * @return 结果 */ @@ -65,7 +71,7 @@ public class BaseCabinetInfoServiceImpl implements IBaseCabinetInfoService /** * 修改电柜信息 - * + * * @param baseCabinetInfo 电柜信息 * @return 结果 */ @@ -85,7 +91,7 @@ public class BaseCabinetInfoServiceImpl implements IBaseCabinetInfoService /** * 批量删除电柜信息 - * + * * @param objIds 需要删除的电柜信息主键 * @return 结果 */ @@ -97,7 +103,7 @@ public class BaseCabinetInfoServiceImpl implements IBaseCabinetInfoService /** * 删除电柜信息信息 - * + * * @param objId 电柜信息主键 * @return 结果 */ @@ -106,4 +112,109 @@ public class BaseCabinetInfoServiceImpl implements IBaseCabinetInfoService { return baseCabinetInfoMapper.deleteBaseCabinetInfoByObjId(objId); } + + /** + * 查询电柜信息树列表 + * + * @return 所有电柜信息信息 + */ + public List selectCabinetInfoTreeList(BaseCabinetInfo baseCabinetInfo){ + List baseCabinetInfos = baseCabinetInfoMapper.selectBaseCabinetInfoList(baseCabinetInfo); + return baseCabinetInfos.stream().map(baseCabinetInfoTreeSelects::new).collect(Collectors.toList()); + } + +/* + */ +/** + * 构建前端所需要下拉树结构 + * + * @param + * @return 下拉树结构列表 + *//* + + @Override + public List buildCabinetInfoTreeSelect(List baseCabinetInfos) + { + List deptTrees = buildCabinetInfoTree(baseCabinetInfos); + return deptTrees.stream().map(TreeSelects::new).collect(Collectors.toList()); + } + + */ +/** + * 构建前端所需要树结构 + * + * @param + * @return 树结构列表 + *//* + + @Override + public List buildMonitorInfoTree(List baseCabinetInfos) + { + List returnList = new ArrayList(); + List tempList = baseCabinetInfos.stream().map(BaseCabinetInfo::getObjId).collect(Collectors.toList()); + for (BaseCabinetInfo baseMonitorInfo : baseCabinetInfos) + { + // 如果是顶级节点, 遍历该父节点的所有子节点 + if (!tempList.contains(baseMonitorInfo.getParentId())) + { + recursionFn(baseCabinetInfos, baseMonitorInfo); + returnList.add(baseMonitorInfo); + } + } + if (returnList.isEmpty()) + { + returnList = baseCabinetInfos; + } + return returnList; + } + + */ +/** + * 递归列表 + *//* + + private void recursionFn(List list, BaseCabinetInfo t) + { + // 得到子节点列表 + List childList = getChildList(list, t); + t.setChildren(childList); + for (BaseCabinetInfo tChild : childList) + { + if (hasChild(list, tChild)) + { + recursionFn(list, tChild); + } + } + } + */ +/** + * 得到子节点列表 + *//* + + private List getChildList(List list, BaseCabinetInfo t) + { + List tlist = new ArrayList(); + Iterator it = list.iterator(); + while (it.hasNext()) + { + BaseCabinetInfo n = (BaseCabinetInfo) it.next(); + if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getObjId().longValue()) + { + tlist.add(n); + } + } + return tlist; + } + + */ +/** + * 判断是否有子节点 + *//* + + private boolean hasChild(List list, BaseCabinetInfo t) + { + return getChildList(list, t).size() > 0; + } +*/ + } diff --git a/ruoyi-module/src/main/resources/mapper/base/BaseBusbarInfoMapper.xml b/ruoyi-module/src/main/resources/mapper/base/BaseBusbarInfoMapper.xml index 5980b9a..4ef7477 100644 --- a/ruoyi-module/src/main/resources/mapper/base/BaseBusbarInfoMapper.xml +++ b/ruoyi-module/src/main/resources/mapper/base/BaseBusbarInfoMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -19,35 +19,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - select obj_id, busbar_code, busbar_alias, cabinet_code, busbar_dist, is_checked, is_end, is_flag, remark, created_by, created_time, updated_by, updated_time, is_pictures from base_busbar_info + select bbi.obj_id, + bbi.busbar_code, + bbi.busbar_alias, + bbi.cabinet_code, + bbi.busbar_dist, + bbi.is_checked, is_end, + bbi.is_flag, + bbi.remark, + bbi.created_by, + bbi.created_time, + bbi.updated_by, + bbi.updated_time, + bbi.is_pictures , + bci.cabinet_alias + from base_busbar_info bbi + LEFT JOIN base_cabinet_info bci on bci.cabinet_code = bbi.cabinet_code - + @@ -109,9 +127,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from base_busbar_info where obj_id in + delete from base_busbar_info where obj_id in #{objId} - \ No newline at end of file + diff --git a/ruoyi-module/src/main/resources/mapper/base/BaseCabinetInfoMapper.xml b/ruoyi-module/src/main/resources/mapper/base/BaseCabinetInfoMapper.xml index ab432f5..a74837c 100644 --- a/ruoyi-module/src/main/resources/mapper/base/BaseCabinetInfoMapper.xml +++ b/ruoyi-module/src/main/resources/mapper/base/BaseCabinetInfoMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -20,30 +20,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select obj_id, cabinet_code, cabinet_alias, is_checked, is_flag, remark, created_by, created_time, updated_by, updated_time, is_rotate, rotate_angle from base_cabinet_info + select bci.obj_id, + bci.cabinet_code, + bci.cabinet_alias, + bci.is_checked, + bci.is_flag, + bci.remark, + bci.created_by, + bci.created_time, + bci.updated_by, + bci.updated_time, + bci.is_rotate, + bci.rotate_angle + from base_cabinet_info bci + LEFT JOIN base_busbar_info bbi on bci.cabinet_code = bbi.cabinet_code - + @@ -99,9 +112,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from base_cabinet_info where obj_id in + delete from base_cabinet_info where obj_id in #{objId} - \ No newline at end of file + diff --git a/ruoyi-ui/src/api/base/baseCabinetInfo.js b/ruoyi-ui/src/api/base/baseCabinetInfo.js index 43676b3..589f386 100644 --- a/ruoyi-ui/src/api/base/baseCabinetInfo.js +++ b/ruoyi-ui/src/api/base/baseCabinetInfo.js @@ -42,3 +42,12 @@ export function delBaseCabinetInfo(objId) { method: 'delete' }) } + +// 查询计量设备信息下拉树结构 +export function getBaseCabinetInfoTree(data) { + return request({ + url: '/base/baseCabinetInfo/getBaseCabinetInfoTree', + method: 'post', + data: data + }) +} diff --git a/ruoyi-ui/src/views/base/baseBusbarInfo/index.vue b/ruoyi-ui/src/views/base/baseBusbarInfo/index.vue index 4624876..67e57a2 100644 --- a/ruoyi-ui/src/views/base/baseBusbarInfo/index.vue +++ b/ruoyi-ui/src/views/base/baseBusbarInfo/index.vue @@ -1,5 +1,36 @@