Browse Source

[feat]

1、开发部门区域相关功能。
pull/1/head
杨威 4 months ago
parent
commit
7a939e2c8b
  1. 2
      dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java
  2. 21
      dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java
  3. 43
      dk-modules/business/src/main/java/org/dromara/business/controller/BusinessDepartBoundaryController.java
  4. 6
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java
  5. 9
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessDepartBoundary.java
  6. 5
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessGeospatialVectors.java
  7. 5
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDict.java
  8. 5
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessVectorDictItem.java
  9. 5
      dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java
  10. 31
      dk-modules/business/src/main/java/org/dromara/business/domain/enums/AlertTypeEnum.java
  11. 7
      dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessAlertVo.java
  12. 2
      dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java
  13. 5
      dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertStatisticsService.java
  14. 11
      dk-modules/business/src/main/java/org/dromara/business/service/IBusinessDepartBoundaryService.java
  15. 20
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java
  16. 43
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java
  17. 39
      dk-modules/business/src/main/java/org/dromara/business/utils/BatchProcessorUtil.java
  18. 36
      dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml
  19. 4
      dk-modules/business/src/main/resources/mapper/business/BusinessVectorDictMapper.xml
  20. 2
      dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java
  21. 2
      dk-modules/system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java
  22. 2
      dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java
  23. 2
      dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
  24. 20
      dk-modules/system/src/main/resources/mapper/system/SysDeptMapper.xml
  25. 2
      dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java

2
dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java

@ -24,6 +24,6 @@ public interface RemoteDeptService {
RemoteDeptVo selectDeptById(Long deptId); RemoteDeptVo selectDeptById(Long deptId);
List<Map<String,String>> getNamePathList(); List<Map<String,Object>> getNamePathList();
} }

21
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;
}

43
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.core.domain.R;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; 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.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; 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") @RequestMapping("/depart/boundary")
@Slf4j @Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
public class BusinessDepartBoundaryController { public class BusinessDepartBoundaryController extends BaseController {
private final IBusinessDepartBoundaryService departBoundaryService; private final IBusinessDepartBoundaryService departBoundaryService;
/** /**
* 分页查询部门区域列表
* @return * @return
*/ */
@RequestMapping(value = "/page", method = RequestMethod.GET) @RequestMapping(value = "/page", method = RequestMethod.GET)
@ -31,19 +49,18 @@ public class BusinessDepartBoundaryController {
} }
@RequestMapping(value = "/add", method = RequestMethod.POST)
public R<Void> addDepartBoundary(@RequestBody BusinessDepartBoundary departBoundary) {
return toAjax(departBoundaryService.addDepartBoundary(departBoundary));
}
/** /**
* 解析shp文件 * 解析shp文件
* @return * @return
*/ */
@RequestMapping(value = "/upload", method = RequestMethod.POST) @RequestMapping(value = "/upload", method = RequestMethod.POST)
public void uploadShpFile(@RequestParam("file") MultipartFile file) { public R<Void> uploadShpFile(@RequestParam("file") MultipartFile file) {
try { return toAjax(departBoundaryService.uploadShpFile(file));
departBoundaryService.uploadShpFile(file);
R.ok("操作成功!");
} catch (Exception e) {
log.error(e.getMessage(), e);
R.fail("操作失败");
}
} }
/** /**
@ -53,8 +70,8 @@ public class BusinessDepartBoundaryController {
* @return * @return
*/ */
@RequestMapping(value = "/update", method = RequestMethod.POST) @RequestMapping(value = "/update", method = RequestMethod.POST)
public R<BusinessDepartBoundary> updateDepartBoundary(@RequestBody BusinessDepartBoundary departBoundary) { public R<Void> updateDepartBoundary(@RequestBody BusinessDepartBoundary departBoundary) {
return departBoundaryService.updateDepartBoundary(departBoundary)?R.ok("编辑成功!"):R.fail("编辑失败!"); return toAjax(departBoundaryService.updateDepartBoundary(departBoundary));
} }
@ -65,7 +82,7 @@ public class BusinessDepartBoundaryController {
* @return * @return
*/ */
@RequestMapping(value = "/delete", method = RequestMethod.DELETE) @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
public R<BusinessDepartBoundary> delete(@RequestParam(name = "id") String id) { public R<Void> deleteDepartBoundary(@RequestParam(name = "id") String id) {
return departBoundaryService.deleteDepartBoundary(id)?R.ok("删除成功!"):R.fail("删除失败!"); return toAjax(departBoundaryService.deleteDepartBoundary(id));
} }
} }

6
dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java

@ -1,5 +1,6 @@
package org.dromara.business.domain; package org.dromara.business.domain;
import org.dromara.business.domain.enums.AlertTypeEnum;
import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
@ -63,6 +64,11 @@ public class BusinessAlert extends BaseEntity {
*/ */
private String images; private String images;
/**
* 预警类型
*/
private AlertTypeEnum alertType;
/** /**
* 纬度 * 纬度
*/ */

9
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.dromara.common.mybatis.core.domain.BaseEntity;
import org.jeecgframework.poi.excel.annotation.Excel; 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") @TableName("business_depart_boundary")
public class BusinessDepartBoundary extends BaseEntity { public class BusinessDepartBoundary extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**ID*/ /**ID*/
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private String id; private String id;
/**
* 租户Id
*/
private String tenantId;
/**机构ID*/ /**机构ID*/
private String deptId; private String deptId;
/**机构/部门名称*/ /**机构/部门名称*/

5
dk-modules/business/src/main/java/org/dromara/business/domain/BusinessGeospatialVectors.java

@ -25,6 +25,11 @@ public class BusinessGeospatialVectors {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private String id; private String id;
/**
* 租户Id
*/
private String tenantId;
// 1. 图形基础属性 // 1. 图形基础属性
private String landCategories; // 几何信息 private String landCategories; // 几何信息

5
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) @TableId(type = IdType.ASSIGN_ID)
private String id; private String id;
/**
* 租户Id
*/
private String tenantId;
/** /**
* 字段名称 * 字段名称
*/ */

5
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) @TableId(type = IdType.ASSIGN_ID)
private String id; private String id;
/**
* 租户Id
*/
private String tenantId;
/** /**
* 字段名称 * 字段名称
*/ */

5
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 images;
/**
* 预警类型
*/
private String alertType;
/** /**
* 纬度 * 纬度
*/ */

31
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;
}
}

7
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 io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.business.domain.BusinessAlert; import org.dromara.business.domain.BusinessAlert;
import org.dromara.business.domain.enums.AlertTypeEnum;
import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant; import org.dromara.common.translation.constant.TransConstant;
@ -59,6 +60,12 @@ public class BusinessAlertVo implements Serializable {
@ExcelProperty(value = "图片文件") @ExcelProperty(value = "图片文件")
private String images; private String images;
/**
* 预警类型
*/
private String alertType;
/** /**
* 纬度 * 纬度
*/ */

2
dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessDepartBoundaryMapper.java

@ -21,4 +21,6 @@ public interface BusinessDepartBoundaryMapper extends BaseMapper<BusinessDepartB
*/ */
List<BusinessDepartBoundary> queryByDeptId(@Param("deptId") String deptId); List<BusinessDepartBoundary> queryByDeptId(@Param("deptId") String deptId);
void saveBatchBoundary(@Param("list") List<BusinessDepartBoundary> boundaryList);
} }

5
dk-modules/business/src/main/java/org/dromara/business/service/BusinessAlertStatisticsService.java

@ -0,0 +1,5 @@
package org.dromara.business.service;
public interface BusinessAlertStatisticsService {
}

11
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; import java.util.List;
/** /**
* <p> * 部门区域 服务实现类
* 部门表 服务实现类
* <p>
*
* @Author:Steve
* @Since 2019-01-22
*/ */
public interface IBusinessDepartBoundaryService extends IService<BusinessDepartBoundary>{ public interface IBusinessDepartBoundaryService extends IService<BusinessDepartBoundary>{
TableDataInfo<BusinessDepartBoundary> listSysDepartBoundary(PageQuery page, BusinessDepartBoundary departBoundary); TableDataInfo<BusinessDepartBoundary> listSysDepartBoundary(PageQuery page, BusinessDepartBoundary departBoundary);
@ -23,9 +18,11 @@ public interface IBusinessDepartBoundaryService extends IService<BusinessDepartB
List<BusinessDepartBoundary> queryByDeptId(String deptId); List<BusinessDepartBoundary> queryByDeptId(String deptId);
void uploadShpFile(MultipartFile file); boolean uploadShpFile(MultipartFile file);
boolean deleteDepartBoundary(String id); boolean deleteDepartBoundary(String id);
boolean updateDepartBoundary(BusinessDepartBoundary departBoundary); boolean updateDepartBoundary(BusinessDepartBoundary departBoundary);
boolean addDepartBoundary(BusinessDepartBoundary departBoundary);
} }

20
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 {
}

43
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessDepartBoundaryServiceImpl.java

@ -1,6 +1,7 @@
package org.dromara.business.service.impl; package org.dromara.business.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -12,6 +13,7 @@ import org.dromara.business.domain.BusinessVectorDict;
import org.dromara.business.mapper.BusinessDepartBoundaryMapper; import org.dromara.business.mapper.BusinessDepartBoundaryMapper;
import org.dromara.business.service.IBusinessDepartBoundaryService; import org.dromara.business.service.IBusinessDepartBoundaryService;
import org.dromara.business.service.IBusinessVectorDictService; import org.dromara.business.service.IBusinessVectorDictService;
import org.dromara.business.utils.BatchProcessorUtil;
import org.dromara.business.utils.ShpAnalysisUtil; import org.dromara.business.utils.ShpAnalysisUtil;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
@ -58,8 +60,8 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl<BusinessDepar
} }
@Override @Override
public List<BusinessDepartBoundary> listSysDepartBoundaryGeomFromText(BusinessDepartBoundary sysDepartBoundary) { public List<BusinessDepartBoundary> listSysDepartBoundaryGeomFromText(BusinessDepartBoundary departBoundary) {
return baseMapper.listSysDepartBoundaryGeomFromText(sysDepartBoundary); return baseMapper.listSysDepartBoundaryGeomFromText(departBoundary);
} }
@Override @Override
@ -69,7 +71,7 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl<BusinessDepar
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void uploadShpFile(MultipartFile file) { public boolean uploadShpFile(MultipartFile file) {
List<BusinessGeospatialVectors> geospatialVectorsList = new ArrayList<>(); List<BusinessGeospatialVectors> geospatialVectorsList = new ArrayList<>();
try { try {
//1、首先调用解析工具拿到解析的字段集合 //1、首先调用解析工具拿到解析的字段集合
@ -135,10 +137,22 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl<BusinessDepar
//6、生成新的对象集合存储数据表中 //6、生成新的对象集合存储数据表中
List<BusinessDepartBoundary> boundaryList = buildBusinessDepartBoundary(geospatialVectorsList); List<BusinessDepartBoundary> 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) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return false;
} }
} }
@ -151,6 +165,11 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl<BusinessDepar
return this.updateById(departBoundary); return this.updateById(departBoundary);
} }
@Override
public boolean addDepartBoundary(BusinessDepartBoundary departBoundary) {
return this.saveOrUpdate(departBoundary);
}
@Override @Override
public boolean deleteDepartBoundary(String id) { public boolean deleteDepartBoundary(String id) {
BusinessDepartBoundary departBoundary = this.baseMapper.selectById(id); BusinessDepartBoundary departBoundary = this.baseMapper.selectById(id);
@ -171,16 +190,20 @@ public class BusinessDepartBoundaryServiceImpl extends ServiceImpl<BusinessDepar
private List<BusinessDepartBoundary> buildBusinessDepartBoundary(List<BusinessGeospatialVectors> geospatialVectorsList) { private List<BusinessDepartBoundary> buildBusinessDepartBoundary(List<BusinessGeospatialVectors> geospatialVectorsList) {
List<BusinessDepartBoundary> resultList = new ArrayList<>(); List<BusinessDepartBoundary> resultList = new ArrayList<>();
List<Map<String,String>> namePathList = remoteDeptService.getNamePathList(); List<Map<String,Object>> namePathList = remoteDeptService.getNamePathList();
Map<String, List<Map<String, String>>> namePathMap = namePathList.stream().collect(Collectors.groupingBy(item -> item.get("shpNo")));
Map<String, List<Map<String, Object>>> namePathMap = namePathList.stream()
.filter(item -> item.containsKey("shpNo"))
.collect(Collectors.groupingBy(item -> item.get("shpNo").toString()));
geospatialVectorsList.forEach(param->{ geospatialVectorsList.forEach(param->{
BusinessDepartBoundary businessDepartBoundary = new BusinessDepartBoundary(); BusinessDepartBoundary businessDepartBoundary = new BusinessDepartBoundary();
businessDepartBoundary.setBoundary(param.getLandCategories()); businessDepartBoundary.setBoundary(param.getLandCategories());
businessDepartBoundary.setDeptName(param.getLandUnitName()); businessDepartBoundary.setShpNo(param.getLandUnitCode());
if (ObjectUtil.isNotEmpty(namePathMap.get(param.getLandUnitCode()))){ if (ObjectUtil.isNotEmpty(namePathMap.get(param.getLandUnitCode()))){
businessDepartBoundary.setDeptId(namePathMap.get(param.getLandUnitCode()).get(0).get("deptId")); businessDepartBoundary.setDeptName(namePathMap.get(param.getLandUnitCode()).get(0).get("deptName") + "");
businessDepartBoundary.setCommunityName(namePathMap.get(param.getLandUnitCode()).get(0).get("namePath")); businessDepartBoundary.setDeptId(namePathMap.get(param.getLandUnitCode()).get(0).get("deptId") + "");
businessDepartBoundary.setCommunityName(namePathMap.get(param.getLandUnitCode()).get(0).get("namePath") + "");
resultList.add(businessDepartBoundary); resultList.add(businessDepartBoundary);
} }

39
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 <T> boolean processBatches(List<T> dataList, int batchSize, int startIndex, Consumer<List<T>> batchHandler) {
if (dataList == null || dataList.isEmpty()) {
return true; // 数据为空,直接返回当前起始位置
}
int totalSize = dataList.size();
while (startIndex < totalSize) {
int endIndex = Math.min(startIndex + batchSize, totalSize);
List<T> batch = dataList.subList(startIndex, endIndex);
// 处理当前批次的数据
batchHandler.accept(batch);
// 更新起始位置
startIndex = endIndex;
}
return startIndex >= totalSize; // 返回下一次的起始位置
}
}

36
dk-modules/business/src/main/resources/mapper/business/BusinessDepartBoundaryMapper.xml

@ -75,4 +75,40 @@
WHERE d.id = #{deptId} WHERE d.id = #{deptId}
</select> </select>
<insert id="saveBatchBoundary">
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
<foreach collection="list" item="item" separator=",">
(#{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})
</foreach>
</insert>
</mapper> </mapper>

4
dk-modules/business/src/main/resources/mapper/business/BusinessVectorDictMapper.xml

@ -20,9 +20,9 @@
m.id AS dictItemId, m.id AS dictItemId,
m.item_value AS mappingValue m.item_value AS mappingValue
FROM FROM
vector_field_dict f business_vector_dict f
LEFT JOIN LEFT JOIN
vector_field_dict_item m ON f.id = m.dict_id business_vector_dict_item m ON f.id = m.dict_id
</select> </select>
</mapper> </mapper>

2
dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java

@ -50,7 +50,7 @@ public class RemoteDeptServiceImpl implements RemoteDeptService {
} }
@Override @Override
public List<Map<String,String>> getNamePathList() { public List<Map<String,Object>> getNamePathList() {
return sysDeptService.getNamePathList(); return sysDeptService.getNamePathList();
} }
} }

2
dk-modules/system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java

@ -70,6 +70,6 @@ public interface SysDeptMapper extends BaseMapperPlus<SysDept, SysDeptVo> {
}) })
Page<SysDeptVo> selectPageDeptList(@Param("page") Page<SysDeptVo> page, @Param(Constants.WRAPPER) Wrapper<SysDept> queryWrapper); Page<SysDeptVo> selectPageDeptList(@Param("page") Page<SysDeptVo> page, @Param(Constants.WRAPPER) Wrapper<SysDept> queryWrapper);
List<Map<String,String>> getNamePathList(); List<Map<String,Object>> getNamePathList();
} }

2
dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java

@ -144,6 +144,6 @@ public interface ISysDeptService {
* 查询每个部门的所属的部门全路径 * 查询每个部门的所属的部门全路径
* @return * @return
*/ */
List<Map<String,String>> getNamePathList(); List<Map<String,Object>> getNamePathList();
} }

2
dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java

@ -357,7 +357,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
@Override @Override
public List<Map<String,String>> getNamePathList() { public List<Map<String,Object>> getNamePathList() {
return baseMapper.getNamePathList(); return baseMapper.getNamePathList();
} }

20
dk-modules/system/src/main/resources/mapper/system/SysDeptMapper.xml

@ -48,21 +48,25 @@
WITH RECURSIVE DeptPath AS ( WITH RECURSIVE DeptPath AS (
-- 基础查询:选择根部门(没有父部门的部门) -- 基础查询:选择根部门(没有父部门的部门)
SELECT SELECT
dept_id deptId, sd.dept_id deptId,
CAST(dept_name AS CHAR(500)) AS namePath, sd.dept_name deptName,
shp_no shpNo CAST(sd.dept_name AS CHAR(500)) AS namePath,
sd.shp_no shpNo,
sd.tenant_id
FROM FROM
sys_dept sys_dept sd
WHERE WHERE
parent_id = 0 sd.parent_id = 0
UNION ALL UNION ALL
-- 递归查询:选择子部门并构建路径 -- 递归查询:选择子部门并构建路径
SELECT SELECT
d.dept_id deptId, d.dept_id deptId,
d.dept_name deptName,
CONCAT(dp.namePath, '', d.dept_name) AS namePath, CONCAT(dp.namePath, '', d.dept_name) AS namePath,
shp_no shpNo d.shp_no shpNo,
d.tenant_id
FROM FROM
sys_dept d sys_dept d
INNER JOIN INNER JOIN
@ -71,7 +75,9 @@
SELECT SELECT
deptId, deptId,
namePath, namePath,
shpNo shpNo,
deptName,
tenant_id
FROM FROM
DeptPath DeptPath
ORDER BY ORDER BY

2
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()); dto.setTaskId(taskList.get(0).getId());
//创建任务 //创建任务
// executeTask(taskList.get(0).getId()); executeTask(taskList.get(0).getId());
return dto; return dto;
} }

Loading…
Cancel
Save