Merge branch 'dev-nx' of http://192.168.0.56:3000/bonus/devicesmgt into dev-nx

This commit is contained in:
BianLzhaoMin 2024-10-30 16:44:39 +08:00
commit ce18ed9941
22 changed files with 1195 additions and 22 deletions

View File

@ -0,0 +1,126 @@
package com.bonus.sgzb.material.controller;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.material.domain.SelectDto;
import com.bonus.sgzb.material.service.SelectService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author 10488
* 统一下拉选
*/
@RestController
@RequestMapping("/select/")
public class SelectController {
@Resource(name = "SelectService")
private SelectService service;
@ApiOperation(value = "往来单位下拉选")
@PostMapping("getUnitCbx")
public AjaxResult getUnitData(@RequestBody SelectDto dto) {
return service.getUnitData(dto);
}
@ApiOperation(value = "工程下拉选")
@PostMapping("getSectionEngineeringCbx")
public AjaxResult getProData(@RequestBody SelectDto dto) {
return service.getProData(dto);
}
@ApiOperation(value = "机具类型下拉选")
@PostMapping("getMaTypeData")
public AjaxResult getMaTypeData(@RequestBody SelectDto dto){
return service.getMaTypeData(dto);
}
@ApiOperation(value = "数据字典下拉选")
@PostMapping("getDictByPidCbx")
public AjaxResult getDictByPidCbx(@RequestBody SelectDto dto){
return service.getDictByPidCbx(dto);
}
@ApiOperation(value = "单位树/归属部门/所属上级")
@PostMapping("getDeptTree")
public AjaxResult getDeptTree(@RequestBody SelectDto dto){
return service.getDeptTree(dto);
}
@ApiOperation(value = "岗位下拉选")
@PostMapping("getPostCbx")
public AjaxResult getPostCbx(@RequestBody SelectDto dto){
return service.getPostCbx(dto);
}
@ApiOperation(value = "角色下拉选")
@PostMapping("getRoleCbx")
public AjaxResult getRoleCbx(@RequestBody SelectDto dto){
return service.getRoleCbx(dto);
}
@ApiOperation(value = "单位类型下拉选")
@PostMapping("getUnitTypeCbx")
public AjaxResult getUnitTypeCbx(@RequestBody SelectDto dto){
return service.getUnitTypeCbx(dto);
}
@ApiOperation(value = "设备类型树")
@PostMapping("getDeviceTypeTree")
public AjaxResult getDeviceTypeTree(@RequestBody SelectDto dto){
return service.getDeviceTypeTree(dto);
}
@ApiOperation(value = "资产属性")
@PostMapping("getAssetAttributesCbx")
public AjaxResult getAssetAttributesCbx(@RequestBody SelectDto dto){
return service.getAssetAttributesCbx(dto);
}
@ApiOperation(value = "机具厂家")
@PostMapping("getDeviceFactoryCbx")
public AjaxResult getDeviceFactoryCbx(@RequestBody SelectDto dto){
return service.getDeviceFactoryCbx(dto);
}
@ApiOperation(value = "工程项目")
@PostMapping("getProCbx")
public AjaxResult getProCbx(@RequestBody SelectDto dto){
return service.getProCbx(dto);
}
@ApiOperation(value = "配件所属上级树")
@PostMapping("getAccessoryTree")
public AjaxResult getAccessoryTree(){
return service.getAccessoryTree();
}
@ApiOperation(value = "配件所属上级树")
@PostMapping("getPartTree")
public AjaxResult getPartTree(@RequestBody SelectDto dto){
return service.getPartTree(dto);
}
@ApiOperation(value = "货架")
@PostMapping("getGoodsShelvesCbx")
public AjaxResult getGoodsShelvesCbx(@RequestBody SelectDto dto){
return service.getGoodsShelvesCbx(dto);
}
@ApiOperation(value = "用户/维修员/库管员/采购员")
@PostMapping("getUserByRoleIdCbx")
public AjaxResult getUserByRoleIdCbx(@RequestBody SelectDto dto){
return service.getUserByRoleIdCbx(dto);
}
@ApiOperation(value = "往来单位id和标段工程id获取协议信息")
@PostMapping("getAgreementInfoById")
public AjaxResult getAgreementInfoById(@RequestBody SelectDto dto){
return service.getAgreementInfoById(dto);
}
}

View File

@ -0,0 +1,17 @@
package com.bonus.sgzb.material.domain;
import lombok.Data;
/**
* @author 10488
* 协议信息
*/
@Data
public class AgreementVo {
/** 协议ID*/
private Integer agreementId;
/** 协议编号*/
private String agreementCode;
}

View File

@ -0,0 +1,32 @@
package com.bonus.sgzb.material.domain;
import lombok.Data;
/**
* @author 10488
*/
@Data
public class SelectDto {
/** 参数id*/
private String id;
/** 2.物品种类 3.设备类型 4.规格型号*/
private String type;
/** 字典表 父类值*/
private String parentValue;
/** 层级*/
private String level;
/** 角色权限字符串*/
private String roleKey;
/** 往来单位id*/
private int unitId;
/** 标段工程id*/
private int projectId;
}

View File

@ -0,0 +1,16 @@
package com.bonus.sgzb.material.domain;
import lombok.Data;
/**
* @author 10488
*/
@Data
public class SelectVo {
/** id*/
private long id;
/** 名称*/
private String name;
}

View File

@ -0,0 +1,41 @@
package com.bonus.sgzb.material.domain;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author 10488
* 下拉树-实体类
*/
@Data
public class TreeNode {
private long id;
private String label;
private long parentId;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String level;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String unitName;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String companyId;
private String code;
private float num;
private String modelCode;
private String manageType;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<TreeNode> children = new ArrayList<>();
}

View File

@ -0,0 +1,193 @@
package com.bonus.sgzb.material.mapper;
import com.bonus.sgzb.material.domain.AgreementVo;
import com.bonus.sgzb.material.domain.SelectDto;
import com.bonus.sgzb.material.domain.SelectVo;
import com.bonus.sgzb.material.domain.TreeNode;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author 10488
* 统一下拉选
*/
@Repository("SelectMapper")
public interface SelectMapper {
/**
* 往来单位下拉选
* @param dto
* @return List<SelectVo>
* @description 往来单位
* @author cwchen
* @date 2023/12/20 14:23
*/
List<SelectVo> getUnitData(SelectDto dto);
/**
* 工程下拉选
* @param dto
* @return List<SelectVo>
* @description 工程
* @author cwchen
* @date 2023/12/20 15:05
*/
List<SelectVo> getProData(SelectDto dto);
/**
* 机具类型下拉选
* @param dto
* @return List<SelectVo>
* @description 机具类型
* @author cwchen
* @date 2023/12/20 16:02
*/
List<SelectVo> getMaTypeData(SelectDto dto);
/**
* 数据字典下拉选
* @param dto
* @return List<SelectVo>
* @description 数据字典下拉选
* @author cwchen
* @date 2023/12/20 16:23
*/
List<SelectVo> getDictByPidCbx(SelectDto dto);
/**
* 单位树/归属部门/所属上级
* @param dto
* @return List<TreeVo>
* @description 单位树/归属部门/所属上级
* @author cwchen
* @date 2023/12/20 17:10
*/
List<TreeNode> getDeptTree(SelectDto dto);
/**
* 岗位下拉选
* @param dto
* @return List<SelectVo>
* @description 岗位下拉选
* @author cwchen
* @date 2023/12/20 17:50
*/
List<SelectVo> getPostCbx(SelectDto dto);
/**
* 角色下拉选
* @param dto
* @return List<SelectVo>
* @description 角色下拉选
* @author cwchen
* @date 2023/12/20 17:56
*/
List<SelectVo> getRoleCbx(SelectDto dto);
/**
* 单位类型下拉选
* @param dto
* @return List<SelectVo>
* @description 单位类型下拉选
* @author cwchen
* @date 2023/12/20 18:01
*/
List<SelectVo> getUnitTypeCbx(SelectDto dto);
/**
* 设备类型树
* @param dto
* @return List<TreeNode>
* @description 设备类型树
* @author cwchen
* @date 2023/12/20 18:15
*/
List<TreeNode> getDeviceTypeTree(SelectDto dto);
/**
* 资产属性
* @param dto
* @return List<SelectVo>
* @description 资产属性
* @author cwchen
* @date 2023/12/20 19:48
*/
List<SelectVo> getAssetAttributesCbx(SelectDto dto);
/**
* 机具厂家
* @param dto
* @return List<SelectVo>
* @description 机具厂家
* @author cwchen
* @date 2023/12/20 19:57
*/
List<SelectVo> getDeviceFactoryCbx(SelectDto dto);
/**
* 工程项目
* @param dto
* @return List<SelectVo>
* @description 工程项目
* @author cwchen
* @date 2023/12/20 20:01
*/
List<SelectVo> getProCbx(SelectDto dto);
/**
* 配件所属上级树
* @param
* @return List<TreeNode>
* @description 配件所属上级树
* @author cwchen
* @date 2023/12/20 20:26
*/
List<TreeNode> getAccessoryTree();
/**
* 货架
* @param dto
* @return List<TreeNode>
* @description 货架
* @author cwchen
* @date 2023/12/20 20:36
*/
List<TreeNode> getGoodsShelvesCbx(SelectDto dto);
/**
* 用户/维修员/库管员/采购员-下拉选
* @param dto
* @return List<SelectVo>
* @description 用户/维修员/库管员/采购员-下拉选
* @author cwchen
* @date 2023/12/20 20:54
*/
List<SelectVo> getUserByRoleIdCbxSelect(SelectDto dto);
/**
* 用户/维修员/库管员/采购员-
* @param dto
* @return List<TreeNode>
* @description 用户/维修员/库管员/采购员-
* @author cwchen
* @date 2023/12/20 21:02
*/
List<TreeNode> getUserByRoleIdCbxTree(SelectDto dto);
/**
* 往来单位id和标段工程id获取协议信息
* @param dto
* @return AgreementVo
* @description 往来单位id和标段工程id获取协议信息
* @author cwchen
* @date 2023/12/21 10:53
*/
List<AgreementVo> getAgreementInfoById(SelectDto dto);
/**
* 配件所属上级树
* @param dto
* @return List<TreeNode>
*/
List<TreeNode> getPartTree(SelectDto dto);
}

View File

@ -0,0 +1,178 @@
package com.bonus.sgzb.material.service;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.material.domain.SelectDto;
/**
* @author 10488
* 统一下拉选
*/
public interface SelectService {
/**
* 往来单位
* @param dto
* @return AjaxResult
* @description 往来单位
* @author cwchen
* @date 2023/12/20 14:20
*/
AjaxResult getUnitData(SelectDto dto);
/**
* 工程
* @param dto
* @return AjaxResult
* @description 工程
* @author cwchen
* @date 2023/12/20 15:04
*/
AjaxResult getProData(SelectDto dto);
/**
* 机具类型
* @param dto
* @return AjaxResult
* @description 机具类型
* @author cwchen
* @date 2023/12/20 16:02
*/
AjaxResult getMaTypeData(SelectDto dto);
/**
* 数据字典下拉选
* @param dto
* @return AjaxResult
* @description 数据字典下拉选
* @author cwchen
* @date 2023/12/20 16:22
*/
AjaxResult getDictByPidCbx(SelectDto dto);
/**
* 单位树/归属部门/所属上级
* @param dto
* @return AjaxResult
* @description 单位树/归属部门/所属上级
* @author cwchen
* @date 2023/12/20 16:36
*/
AjaxResult getDeptTree(SelectDto dto);
/**
* 岗位下拉树
* @param dto
* @return AjaxResult
* @description 岗位下拉树
* @author cwchen
* @date 2023/12/20 17:45
*/
AjaxResult getPostCbx(SelectDto dto);
/**
* 角色下拉选
* @param dto
* @return AjaxResult
* @description 角色下拉选
* @author cwchen
* @date 2023/12/20 17:56
*/
AjaxResult getRoleCbx(SelectDto dto);
/**
* 单位类型下拉选
* @param dto
* @return AjaxResult
* @description 单位类型下拉选
* @author cwchen
* @date 2023/12/20 18:00
*/
AjaxResult getUnitTypeCbx(SelectDto dto);
/**
* 设备类型树
* @param dto
* @return AjaxResult
* @description 设备类型树
* @author cwchen
* @date 2023/12/20 18:14
*/
AjaxResult getDeviceTypeTree(SelectDto dto);
/**
* 资产属性
* @param dto
* @return AjaxResult
* @description 资产属性
* @author cwchen
* @date 2023/12/20 19:47
*/
AjaxResult getAssetAttributesCbx(SelectDto dto);
/**
* 机具厂家
* @param dto
* @return AjaxResult
* @description 机具厂家
* @author cwchen
* @date 2023/12/20 19:56
*/
AjaxResult getDeviceFactoryCbx(SelectDto dto);
/**
* 工程项目
* @param dto
* @return AjaxResult
* @description 工程项目
* @author cwchen
* @date 2023/12/20 20:01
*/
AjaxResult getProCbx(SelectDto dto);
/**
* 配件所属上级树
* @param
* @return AjaxResult
* @description 配件所属上级树
* @author cwchen
* @date 2023/12/20 20:25
*/
AjaxResult getAccessoryTree();
/**
* 货架
* @param dto
* @return AjaxResult
* @description 货架
* @author cwchen
* @date 2023/12/20 20:36
*/
AjaxResult getGoodsShelvesCbx(SelectDto dto);
/**
* 用户/维修员/库管员/采购员
* @param dto
* @return AjaxResult
* @description 用户/维修员/库管员/采购员
* @author cwchen
* @date 2023/12/20 20:48
*/
AjaxResult getUserByRoleIdCbx(SelectDto dto);
/**
* 往来单位id和标段工程id获取协议信息
* @param dto
* @return AjaxResult
* @description 往来单位id和标段工程id获取协议信息
* @author cwchen
* @date 2023/12/21 10:47
*/
AjaxResult getAgreementInfoById(SelectDto dto);
/**
* 配件所属上级树
* @param dto
* @return AjaxResult
*/
AjaxResult getPartTree(SelectDto dto);
}

View File

@ -0,0 +1,275 @@
package com.bonus.sgzb.material.service.impl;
import com.bonus.sgzb.common.core.utils.GlobalConstants;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.material.domain.AgreementVo;
import com.bonus.sgzb.material.domain.SelectDto;
import com.bonus.sgzb.material.domain.SelectVo;
import com.bonus.sgzb.material.domain.TreeNode;
import com.bonus.sgzb.material.mapper.SelectMapper;
import com.bonus.sgzb.material.service.SelectService;
import com.bonus.sgzb.material.utils.TreeBuild;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @author 10488
* 统一下拉选
*/
@Service("SelectService")
@Slf4j
public class SelectServiceImpl implements SelectService {
@Resource(name = "SelectMapper")
private SelectMapper mapper;
@Override
public AjaxResult getUnitData(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
try {
list = mapper.getUnitData(dto);
} catch (Exception e) {
log.error("往来单位-查询失败", e);
}
return AjaxResult.success(list);
}
@Override
public AjaxResult getProData(SelectDto dto) {
try {
List<SelectVo> list = mapper.getProData(dto);
list.removeIf(item -> item == null);
return AjaxResult.success(list);
} catch (Exception e) {
log.error("工程-查询失败", e);
}
return AjaxResult.success();
}
@Override
public AjaxResult getMaTypeData(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
try {
list = mapper.getMaTypeData(dto);
} catch (Exception e) {
log.error("机具类型-查询失败", e);
}
return AjaxResult.success(list);
}
@Override
public AjaxResult getDictByPidCbx(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
try {
list = mapper.getDictByPidCbx(dto);
} catch (Exception e) {
log.error("数据字典-查询失败", e);
}
return AjaxResult.success(list);
}
@Override
public AjaxResult getDeptTree(SelectDto dto) {
List<TreeNode> groupList = new ArrayList<>();
List<TreeNode> list = new ArrayList<>();
try {
list = mapper.getDeptTree(dto);
if (CollectionUtils.isNotEmpty(list)) {
// 创建树形结构数据集合作为参数
TreeBuild treeBuild = new TreeBuild(list);
// 原查询结果转换树形结构
groupList = treeBuild.buildTree();
}
} catch (Exception e) {
log.error("单位树/归属部门/所属上级-查询失败", e);
}
return AjaxResult.success(groupList);
}
@Override
public AjaxResult getPostCbx(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
try {
list = mapper.getPostCbx(dto);
} catch (Exception e) {
log.error("岗位下拉选-查询失败", e);
}
return AjaxResult.success(list);
}
@Override
public AjaxResult getRoleCbx(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
try {
list = mapper.getRoleCbx(dto);
} catch (Exception e) {
log.error("角色下拉选-查询失败", e);
}
return AjaxResult.success(list);
}
@Override
public AjaxResult getUnitTypeCbx(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
try {
list = mapper.getUnitTypeCbx(dto);
} catch (Exception e) {
log.error("单位类型下拉选-查询失败", e);
}
return AjaxResult.success(list);
}
@Override
public AjaxResult getDeviceTypeTree(SelectDto dto) {
List<TreeNode> groupList = new ArrayList<>();
List<TreeNode> list = new ArrayList<>();
try {
list = mapper.getDeviceTypeTree(dto);
if (CollectionUtils.isNotEmpty(list)) {
// 创建树形结构数据集合作为参数
TreeBuild treeBuild = new TreeBuild(list);
// 原查询结果转换树形结构
groupList = treeBuild.buildTree();
}
} catch (Exception e) {
log.error("单位树/归属部门/所属上级-查询失败", e);
}
return AjaxResult.success(groupList);
}
@Override
public AjaxResult getAssetAttributesCbx(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
try {
list = mapper.getAssetAttributesCbx(dto);
} catch (Exception e) {
log.error("资产属性-查询失败", e);
}
return AjaxResult.success(list);
}
@Override
public AjaxResult getDeviceFactoryCbx(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
try {
list = mapper.getDeviceFactoryCbx(dto);
} catch (Exception e) {
log.error("机具厂家-查询失败", e);
}
return AjaxResult.success(list);
}
@Override
public AjaxResult getProCbx(SelectDto dto) {
List<SelectVo> list = new ArrayList<>();
try {
list = mapper.getProCbx(dto);
} catch (Exception e) {
log.error("工程项目-查询失败", e);
}
return AjaxResult.success(list);
}
@Override
public AjaxResult getAccessoryTree() {
List<TreeNode> groupList = new ArrayList<>();
List<TreeNode> list = new ArrayList<>();
try {
list = mapper.getAccessoryTree();
if (CollectionUtils.isNotEmpty(list)) {
// 创建树形结构数据集合作为参数
TreeBuild treeBuild = new TreeBuild(list);
// 原查询结果转换树形结构
groupList = treeBuild.buildTree();
}
} catch (Exception e) {
log.error("配件所属上级树-查询失败", e);
}
return AjaxResult.success(groupList);
}
@Override
public AjaxResult getPartTree(SelectDto dto) {
List<TreeNode> groupList = new ArrayList<>();
List<TreeNode> list = new ArrayList<>();
try {
list = mapper.getPartTree(dto);
if (CollectionUtils.isNotEmpty(list)) {
// 创建树形结构数据集合作为参数
TreeBuild treeBuild = new TreeBuild(list);
// 原查询结果转换树形结构
groupList = treeBuild.buildTree();
}
} catch (Exception e) {
log.error("配件所属上级树-查询失败", e);
}
return AjaxResult.success(groupList);
}
@Override
public AjaxResult getGoodsShelvesCbx(SelectDto dto) {
List<TreeNode> groupList = new ArrayList<>();
List<TreeNode> list = new ArrayList<>();
try {
list = mapper.getGoodsShelvesCbx(dto);
if (CollectionUtils.isNotEmpty(list)) {
// 创建树形结构数据集合作为参数
TreeBuild treeBuild = new TreeBuild(list);
// 原查询结果转换树形结构
groupList = treeBuild.buildTree();
}
} catch (Exception e) {
log.error("货架-查询失败", e);
}
return AjaxResult.success(groupList);
}
@Override
public AjaxResult getUserByRoleIdCbx(SelectDto dto) {
try {
if (Objects.equals(GlobalConstants.STRING_1, dto.getType())) {
// 用户/维修员/库管员/采购员-下拉选
List<SelectVo> list = new ArrayList<>();
list = mapper.getUserByRoleIdCbxSelect(dto);
return AjaxResult.success(list);
} else if (Objects.equals(GlobalConstants.STRING_2, dto.getType())) {
List<TreeNode> groupList = new ArrayList<>();
List<TreeNode> list = new ArrayList<>();
// 用户/维修员/库管员/采购员-
list = mapper.getUserByRoleIdCbxTree(dto);
if (CollectionUtils.isNotEmpty(list)) {
// 创建树形结构数据集合作为参数
TreeBuild treeBuild = new TreeBuild(list);
// 原查询结果转换树形结构
groupList = treeBuild.buildTree();
}
return AjaxResult.success(groupList);
}
} catch (Exception e) {
log.error("用户/维修员/库管员/采购员-查询失败", e);
}
return AjaxResult.success(null);
}
@Override
public AjaxResult getAgreementInfoById(SelectDto dto) {
AgreementVo vo = new AgreementVo();
try {
List<AgreementVo> list = mapper.getAgreementInfoById(dto);
if (CollectionUtils.isNotEmpty(list)) {
vo = list.get(0);
}
} catch (Exception e) {
log.error("往来单位id和标段工程id获取协议信息", e);
}
return AjaxResult.success(vo);
}
}

View File

@ -0,0 +1,79 @@
package com.bonus.sgzb.material.utils;
import com.bonus.sgzb.material.domain.TreeNode;
import java.util.ArrayList;
import java.util.List;
/**
* BuildTree 构建树形结构
* @author 10488
*/
public class TreeBuild {
public List<TreeNode> nodeList = new ArrayList<>();
/**
* 构造方法
* @param nodeList 将数据集合赋值给nodeList即所有数据作为所有节点
*/
public TreeBuild(List<TreeNode> nodeList){
this.nodeList = nodeList;
}
/**
* 获取需构建的所有根节点顶级节点 "0"
* @return 所有根节点List集合
*/
public List<TreeNode> getRootNode(){
// 保存所有根节点所有根节点的数据
List<TreeNode> rootNodeList = new ArrayList<>();
// treeNode查询出的每一条数据节点
for (TreeNode treeNode : nodeList){
// 判断当前节点是否为根节点此处注意若parentId类型是String则要采用equals()方法判断
if (0 == treeNode.getParentId()) {
// 添加
rootNodeList.add(treeNode);
}
}
return rootNodeList;
}
/**
* 根据每一个顶级节点根节点进行构建树形结构
* @return 构建整棵树
*/
public List<TreeNode> buildTree(){
// treeNodes保存一个顶级节点所构建出来的完整树形
List<TreeNode> treeNodes = new ArrayList<TreeNode>();
// getRootNode()获取所有的根节点
for (TreeNode treeRootNode : getRootNode()) {
// 将顶级节点进行构建子树
treeRootNode = buildChildTree(treeRootNode);
// 完成一个顶级节点所构建的树形增加进来
treeNodes.add(treeRootNode);
}
return treeNodes;
}
/**
* 递归-----构建子树形结构
* @param pNode 根节点顶级节点
* @return 整棵树
*/
public TreeNode buildChildTree(TreeNode pNode){
List<TreeNode> childTree = new ArrayList<TreeNode>();
// nodeList所有节点集合所有数据
for (TreeNode treeNode : nodeList) {
// 判断当前节点的父节点ID是否等于根节点的ID即当前节点为其下的子节点
if (treeNode.getParentId() == pNode.getId()) {
// 再递归进行判断当前节点的情况调用自身方法
childTree.add(buildChildTree(treeNode));
}
}
// for循环结束即节点下没有任何节点树形构建结束设置树结果
pNode.setChildren(childTree);
return pNode;
}
}

View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.sgzb.material.mapper.SelectMapper">
<!--往来单位-->
<select id="getUnitData" resultType="com.bonus.sgzb.material.domain.SelectVo">
/*根据标段工程id关联协议查询往来单位*/
<if test="id != null and id != ''">
SELECT DISTINCT bui.unit_id AS id,
bui.unit_name AS `name`
FROM bm_project_lot bpl
LEFT JOIN bm_agreement_info bai ON bpl.lot_id = bai.project_id AND bai.`status` = '1'
LEFT JOIN bm_unit_info bui ON bai.unit_id = bui.unit_id AND bui.del_flag = '0'
WHERE bpl.lot_id = #{id} AND bpl.del_flag = '0'
</if>
<if test="id == null or id == ''">
SELECT unit_id AS id,
unit_name AS `name`
FROM bm_unit_info
WHERE del_flag = '0'
</if>
</select>
<!--标段工程-->
<select id="getProData" resultType="com.bonus.sgzb.material.domain.SelectVo">
/*根据往来单位id关联协议查询工程*/
<if test="id != null and id != ''">
SELECT DISTINCT bpl.lot_id AS id,
bpl.lot_name AS `name`
FROM bm_unit_info bui
LEFT JOIN bm_agreement_info bai ON bui.unit_id = bai.unit_id AND bai.`status` = '1'
LEFT JOIN bm_project_lot bpl ON bai.project_id = bpl.lot_id AND bpl.del_flag = '0'
WHERE bui.unit_id = #{id} AND bui.del_flag = '0'
</if>
<if test="id == null or id == ''">
SELECT lot_id AS id,
lot_name AS `name`
FROM bm_project_lot
WHERE del_flag = '0'
</if>
</select>
<!--机具类型-->
<select id="getMaTypeData" resultType="com.bonus.sgzb.material.domain.SelectVo">
SELECT type_id AS id,
type_name AS `name`
FROM ma_type
WHERE `level` = #{type} AND del_flag = '0'
</select>
<!--数据字典下拉选-->
<select id="getDictByPidCbx" resultType="com.bonus.sgzb.material.domain.SelectVo">
SELECT sd2.id,sd2.`name`
FROM sys_dic sd
LEFT JOIN sys_dic sd2 ON sd.id = sd2.p_id
WHERE sd.`value` = #{parentValue} AND sd.p_id = 0
</select>
<!--单位树/归属部门/所属上级-->
<select id="getDeptTree" resultType="com.bonus.sgzb.material.domain.TreeNode">
SELECT dept_id AS id,
parent_id AS parentId,
dept_name AS label
FROM sys_dept
WHERE del_flag = '0'
ORDER BY order_num
</select>
<!--岗位下拉选-->
<select id="getPostCbx" resultType="com.bonus.sgzb.material.domain.SelectVo">
SELECT post_id AS id,
post_name AS `name`
FROM sys_post
WHERE status = '0'
ORDER BY post_sort
</select>
<!--角色下拉选-->
<select id="getRoleCbx" resultType="com.bonus.sgzb.material.domain.SelectVo">
SELECT role_id AS id,
role_name AS `name`
FROM sys_role
WHERE status = '0'
ORDER BY role_sort
</select>
<!--单位类型下拉选-->
<select id="getUnitTypeCbx" resultType="com.bonus.sgzb.material.domain.SelectVo">
SELECT sd2.id,sd2.`name`
FROM sys_dic sd
LEFT JOIN sys_dic sd2 ON sd.id = sd2.p_id
WHERE sd.`value` = #{parentValue} AND sd.p_id = 0
</select>
<!--设备类型树-->
<select id="getDeviceTypeTree" resultType="com.bonus.sgzb.material.domain.TreeNode">
SELECT mt.type_id AS id,
mt.type_name AS label,
mt.parent_id AS parentId,
mt.unit_name AS unitName,
mt.company_id AS companyId,
mt.code,
CASE mt.manage_type
WHEN 0 THEN
IFNULL(subquery0.num, 0)
ELSE
IFNULL(mt.num, 0)
END as num,
mt.model_code AS modelCode,
mt.manage_type AS manageType
FROM ma_type mt
left join (SELECT mt.type_id,
mt2.type_name AS typeName,
mt.type_name AS typeModelName,
count(mm.ma_id) num
FROM ma_machine mm
LEFT JOIN ma_type mt ON mt.type_id = mm.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
WHERE mm.ma_code is not null and mm.ma_status in (15)
GROUP BY mt.type_id) AS subquery0 ON subquery0.type_id = mt.type_id
WHERE mt.del_flag = '0'
<if test="level!=null and level!=''">
<if test="level == 2">
AND mt.level IN ('1','2')
</if>
<if test="level == 3">
AND mt.level IN ('1','2','3')
</if>
<if test="level == 4">
AND mt.level IN ('1','2','3','4')
</if>
</if>
</select>
<!--资产属性-->
<select id="getAssetAttributesCbx" resultType="com.bonus.sgzb.material.domain.SelectVo">
SELECT prop_id AS id,
prop_name AS `name`
FROM ma_prop_info
WHERE del_flag = '0'
ORDER BY create_time
</select>
<!--机具厂家-->
<select id="getDeviceFactoryCbx" resultType="com.bonus.sgzb.material.domain.SelectVo">
SELECT supplier_id AS id,
supplier AS `name`
FROM ma_supplier_info
WHERE del_flag = '0'
ORDER BY create_time
</select>
<!--工程项目-->
<select id="getProCbx" resultType="com.bonus.sgzb.material.domain.SelectVo">
SELECT pro_id AS id,
pro_name AS `name`
FROM bm_project_info
WHERE del_flag = '0' AND status = '0'
ORDER BY create_time
</select>
<!--配件所属上级树-->
<select id="getAccessoryTree" resultType="com.bonus.sgzb.material.domain.TreeNode">
SELECT pa_id AS id,
pa_name AS label,
parent_id AS parentId,
unit_id as unitName,
level
FROM ma_part_type
WHERE del_flag = '0'
ORDER BY create_time
</select>
<select id="getPartTree" resultType="com.bonus.sgzb.material.domain.TreeNode">
SELECT pa_id AS id,
pa_name AS label,
parent_id AS parentId,
level
FROM ma_part_type
WHERE del_flag = '0' and level != '3'
ORDER BY create_time
</select>
<!--货架-->
<select id="getGoodsShelvesCbx" resultType="com.bonus.sgzb.material.domain.TreeNode">
SELECT house_id AS id,
house_name AS label,
parent_id AS parentId
FROM ma_house_info
WHERE del_flag = '0' AND status = '0'
</select>
<!--用户/维修员/库管员/采购员-下拉选-->
<select id="getUserByRoleIdCbxSelect" resultType="com.bonus.sgzb.material.domain.SelectVo">
SELECT su.user_id AS id,
su.nick_name AS `name`
FROM sys_role sr
LEFT JOIN sys_user_role sur ON sr.role_id = sur.role_id
LEFT JOIN sys_user su ON sur.user_id = su.user_id AND su.del_flag = '0'
WHERE sr.role_key = #{roleKey} AND sr.del_flag = '0'
</select>
<!--用户/维修员/库管员/采购员--->
<select id="getUserByRoleIdCbxTree" resultType="com.bonus.sgzb.material.domain.TreeNode">
SELECT dept_id AS id,
parent_id AS parentId,
dept_name AS label
FROM sys_dept
WHERE del_flag = '0'
UNION ALL
SELECT su.user_id AS id,
su.dept_id AS parentId,
su.nick_name AS label
FROM sys_role sr
LEFT JOIN sys_user_role sur ON sr.role_id = sur.role_id
LEFT JOIN sys_user su ON sur.user_id = su.user_id AND su.del_flag = '0'
WHERE sr.role_key = #{roleKey} AND sr.del_flag = '0'
</select>
<!--往来单位id和标段工程id获取协议信息-->
<select id="getAgreementInfoById" resultType="com.bonus.sgzb.material.domain.AgreementVo">
SELECT agreement_id AS agreementId,
agreement_code AS agreementCode
FROM bm_agreement_info
WHERE unit_id = #{unitId} AND project_id = #{projectId} AND status = '1'
</select>
</mapper>

View File

@ -89,7 +89,7 @@ export function getLeaseAuditListAll(query) {
// 获取 来往单位 列表 // 获取 来往单位 列表
export function getUnitData(params = {}) { export function getUnitData(params = {}) {
return request({ return request({
url: '/system/select/getUnitCbx', url: '/material/select/getUnitCbx',
method: 'post', method: 'post',
data: params, data: params,
}) })
@ -98,7 +98,7 @@ export function getUnitData(params = {}) {
// 获取 工程 列表 // 获取 工程 列表
export function getProData(params = {}) { export function getProData(params = {}) {
return request({ return request({
url: '/system/select/getSectionEngineeringCbx', url: '/material/select/getSectionEngineeringCbx',
method: 'post', method: 'post',
data: params, data: params,
}) })
@ -116,7 +116,7 @@ export function getDeviceTypeTree(params = {}) {
// 根据单位id和工程id 获取 协议id // 根据单位id和工程id 获取 协议id
export function getAgreementInfoById(params = {}) { export function getAgreementInfoById(params = {}) {
return request({ return request({
url: '/system/select/getAgreementInfoById', url: '/material/select/getAgreementInfoById',
method: 'post', method: 'post',
data: params, data: params,
}) })

View File

@ -209,7 +209,7 @@ export function warehousingEntry(query) {
// 配件所属上级树 // 配件所属上级树
export function getAccessoryTree(data) { export function getAccessoryTree(data) {
return request({ return request({
url: '/system/select/getAccessoryTree', url: '/material/select/getAccessoryTree',
method: 'post', method: 'post',
data: data, data: data,
}) })

View File

@ -5,7 +5,7 @@ const addOrUpdateUrl = '/material/maWhole/addOrUpdate' // 添加
const selectListUrl = '/material/maWhole/selectList' // 查询首页 const selectListUrl = '/material/maWhole/selectList' // 查询首页
const selectListByIdUrl = '/material/maWhole/selectListById' // 查询详情 const selectListByIdUrl = '/material/maWhole/selectListById' // 查询详情
const deleteByIdUrl = '/material/maWhole/deleteById' // 删除 const deleteByIdUrl = '/material/maWhole/deleteById' // 删除
const treeTypeUrl = '/system/select/getDeviceTypeTree' // 设备树 const treeTypeUrl = '/material/select/getDeviceTypeTree' // 设备树
const selectListTreeUrl = '/material/maWhole/selectListTree' // 编辑查询 const selectListTreeUrl = '/material/maWhole/selectListTree' // 编辑查询
// 物品类型 选择配件 // 物品类型 选择配件
@ -69,4 +69,4 @@ export function editRequest(data) {
method: 'post', method: 'post',
data, data,
}) })
} }

View File

@ -49,7 +49,7 @@ export function inputByType(data) {
// 获取 设备树 // 获取 设备树
export function getDeviceTypeTree(params = {}) { export function getDeviceTypeTree(params = {}) {
return request({ return request({
url: '/system/select/getDeviceTypeTree', url: '/material/select/getDeviceTypeTree',
method: 'post', method: 'post',
data: params data: params
}) })

View File

@ -22,7 +22,7 @@ export function exportList(params = {}){
// 获取 来往单位 列表 // 获取 来往单位 列表
export function getUnitData(params = {}){ export function getUnitData(params = {}){
return request({ return request({
url: '/system/select/getUnitCbx', url: '/material/select/getUnitCbx',
method: 'post', method: 'post',
data: params data: params
}) })
@ -31,7 +31,7 @@ export function getUnitData(params = {}){
// 获取 工程 列表 // 获取 工程 列表
export function getProData(params = {}){ export function getProData(params = {}){
return request({ return request({
url: '/system/select/getSectionEngineeringCbx', url: '/material/select/getSectionEngineeringCbx',
method: 'post', method: 'post',
data: params data: params
}) })

View File

@ -22,7 +22,7 @@ export function exportList(params = {}){
// 获取 来往单位 列表 // 获取 来往单位 列表
export function getUnitData(params = {}){ export function getUnitData(params = {}){
return request({ return request({
url: '/system/select/getUnitCbx', url: '/material/select/getUnitCbx',
method: 'post', method: 'post',
data: params data: params
}) })
@ -31,7 +31,7 @@ export function getUnitData(params = {}){
// 获取 工程 列表 // 获取 工程 列表
export function getProData(params = {}){ export function getProData(params = {}){
return request({ return request({
url: '/system/select/getSectionEngineeringCbx', url: '/material/select/getSectionEngineeringCbx',
method: 'post', method: 'post',
data: params data: params
}) })

View File

@ -22,7 +22,7 @@ export function exportList(params = {}){
// 获取 来往单位 列表 // 获取 来往单位 列表
export function getUnitData(params = {}){ export function getUnitData(params = {}){
return request({ return request({
url: '/system/select/getUnitCbx', url: '/material/select/getUnitCbx',
method: 'post', method: 'post',
data: params data: params
}) })
@ -31,7 +31,7 @@ export function getUnitData(params = {}){
// 获取 工程 列表 // 获取 工程 列表
export function getProData(params = {}){ export function getProData(params = {}){
return request({ return request({
url: '/system/select/getSectionEngineeringCbx', url: '/material/select/getSectionEngineeringCbx',
method: 'post', method: 'post',
data: params data: params
}) })

View File

@ -22,7 +22,7 @@ export function exportList(params = {}){
// 获取 来往单位 列表 // 获取 来往单位 列表
export function getUnitData(params = {}){ export function getUnitData(params = {}){
return request({ return request({
url: '/system/select/getUnitCbx', url: '/material/select/getUnitCbx',
method: 'post', method: 'post',
data: params data: params
}) })
@ -31,7 +31,7 @@ export function getUnitData(params = {}){
// 获取 工程 列表 // 获取 工程 列表
export function getProData(params = {}){ export function getProData(params = {}){
return request({ return request({
url: '/system/select/getSectionEngineeringCbx', url: '/material/select/getSectionEngineeringCbx',
method: 'post', method: 'post',
data: params data: params
}) })

View File

@ -22,7 +22,7 @@ export function exportList(params = {}){
// 获取 来往单位 列表 // 获取 来往单位 列表
export function getUnitData(params = {}){ export function getUnitData(params = {}){
return request({ return request({
url: '/system/select/getUnitCbx', url: '/material/select/getUnitCbx',
method: 'post', method: 'post',
data: params data: params
}) })
@ -31,7 +31,7 @@ export function getUnitData(params = {}){
// 获取 工程 列表 // 获取 工程 列表
export function getProData(params = {}){ export function getProData(params = {}){
return request({ return request({
url: '/system/select/getSectionEngineeringCbx', url: '/material/select/getSectionEngineeringCbx',
method: 'post', method: 'post',
data: params data: params
}) })

View File

@ -4,7 +4,7 @@ import request from '@/utils/request'
// 获取 来往单位 列表 // 获取 来往单位 列表
export function getUnitData(params = {}){ export function getUnitData(params = {}){
return request({ return request({
url: '/system/select/getUnitCbx', url: '/material/select/getUnitCbx',
method: 'post', method: 'post',
data: params data: params
}) })
@ -13,7 +13,7 @@ export function getUnitData(params = {}){
// 获取 工程 列表 // 获取 工程 列表
export function getProData(params = {}){ export function getProData(params = {}){
return request({ return request({
url: '/system/select/getSectionEngineeringCbx', url: '/material/select/getSectionEngineeringCbx',
method: 'post', method: 'post',
data: params data: params
}) })

View File

@ -22,7 +22,7 @@ export function exportList(params = {}){
// 获取 来往单位 列表 // 获取 来往单位 列表
export function getUnitData(params = {}){ export function getUnitData(params = {}){
return request({ return request({
url: '/system/select/getUnitCbx', url: '/material/select/getUnitCbx',
method: 'post', method: 'post',
data: params data: params
}) })
@ -31,7 +31,7 @@ export function getUnitData(params = {}){
// 获取 工程 列表 // 获取 工程 列表
export function getProData(params = {}){ export function getProData(params = {}){
return request({ return request({
url: '/system/select/getSectionEngineeringCbx', url: '/material/select/getSectionEngineeringCbx',
method: 'post', method: 'post',
data: params data: params
}) })

View File

@ -54,7 +54,7 @@ export function delDept(deptId) {
// 上级获取 // 上级获取
export function apiGetPartTree() { export function apiGetPartTree() {
return request({ return request({
url: '/system/select/getPartTree', url: '/material/select/getPartTree',
method: 'post', method: 'post',
data:{} data:{}
}) })