Browse Source

Merge remote-tracking branch 'origin/master'

pull/1/head
吴远 3 months ago
parent
commit
3157858ab8
  1. 2
      dk-api/api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java
  2. 2
      dk-api/api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteAiLabelPostVo.java
  3. 6
      dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java
  4. 116
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessAlert.java
  5. 5
      dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessAlertBo.java
  6. 16
      dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java
  7. 3
      dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertStatisticsService.java
  8. 1
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java
  9. 41
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java
  10. 6
      dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml
  11. 10
      dk-modules/system/src/main/java/org/dromara/system/controller/system/SysDepartBoundaryController.java
  12. 9
      dk-modules/system/src/main/java/org/dromara/system/controller/system/SysPostController.java
  13. 10
      dk-modules/system/src/main/java/org/dromara/system/controller/system/SysUserController.java
  14. 2
      dk-modules/system/src/main/java/org/dromara/system/domain/AiLabelPost.java
  15. 3
      dk-modules/system/src/main/java/org/dromara/system/domain/SysDepartBoundary.java
  16. 2
      dk-modules/system/src/main/java/org/dromara/system/domain/bo/AiLabelPostBo.java
  17. 33
      dk-modules/system/src/main/java/org/dromara/system/domain/bo/SysDepartBoundaryBo.java
  18. 41
      dk-modules/system/src/main/java/org/dromara/system/domain/vo/SysPostVo.java
  19. 6
      dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java
  20. 2
      dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteLabelPostServicelmpl.java
  21. 3
      dk-modules/system/src/main/java/org/dromara/system/mapper/SysDepartBoundaryMapper.java
  22. 3
      dk-modules/system/src/main/java/org/dromara/system/service/IAiLabelPostService.java
  23. 4
      dk-modules/system/src/main/java/org/dromara/system/service/ISysDepartBoundaryService.java
  24. 3
      dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java
  25. 2
      dk-modules/system/src/main/java/org/dromara/system/service/ISysUserService.java
  26. 20
      dk-modules/system/src/main/java/org/dromara/system/service/impl/AiLablePostServiceImpl.java
  27. 17
      dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDepartBoundaryServiceImpl.java
  28. 11
      dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
  29. 21
      dk-modules/system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java
  30. 10
      dk-modules/system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
  31. 2
      dk-modules/system/src/main/resources/mapper/system/SysDepartBoundaryMapper.xml

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

@ -27,4 +27,6 @@ public interface RemoteDeptService {
List<Map<String,Object>> getNamePathList();
List<RemoteDeptVo> selectListByParentId(String deptId);
RemoteDeptVo getByParentId(String deptId);
}

2
dk-api/api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteAiLabelPostVo.java

@ -27,7 +27,7 @@ public class RemoteAiLabelPostVo implements Serializable {
* id
*/
// @ExcelProperty(value = "id")
private Long lableId;
private Long labelId;
/**
* 标签名-

6
dk-modules/business/src/main/java/org/dromara/business/controller/BusinessAlertStatisticsController.java

@ -26,6 +26,12 @@ public class BusinessAlertStatisticsController extends BaseController {
private final IBusinessAlertStatisticsService statisticsService;
@Operation(summary="获取预警处置率", description="获取预警处置率")
@GetMapping(value = "/rate")
public R<Double> alertRate(BusinessAlertBo businessAlertBo) {
return R.ok(statisticsService.alertRate(businessAlertBo));
}
@Operation(summary="panel看板数据", description="panel看板数据")
@GetMapping(value = "/panel/count")
public R<List<StatObj>> countPanelAlert(BusinessAlertBo businessAlertBo) {

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

@ -20,7 +20,7 @@ import java.util.List;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "business_alert",autoResultMap = true)
@TableName(value = "business_alert", autoResultMap = true)
public class BusinessAlert extends BaseEntity {
@Serial
@ -32,24 +32,18 @@ public class BusinessAlert extends BaseEntity {
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**
* 租户编号
*/
private String tenantId;
/**
* 任务id
* job任务id
*/
private String wheelId;
private String jobId;
/**
* 媒体id
* 预警名称
*/
private String taskId;
private String jobName;
/**
* 图片id
* 图片id 对应的media_file 的fileId
*/
private String taskImageId;
@ -58,13 +52,16 @@ public class BusinessAlert extends BaseEntity {
*/
private String reason;
/**
* 是否指派
*/
private Boolean assign;
/**
* 图片文件
*/
private String images;
/**
* 纬度
*/
@ -75,51 +72,42 @@ public class BusinessAlert extends BaseEntity {
*/
private Long lng;
/**
* 标签名-
*/
private String labelEn;
/**
* 标签名-
*/
private String labelCn;
/**
* 预警类型
* 标签名-
*/
private String alertType;
private String labelEn;
/**
* 任务内容
*/
private String taskContent;
/**
* 完成时间
*/
private Date completeDate;
/**
* 删除 0 正常 1已删除
*/
@TableLogic
private Long delFlag;
private Integer delFlag;
/**
* 模板图片
*/
private String mateSourceImgUrl;
/**
* 放大模板违建区域图片
*/
private String maxMateSourceImgUrl;
/**
* 预警类型
*/
private String alertType;
/**
* 放大违建区域图片
*/
@ -146,43 +134,34 @@ public class BusinessAlert extends BaseEntity {
private String handleType;
/**
* 是否违建 01
*/
private Boolean isIllegal;
/**
* 部门id
* 指派人员
*/
private String deptId;
private String assignUserId;
/**
* 部门名称
* 指派时间
*/
private String deptName;
private Date assignDate;
/**
* 预警名称
* 完成时间
*/
private String jobName;
private Date completeDate;
/**
* 指派人员
* 是否违建 01
*/
private String assignUserId;
private Boolean isIllegal;
/**
* 指派人员名称
* 部门id
*/
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "assignUserId")
@TableField(exist = false)
private String assignUserName;
private String deptId;
/**
* 指派时间
* 部门名称
*/
private Date assignDate;
private String deptName;
/**
* 处理时间
@ -194,11 +173,6 @@ public class BusinessAlert extends BaseEntity {
*/
private String taskHandle;
/**
* 平台类型
*/
private String platformType;
/**
* 像素坐标
*/
@ -207,12 +181,7 @@ public class BusinessAlert extends BaseEntity {
/**
* 当前位置预警数量
*/
private Long handleNum;
/**
* 国土所备注
*/
private String territoryRemark;
private Integer handleNum;
/**
* 地类信息数据
@ -220,25 +189,22 @@ public class BusinessAlert extends BaseEntity {
private String landCategories;
/**
* 相关文件
* 忽略原因
*/
private String territoryUrl;
private String ignoringCause;
/**
* 图片
* 来源0平台 1小程序
*/
private String territoryPath;
private Integer handleSource;
/**
* 忽略原因
* 指派人员名称
*/
private String ignoringCause;
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "assignUserId")
@TableField(exist = false)
private String assignUserName;
/**
* 来源0平台 1小程序
*/
private Long handleSource;
/**
* 审批者

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

@ -244,4 +244,9 @@ public class BusinessAlertBo {
*/
private Date assignDate;
/**
* 标签集合
*/
private List<String> aiLabelEnList;
}

16
dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessAlertMapper.java

@ -23,12 +23,14 @@ import java.util.Map;
*/
public interface BusinessAlertMapper extends BaseMapperPlus<BusinessAlert, BusinessAlertVo> {
@DataPermission(
@DataColumn(key = "deptName", value = "ba.dept_id")
)
// @DataPermission(
// @DataColumn(key = "deptName", value = "t.dept_id")
// )
Page<BusinessAlert> pageBusinessAlert(Page<BusinessAlert> page, QueryWrapper<BusinessAlert> ew);
// @DataPermission(
// @DataColumn(key = "deptName", value = "t.dept_id")
// )
Page<BusinessAlert> pageAlertFinish(Page<BusinessAlert> page, QueryWrapper<BusinessAlert> ew);
/**
@ -37,8 +39,14 @@ public interface BusinessAlertMapper extends BaseMapperPlus<BusinessAlert, Busin
* @param ew
* @return
*/
// @DataPermission(
// @DataColumn(key = "deptName", value = "t.dept_id")
// )
Page<BusinessAlert> pageAlertTodo(Page<BusinessAlert> page, QueryWrapper<BusinessAlert> ew);
// @DataPermission(
// @DataColumn(key = "deptName", value = "t.dept_id")
// )
Page<BusinessAlert> pageBusinessAlertCancel(Page<BusinessAlert> build, QueryWrapper<BusinessAlert> ew);
@DataPermission(

3
dk-modules/business/src/main/java/org/dromara/business/service/IBusinessAlertStatisticsService.java

@ -21,4 +21,7 @@ public interface IBusinessAlertStatisticsService {
List<StatObj> countPanelAlert(BusinessAlertBo businessAlertBo);
List<Map<String, Object>> countAlertTypeCompare(BusinessAlertBo businessAlertBo);
Double alertRate(BusinessAlertBo businessAlertBo);
}

1
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java

@ -177,6 +177,7 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService {
@Override
public TableDataInfo<BusinessAlert> pageBusinessAlertFinish(BusinessAlertBo bo, PageQuery pageQuery) {
QueryWrapper<BusinessAlert> wrapper = buildQueryWrapper(bo);
wrapper.notIn("t.flowStatus", BusinessStatusEnum.INVALID.getStatus());
wrapper.apply(" EXISTS(select * from dk_workflow.flow_his_task ht where ht.approver ='" + LoginHelper.getUserId() + "' and ht.instance_id = t.instanceId)");

41
dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java

@ -9,9 +9,13 @@ import org.dromara.business.mapper.BusinessAlertMapper;
import org.dromara.business.service.IBusinessAlertStatisticsService;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.api.RemoteDeptService;
import org.dromara.system.api.RemoteLabelPostService;
import org.dromara.system.api.domain.vo.RemoteAiLabelPostVo;
import org.dromara.system.api.domain.vo.RemoteDeptVo;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -31,6 +35,9 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
@DubboReference
RemoteDeptService remoteDeptService;
@DubboReference
RemoteLabelPostService remoteLabelPostService;
/**
* 按照月份分类预警数量(包含权限)
* @param businessAlertBo
@ -44,16 +51,18 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
businessAlertBo.setDeptIdList(departIdList);
}
businessAlertBo.setAiLabelEnList(getAiLabel(businessAlertBo.getPostCode()));
List<Map<String, Object>> mapList = baseMapper.listMonthAlert(businessAlertBo);
return mapList.stream().map(data -> new StatObj(data.get("dateMonth") + "", data.get("total"))).collect(Collectors.toList());
}
@Override
public List<StatObj>countDepartAlert(BusinessAlertBo businessAlertBo) {
businessAlertBo.setDeptId(String.valueOf(LoginHelper.getDeptId()));
businessAlertBo.setAiLabelEnList(getAiLabel(businessAlertBo.getPostCode()));
List<Map<String, Object>> mapList = baseMapper.listDepartAlert(businessAlertBo);
return mapList.stream().map(data -> new StatObj(data.get("deptName") + "", Long.parseLong(data.get("total") + ""),"deptId",data.get("deptId"))).collect(Collectors.toList());
@ -61,6 +70,8 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
@Override
public List<StatObj> countMonthAlertStatus(BusinessAlertBo businessAlertBo) {
businessAlertBo.setAiLabelEnList(getAiLabel(businessAlertBo.getPostCode()));
List<Map<String, Object>> mapList = baseMapper.listMonthAlertStatus(businessAlertBo);
return mapList.stream()
@ -79,6 +90,8 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
@Override
public List<StatObj> countDepartAlertStatus(BusinessAlertBo businessAlertBo) {
businessAlertBo.setAiLabelEnList(getAiLabel(businessAlertBo.getPostCode()));
List<Map<String, Object>> mapList = baseMapper.listDepartAlertStatus(businessAlertBo);
return mapList.stream()
@ -102,12 +115,14 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
*/
@Override
public List<Map<String, Object>> countAlertStatusCompare(BusinessAlertBo businessAlertBo) {
businessAlertBo.setAiLabelEnList(getAiLabel(businessAlertBo.getPostCode()));
businessAlertBo.setDateList(buildDateList(businessAlertBo));
return baseMapper.countAlertCompare(businessAlertBo);
}
@Override
public List<StatObj> countPanelAlert(BusinessAlertBo businessAlertBo) {
businessAlertBo.setAiLabelEnList(getAiLabel(businessAlertBo.getPostCode()));
List<Map<String, Object>> mapList = baseMapper.countPanelAlert(businessAlertBo);
return mapList.stream()
@ -122,10 +137,30 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
@Override
public List<Map<String, Object>> countAlertTypeCompare(BusinessAlertBo businessAlertBo) {
businessAlertBo.setAiLabelEnList(getAiLabel(businessAlertBo.getPostCode()));
businessAlertBo.setDateList(buildDateList(businessAlertBo));
return baseMapper.countAlertTypeCompare(businessAlertBo);
}
@Override
public Double alertRate(BusinessAlertBo businessAlertBo) {
List<Map<String, Object>> mapList = baseMapper.countPanelAlert(businessAlertBo);
double averageDisposalRate = mapList.stream()
.mapToDouble(map -> {
double total = Double.parseDouble(String.valueOf(map.get("total")));
double finishCount = Double.parseDouble(String.valueOf(map.get("finishCount")));
return (total == 0) ? 0.0 : finishCount / total;
})
.average() // 计算平均值
.orElse(0.0);
// 四舍五入保留两位小数
BigDecimal roundedAverage = BigDecimal.valueOf(averageDisposalRate)
.setScale(2, RoundingMode.HALF_UP);
return roundedAverage.doubleValue();
}
private List<String> buildDateList(BusinessAlertBo businessAlertBo) {
List<String> resultList = new ArrayList<>();
String currentYear = String.valueOf(Calendar.getInstance().get(Calendar.YEAR));
@ -149,4 +184,8 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist
}
return resultList;
}
private List<String> getAiLabel(String postCode) {
return remoteLabelPostService.selectLabelByList(postCode,LoginHelper.getDeptId()).stream().map(RemoteAiLabelPostVo::getLabelEn).collect(Collectors.toList());
}
}

6
dk-modules/business/src/main/resources/mapper/business/BusinessAlertMapper.xml

@ -6,6 +6,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="searchSql">
and ba.handle_type != 'verify'
<if test="param.aiLabelEnList != null and param.aiLabelEnList.size > 0">
and ba.label_en in
<foreach collection="param.aiLabelEnList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.createTime != null and param.createTime != ''">
and DATE_FORMAT(ba.create_time,'%Y-%m') = DATE_FORMAT(#{param.createTime},'%Y-%m')
</if>

10
dk-modules/system/src/main/java/org/dromara/system/controller/system/SysDepartBoundaryController.java

@ -11,10 +11,14 @@ 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.dromara.system.domain.bo.SysDepartBoundaryBo;
import org.dromara.system.service.ISysDepartBoundaryService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* 部门区域
*/
@ -35,9 +39,9 @@ public class SysDepartBoundaryController extends BaseController {
*/
@Operation(summary ="查询部门的地理位置",description = "查询部门的地理位置")
@GetMapping(value = "/listJson")
public R<String> listJson(SysDepartBoundary departBoundary) {
departBoundary.setDeptId(String.valueOf(LoginHelper.getDeptId()));
String listJson = departBoundaryService.listJson(departBoundary);
public R<List<SysDepartBoundaryBo>> listJson(SysDepartBoundary departBoundary) {
// departBoundary.setDeptId(String.valueOf(LoginHelper.getDeptId()));
List<SysDepartBoundaryBo> listJson = departBoundaryService.listJson(departBoundary);
return R.ok("查询成功!",listJson);
}

9
dk-modules/system/src/main/java/org/dromara/system/controller/system/SysPostController.java

@ -76,13 +76,8 @@ public class SysPostController extends BaseController {
@SaCheckPermission("system:post:add")
@Log(title = "岗位管理-绑定标签", businessType = BusinessType.INSERT)
@PostMapping("/bindLable")
public void add(@Validated @RequestBody AiLablePostBindBo aiLablePostBindBo) {
for (Long labelId : aiLablePostBindBo.getLableIdList()) {
AiLabelPostBo ailablePost = new AiLabelPostBo();
ailablePost.setPostId(aiLablePostBindBo.getPostId());
ailablePost.setLableId(labelId);
aiLablePostService.insertByBo(ailablePost);
}
public R<Void> add(@Validated @RequestBody AiLablePostBindBo aiLablePostBindBo) {
return aiLablePostService.insertByBatchBo(aiLablePostBindBo)?R.ok():R.fail();
}
/**

10
dk-modules/system/src/main/java/org/dromara/system/controller/system/SysUserController.java

@ -222,6 +222,16 @@ public class SysUserController extends BaseController {
return R.ok(userService.selectUserByIds(userIds == null ? null : List.of(userIds), deptId));
}
/**
* 根据部门获取指派人员
*
* @param deptId 部门ID
*/
@GetMapping("/assign/list")
public R<List<SysUserVo>> assignUserSelect(@RequestParam(required = false) Long deptId) {
return R.ok(userService.assignUserSelect(deptId));
}
/**
* 重置密码
*/

2
dk-modules/system/src/main/java/org/dromara/system/domain/AiLabelPost.java

@ -20,7 +20,7 @@ public class AiLabelPost {
@Serial
private static final long serialVersionUID = 1L;
@TableId(value = "id")
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 标签id

3
dk-modules/system/src/main/java/org/dromara/system/domain/SysDepartBoundary.java

@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.util.List;
/**
* 部门区域边界表
@ -71,4 +72,6 @@ public class SysDepartBoundary extends BaseEntity {
/**删除状态(0,正常,1已删除)*/
private String delFlag;
private List<String> deptIds;
}

2
dk-modules/system/src/main/java/org/dromara/system/domain/bo/AiLabelPostBo.java

@ -26,7 +26,7 @@ public class AiLabelPostBo {
* 标签id
*/
@NotNull(message = "标签id不能为空", groups = { AddGroup.class , EditGroup.class })
private Long lableId;
private Long labelId;
/**
* 岗位id

33
dk-modules/system/src/main/java/org/dromara/system/domain/bo/SysDepartBoundaryBo.java

@ -0,0 +1,33 @@
package org.dromara.system.domain.bo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
@Data
public class SysDepartBoundaryBo {
private String departId;
/**
* 区域类别 1是市级 2是区级
*/
private AreaType areaType;
private String landCategoriesJson;
@AllArgsConstructor
@Getter
public enum AreaType {
Municipal("1","市级"),
DistrictLevel("2","区级");
private String code;
private String desc;
}
}

41
dk-modules/system/src/main/java/org/dromara/system/domain/vo/SysPostVo.java

@ -13,7 +13,7 @@ import org.dromara.system.domain.SysPost;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -90,4 +90,43 @@ public class SysPostVo implements Serializable {
@Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "deptId")
private String deptName;
/**
* 标签集合
*/
public List<AiLabelVo> labelList;
@Data
public static class AiLabelVo{
/**
* id
*/
private Long labelId;
/**
* 标签名-
*/
private String labelEn;
/**
* 标签名-
*/
private String labelCn;
/**
* 算法类型
*/
private String aiType;
/**
* 算法名称
*/
private String aiName;
private Long postId;
private String postName;
}
}

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

@ -60,4 +60,10 @@ public class RemoteDeptServiceImpl implements RemoteDeptService {
return BeanUtil.copyToList(deptVoList, RemoteDeptVo.class);
}
@Override
public RemoteDeptVo getByParentId(String deptId) {
SysDeptVo sysDeptVo = sysDeptService.getByParentId(deptId);
return BeanUtil.copyProperties(sysDeptVo, RemoteDeptVo.class);
}
}

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

@ -44,7 +44,7 @@ public class RemoteLabelPostServicelmpl implements RemoteLabelPostService {
return aiLabelList.stream()
.map(aiLabel -> {
RemoteAiLabelPostVo remoteAiLabelPostVo = new RemoteAiLabelPostVo();
remoteAiLabelPostVo.setLableId(aiLabel.getLabelId());
remoteAiLabelPostVo.setLabelId(aiLabel.getLabelId());
remoteAiLabelPostVo.setLabelEn(aiLabel.getLabelEn());
remoteAiLabelPostVo.setLabelCn(aiLabel.getLabelCn());
return remoteAiLabelPostVo;

3
dk-modules/system/src/main/java/org/dromara/system/mapper/SysDepartBoundaryMapper.java

@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
import org.dromara.system.domain.SysDepartBoundary;
import java.util.List;
import java.util.Map;
/**
* 部门 Mapper 接口
@ -23,6 +24,6 @@ public interface SysDepartBoundaryMapper extends BaseMapper<SysDepartBoundary> {
void saveBatchBoundary(@Param("list") List<SysDepartBoundary> boundaryList);
String listJson(@Param("param") SysDepartBoundary departBoundary);
String listJson(@Param("deptId") String deptId);
}

3
dk-modules/system/src/main/java/org/dromara/system/service/IAiLabelPostService.java

@ -2,6 +2,7 @@ package org.dromara.system.service;
import org.dromara.system.domain.AiLabelPost;
import org.dromara.system.domain.bo.AiLabelPostBo;
import org.dromara.system.domain.bo.AiLablePostBindBo;
import org.dromara.system.domain.vo.AiLabelPostVo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
@ -68,4 +69,6 @@ public interface IAiLabelPostService {
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
List<AiLabelPost> queryListByLabel(Long postId);
Boolean insertByBatchBo(AiLablePostBindBo aiLablePostBindBo);
}

4
dk-modules/system/src/main/java/org/dromara/system/service/ISysDepartBoundaryService.java

@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.system.domain.SysDepartBoundary;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.bo.SysDepartBoundaryBo;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
* 部门区域 服务实现类
@ -26,5 +28,5 @@ public interface ISysDepartBoundaryService extends IService<SysDepartBoundary>{
boolean addDepartBoundary(SysDepartBoundary departBoundary);
String listJson(SysDepartBoundary departBoundary);
List<SysDepartBoundaryBo> listJson(SysDepartBoundary departBoundary);
}

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

@ -152,4 +152,7 @@ public interface ISysDeptService {
* @return
*/
List<SysDeptVo> selectListByParentId(String deptId);
SysDeptVo getByParentId(String deptId);
}

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

@ -269,4 +269,6 @@ public interface ISysUserService {
List<Long> selectUserIdsByRoleIds(List<Long> roleIds);
List<SysUserVo> selectUserByUserIds(List<Long> userIds);
List<SysUserVo> assignUserSelect(Long deptId);
}

20
dk-modules/system/src/main/java/org/dromara/system/service/impl/AiLablePostServiceImpl.java

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.system.domain.AiLabelPost;
import org.dromara.system.domain.bo.AiLablePostBindBo;
import org.dromara.system.domain.vo.AiLabelPostVo;
import org.dromara.system.mapper.AiLabelMapper;
import org.springframework.stereotype.Service;
@ -16,6 +17,7 @@ import org.dromara.system.domain.bo.AiLabelPostBo;
import org.dromara.system.mapper.AiLabelPostMapper;
import org.dromara.system.service.IAiLabelPostService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
@ -87,11 +89,7 @@ public class AiLablePostServiceImpl implements IAiLabelPostService {
public Boolean insertByBo(AiLabelPostBo bo) {
AiLabelPost add = MapstructUtils.convert(bo, AiLabelPost.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setLableId(add.getLabelId());
}
return flag;
return baseMapper.insert(add) > 0;
}
/**
@ -137,4 +135,16 @@ public class AiLablePostServiceImpl implements IAiLabelPostService {
return this.baseMapper.selectList(wrapper);
}
@Override
public Boolean insertByBatchBo(AiLablePostBindBo aiLablePostBindBo) {
List<AiLabelPost> resultlist = new ArrayList<>();
for (Long labelId : aiLablePostBindBo.getLableIdList()) {
AiLabelPost ailabelPost = new AiLabelPost();
ailabelPost.setPostId(aiLablePostBindBo.getPostId());
ailabelPost.setLabelId(labelId);
resultlist.add(ailabelPost);
}
return this.baseMapper.insertBatch(resultlist);
}
}

17
dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDepartBoundaryServiceImpl.java

@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.system.api.domain.vo.RemoteDeptVo;
import org.dromara.system.domain.SysDepartBoundary;
import org.dromara.system.domain.SysGeospatialVectors;
import org.dromara.system.domain.SysVectorDict;
import org.dromara.system.domain.bo.SysDepartBoundaryBo;
import org.dromara.system.mapper.SysDepartBoundaryMapper;
import org.dromara.system.service.ISysDepartBoundaryService;
import org.dromara.system.service.ISysVectorDictService;
@ -173,12 +175,23 @@ public class SysDepartBoundaryServiceImpl extends ServiceImpl<SysDepartBoundaryM
}
@Override
public String listJson(SysDepartBoundary departBoundary) {
public List<SysDepartBoundaryBo> listJson(SysDepartBoundary departBoundary) {
if(StringUtils.isBlank(departBoundary.getDeptId())){
throw new ServiceException("部门【id】不存在");
}
return this.baseMapper.listJson(departBoundary);
SysDepartBoundaryBo child = new SysDepartBoundaryBo();
child.setDepartId(String.valueOf(departBoundary.getDeptId()));
child.setAreaType(SysDepartBoundaryBo.AreaType.DistrictLevel);
child.setLandCategoriesJson(this.baseMapper.listJson(departBoundary.getDeptId()));
RemoteDeptVo remoteDeptVo = remoteDeptService.getByParentId(departBoundary.getDeptId());
SysDepartBoundaryBo parent = new SysDepartBoundaryBo();
parent.setDepartId(String.valueOf(remoteDeptVo.getDeptId()));
parent.setAreaType(SysDepartBoundaryBo.AreaType.Municipal);
parent.setLandCategoriesJson(this.baseMapper.listJson(String.valueOf(remoteDeptVo.getDeptId())));
return List.of(child,parent);
}
@Override

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

@ -370,4 +370,15 @@ public class SysDeptServiceImpl implements ISysDeptService {
return BeanUtil.copyToList(resultList, SysDeptVo.class);
}
@Override
public SysDeptVo getByParentId(String deptId) {
SysDeptVo sysDeptVo = this.selectDeptById(Long.parseLong(deptId));
SysDept sysDept = baseMapper.selectOne(new LambdaQueryWrapper<SysDept>()
.select(SysDept::getDeptId, SysDept::getDeptName, SysDept::getParentId)
.eq(SysDept::getDeptId, sysDeptVo.getParentId()));
return BeanUtil.copyProperties(sysDept, SysDeptVo.class);
}
}

21
dk-modules/system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.constant.UserConstants;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
@ -14,6 +15,8 @@ import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.helper.DataBaseHelper;
import org.dromara.system.api.RemoteLabelPostService;
import org.dromara.system.api.domain.vo.RemoteAiLabelPostVo;
import org.dromara.system.domain.SysDept;
import org.dromara.system.domain.SysPost;
import org.dromara.system.domain.SysUserPost;
@ -44,9 +47,27 @@ public class SysPostServiceImpl implements ISysPostService {
private final SysDeptMapper deptMapper;
private final SysUserPostMapper userPostMapper;
@DubboReference
private RemoteLabelPostService remoteLabelPostService;
@Override
public TableDataInfo<SysPostVo> selectPagePostList(SysPostBo post, PageQuery pageQuery) {
Page<SysPostVo> page = baseMapper.selectPagePostList(pageQuery.build(), buildQueryWrapper(post));
page.getRecords().forEach(sysPostVo -> {
List<RemoteAiLabelPostVo> postVoList = remoteLabelPostService.selectLabelByList(sysPostVo.getPostCode(), sysPostVo.getDeptId());
sysPostVo.setLabelList(postVoList.stream()
.map(aiLabel -> {
SysPostVo.AiLabelVo aiLabelVo = new SysPostVo.AiLabelVo();
aiLabelVo.setLabelId(aiLabel.getLabelId());
aiLabelVo.setLabelEn(aiLabel.getLabelEn());
aiLabelVo.setLabelCn(aiLabel.getLabelCn());
aiLabelVo.setPostId(aiLabel.getPostId());
return aiLabelVo;
})
.toList());
});
return TableDataInfo.build(page);
}

10
dk-modules/system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java

@ -566,6 +566,16 @@ public class SysUserServiceImpl implements ISysUserService {
.in(CollUtil.isNotEmpty(userIds), SysUser::getUserId, userIds));
}
@Override
public List<SysUserVo> assignUserSelect(Long deptId) {
List<SysDept> departList = deptMapper.selectListByParentId(deptId);
List<Long> departIdList = departList.stream().map(SysDept::getDeptId).toList();
return baseMapper.selectUserList(new LambdaQueryWrapper<SysUser>()
.select(SysUser::getUserId, SysUser::getUserName, SysUser::getNickName, SysUser::getEmail, SysUser::getPhonenumber).eq(SysUser::getStatus, UserConstants.USER_NORMAL)
.in(ObjectUtil.isNotNull(departIdList), SysUser::getDeptId, departIdList));
}
/**
* 通过用户ID查询用户账户
*

2
dk-modules/system/src/main/resources/mapper/system/SysDepartBoundaryMapper.xml

@ -141,7 +141,7 @@
sys_depart_boundary l
LEFT JOIN sys_dept d ON l.dept_id = d.dept_id
WHERE
d.dept_id = #{param.deptId}
d.dept_id = #{deptId}
</select>
</mapper>

Loading…
Cancel
Save