lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentController.java
@@ -426,7 +426,7 @@ * @param mdcEquipment */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, MdcEquipment mdcEquipment) { public ModelAndView exportXls(HttpServletRequest request, MdcEquipmentVo mdcEquipment) { // Step.1 组装查询条件 //QueryWrapper<MdcEquipment> queryWrapper = QueryGenerator.initQueryWrapper(mdcEquipment, request.getParameterMap()); //Step.2 AutoPoi 导出Excel lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java
@@ -104,5 +104,5 @@ * @param mdcEquipment * @return */ List<MdcEquipment> exportXlsList(@Param("mdcEquipment") MdcEquipment mdcEquipment); List<MdcEquipment> exportXlsList(@Param("mdcEquipment") MdcEquipmentVo mdcEquipment); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
@@ -238,8 +238,11 @@ <if test="mdcEquipment.driveType != null and mdcEquipment.driveType != '' "> AND t1.drive_type = #{mdcEquipment.driveType} </if> <if test="mdcEquipment.productionName != null and mdcEquipment.productionName != '' "> AND t3.id = #{ mdcEquipment.productionName } OR t3.parent_id = #{ mdcEquipment.productionName } <if test="mdcEquipment.productionIds != null and mdcEquipment.productionIds.size() > 0 "> AND t3.id IN <foreach collection="mdcEquipment.productionIds" index="index" item="id" open="(" separator="," close=")"> #{id} </foreach> </if> </where> order by t1.sort_no @@ -273,8 +276,11 @@ <if test="mdcEquipment.driveType != null and mdcEquipment.driveType != '' "> AND t1.drive_type = #{mdcEquipment.driveType} </if> <if test="mdcEquipment.productionName != null and mdcEquipment.productionName != '' "> AND t3.id = #{ mdcEquipment.productionName } OR t3.parent_id = #{ mdcEquipment.productionName } <if test="mdcEquipment.productionIds != null and mdcEquipment.productionIds.size() > 0 "> AND t3.id IN <foreach collection="mdcEquipment.productionIds" index="index" item="id" open="(" separator="," close=")"> #{id} </foreach> </if> </where> order by t1.sort_no lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java
@@ -187,6 +187,6 @@ * @param mdcEquipment * @return */ List<MdcEquipment> exportXlsList(MdcEquipment mdcEquipment); List<MdcEquipment> exportXlsList(MdcEquipmentVo mdcEquipment); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -707,6 +707,11 @@ @Override public IPage<MdcEquipment> pageList(Page<MdcEquipment> page, MdcEquipmentVo mdcEquipment, HttpServletRequest req) { if (StringUtils.isNotBlank(mdcEquipment.getProductionName())) { // 递归查询所有子节点 List<String> productionIds = mdcProductionService.recursionChildren(mdcEquipment.getProductionName()); mdcEquipment.setProductionIds(productionIds); } return this.baseMapper.pageList(page, mdcEquipment); } @@ -773,7 +778,12 @@ * @return */ @Override public List<MdcEquipment> exportXlsList(MdcEquipment mdcEquipment) { public List<MdcEquipment> exportXlsList(MdcEquipmentVo mdcEquipment) { if (StringUtils.isNotBlank(mdcEquipment.getProductionName())) { // 递归查询所有子节点 List<String> productionIds = mdcProductionService.recursionChildren(mdcEquipment.getProductionName()); mdcEquipment.setProductionIds(productionIds); } return this.baseMapper.exportXlsList(mdcEquipment); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEquipmentVo.java
@@ -2,6 +2,8 @@ import lombok.Data; import java.util.List; /** * @author: LiuS * @create: 2023-04-11 10:34 @@ -16,4 +18,5 @@ private String equipmentType; private String driveType; private String productionName; private List<String> productionIds; } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/MdcProductionMapper.java
@@ -21,4 +21,9 @@ */ @Select("SELECT * FROM mdc_production where del_flag ='0' AND parent_id = #{parentId,jdbcType=VARCHAR}") List<MdcProduction> queryProdByPid(@Param("parentId") String parentId); /** * 递归查询所有子节点 */ List<String> recursionChildren(@Param("productionId") String productionId); } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/MdcProductionMapper.xml
@@ -2,4 +2,23 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.system.mapper.MdcProductionMapper"> <!--递归查询所有子节点--> <select id="recursionChildren" resultType="java.lang.String"> WITH temp ( id ) AS ( SELECT id FROM mdc_production WHERE id = #{ productionId } UNION ALL SELECT a.id FROM mdc_production a INNER JOIN temp ON a.parent_id = temp.id ) SELECT * FROM temp </select> </mapper> lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IMdcProductionService.java
@@ -64,4 +64,10 @@ * 根据用户id获取产线下拉树选项 */ List<ProductionIdModel> loadProductionTreeOptions(String userId); /** * 递归查询所有子节点 */ List<String> recursionChildren(String productionId); } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/MdcProductionServiceImpl.java
@@ -217,6 +217,14 @@ } /** * 递归查询所有子节点id */ @Override public List<String> recursionChildren(String productionId) { return this.baseMapper.recursionChildren(productionId); } /** * delete 方法调用 递归查找子集id */ private void checkChildrenExists(String id, List<String> idList) {