Browse Source

[feat]修复工作流相关逻辑

pull/1/head
杨威 4 months ago
parent
commit
2f0a4507dc
  1. 2
      dk-api/api-system/src/main/java/org/dromara/system/api/domain/vo/RemoteTaskAssigneeVo.java
  2. 5
      dk-common/common-mybatis/src/main/java/org/dromara/common/mybatis/core/page/PageQuery.java
  3. 99
      dk-modules/business/src/main/java/org/dromara/business/controller/WaylineAlertController.java
  4. 202
      dk-modules/business/src/main/java/org/dromara/business/domain/WaylineAlert.java
  5. 226
      dk-modules/business/src/main/java/org/dromara/business/domain/bo/WaylineAlertBo.java
  6. 229
      dk-modules/business/src/main/java/org/dromara/business/domain/vo/WaylineAlertVo.java
  7. 18
      dk-modules/business/src/main/java/org/dromara/business/mapper/WaylineAlertMapper.java
  8. 78
      dk-modules/business/src/main/java/org/dromara/business/service/IWaylineAlertService.java
  9. 141
      dk-modules/business/src/main/java/org/dromara/business/service/impl/WaylineAlertServiceImpl.java
  10. 51
      dk-modules/business/src/main/resources/mapper/business/WaylineAlertMapper.xml
  11. 170
      dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteTaskAssigneeServiceImpl.java
  12. 26
      dk-modules/system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java
  13. 11
      dk-modules/system/src/main/resources/mapper/system/SysDeptMapper.xml
  14. 2
      dk-modules/workflow/pom.xml
  15. 2
      dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwDefinitionController.java
  16. 12
      dk-modules/workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java
  17. 2
      dk-modules/workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java
  18. 4
      dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java
  19. 1
      dk-modules/workflow/src/main/resources/warm-flow-ui/css/index-Dcqqxojt.css
  20. BIN
      dk-modules/workflow/src/main/resources/warm-flow-ui/ico/favicon-FqvijpIH.ico
  21. 216
      dk-modules/workflow/src/main/resources/warm-flow-ui/index.html
  22. 212
      dk-modules/workflow/src/main/resources/warm-flow-ui/js/index-iDzH0SQw.js
  23. 19
      pom.xml

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

@ -70,7 +70,7 @@ public class RemoteTaskAssigneeVo implements Serializable {
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class TaskHandler {
public static class TaskHandler implements Serializable {
/**
* 主键

5
dk-common/common-mybatis/src/main/java/org/dromara/common/mybatis/core/page/PageQuery.java

@ -119,4 +119,9 @@ public class PageQuery implements Serializable {
return (pageNum - 1) * pageSize;
}
public PageQuery(Integer pageSize, Integer pageNum) {
this.pageSize = pageSize;
this.pageNum = pageNum;
}
}

99
dk-modules/business/src/main/java/org/dromara/business/controller/WaylineAlertController.java

@ -0,0 +1,99 @@
package org.dromara.business.controller;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.business.domain.bo.WaylineAlertBo;
import org.dromara.business.domain.vo.WaylineAlertVo;
import org.dromara.business.service.IWaylineAlertService;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
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.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 预警任务
*
* @author LionLi
* @date 2025-02-27
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/alert/task")
public class WaylineAlertController extends BaseController {
private final IWaylineAlertService waylineAlertService;
/**
* 查询预警任务列表
*/
@GetMapping("/page")
public TableDataInfo<WaylineAlertVo> pageWaylineAlert(WaylineAlertBo bo, PageQuery pageQuery) {
return waylineAlertService.pageWaylineAlert(bo, pageQuery);
}
/**
* 获取预警任务详细信息
*
* @param alertId 主键
*/
@GetMapping("/{alertId}")
public R<WaylineAlertVo> getWaylineAlert(@NotNull(message = "主键不能为空")
@PathVariable String alertId) {
return R.ok(waylineAlertService.getWaylineAlert(alertId));
}
/**
* 新增预警任务
*/
@Log(title = "预警任务", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping("/add")
public R<Void> addWaylineAlert(@Validated(AddGroup.class) @RequestBody WaylineAlertBo param) {
return toAjax(waylineAlertService.addWaylineAlert(param));
}
/**
* 修改预警任务
*/
@Log(title = "预警任务", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/update")
public R<Void> updateWaylineAlert(@Validated(EditGroup.class) @RequestBody WaylineAlertBo bo) {
return toAjax(waylineAlertService.updateWaylineAlert(bo));
}
/**
* 删除预警任务
*
* @param alertIdList 主键串
*/
@Log(title = "预警任务", businessType = BusinessType.DELETE)
@DeleteMapping("/delete")
public R<Void> deleteWaylineAlert(@NotEmpty(message = "主键不能为空")
@RequestParam List<String> alertIdList) {
return toAjax(waylineAlertService.deleteWaylineAlert(alertIdList, true));
}
/**
* 导出预警任务列表
*/
@Log(title = "预警任务", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void exportWaylineAlert(WaylineAlertBo bo, HttpServletResponse response) {
List<WaylineAlertVo> list = waylineAlertService.listWaylineAlert(bo);
ExcelUtil.exportExcel(list, "预警任务", WaylineAlertVo.class, response);
}
}

202
dk-modules/business/src/main/java/org/dromara/business/domain/WaylineAlert.java

@ -0,0 +1,202 @@
package org.dromara.business.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 预警任务对象 wayline_alert
*
* @author LionLi
* @date 2025-02-27
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wayline_alert")
public class WaylineAlert extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private String id;
/**
* 任务轮id
*/
private String wheelId;
/**
* 媒体id
*/
private String taskId;
/**
* 图片id
*/
private String taskImageId;
/**
* 处理原因
*/
private String reason;
/**
* 图片文件
*/
private String images;
/**
* 纬度
*/
private Long lat;
/**
* 精度
*/
private Long lng;
/**
* 任务类型
*/
private String taskHandleType;
/**
* 任务内容
*/
private String taskContent;
/**
* 完成时间
*/
private Date completeDate;
/**
* 删除 0 正常 1已删除
*/
@TableLogic
private Long delFlag;
/**
* 模板图片
*/
private String mateSourceImgUrl;
/**
* 放大模板违建区域图片
*/
private String maxMateSourceImgUrl;
/**
* 放大违建区域图片
*/
private String maxImages;
/**
* 面积
*/
private Long area;
/**
* 面积
*/
private Long areaL;
/**
* 面积
*/
private Long areaW;
/**
* 0:验证
*/
private Long handleInType;
/**
* 是否违建 01
*/
private Long isIllegal;
/**
* 部门id
*/
private String deptId;
/**
* 部门名称
*/
private String deptName;
/**
* 预警名称
*/
private String jobName;
/**
* 处理时间
*/
private Date handleTime;
/**
* 其他内容
*/
private String taskHandle;
/**
* 平台类型
*/
private String platformType;
/**
* 像素坐标
*/
private String pixelCoordinate;
/**
* 当前位置预警数量
*/
private Long handleNum;
/**
* 国土所备注
*/
private String territoryRemark;
/**
* 地类信息数据
*/
private String landCategories;
/**
* 相关文件
*/
private String territoryUrl;
/**
* 图片
*/
private String territoryPath;
/**
* 忽略原因
*/
private String ignoringCause;
/**
* 来源0平台 1小程序
*/
private Long handleSource;
}

226
dk-modules/business/src/main/java/org/dromara/business/domain/bo/WaylineAlertBo.java

@ -0,0 +1,226 @@
package org.dromara.business.domain.bo;
import org.dromara.business.domain.WaylineAlert;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
/**
* 预警任务业务对象 wayline_alert
*
* @author LionLi
* @date 2025-02-27
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = WaylineAlert.class, reverseConvertGenerate = false)
public class WaylineAlertBo extends BaseEntity {
/**
*
*/
@NotBlank(message = "不能为空", groups = { EditGroup.class })
private String id;
/**
* 任务轮id
*/
@NotBlank(message = "任务轮id不能为空", groups = { AddGroup.class, EditGroup.class })
private String wheelId;
/**
* 媒体id
*/
@NotBlank(message = "媒体id不能为空", groups = { AddGroup.class, EditGroup.class })
private String taskId;
/**
* 图片id
*/
@NotBlank(message = "图片id不能为空", groups = { AddGroup.class, EditGroup.class })
private String taskImageId;
/**
* 处理原因
*/
@NotBlank(message = "处理原因不能为空", groups = { AddGroup.class, EditGroup.class })
private String reason;
/**
* 图片文件
*/
@NotBlank(message = "图片文件不能为空", groups = { AddGroup.class, EditGroup.class })
private String images;
/**
* 纬度
*/
@NotNull(message = "纬度不能为空", groups = { AddGroup.class, EditGroup.class })
private Long lat;
/**
* 精度
*/
@NotNull(message = "精度不能为空", groups = { AddGroup.class, EditGroup.class })
private Long lng;
/**
* 任务类型
*/
@NotBlank(message = "任务类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String taskHandleType;
/**
* 任务内容
*/
@NotBlank(message = "任务内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String taskContent;
/**
* 完成时间
*/
@NotNull(message = "完成时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date completeDate;
/**
* 模板图片
*/
@NotBlank(message = "模板图片不能为空", groups = { AddGroup.class, EditGroup.class })
private String mateSourceImgUrl;
/**
* 放大模板违建区域图片
*/
@NotBlank(message = "放大模板违建区域图片不能为空", groups = { AddGroup.class, EditGroup.class })
private String maxMateSourceImgUrl;
/**
* 放大违建区域图片
*/
@NotBlank(message = "放大违建区域图片不能为空", groups = { AddGroup.class, EditGroup.class })
private String maxImages;
/**
* 面积
*/
@NotNull(message = "面积不能为空", groups = { AddGroup.class, EditGroup.class })
private Long area;
/**
* 面积
*/
@NotNull(message = "面积:长不能为空", groups = { AddGroup.class, EditGroup.class })
private Long areaL;
/**
* 面积
*/
@NotNull(message = "面积:宽不能为空", groups = { AddGroup.class, EditGroup.class })
private Long areaW;
/**
* 0:验证
*/
@NotNull(message = "0:验证", groups = { AddGroup.class, EditGroup.class })
private Long handleInType;
/**
* 是否违建 01
*/
@NotNull(message = "是否违建 0:否,1:是不能为空", groups = { AddGroup.class, EditGroup.class })
private Long isIllegal;
/**
* 部门id
*/
@NotBlank(message = "部门id不能为空", groups = { AddGroup.class, EditGroup.class })
private String deptId;
/**
* 部门名称
*/
@NotBlank(message = "部门名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String deptName;
/**
* 预警名称
*/
@NotBlank(message = "预警名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String jobName;
/**
* 处理时间
*/
@NotNull(message = "处理时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date handleTime;
/**
* 其他内容
*/
@NotBlank(message = "其他:内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String taskHandle;
/**
* 平台类型
*/
@NotBlank(message = "平台类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String platformType;
/**
* 像素坐标
*/
@NotBlank(message = "像素坐标不能为空", groups = { AddGroup.class, EditGroup.class })
private String pixelCoordinate;
/**
* 当前位置预警数量
*/
@NotNull(message = "当前位置预警数量不能为空", groups = { AddGroup.class, EditGroup.class })
private Long handleNum;
/**
* 国土所备注
*/
@NotBlank(message = "国土所备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String territoryRemark;
/**
* 地类信息数据
*/
@NotBlank(message = "地类信息数据不能为空", groups = { AddGroup.class, EditGroup.class })
private String landCategories;
/**
* 相关文件
*/
@NotBlank(message = "相关文件不能为空", groups = { AddGroup.class, EditGroup.class })
private String territoryUrl;
/**
* 图片
*/
@NotBlank(message = "图片不能为空", groups = { AddGroup.class, EditGroup.class })
private String territoryPath;
/**
* 忽略原因
*/
@NotBlank(message = "忽略原因不能为空", groups = { AddGroup.class, EditGroup.class })
private String ignoringCause;
/**
* 来源0平台 1小程序
*/
@NotNull(message = "来源:0:平台 1:小程序不能为空", groups = { AddGroup.class, EditGroup.class })
private Long handleSource;
}

229
dk-modules/business/src/main/java/org/dromara/business/domain/vo/WaylineAlertVo.java

@ -0,0 +1,229 @@
package org.dromara.business.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.business.domain.WaylineAlert;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 预警任务视图对象 wayline_alert
*
* @author LionLi
* @date 2025-02-27
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = WaylineAlert.class)
public class WaylineAlertVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private String id;
/**
* 任务轮id
*/
@ExcelProperty(value = "任务轮id")
private String wheelId;
/**
* 媒体id
*/
@ExcelProperty(value = "媒体id")
private String taskId;
/**
* 图片id
*/
@ExcelProperty(value = "图片id")
private String taskImageId;
/**
* 处理原因
*/
@ExcelProperty(value = "处理原因")
private String reason;
/**
* 图片文件
*/
@ExcelProperty(value = "图片文件")
private String images;
/**
* 纬度
*/
@ExcelProperty(value = "纬度")
private Long lat;
/**
* 精度
*/
@ExcelProperty(value = "精度")
private Long lng;
/**
* 任务类型
*/
@ExcelProperty(value = "任务类型")
private String taskHandleType;
/**
* 任务内容
*/
@ExcelProperty(value = "任务内容")
private String taskContent;
/**
* 完成时间
*/
@ExcelProperty(value = "完成时间")
private Date completeDate;
/**
* 模板图片
*/
@ExcelProperty(value = "模板图片")
private String mateSourceImgUrl;
/**
* 放大模板违建区域图片
*/
@ExcelProperty(value = "放大模板违建区域图片")
private String maxMateSourceImgUrl;
/**
* 放大违建区域图片
*/
@ExcelProperty(value = "放大违建区域图片")
private String maxImages;
/**
* 面积
*/
@ExcelProperty(value = "面积")
private Long area;
/**
* 面积
*/
@ExcelProperty(value = "面积:长")
private Long areaL;
/**
* 面积
*/
@ExcelProperty(value = "面积:宽")
private Long areaW;
/**
* 0:验证
*/
@ExcelProperty(value = "0:验证")
private Long handleInType;
/**
* 是否违建 01
*/
@ExcelProperty(value = "是否违建 0:否,1:是")
private Long isIllegal;
/**
* 部门id
*/
@ExcelProperty(value = "部门id")
private String deptId;
/**
* 部门名称
*/
@ExcelProperty(value = "部门名称")
private String deptName;
/**
* 预警名称
*/
@ExcelProperty(value = "预警名称")
private String jobName;
/**
* 处理时间
*/
@ExcelProperty(value = "处理时间")
private Date handleTime;
/**
* 其他内容
*/
@ExcelProperty(value = "其他:内容")
private String taskHandle;
/**
* 平台类型
*/
@ExcelProperty(value = "平台类型")
private String platformType;
/**
* 像素坐标
*/
@ExcelProperty(value = "像素坐标")
private String pixelCoordinate;
/**
* 当前位置预警数量
*/
@ExcelProperty(value = "当前位置预警数量")
private Long handleNum;
/**
* 国土所备注
*/
@ExcelProperty(value = "国土所备注")
private String territoryRemark;
/**
* 地类信息数据
*/
@ExcelProperty(value = "地类信息数据")
private String landCategories;
/**
* 相关文件
*/
@ExcelProperty(value = "相关文件")
private String territoryUrl;
/**
* 图片
*/
@ExcelProperty(value = "图片")
private String territoryPath;
/**
* 忽略原因
*/
@ExcelProperty(value = "忽略原因")
private String ignoringCause;
/**
* 来源0平台 1小程序
*/
@ExcelProperty(value = "来源:0:平台 1:小程序")
private Long handleSource;
}

18
dk-modules/business/src/main/java/org/dromara/business/mapper/WaylineAlertMapper.java

@ -0,0 +1,18 @@
package org.dromara.business.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.business.domain.WaylineAlert;
import org.dromara.business.domain.vo.WaylineAlertVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 预警任务Mapper接口
*
* @author LionLi
* @date 2025-02-27
*/
public interface WaylineAlertMapper extends BaseMapperPlus<WaylineAlert, WaylineAlertVo> {
Page<WaylineAlertVo> pageAlert(Page<WaylineAlertVo> page, LambdaQueryWrapper<WaylineAlert> lqw);
}

78
dk-modules/business/src/main/java/org/dromara/business/service/IWaylineAlertService.java

@ -0,0 +1,78 @@
package org.dromara.business.service;
import org.dromara.business.domain.WaylineAlert;
import org.dromara.business.domain.vo.WaylineAlertVo;
import org.dromara.business.domain.bo.WaylineAlertBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 预警任务Service接口
*
* @author LionLi
* @date 2025-02-27
*/
public interface IWaylineAlertService {
/**
* 查询预警任务
*
* @param id 主键
* @return 预警任务
*/
WaylineAlertVo getWaylineAlert(String id);
/**
* 分页查询预警任务列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 预警任务分页列表
*/
TableDataInfo<WaylineAlertVo> pageWaylineAlert(WaylineAlertBo bo, PageQuery pageQuery);
/**
* 查询符合条件的预警任务列表
*
* @param param 查询条件
* @return 预警任务列表
*/
List<WaylineAlertVo> listWaylineAlert(WaylineAlertBo param);
/**
* 新增预警任务
*
* @param param 预警任务
* @return 是否新增成功
*/
Boolean addWaylineAlert(WaylineAlertBo param);
/**
* 批量新增预警任务
*
* @param alertList 预警任务
* @return 是否新增成功
*/
Boolean saveBatchAlert(List<WaylineAlert> alertList);
/**
* 修改预警任务
*
* @param param 预警任务
* @return 是否修改成功
*/
Boolean updateWaylineAlert(WaylineAlertBo param);
/**
* 校验并批量删除预警任务信息
*
* @param alertIdList 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWaylineAlert(List<String> alertIdList, Boolean isValid);
}

141
dk-modules/business/src/main/java/org/dromara/business/service/impl/WaylineAlertServiceImpl.java

@ -0,0 +1,141 @@
package org.dromara.business.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.dromara.business.domain.WaylineAlert;
import org.dromara.business.domain.bo.WaylineAlertBo;
import org.dromara.business.domain.vo.WaylineAlertVo;
import org.dromara.business.mapper.WaylineAlertMapper;
import org.dromara.business.service.IWaylineAlertService;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 预警任务Service业务层处理
*
* @author LionLi
* @date 2025-02-27
*/
@RequiredArgsConstructor
@Service
public class WaylineAlertServiceImpl implements IWaylineAlertService {
private final WaylineAlertMapper baseMapper;
/**
* 查询预警任务
*
* @param id 主键
* @return 预警任务
*/
@Override
public WaylineAlertVo getWaylineAlert(String id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询预警任务列表
*
* @param param 查询条件
* @param pageQuery 分页参数
* @return 预警任务分页列表
*/
@Override
public TableDataInfo<WaylineAlertVo> pageWaylineAlert(WaylineAlertBo param, PageQuery pageQuery) {
LambdaQueryWrapper<WaylineAlert> lqw = buildQueryWrapper(param);
Page<WaylineAlertVo> result = baseMapper.pageAlert(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的预警任务列表
*
* @param param 查询条件
* @return 预警任务列表
*/
@Override
public List<WaylineAlertVo> listWaylineAlert(WaylineAlertBo param) {
LambdaQueryWrapper<WaylineAlert> lqw = buildQueryWrapper(param);
return baseMapper.selectVoList(lqw);
}
/**
* 新增预警任务
*
* @param param 预警任务
* @return 是否新增成功
*/
@Override
public Boolean addWaylineAlert(WaylineAlertBo param) {
WaylineAlert alert = MapstructUtils.convert(param, WaylineAlert.class);
validEntityBeforeSave(alert,false);
return this.baseMapper.insert(alert) > 0;
}
/**
* 批量添加
* @param alertList 预警任务
* @return
*/
@Override
public Boolean saveBatchAlert(List<WaylineAlert> alertList) {
return this.baseMapper.insertBatch(alertList);
}
/**
* 修改预警任务
*
* @param param 预警任务
* @return 是否修改成功
*/
@Override
public Boolean updateWaylineAlert(WaylineAlertBo param) {
WaylineAlert alert = MapstructUtils.convert(param, WaylineAlert.class);
validEntityBeforeSave(alert,true);
return baseMapper.updateById(alert) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WaylineAlert alert,Boolean validId){
if (ObjectUtil.isEmpty(alert.getId())){
throw new ServiceException("预警【Id】为空!");
}
}
/**
* 校验并批量删除预警任务信息
*
* @param alertIdList 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWaylineAlert(List<String> alertIdList, Boolean isValid) {
if(isValid){
if (ObjectUtil.isEmpty(alertIdList)){
throw new ServiceException("预警Id为空!");
}
}
return baseMapper.deleteByIds(alertIdList) > 0;
}
private LambdaQueryWrapper<WaylineAlert> buildQueryWrapper(WaylineAlertBo bo) {
LambdaQueryWrapper<WaylineAlert> wrapper = Wrappers.lambdaQuery();
wrapper.orderByAsc(WaylineAlert::getCreateTime);
return wrapper;
}
}

51
dk-modules/business/src/main/resources/mapper/business/WaylineAlertMapper.xml

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.business.mapper.WaylineAlertMapper">
<select id="pageAlert" resultType="org.dromara.business.domain.vo.WaylineAlertVo">
select
id,
wheel_id,
task_id,
task_image_id,
reason,
images,
lat,
lng,
task_handle_type,
task_content,
complete_date,
handle_type,
del_flag,
mate_source_img_url,
max_mate_source_img_url,
max_images,
area,
area_l,
area_w,
handle_in_type,
is_illegal,
dept_id,
dept_name,
job_name,
handle_time,
task_handle,
platform_type,
pixel_coordinate,
handle_num,
territory_remark,
land_categories,
territory_url,
territory_path,
ignoring_cause,
handle_source,
create_by,
create_time
from wayline_alert
${ew.customSqlSegment}
</select>
</mapper>

170
dk-modules/system/src/main/java/org/dromara/system/dubbo/RemoteTaskAssigneeServiceImpl.java

@ -0,0 +1,170 @@
package org.dromara.system.dubbo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.constant.SystemConstants;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.system.api.RemoteTaskAssigneeService;
import org.dromara.system.api.domain.bo.RemoteTaskAssigneeBo;
import org.dromara.system.api.domain.vo.RemoteTaskAssigneeVo;
import org.dromara.system.domain.SysDept;
import org.dromara.system.domain.SysPost;
import org.dromara.system.domain.SysRole;
import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.domain.vo.SysPostVo;
import org.dromara.system.domain.vo.SysRoleVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.mapper.SysDeptMapper;
import org.dromara.system.mapper.SysPostMapper;
import org.dromara.system.mapper.SysRoleMapper;
import org.dromara.system.mapper.SysUserMapper;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 工作流设计器获取任务执行人
*
* @author Lion Li
*/
@RequiredArgsConstructor
@Service
@DubboService
public class RemoteTaskAssigneeServiceImpl implements RemoteTaskAssigneeService {
private final SysPostMapper postMapper;
private final SysDeptMapper deptMapper;
private final SysUserMapper userMapper;
private final SysRoleMapper roleMapper;
/**
* 查询角色并返回任务指派的列表支持分页
*
* @param taskQuery 查询条件
* @return 办理人
*/
@Override
public RemoteTaskAssigneeVo selectRolesByTaskAssigneeList(RemoteTaskAssigneeBo taskQuery) {
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
QueryWrapper<SysRole> wrapper = Wrappers.query();
wrapper.eq("r.del_flag", SystemConstants.NORMAL)
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), "r.role_name", taskQuery.getHandlerCode())
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), "r.role_key", taskQuery.getHandlerName())
.between(StringUtils.isNotBlank(taskQuery.getBeginTime()) && StringUtils.isNotBlank(taskQuery.getEndTime()),
"r.create_time", taskQuery.getBeginTime(), taskQuery.getEndTime())
.orderByAsc("r.role_sort").orderByAsc("r.create_time");
Page<SysRoleVo> page = roleMapper.selectPageRoleList(pageQuery.build(), wrapper);
// 使用封装的字段映射方法进行转换
List<RemoteTaskAssigneeVo.TaskHandler> handlers = RemoteTaskAssigneeVo.convertToHandlerList(page.getRecords(),
SysRoleVo::getRoleId, SysRoleVo::getRoleKey, SysRoleVo::getRoleName, null, SysRoleVo::getCreateTime);
return new RemoteTaskAssigneeVo(page.getTotal(), handlers);
}
/**
* 查询岗位并返回任务指派的列表支持分页
*
* @param taskQuery 查询条件
* @return 办理人
*/
@Override
public RemoteTaskAssigneeVo selectPostsByTaskAssigneeList(RemoteTaskAssigneeBo taskQuery) {
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
LambdaQueryWrapper<SysPost> wrapper = Wrappers.<SysPost>lambdaQuery()
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), SysPost::getPostCategory, taskQuery.getHandlerCode())
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), SysPost::getPostName, taskQuery.getHandlerName())
.between(StringUtils.isNotBlank(taskQuery.getBeginTime()) && StringUtils.isNotBlank(taskQuery.getEndTime()),
SysPost::getCreateTime, taskQuery.getBeginTime(), taskQuery.getEndTime());
if (StringUtils.isNotBlank(taskQuery.getGroupId())) {
Long belongDeptId = Long.valueOf(taskQuery.getGroupId());
wrapper.and(x -> {
List<SysDept> deptList = deptMapper.selectListByParentId(belongDeptId);
List<Long> deptIds = StreamUtils.toList(deptList, SysDept::getDeptId);
deptIds.add(belongDeptId);
x.in(SysPost::getDeptId, deptIds);
});
}
Page<SysPostVo> page = postMapper.selectPagePostList(pageQuery.build(), wrapper);
// 使用封装的字段映射方法进行转换
List<RemoteTaskAssigneeVo.TaskHandler> handlers = RemoteTaskAssigneeVo.convertToHandlerList(page.getRecords(),
SysPostVo::getPostId, SysPostVo::getPostCategory, SysPostVo::getPostName, SysPostVo::getDeptId, SysPostVo::getCreateTime);
return new RemoteTaskAssigneeVo(page.getTotal(), handlers);
}
/**
* 查询部门并返回任务指派的列表支持分页
*
* @param taskQuery 查询条件
* @return 办理人
*/
@Override
public RemoteTaskAssigneeVo selectDeptsByTaskAssigneeList(RemoteTaskAssigneeBo taskQuery) {
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
LambdaQueryWrapper<SysDept> wrapper = Wrappers.<SysDept>lambdaQuery()
.eq(SysDept::getDelFlag, SystemConstants.NORMAL)
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), SysDept::getDeptCategory, taskQuery.getHandlerCode())
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), SysDept::getDeptName, taskQuery.getHandlerName())
.between(StringUtils.isNotBlank(taskQuery.getBeginTime()) && StringUtils.isNotBlank(taskQuery.getEndTime()),
SysDept::getCreateTime, taskQuery.getBeginTime(), taskQuery.getEndTime())
.orderByAsc(SysDept::getAncestors)
.orderByAsc(SysDept::getParentId)
.orderByAsc(SysDept::getOrderNum)
.orderByAsc(SysDept::getDeptId);
if (StringUtils.isNotBlank(taskQuery.getGroupId())) {
//部门树搜索
wrapper.and(x -> {
Long parentId = Long.valueOf(taskQuery.getGroupId());
List<SysDept> deptList = deptMapper.selectListByParentId(parentId);
List<Long> deptIds = StreamUtils.toList(deptList, SysDept::getDeptId);
deptIds.add(parentId);
x.in(SysDept::getDeptId, deptIds);
});
}
Page<SysDeptVo> page = deptMapper.selectPageDeptList(pageQuery.build(), wrapper);
// 使用封装的字段映射方法进行转换
List<RemoteTaskAssigneeVo.TaskHandler> handlers = RemoteTaskAssigneeVo.convertToHandlerList(page.getRecords(),
SysDeptVo::getDeptId, SysDeptVo::getDeptCategory, SysDeptVo::getDeptName, SysDeptVo::getParentId, SysDeptVo::getCreateTime);
return new RemoteTaskAssigneeVo(page.getTotal(), handlers);
}
/**
* 查询用户并返回任务指派的列表支持分页
*
* @param taskQuery 查询条件
* @return 办理人
*/
@Override
public RemoteTaskAssigneeVo selectUsersByTaskAssigneeList(RemoteTaskAssigneeBo taskQuery) {
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
QueryWrapper<SysUser> wrapper = Wrappers.query();
wrapper.eq("u.del_flag", SystemConstants.NORMAL)
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), "u.user_name", taskQuery.getHandlerCode())
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), "u.nick_name", taskQuery.getHandlerName())
.between(taskQuery.getBeginTime() != null && taskQuery.getEndTime() != null,
"u.create_time", taskQuery.getBeginTime(), taskQuery.getEndTime())
.orderByAsc("u.user_id");
if (StringUtils.isNotBlank(taskQuery.getGroupId())) {
//部门树搜索
wrapper.and(x -> {
Long parentId = Long.valueOf(taskQuery.getGroupId());
List<SysDept> deptList = deptMapper.selectListByParentId(parentId);
List<Long> deptIds = StreamUtils.toList(deptList, SysDept::getDeptId);
deptIds.add(parentId);
x.in("u.dept_id", deptIds);
});
}
Page<SysUserVo> page = userMapper.selectPageUserList(pageQuery.build(), wrapper);
// 使用封装的字段映射方法进行转换
List<RemoteTaskAssigneeVo.TaskHandler> handlers = RemoteTaskAssigneeVo.convertToHandlerList(page.getRecords(),
SysUserVo::getUserId, SysUserVo::getUserName, SysUserVo::getNickName, SysUserVo::getDeptId, SysUserVo::getCreateTime);
return new RemoteTaskAssigneeVo(page.getTotal(), handlers);
}
}

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

@ -1,10 +1,13 @@
package org.dromara.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.common.mybatis.annotation.DataColumn;
import org.dromara.common.mybatis.annotation.DataPermission;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.helper.DataBaseHelper;
import org.dromara.system.domain.SysDept;
import org.dromara.system.domain.vo.SysDeptVo;
import org.apache.ibatis.annotations.Param;
@ -43,4 +46,27 @@ public interface SysDeptMapper extends BaseMapperPlus<SysDept, SysDeptVo> {
*/
List<Long> selectDeptListByRoleId(@Param("roleId") Long roleId, @Param("deptCheckStrictly") boolean deptCheckStrictly);
/**
* 根据父部门ID查询其所有子部门的列表
*
* @param parentId 父部门ID
* @return 包含子部门的列表
*/
default List<SysDept> selectListByParentId(Long parentId) {
return this.selectList(new LambdaQueryWrapper<SysDept>()
.select(SysDept::getDeptId)
.apply(DataBaseHelper.findInSet(parentId, "ancestors")));
}
/**
* 分页查询部门管理数据
*
* @param queryWrapper 查询条件
* @return 部门信息集合
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
})
Page<SysDeptVo> selectPageDeptList(@Param("page") Page<SysDeptVo> page, @Param(Constants.WRAPPER) Wrapper<SysDept> queryWrapper);
}

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

@ -33,4 +33,15 @@
order by d.parent_id, d.order_num
</select>
<select id="selectPageDeptList" resultMap="SysDeptResult">
select
<if test="ew.getSqlSelect != null">
${ew.getSqlSelect}
</if>
<if test="ew.getSqlSelect == null">
*
</if>
from sys_dept ${ew.getCustomSqlSegment}
</select>
</mapper>

2
dk-modules/workflow/pom.xml

@ -77,12 +77,10 @@
<dependency>
<groupId>org.dromara.warm</groupId>
<artifactId>warm-flow-mybatis-plus-sb3-starter</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.dromara.warm</groupId>
<artifactId>warm-flow-plugin-ui-sb-web</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>

2
dk-modules/workflow/src/main/java/org/dromara/workflow/controller/FlwDefinitionController.java

@ -28,7 +28,7 @@ import java.util.List;
*
* @author may
*/
@ConditionalOnEnable
@Validated
@RequiredArgsConstructor
@RestController

12
dk-modules/workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java

@ -42,7 +42,7 @@ public class TestLeaveController extends BaseController {
/**
* 查询请假列表
*/
@SaCheckPermission("workflow:leave:list")
// @SaCheckPermission("workflow:leave:list")
@GetMapping("/list")
public TableDataInfo<TestLeaveVo> list(TestLeaveBo bo, PageQuery pageQuery) {
return testLeaveService.queryPageList(bo, pageQuery);
@ -51,7 +51,7 @@ public class TestLeaveController extends BaseController {
/**
* 导出请假列表
*/
@SaCheckPermission("workflow:leave:export")
// @SaCheckPermission("workflow:leave:export")
@Log(title = "请假", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TestLeaveBo bo, HttpServletResponse response) {
@ -64,7 +64,7 @@ public class TestLeaveController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("workflow:leave:query")
// @SaCheckPermission("workflow:leave:query")
@GetMapping("/{id}")
public R<TestLeaveVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@ -74,7 +74,7 @@ public class TestLeaveController extends BaseController {
/**
* 新增请假
*/
@SaCheckPermission("workflow:leave:add")
// @SaCheckPermission("workflow:leave:add")
@Log(title = "请假", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@ -85,7 +85,7 @@ public class TestLeaveController extends BaseController {
/**
* 修改请假
*/
@SaCheckPermission("workflow:leave:edit")
// @SaCheckPermission("workflow:leave:edit")
@Log(title = "请假", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -98,7 +98,7 @@ public class TestLeaveController extends BaseController {
*
* @param ids 主键串
*/
@SaCheckPermission("workflow:leave:remove")
// @SaCheckPermission("workflow:leave:remove")
@Log(title = "请假", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

2
dk-modules/workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java

@ -17,7 +17,7 @@ import java.util.Map;
* @author may
* @date 2024-06-02
*/
@ConditionalOnEnable
@Slf4j
@Component
public class FlowProcessEventHandler {

4
dk-modules/workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java

@ -170,7 +170,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
Instance instance = taskService.skip(taskId, flowParams);
this.setHandler(instance, flowTask, flowCopyList);
// 消息通知
WorkflowUtils.sendMessage(definition.getFlowName(), ins.getId(), messageType, notice);
// WorkflowUtils.sendMessage(definition.getFlowName(), ins.getId(), messageType, notice);
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
@ -397,7 +397,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
Instance instance = insService.getById(inst.getId());
this.setHandler(instance, task, null);
// 消息通知
WorkflowUtils.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice);
// WorkflowUtils.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice);
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);

1
dk-modules/workflow/src/main/resources/warm-flow-ui/css/index-Dcqqxojt.css

File diff suppressed because one or more lines are too long

BIN
dk-modules/workflow/src/main/resources/warm-flow-ui/ico/favicon-FqvijpIH.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

216
dk-modules/workflow/src/main/resources/warm-flow-ui/index.html

@ -0,0 +1,216 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="./ico/favicon-FqvijpIH.ico">
<title>Warm-Flow设计器</title>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>
html,
body,
#app {
height: 100%;
margin: 0px;
padding: 0px;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
#loader-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
}
#loader {
display: block;
position: relative;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 2s linear infinite;
-ms-animation: spin 2s linear infinite;
-moz-animation: spin 2s linear infinite;
-o-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
z-index: 1001;
}
#loader:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 3s linear infinite;
-moz-animation: spin 3s linear infinite;
-o-animation: spin 3s linear infinite;
-ms-animation: spin 3s linear infinite;
animation: spin 3s linear infinite;
}
#loader:after {
content: "";
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-moz-animation: spin 1.5s linear infinite;
-o-animation: spin 1.5s linear infinite;
-ms-animation: spin 1.5s linear infinite;
-webkit-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
#loader-wrapper .loader-section {
position: fixed;
top: 0;
width: 51%;
height: 100%;
background: #7171C6;
z-index: 1000;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}
#loader-wrapper .loader-section.section-left {
left: 0;
}
#loader-wrapper .loader-section.section-right {
right: 0;
}
.loaded #loader-wrapper .loader-section.section-left {
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader-wrapper .loader-section.section-right {
-webkit-transform: translateX(100%);
-ms-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader {
opacity: 0;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.loaded #loader-wrapper {
visibility: hidden;
-webkit-transform: translateY(-100%);
-ms-transform: translateY(-100%);
transform: translateY(-100%);
-webkit-transition: all 0.3s 1s ease-out;
transition: all 0.3s 1s ease-out;
}
.no-js #loader-wrapper {
display: none;
}
.no-js h1 {
color: #222222;
}
#loader-wrapper .load_title {
font-family: 'Open Sans';
color: #FFF;
font-size: 19px;
width: 100%;
text-align: center;
z-index: 9999999999999;
position: absolute;
top: 60%;
opacity: 1;
line-height: 30px;
}
#loader-wrapper .load_title span {
font-weight: normal;
font-style: italic;
font-size: 13px;
color: #FFF;
opacity: 0.5;
}
</style>
<script type="module" crossorigin src="./js/index-iDzH0SQw.js"></script>
<link rel="stylesheet" crossorigin href="./css/index-Dcqqxojt.css">
</head>
<body>
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载系统资源,请耐心等待</div>
</div>
</div>
</body>
</html>

212
dk-modules/workflow/src/main/resources/warm-flow-ui/js/index-iDzH0SQw.js

File diff suppressed because one or more lines are too long

19
pom.xml

@ -71,6 +71,9 @@
<spring-integration-mqtt.version>6.4.1</spring-integration-mqtt.version>
<openapi-ui.version>2.6.0</openapi-ui.version>
<aliyun-oss.version>3.12.0</aliyun-oss.version>
<!--工作流配置-->
<warm-flow.version>1.6.6</warm-flow.version>
</properties>
<profiles>
@ -79,12 +82,12 @@
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<nacos.server>127.0.0.1:8848</nacos.server>
<nacos.server>114.235.183.147:8848</nacos.server>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<nacos.username>nacos</nacos.username>
<nacos.password>nacos</nacos.password>
<logstash.address>127.0.0.1:4560</logstash.address>
<logstash.address>114.235.183.147:4560</logstash.address>
</properties>
<activation>
<!-- 默认环境 -->
@ -388,6 +391,18 @@
<version>${openapi-ui.version}</version>
</dependency>
<!-- Warm-Flow国产工作流引擎, 在线文档:http://warm-flow.cn/ -->
<dependency>
<groupId>org.dromara.warm</groupId>
<artifactId>warm-flow-mybatis-plus-sb3-starter</artifactId>
<version>${warm-flow.version}</version>
</dependency>
<dependency>
<groupId>org.dromara.warm</groupId>
<artifactId>warm-flow-plugin-ui-sb-web</artifactId>
<version>${warm-flow.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

Loading…
Cancel
Save