diff --git a/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java b/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java index 01098ac..0f40d6e 100644 --- a/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java +++ b/dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java @@ -24,6 +24,6 @@ public interface RemoteDeptService { RemoteDeptVo selectDeptById(Long deptId); - List> getNamePathList(); + List> getNamePathList(); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java new file mode 100644 index 0000000..e1fd0d0 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java @@ -0,0 +1,21 @@ +package org.dromara.business.controller; + +import lombok.RequiredArgsConstructor; +import org.dromara.business.service.BusinessAlertStatisticsService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 预警统计相关服务 + */ +@RequiredArgsConstructor +@RestController +@RequestMapping("/alert/statistics") +public class BusinessAlertStatisticsController { + + private final BusinessAlertStatisticsService statisticsService; + + + + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessDepartBoundaryController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessDepartBoundaryController.java index fb07fe0..5151095 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessDepartBoundaryController.java +++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessDepartBoundaryController.java @@ -8,9 +8,26 @@ import org.dromara.business.service.IBusinessDepartBoundaryService; import org.dromara.common.core.domain.R; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.geotools.geometry.jts.JTS; +import org.locationtech.jts.geom.Polygon; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.geotools.data.DataStore; +import org.geotools.data.DataStoreFinder; +import org.geotools.data.simple.SimpleFeatureCollection; +import org.geotools.data.simple.SimpleFeatureIterator; +import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.MultiPolygon; + /** * 部门区域 */ @@ -18,11 +35,12 @@ import org.springframework.web.multipart.MultipartFile; @RequestMapping("/depart/boundary") @Slf4j @RequiredArgsConstructor -public class BusinessDepartBoundaryController { +public class BusinessDepartBoundaryController extends BaseController { private final IBusinessDepartBoundaryService departBoundaryService; /** + * 分页查询部门区域列表 * @return */ @RequestMapping(value = "/page", method = RequestMethod.GET) @@ -31,19 +49,18 @@ public class BusinessDepartBoundaryController { } + @RequestMapping(value = "/add", method = RequestMethod.POST) + public R addDepartBoundary(@RequestBody BusinessDepartBoundary departBoundary) { + return toAjax(departBoundaryService.addDepartBoundary(departBoundary)); + } + /** * 解析shp文件 * @return */ @RequestMapping(value = "/upload", method = RequestMethod.POST) - public void uploadShpFile(@RequestParam("file") MultipartFile file) { - try { - departBoundaryService.uploadShpFile(file); - R.ok("操作成功!"); - } catch (Exception e) { - log.error(e.getMessage(), e); - R.fail("操作失败"); - } + public R uploadShpFile(@RequestParam("file") MultipartFile file) { + return toAjax(departBoundaryService.uploadShpFile(file)); } /** @@ -53,8 +70,8 @@ public class BusinessDepartBoundaryController { * @return */ @RequestMapping(value = "/update", method = RequestMethod.POST) - public R updateDepartBoundary(@RequestBody BusinessDepartBoundary departBoundary) { - return departBoundaryService.updateDepartBoundary(departBoundary)?R.ok("编辑成功!"):R.fail("编辑失败!"); + public R updateDepartBoundary(@RequestBody BusinessDepartBoundary departBoundary) { + return toAjax(departBoundaryService.updateDepartBoundary(departBoundary)); } @@ -65,7 +82,7 @@ public class BusinessDepartBoundaryController { * @return */ @RequestMapping(value = "/delete", method = RequestMethod.DELETE) - public R delete(@RequestParam(name = "id") String id) { - return departBoundaryService.deleteDepartBoundary(id)?R.ok("删除成功!"):R.fail("删除失败!"); + public R deleteDepartBoundary(@RequestParam(name = "id") String id) { + return toAjax(departBoundaryService.deleteDepartBoundary(id)); } } diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java index 64e5346..609babb 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java @@ -1,5 +1,6 @@ package org.dromara.business.domain; +import org.dromara.business.domain.enums.AlertTypeEnum; import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.mybatis.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.*; @@ -63,6 +64,11 @@ public class BusinessAlert extends BaseEntity { */ private String images; + /** + * 预警类型 + */ + private AlertTypeEnum alertType; + /** * 纬度 */ diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessDepartBoundary.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessDepartBoundary.java index 6bff413..4f3408f 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessDepartBoundary.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessDepartBoundary.java @@ -8,6 +8,8 @@ import lombok.EqualsAndHashCode; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.jeecgframework.poi.excel.annotation.Excel; +import java.io.Serial; + /** * 部门区域边界表 */ @@ -16,11 +18,18 @@ import org.jeecgframework.poi.excel.annotation.Excel; @TableName("business_depart_boundary") public class BusinessDepartBoundary extends BaseEntity { + @Serial private static final long serialVersionUID = 1L; /**ID*/ @TableId(type = IdType.AUTO) private String id; + + /** + * 租户Id + */ + private String tenantId; + /**机构ID*/ private String deptId; /**机构/部门名称*/ diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessGeospatialVectors.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessGeospatialVectors.java index 605fc27..4ab224c 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessGeospatialVectors.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessGeospatialVectors.java @@ -25,6 +25,11 @@ public class BusinessGeospatialVectors { @TableId(type = IdType.AUTO) private String id; + /** + * 租户Id + */ + private String tenantId; + // 1. 图形基础属性 private String landCategories; // 几何信息 diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDict.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDict.java index f75edde..dbb7ba1 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDict.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDict.java @@ -26,6 +26,11 @@ public class BusinessVectorDict extends BaseEntity { @TableId(type = IdType.ASSIGN_ID) private String id; + /** + * 租户Id + */ + private String tenantId; + /** * 字段名称 */ diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDictItem.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDictItem.java index 1fcad8b..1e0f829 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDictItem.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDictItem.java @@ -23,6 +23,11 @@ public class BusinessVectorDictItem extends BaseEntity { @TableId(type = IdType.ASSIGN_ID) private String id; + /** + * 租户Id + */ + private String tenantId; + /** * 字段名称 */ diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java index 090f616..1331be7 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java @@ -45,6 +45,11 @@ public class BusinessAlertBo extends BaseEntity { */ private String images; + /** + * 预警类型 + */ + private String alertType; + /** * 纬度 */ diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/enums/AlertTypeEnum.java b/dk-modules/business/src/main/java/org/dromara/business/domain/enums/AlertTypeEnum.java new file mode 100644 index 0000000..0260bdd --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/enums/AlertTypeEnum.java @@ -0,0 +1,31 @@ +package org.dromara.business.domain.enums; + +import cn.hutool.core.util.StrUtil; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 预警类型枚举类 + */ +@Getter +public enum AlertTypeEnum { + + + + + ; + + + private String code; + + private String description; + + + public static AlertTypeEnum getTypeByCode(String code){ + if(StrUtil.isNotEmpty(code)){ + return Arrays.stream(values()).filter(p -> StrUtil.equals(p.name(),code.toUpperCase())).findAny().orElse(null); + } + return null; + } +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java index 5224245..b83e3fb 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java +++ b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java @@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import org.dromara.business.domain.BusinessAlert; +import org.dromara.business.domain.enums.AlertTypeEnum; import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.constant.TransConstant; @@ -59,6 +60,12 @@ public class BusinessAlertVo implements Serializable { @ExcelProperty(value = "图片文件") private String images; + + /** + * 预警类型 + */ + private String alertType; + /** * 纬度 */ diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java index f2e3c55..f8f4a72 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java +++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java @@ -21,4 +21,6 @@ public interface BusinessDepartBoundaryMapper extends BaseMapper queryByDeptId(@Param("deptId") String deptId); + void saveBatchBoundary(@Param("list") List boundaryList); + } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertStatisticsService.java b/dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertStatisticsService.java new file mode 100644 index 0000000..446a2d5 --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertStatisticsService.java @@ -0,0 +1,5 @@ +package org.dromara.business.service; + + +public interface BusinessAlertStatisticsService { +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessDepartBoundaryService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessDepartBoundaryService.java index cc2e20c..3d5079a 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessDepartBoundaryService.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessDepartBoundaryService.java @@ -9,12 +9,7 @@ import org.springframework.web.multipart.MultipartFile; import java.util.List; /** - *

- * 部门表 服务实现类 - *

- * - * @Author:Steve - * @Since: 2019-01-22 + * 部门区域 服务实现类 */ public interface IBusinessDepartBoundaryService extends IService{ TableDataInfo listSysDepartBoundary(PageQuery page, BusinessDepartBoundary departBoundary); @@ -23,9 +18,11 @@ public interface IBusinessDepartBoundaryService extends IService queryByDeptId(String deptId); - void uploadShpFile(MultipartFile file); + boolean uploadShpFile(MultipartFile file); boolean deleteDepartBoundary(String id); boolean updateDepartBoundary(BusinessDepartBoundary departBoundary); + + boolean addDepartBoundary(BusinessDepartBoundary departBoundary); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java new file mode 100644 index 0000000..32657ef --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java @@ -0,0 +1,20 @@ +package org.dromara.business.service.impl; + +import lombok.RequiredArgsConstructor; +import org.dromara.business.service.BusinessAlertStatisticsService; +import org.springframework.stereotype.Service; + +/** + * + *预警统计Service业务层处理 + */ +@RequiredArgsConstructor +@Service +public class BusinessAlertStatisticsServiceImpl implements BusinessAlertStatisticsService { + + + + + + +} diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java index d47c88c..dc6f17e 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java @@ -1,6 +1,7 @@ package org.dromara.business.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; @@ -12,6 +13,7 @@ import org.dromara.business.domain.BusinessVectorDict; import org.dromara.business.mapper.BusinessDepartBoundaryMapper; import org.dromara.business.service.IBusinessDepartBoundaryService; import org.dromara.business.service.IBusinessVectorDictService; +import org.dromara.business.utils.BatchProcessorUtil; import org.dromara.business.utils.ShpAnalysisUtil; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.mybatis.core.page.PageQuery; @@ -58,8 +60,8 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl listSysDepartBoundaryGeomFromText(BusinessDepartBoundary sysDepartBoundary) { - return baseMapper.listSysDepartBoundaryGeomFromText(sysDepartBoundary); + public List listSysDepartBoundaryGeomFromText(BusinessDepartBoundary departBoundary) { + return baseMapper.listSysDepartBoundaryGeomFromText(departBoundary); } @Override @@ -69,7 +71,7 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl geospatialVectorsList = new ArrayList<>(); try { //1、首先调用解析工具拿到解析的字段集合 @@ -135,10 +137,22 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl boundaryList = buildBusinessDepartBoundary(geospatialVectorsList); - //批量新增部门区域数据 - this.saveBatch(boundaryList); + // 分批处理 + int startIndex = 0; // 从第 0 条开始 + int batchSize = 2000; // 每批处理 2000 条 + boolean flag = BatchProcessorUtil.processBatches(boundaryList, batchSize, startIndex, batch -> { + //批量新增部门区域数据 + this.baseMapper.saveBatchBoundary(batch); + }); + + if (flag) { + System.out.println("所有数据处理完成!"); + } + + return true; } catch (Exception e) { e.printStackTrace(); + return false; } } @@ -151,6 +165,11 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl buildBusinessDepartBoundary(List geospatialVectorsList) { List resultList = new ArrayList<>(); - List> namePathList = remoteDeptService.getNamePathList(); - Map>> namePathMap = namePathList.stream().collect(Collectors.groupingBy(item -> item.get("shpNo"))); + List> namePathList = remoteDeptService.getNamePathList(); + + Map>> namePathMap = namePathList.stream() + .filter(item -> item.containsKey("shpNo")) + .collect(Collectors.groupingBy(item -> item.get("shpNo").toString())); geospatialVectorsList.forEach(param->{ BusinessDepartBoundary businessDepartBoundary = new BusinessDepartBoundary(); businessDepartBoundary.setBoundary(param.getLandCategories()); - businessDepartBoundary.setDeptName(param.getLandUnitName()); + businessDepartBoundary.setShpNo(param.getLandUnitCode()); if (ObjectUtil.isNotEmpty(namePathMap.get(param.getLandUnitCode()))){ - businessDepartBoundary.setDeptId(namePathMap.get(param.getLandUnitCode()).get(0).get("deptId")); - businessDepartBoundary.setCommunityName(namePathMap.get(param.getLandUnitCode()).get(0).get("namePath")); + businessDepartBoundary.setDeptName(namePathMap.get(param.getLandUnitCode()).get(0).get("deptName") + ""); + businessDepartBoundary.setDeptId(namePathMap.get(param.getLandUnitCode()).get(0).get("deptId") + ""); + businessDepartBoundary.setCommunityName(namePathMap.get(param.getLandUnitCode()).get(0).get("namePath") + ""); resultList.add(businessDepartBoundary); } diff --git a/dk-modules/business/src/main/java/org/dromara/business/utils/BatchProcessorUtil.java b/dk-modules/business/src/main/java/org/dromara/business/utils/BatchProcessorUtil.java new file mode 100644 index 0000000..e16155c --- /dev/null +++ b/dk-modules/business/src/main/java/org/dromara/business/utils/BatchProcessorUtil.java @@ -0,0 +1,39 @@ +package org.dromara.business.utils; + +import java.util.List; +import java.util.function.Consumer; + +/** + * 分批处理工具类 + */ +public class BatchProcessorUtil { + + /** + * 分批处理数据 + * + * @param dataList 数据集合 + * @param batchSize 每批处理的数据量 + * @param startIndex 起始位置 + * @param batchHandler 每批数据的处理逻辑 + * @return 下一次的起始位置 + */ + public static boolean processBatches(List dataList, int batchSize, int startIndex, Consumer> batchHandler) { + if (dataList == null || dataList.isEmpty()) { + return true; // 数据为空,直接返回当前起始位置 + } + + int totalSize = dataList.size(); + while (startIndex < totalSize) { + int endIndex = Math.min(startIndex + batchSize, totalSize); + List batch = dataList.subList(startIndex, endIndex); + + // 处理当前批次的数据 + batchHandler.accept(batch); + + // 更新起始位置 + startIndex = endIndex; + } + + return startIndex >= totalSize; // 返回下一次的起始位置 + } +} diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml index 9284a14..1d2d374 100644 --- a/dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml @@ -75,4 +75,40 @@ WHERE d.id = #{deptId} + + INSERT INTO business_depart_boundary ( + dept_id, + dept_name, + community_name, + boundary, + perimeter, + area, + area_mu, + shp_no, + village_type, + create_by, + create_time, + update_by, + update_time, + create_dept + ) + VALUES + + (#{item.deptId}, + #{item.deptName}, + #{item.communityName}, + ST_GeomFromText(#{item.boundary}), + #{item.perimeter}, + #{item.area}, + #{item.areaMu}, + #{item.shpNo}, + #{item.villageType}, + #{item.createBy}, + #{item.createTime}, + #{item.updateBy}, + #{item.updateTime}, + #{item.createDept}) + + + diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessVectorDictMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessVectorDictMapper.xml index 88f5af6..215e4aa 100644 --- a/dk-modules/business/src/main/resources/mapper/business/BusinessVectorDictMapper.xml +++ b/dk-modules/business/src/main/resources/mapper/business/BusinessVectorDictMapper.xml @@ -20,9 +20,9 @@ m.id AS dictItemId, m.item_value AS mappingValue FROM - vector_field_dict f + business_vector_dict f LEFT JOIN - vector_field_dict_item m ON f.id = m.dict_id + business_vector_dict_item m ON f.id = m.dict_id diff --git a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java index 9bae932..3655c0a 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java @@ -50,7 +50,7 @@ public class RemoteDeptServiceImpl implements RemoteDeptService { } @Override - public List> getNamePathList() { + public List> getNamePathList() { return sysDeptService.getNamePathList(); } } diff --git a/dk-modules/system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java b/dk-modules/system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java index 0ab593c..7d942c4 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java +++ b/dk-modules/system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java @@ -70,6 +70,6 @@ public interface SysDeptMapper extends BaseMapperPlus { }) Page selectPageDeptList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); - List> getNamePathList(); + List> getNamePathList(); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java b/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java index c3df4b8..f99cffc 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java @@ -144,6 +144,6 @@ public interface ISysDeptService { * 查询每个部门的所属的部门全路径 * @return */ - List> getNamePathList(); + List> getNamePathList(); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java index 1042309..1119432 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java @@ -357,7 +357,7 @@ public class SysDeptServiceImpl implements ISysDeptService { @Override - public List> getNamePathList() { + public List> getNamePathList() { return baseMapper.getNamePathList(); } diff --git a/dk-modules/system/src/main/resources/mapper/system/SysDeptMapper.xml b/dk-modules/system/src/main/resources/mapper/system/SysDeptMapper.xml index 9e2a94e..e75d498 100644 --- a/dk-modules/system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/dk-modules/system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -48,21 +48,25 @@ WITH RECURSIVE DeptPath AS ( -- 基础查询:选择根部门(没有父部门的部门) SELECT - dept_id deptId, - CAST(dept_name AS CHAR(500)) AS namePath, - shp_no shpNo + sd.dept_id deptId, + sd.dept_name deptName, + CAST(sd.dept_name AS CHAR(500)) AS namePath, + sd.shp_no shpNo, + sd.tenant_id FROM - sys_dept + sys_dept sd WHERE - parent_id = 0 + sd.parent_id = 0 UNION ALL -- 递归查询:选择子部门并构建路径 SELECT d.dept_id deptId, + d.dept_name deptName, CONCAT(dp.namePath, '', d.dept_name) AS namePath, - shp_no shpNo + d.shp_no shpNo, + d.tenant_id FROM sys_dept d INNER JOIN @@ -71,7 +75,9 @@ SELECT deptId, namePath, - shpNo + shpNo, + deptName, + tenant_id FROM DeptPath ORDER BY diff --git a/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 22f3cbc..f047148 100644 --- a/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -146,7 +146,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { dto.setTaskId(taskList.get(0).getId()); //创建任务 -// executeTask(taskList.get(0).getId()); + executeTask(taskList.get(0).getId()); return dto; }