diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaLabelBindMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaLabelBindMapper.java index 0287fdd1..2b39c205 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaLabelBindMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/base/mapper/MaLabelBindMapper.java @@ -1,7 +1,9 @@ package com.bonus.sgzb.base.mapper; import java.util.List; +import com.bonus.sgzb.base.domain.MaLabelBind; import com.bonus.sgzb.base.vo.MaLabelBindVO; +import org.apache.ibatis.annotations.Mapper; /** * 机具设备标签ma_label_bindMapper接口 @@ -9,6 +11,7 @@ import com.bonus.sgzb.base.vo.MaLabelBindVO; * @author bonus * @date 2023-12-13 */ +@Mapper public interface MaLabelBindMapper { /** @@ -65,4 +68,6 @@ public interface MaLabelBindMapper * @return 结果 */ public int updateMaLabelBindByMaIds(Long maId); + + int insertLabelBind(MaLabelBind maLabelBind); } diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaLabelBindMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaLabelBindMapper.xml index 7268eb08..01c22947 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaLabelBindMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/base/MaLabelBindMapper.xml @@ -87,6 +87,7 @@ insert into ma_label_bind + ma_id, label_code, type_id, binder, @@ -96,6 +97,7 @@ status, + #{maId}, #{labelCode}, #{typeId}, #{binder}, @@ -105,6 +107,30 @@ #{status}, + + insert into ma_label_bind + + ma_id, + label_code, + type_id, + binder, + label_type, + company_id, + binder_time, + status, + + + #{maId}, + #{labelCode}, + #{typeId}, + #{binder}, + #{labelType}, + #{companyId}, + #{binderTime}, + #{status}, + + + update ma_label_bind diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SelectController.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SelectController.java index be2cee5c..e33d48e5 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SelectController.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/controller/SelectController.java @@ -32,4 +32,47 @@ public class SelectController { public AjaxResult getProData(SelectDto dto) { return service.getProData(dto); } + + @ApiOperation(value = "机具类型下拉选") + @PostMapping("getMaTypeData") + public AjaxResult getMaTypeData(SelectDto dto){ + return service.getMaTypeData(dto); + } + + @ApiOperation(value = "机具类型下拉树") + @PostMapping("getMaTypeTreeData") + public AjaxResult getMaTypeTreeData(SelectDto dto){ +// return service.getMaTypeTreeData(dto); + return null; + } + + @ApiOperation(value = "数据字典下拉选") + @PostMapping("getDictByPidCbx") + public AjaxResult getDictByPidCbx(SelectDto dto){ + return service.getDictByPidCbx(dto); + } + + @ApiOperation(value = "单位树/归属部门/所属上级") + @PostMapping("getDeptTree") + public AjaxResult getDeptTree(SelectDto dto){ + return service.getDeptTree(dto); + } + + @ApiOperation(value = "岗位下拉选") + @PostMapping("getPostCbx") + public AjaxResult getPostCbx(SelectDto dto){ + return service.getPostCbx(dto); + } + + @ApiOperation(value = "角色下拉选") + @PostMapping("getRoleCbx") + public AjaxResult getRoleCbx(SelectDto dto){ + return service.getRoleCbx(dto); + } + + @ApiOperation(value = "单位类型下拉选") + @PostMapping("getUnitTypeCbx") + public AjaxResult getUnitTypeCbx(SelectDto dto){ + return service.getUnitTypeCbx(dto); + } } diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/SelectDto.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/SelectDto.java index 7d400068..1f87e261 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/SelectDto.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/SelectDto.java @@ -10,4 +10,13 @@ public class SelectDto { /** 参数id*/ private String id; + + /** 2.物品种类 3.设备类型 4.规格型号*/ + private String type; + + /** 字典表 父类值*/ + private String parentValue; + + /** 层级*/ + private String level; } diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/SelectVo.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/SelectVo.java index 2b0814f2..82c74508 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/SelectVo.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/SelectVo.java @@ -12,5 +12,5 @@ public class SelectVo { private long id; /** 名称*/ - private String titleName; + private String name; } diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/TreeNode.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/TreeNode.java new file mode 100644 index 00000000..01b73bd7 --- /dev/null +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/domain/TreeNode.java @@ -0,0 +1,24 @@ +package com.bonus.sgzb.system.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 List children = new ArrayList<>(); +} diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/mapper/SelectMapper.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/mapper/SelectMapper.java index b894e303..10f8a298 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/mapper/SelectMapper.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/mapper/SelectMapper.java @@ -2,6 +2,7 @@ package com.bonus.sgzb.system.mapper; import com.bonus.sgzb.system.domain.SelectDto; import com.bonus.sgzb.system.domain.SelectVo; +import com.bonus.sgzb.system.domain.TreeNode; import org.springframework.stereotype.Repository; import java.util.List; @@ -29,4 +30,58 @@ public interface SelectMapper { * @date 2023/12/20 15:05 */ List getProData(SelectDto dto); + + /** + * @param dto + * @return List + * @description 机具类型 + * @author cwchen + * @date 2023/12/20 16:02 + */ + List getMaTypeData(SelectDto dto); + + /** + * @param dto + * @return List + * @description 数据字典下拉选 + * @author cwchen + * @date 2023/12/20 16:23 + */ + List getDictByPidCbx(SelectDto dto); + + /** + * @param dto + * @return List + * @description 单位树/归属部门/所属上级 + * @author cwchen + * @date 2023/12/20 17:10 + */ + List getDeptTree(SelectDto dto); + + /** + * @param dto + * @return List + * @description 岗位下拉选 + * @author cwchen + * @date 2023/12/20 17:50 + */ + List getPostCbx(SelectDto dto); + + /** + * @param dto + * @return List + * @description 角色下拉选 + * @author cwchen + * @date 2023/12/20 17:56 + */ + List getRoleCbx(SelectDto dto); + + /** + * @param dto + * @return List + * @description 单位类型下拉选 + * @author cwchen + * @date 2023/12/20 18:01 + */ + List getUnitTypeCbx(SelectDto dto); } diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/SelectService.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/SelectService.java index 8466a82b..5aef44f8 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/SelectService.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/SelectService.java @@ -26,4 +26,67 @@ public interface SelectService { * @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:10 + */ +// AjaxResult getMaTypeTreeData(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); } diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SelectServiceImpl.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SelectServiceImpl.java index 639874e2..522630c4 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SelectServiceImpl.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SelectServiceImpl.java @@ -3,9 +3,12 @@ package com.bonus.sgzb.system.service.impl; import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.system.domain.SelectDto; import com.bonus.sgzb.system.domain.SelectVo; +import com.bonus.sgzb.system.domain.TreeNode; import com.bonus.sgzb.system.mapper.SelectMapper; import com.bonus.sgzb.system.service.SelectService; +import com.bonus.sgzb.system.util.TreeBuild; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -29,7 +32,7 @@ public class SelectServiceImpl implements SelectService { try { list = mapper.getUnitData(dto); } catch (Exception e) { - log.error("往来单位-查询失败",e); + log.error("往来单位-查询失败", e); } return AjaxResult.success(list); } @@ -40,7 +43,80 @@ public class SelectServiceImpl implements SelectService { try { list = mapper.getProData(dto); } catch (Exception e) { - log.error("工程-查询失败",e); + log.error("工程-查询失败", e); + } + return AjaxResult.success(list); + } + + @Override + public AjaxResult getMaTypeData(SelectDto dto) { + List 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 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 groupList = new ArrayList<>(); + List 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 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 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 list = new ArrayList<>(); + try { + list = mapper.getUnitTypeCbx(dto); + } catch (Exception e) { + log.error("单位类型下拉选-查询失败", e); } return AjaxResult.success(list); } diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/util/TreeBuild.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/util/TreeBuild.java new file mode 100644 index 00000000..14266829 --- /dev/null +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/util/TreeBuild.java @@ -0,0 +1,79 @@ +package com.bonus.sgzb.system.util; + +import com.bonus.sgzb.system.domain.TreeNode; + +import java.util.ArrayList; +import java.util.List; + +/** + * BuildTree 构建树形结构 + * @author 10488 + */ +public class TreeBuild { + + public List nodeList = new ArrayList<>(); + + /** + * 构造方法 + * @param nodeList 将数据集合赋值给nodeList,即所有数据作为所有节点。 + */ + public TreeBuild(List nodeList){ + this.nodeList = nodeList; + } + + /** + * 获取需构建的所有根节点(顶级节点) "0" + * @return 所有根节点List集合 + */ + public List getRootNode(){ + // 保存所有根节点(所有根节点的数据) + List rootNodeList = new ArrayList<>(); + // treeNode:查询出的每一条数据(节点) + for (TreeNode treeNode : nodeList){ + // 判断当前节点是否为根节点,此处注意:若parentId类型是String,则要采用equals()方法判断。 + if (0 == treeNode.getParentId()) { + // 是,添加 + rootNodeList.add(treeNode); + } + } + return rootNodeList; + } + + /** + * 根据每一个顶级节点(根节点)进行构建树形结构 + * @return 构建整棵树 + */ + public List buildTree(){ + // treeNodes:保存一个顶级节点所构建出来的完整树形 + List treeNodes = new ArrayList(); + // getRootNode():获取所有的根节点 + for (TreeNode treeRootNode : getRootNode()) { + // 将顶级节点进行构建子树 + treeRootNode = buildChildTree(treeRootNode); + // 完成一个顶级节点所构建的树形,增加进来 + treeNodes.add(treeRootNode); + } + return treeNodes; + } + + /** + * 递归-----构建子树形结构 + * @param pNode 根节点(顶级节点) + * @return 整棵树 + */ + public TreeNode buildChildTree(TreeNode pNode){ + List childTree = new ArrayList(); + // nodeList:所有节点集合(所有数据) + for (TreeNode treeNode : nodeList) { + // 判断当前节点的父节点ID是否等于根节点的ID,即当前节点为其下的子节点 + if (treeNode.getParentId() == pNode.getId()) { + // 再递归进行判断当前节点的情况,调用自身方法 + childTree.add(buildChildTree(treeNode)); + } + } + // for循环结束,即节点下没有任何节点,树形构建结束,设置树结果 + pNode.setChildren(childTree); + return pNode; + } + +} diff --git a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SelectMapper.xml b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SelectMapper.xml index 499e6738..e9cfd076 100644 --- a/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SelectMapper.xml +++ b/sgzb-modules/sgzb-system/src/main/resources/mapper/system/SelectMapper.xml @@ -9,7 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" /*根据标段工程id关联协议查询往来单位*/ SELECT DISTINCT bui.unit_id AS id, - bui.unit_name AS titleName + 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' @@ -17,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT unit_id AS id, - unit_name AS titleName + unit_name AS `name` FROM bm_unit_info WHERE del_flag = '0' @@ -28,7 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" /*根据往来单位id关联协议查询工程*/ SELECT DISTINCT bpl.lot_id AS id, - bpl.lot_name AS titleName + 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' @@ -36,9 +36,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT lot_id AS id, - lot_name AS titleName + lot_name AS `name` FROM bm_project_lot WHERE del_flag = '0' + + + + + + + + + + + + + \ No newline at end of file