refactor -- 使用Mybatis Plus重构流程表单模块,修改数据库表(sql脚本添加"update脚本")

This commit is contained in:
konbai
2022-03-09 02:00:58 +08:00
parent 4a19591e5e
commit f5946970ef
34 changed files with 538 additions and 1040 deletions

View File

@@ -6,40 +6,47 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysDeployForm; import com.ruoyi.workflow.domain.WfDeployForm;
import com.ruoyi.system.domain.SysForm; import com.ruoyi.workflow.domain.bo.WfFormBo;
import com.ruoyi.workflow.service.ISysDeployFormService; import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.service.ISysFormService; import com.ruoyi.workflow.service.IWfDeployFormService;
import com.ruoyi.workflow.service.IWfFormService;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
* 流程表单Controller * 流程表单Controller
* *
* @author XuanXuan * @author KonBAI
* @date 2021-04-03 * @createTime 2022/3/7 22:07
*/ */
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/workflow/form") @RequestMapping("/workflow/form")
public class SysFormController extends BaseController { public class WfFormController extends BaseController {
private final ISysFormService SysFormService; private final IWfFormService formService;
private final ISysDeployFormService sysDeployFormService; private final IWfDeployFormService deployFormService;
/** /**
* 查询流程表单列表 * 查询流程表单列表
*/ */
@SaCheckPermission("workflow:form:list") @SaCheckPermission("workflow:form:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SysForm sysForm, PageQuery pageQuery) { public TableDataInfo<WfFormVo> list(@Validated(QueryGroup.class) WfFormBo bo, PageQuery pageQuery) {
return SysFormService.selectSysFormPage(sysForm, pageQuery); return formService.queryPageList(bo, pageQuery);
} }
/** /**
@@ -48,9 +55,9 @@ public class SysFormController extends BaseController {
@SaCheckPermission("workflow:form:export") @SaCheckPermission("workflow:form:export")
@Log(title = "流程表单", businessType = BusinessType.EXPORT) @Log(title = "流程表单", businessType = BusinessType.EXPORT)
@GetMapping("/export") @GetMapping("/export")
public void export(SysForm sysForm, HttpServletResponse response) { public void export(@Validated WfFormBo bo, HttpServletResponse response) {
List<SysForm> list = SysFormService.selectSysFormList(sysForm); List<WfFormVo> list = formService.queryList(bo);
ExcelUtil.exportExcel(list, "form", SysForm.class, response); ExcelUtil.exportExcel(list, "流程表单", WfFormVo.class, response);
} }
/** /**
@@ -58,8 +65,8 @@ public class SysFormController extends BaseController {
*/ */
@SaCheckPermission("workflow:form:query") @SaCheckPermission("workflow:form:query")
@GetMapping(value = "/{formId}") @GetMapping(value = "/{formId}")
public R getInfo(@PathVariable("formId") Long formId) { public R<WfFormVo> getInfo(@ApiParam("主键") @NotNull(message = "主键不能为空") @PathVariable("formId") Long formId) {
return R.ok(SysFormService.selectSysFormById(formId)); return R.ok(formService.queryById(formId));
} }
/** /**
@@ -68,8 +75,8 @@ public class SysFormController extends BaseController {
@SaCheckPermission("workflow:form:add") @SaCheckPermission("workflow:form:add")
@Log(title = "流程表单", businessType = BusinessType.INSERT) @Log(title = "流程表单", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public R add(@RequestBody SysForm sysForm) { public R<Void> add(@RequestBody WfFormBo bo) {
return toAjax(SysFormService.insertSysForm(sysForm)); return toAjax(formService.insertForm(bo));
} }
/** /**
@@ -78,8 +85,8 @@ public class SysFormController extends BaseController {
@SaCheckPermission("workflow:form:edit") @SaCheckPermission("workflow:form:edit")
@Log(title = "流程表单", businessType = BusinessType.UPDATE) @Log(title = "流程表单", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public R edit(@RequestBody SysForm sysForm) { public R<Void> edit(@RequestBody WfFormBo bo) {
return toAjax(SysFormService.updateSysForm(sysForm)); return toAjax(formService.updateForm(bo));
} }
/** /**
@@ -88,8 +95,8 @@ public class SysFormController extends BaseController {
@SaCheckPermission("workflow:form:remove") @SaCheckPermission("workflow:form:remove")
@Log(title = "流程表单", businessType = BusinessType.DELETE) @Log(title = "流程表单", businessType = BusinessType.DELETE)
@DeleteMapping("/{formIds}") @DeleteMapping("/{formIds}")
public R remove(@PathVariable Long[] formIds) { public R<Void> remove(@ApiParam("主键串") @NotEmpty(message = "主键不能为空") @PathVariable Long[] formIds) {
return toAjax(SysFormService.deleteSysFormByIds(formIds)); return toAjax(formService.deleteWithValidByIds(Arrays.asList(formIds)) ? 1 : 0);
} }
@@ -98,7 +105,7 @@ public class SysFormController extends BaseController {
*/ */
@Log(title = "流程表单", businessType = BusinessType.INSERT) @Log(title = "流程表单", businessType = BusinessType.INSERT)
@PostMapping("/addDeployForm") @PostMapping("/addDeployForm")
public R addDeployForm(@RequestBody SysDeployForm sysDeployForm) { public R<Void> addDeployForm(@RequestBody WfDeployForm deployForm) {
return toAjax(sysDeployFormService.insertSysDeployForm(sysDeployForm)); return toAjax(deployFormService.insertWfDeployForm(deployForm));
} }
} }

View File

@@ -1,56 +0,0 @@
package com.ruoyi.system.domain;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 流程表单对象 sys_task_form
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class SysForm extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 表单主键
*/
private Long formId;
/**
* 表单名称
*/
@ExcelProperty(value = "表单名称")
private String formName;
/**
* 表单内容
*/
@ExcelProperty(value = "表单内容")
private String formContent;
/**
* 备注
*/
private String remark;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("formId", getFormId())
.append("formName", getFormName())
.append("formContent", getFormContent())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("createBy", getCreateBy())
.append("updateBy", getUpdateBy())
.append("remark", getRemark())
.toString();
}
}

View File

@@ -1,71 +0,0 @@
package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.SysDeployForm;
import com.ruoyi.system.domain.SysForm;
import java.util.List;
/**
* 流程实例关联表单Mapper接口
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
public interface SysDeployFormMapper {
/**
* 查询流程实例关联表单
*
* @param id 流程实例关联表单ID
* @return 流程实例关联表单
*/
SysDeployForm selectSysDeployFormById(Long id);
/**
* 查询流程实例关联表单列表
*
* @param SysDeployForm 流程实例关联表单
* @return 流程实例关联表单集合
*/
List<SysDeployForm> selectSysDeployFormList(SysDeployForm SysDeployForm);
/**
* 新增流程实例关联表单
*
* @param SysDeployForm 流程实例关联表单
* @return 结果
*/
int insertSysDeployForm(SysDeployForm SysDeployForm);
/**
* 修改流程实例关联表单
*
* @param SysDeployForm 流程实例关联表单
* @return 结果
*/
int updateSysDeployForm(SysDeployForm SysDeployForm);
/**
* 删除流程实例关联表单
*
* @param id 流程实例关联表单ID
* @return 结果
*/
int deleteSysDeployFormById(Long id);
/**
* 批量删除流程实例关联表单
*
* @param ids 需要删除的数据ID
* @return 结果
*/
int deleteSysDeployFormByIds(Long[] ids);
/**
* 查询流程挂着的表单
*
* @param deployId
* @return
*/
SysForm selectSysDeployFormByDeployId(String deployId);
}

View File

@@ -1,66 +0,0 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysForm;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 流程表单Mapper接口
*
* @author XuanXuan Xuan
* @date 2021-03-30
*/
public interface SysFormMapper extends BaseMapperPlus<SysFormMapper, SysForm, SysForm> {
/**
* 查询流程表单
*
* @param formId 流程表单ID
* @return 流程表单
*/
SysForm selectSysFormById(Long formId);
/**
* 查询流程表单列表
*
* @param sysForm 流程表单
* @return 流程表单集合
*/
Page<SysForm> selectSysFormPage(@Param("page") Page<SysForm> page, @Param("from") SysForm sysForm);
List<SysForm> selectSysFormList(SysForm sysForm);
/**
* 新增流程表单
*
* @param sysForm 流程表单
* @return 结果
*/
int insertSysForm(SysForm sysForm);
/**
* 修改流程表单
*
* @param sysForm 流程表单
* @return 结果
*/
int updateSysForm(SysForm sysForm);
/**
* 删除流程表单
*
* @param formId 流程表单ID
* @return 结果
*/
int deleteSysFormById(Long formId);
/**
* 批量删除流程表单
*
* @param formIds 需要删除的数据ID
* @return 结果
*/
int deleteSysFormByIds(Long[] formIds);
}

View File

@@ -1,61 +0,0 @@
package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.SysTaskForm;
import java.util.List;
/**
* 流程任务关联单Mapper接口
*
* @author XuanXuan Xuan
* @date 2021-04-03
*/
public interface SysTaskFormMapper {
/**
* 查询流程任务关联单
*
* @param id 流程任务关联单ID
* @return 流程任务关联单
*/
SysTaskForm selectSysTaskFormById(Long id);
/**
* 查询流程任务关联单列表
*
* @param sysTaskForm 流程任务关联单
* @return 流程任务关联单集合
*/
List<SysTaskForm> selectSysTaskFormList(SysTaskForm sysTaskForm);
/**
* 新增流程任务关联单
*
* @param sysTaskForm 流程任务关联单
* @return 结果
*/
int insertSysTaskForm(SysTaskForm sysTaskForm);
/**
* 修改流程任务关联单
*
* @param sysTaskForm 流程任务关联单
* @return 结果
*/
int updateSysTaskForm(SysTaskForm sysTaskForm);
/**
* 删除流程任务关联单
*
* @param id 流程任务关联单ID
* @return 结果
*/
int deleteSysTaskFormById(Long id);
/**
* 批量删除流程任务关联单
*
* @param ids 需要删除的数据ID
* @return 结果
*/
int deleteSysTaskFormByIds(Long[] ids);
}

View File

@@ -5,17 +5,17 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.EqualsAndHashCode;
/** /**
* 流程分类对象 workflow_category * 流程分类对象 wf_category
* *
* @author KonBAI * @author KonBAI
* @date 2022-01-15 * @date 2022-01-15
*/ */
@Data @Data
@Accessors(chain = true) @EqualsAndHashCode(callSuper = true)
@TableName("workflow_category") @TableName("wf_category")
public class FlowCategory extends BaseEntity { public class FlowCategory extends BaseEntity {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;

View File

@@ -1,35 +1,34 @@
package com.ruoyi.system.domain; package com.ruoyi.workflow.domain;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.core.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
/** /**
* 流程实例关联表单对象 sys_instance_form * 流程实例关联表单对象 sys_instance_form
* *
* @author XuanXuan Xuan * @author KonBAI
* @date 2021-03-30 * @createTime 2022/3/7 22:07
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @TableName("wf_deploy_form")
public class SysDeployForm extends BaseEntity { @ApiModel("部署实例和表单关联")
public class WfDeployForm {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 主键 * 流程定义主键
*/ */
private Long id; @TableId(type = IdType.INPUT)
@ExcelProperty(value = "流程定义主键")
private String deployId;
/** /**
* 表单主键 * 表单主键
*/ */
@ExcelProperty(value = "表单主键") @ExcelProperty(value = "表单主键")
private Long formId; private Long formId;
/**
* 流程定义主键
*/
@ExcelProperty(value = "流程定义主键")
private String deployId;
} }

View File

@@ -0,0 +1,41 @@
package com.ruoyi.workflow.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 流程表单对象 wf_form
*
* @author KonBAI
* @createTime 2022/3/7 22:07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wf_form")
public class WfForm extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 表单主键
*/
@TableId(value = "form_id")
private Long formId;
/**
* 表单名称
*/
private String formName;
/**
* 表单内容
*/
private String content;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,52 @@
package com.ruoyi.workflow.domain.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 流程表单对象 wf_form
*
* @author KonBAI
* @createTime 2022/3/7 22:07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("流程表单业务对象")
public class WfFormBo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 表单主键
*/
@ApiModelProperty(value = "表单ID", required = true)
@NotNull(message = "表单ID不能为空", groups = { EditGroup.class })
private Long formId;
/**
* 表单名称
*/
@ApiModelProperty(value = "表单名称", required = true)
@NotBlank(message = "表单名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String formName;
/**
* 表单内容
*/
@ApiModelProperty(value = "表单内容", required = true)
@NotBlank(message = "表单内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String content;
/**
* 备注
*/
@ApiModelProperty(value = "备注", required = true)
private String remark;
}

View File

@@ -5,12 +5,11 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 任务追踪视图类 * 任务追踪视图类
* *
* @author konbai * @author KonBAI
* @createTime 2022/1/8 19:42 * @createTime 2022/1/8 19:42
*/ */
@Data @Data

View File

@@ -0,0 +1,47 @@
package com.ruoyi.workflow.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author KonBAI
* @createTime 2022/3/7 22:07
*/
@Data
@ApiModel("流程分类视图对象")
@ExcelIgnoreUnannotated
public class WfFormVo {
private static final long serialVersionUID = 1L;
/**
* 表单主键
*/
@ExcelProperty(value = "表单ID")
@ApiModelProperty("表单ID")
private Long formId;
/**
* 表单名称
*/
@ExcelProperty(value = "表单名称")
@ApiModelProperty("表单名称")
private String formName;
/**
* 表单内容
*/
@ExcelProperty(value = "表单内容")
@ApiModelProperty("表单内容")
private String content;
/**
* 备注
*/
@ExcelProperty(value = "备注")
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.workflow.mapper;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.workflow.domain.WfDeployForm;
/**
* 流程实例关联表单Mapper接口
*
* @author KonBAI
* @createTime 2022/3/7 22:07
*/
public interface WfDeployFormMapper extends BaseMapperPlus<WfDeployFormMapper, WfDeployForm, WfDeployForm> {
}

View File

@@ -0,0 +1,16 @@
package com.ruoyi.workflow.mapper;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.workflow.domain.WfForm;
import com.ruoyi.workflow.domain.vo.WfFormVo;
/**
* 流程表单Mapper接口
*
* @author KonBAI
* @createTime 2022/3/7 22:07
*/
public interface WfFormMapper extends BaseMapperPlus<WfFormMapper, WfForm, WfFormVo> {
WfFormVo selectFormByDeployId(String deployId);
}

View File

@@ -1,70 +0,0 @@
package com.ruoyi.workflow.service;
import com.ruoyi.system.domain.SysDeployForm;
import com.ruoyi.system.domain.SysForm;
import java.util.List;
/**
* 流程实例关联表单Service接口
*
* @author XuanXuan
* @date 2021-04-03
*/
public interface ISysDeployFormService {
/**
* 查询流程实例关联表单
*
* @param id 流程实例关联表单ID
* @return 流程实例关联表单
*/
SysDeployForm selectSysDeployFormById(Long id);
/**
* 查询流程实例关联表单列表
*
* @param sysDeployForm 流程实例关联表单
* @return 流程实例关联表单集合
*/
List<SysDeployForm> selectSysDeployFormList(SysDeployForm sysDeployForm);
/**
* 新增流程实例关联表单
*
* @param sysDeployForm 流程实例关联表单
* @return 结果
*/
int insertSysDeployForm(SysDeployForm sysDeployForm);
/**
* 修改流程实例关联表单
*
* @param sysDeployForm 流程实例关联表单
* @return 结果
*/
int updateSysDeployForm(SysDeployForm sysDeployForm);
/**
* 批量删除流程实例关联表单
*
* @param ids 需要删除的流程实例关联表单ID
* @return 结果
*/
int deleteSysDeployFormByIds(Long[] ids);
/**
* 删除流程实例关联表单信息
*
* @param id 流程实例关联表单ID
* @return 结果
*/
int deleteSysDeployFormById(Long id);
/**
* 查询流程挂着的表单
*
* @param deployId
* @return
*/
SysForm selectSysDeployFormByDeployId(String deployId);
}

View File

@@ -1,62 +0,0 @@
package com.ruoyi.workflow.service;
import com.ruoyi.system.domain.SysTaskForm;
import java.util.List;
/**
* 流程任务关联单Service接口
*
* @author XuanXuan
* @date 2021-04-03
*/
@Deprecated
public interface ISysTaskFormService {
/**
* 查询流程任务关联单
*
* @param id 流程任务关联单ID
* @return 流程任务关联单
*/
SysTaskForm selectSysTaskFormById(Long id);
/**
* 查询流程任务关联单列表
*
* @param sysTaskForm 流程任务关联单
* @return 流程任务关联单集合
*/
List<SysTaskForm> selectSysTaskFormList(SysTaskForm sysTaskForm);
/**
* 新增流程任务关联单
*
* @param sysTaskForm 流程任务关联单
* @return 结果
*/
int insertSysTaskForm(SysTaskForm sysTaskForm);
/**
* 修改流程任务关联单
*
* @param sysTaskForm 流程任务关联单
* @return 结果
*/
int updateSysTaskForm(SysTaskForm sysTaskForm);
/**
* 批量删除流程任务关联单
*
* @param ids 需要删除的流程任务关联单ID
* @return 结果
*/
int deleteSysTaskFormByIds(Long[] ids);
/**
* 删除流程任务关联单信息
*
* @param id 流程任务关联单ID
* @return 结果
*/
int deleteSysTaskFormById(Long id);
}

View File

@@ -0,0 +1,29 @@
package com.ruoyi.workflow.service;
import com.ruoyi.workflow.domain.WfDeployForm;
import com.ruoyi.workflow.domain.vo.WfFormVo;
/**
* 流程实例关联表单Service接口
*
* @author KonBAI
* @createTime 2022/3/7 22:07
*/
public interface IWfDeployFormService {
/**
* 新增流程实例关联表单
*
* @param wfDeployForm 流程实例关联表单
* @return 结果
*/
int insertWfDeployForm(WfDeployForm wfDeployForm);
/**
* 查询流程挂着的表单
*
* @param deployId
* @return
*/
WfFormVo selectSysDeployFormByDeployId(String deployId);
}

View File

@@ -2,56 +2,58 @@ package com.ruoyi.workflow.service;
import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.SysForm; import com.ruoyi.workflow.domain.bo.WfFormBo;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import java.util.Collection;
import java.util.List; import java.util.List;
/** /**
* 表单 * 表单
* *
* @author XuanXuan Xuan * @author KonBAI
* @date 2021-04-03 * @createTime 2022/3/7 22:07
*/ */
public interface ISysFormService { public interface IWfFormService {
/** /**
* 查询流程表单 * 查询流程表单
* *
* @param formId 流程表单ID * @param formId 流程表单ID
* @return 流程表单 * @return 流程表单
*/ */
SysForm selectSysFormById(Long formId); WfFormVo queryById(Long formId);
/** /**
* 查询流程表单列表 * 查询流程表单列表
* *
* @param sysForm 流程表单 * @param bo 流程表单
* @return 流程表单集合 * @return 流程表单集合
*/ */
TableDataInfo<SysForm> selectSysFormPage(SysForm sysForm, PageQuery pageQuery); TableDataInfo<WfFormVo> queryPageList(WfFormBo bo, PageQuery pageQuery);
/** /**
* 查询流程表单列表 * 查询流程表单列表
* *
* @param sysForm 流程表单 * @param bo 流程表单
* @return 流程表单集合 * @return 流程表单集合
*/ */
List<SysForm> selectSysFormList(SysForm sysForm); List<WfFormVo> queryList(WfFormBo bo);
/** /**
* 新增流程表单 * 新增流程表单
* *
* @param sysForm 流程表单 * @param bo 流程表单
* @return 结果 * @return 结果
*/ */
int insertSysForm(SysForm sysForm); int insertForm(WfFormBo bo);
/** /**
* 修改流程表单 * 修改流程表单
* *
* @param sysForm 流程表单 * @param bo 流程表单
* @return 结果 * @return 结果
*/ */
int updateSysForm(SysForm sysForm); int updateForm(WfFormBo bo);
/** /**
* 批量删除流程表单 * 批量删除流程表单
@@ -59,13 +61,5 @@ public interface ISysFormService {
* @param formIds 需要删除的流程表单ID * @param formIds 需要删除的流程表单ID
* @return 结果 * @return 结果
*/ */
int deleteSysFormByIds(Long[] formIds); Boolean deleteWithValidByIds(Collection<Long> formIds);
/**
* 删除流程表单信息
*
* @param formId 流程表单ID
* @return 结果
*/
int deleteSysFormById(Long formId);
} }

View File

@@ -9,10 +9,10 @@ import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.flowable.common.constant.ProcessConstants; import com.ruoyi.flowable.common.constant.ProcessConstants;
import com.ruoyi.flowable.common.enums.FlowComment; import com.ruoyi.flowable.common.enums.FlowComment;
import com.ruoyi.flowable.factory.FlowServiceFactory; import com.ruoyi.flowable.factory.FlowServiceFactory;
import com.ruoyi.system.domain.SysForm;
import com.ruoyi.workflow.domain.vo.FlowDefinitionVo; import com.ruoyi.workflow.domain.vo.FlowDefinitionVo;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.mapper.WfFormMapper;
import com.ruoyi.workflow.service.IFlowDefinitionService; import com.ruoyi.workflow.service.IFlowDefinitionService;
import com.ruoyi.workflow.service.ISysDeployFormService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
@@ -44,7 +44,7 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFlowDefinitionService { public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFlowDefinitionService {
private final ISysDeployFormService sysDeployFormService; private final WfFormMapper formMapper;
private static final String BPMN_FILE_SUFFIX = ".bpmn"; private static final String BPMN_FILE_SUFFIX = ".bpmn";
@@ -89,10 +89,10 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
vo.setCategoryCode(processDefinition.getCategory()); vo.setCategoryCode(processDefinition.getCategory());
vo.setDeploymentId(processDefinition.getDeploymentId()); vo.setDeploymentId(processDefinition.getDeploymentId());
vo.setSuspended(processDefinition.isSuspended()); vo.setSuspended(processDefinition.isSuspended());
SysForm sysForm = sysDeployFormService.selectSysDeployFormByDeployId(deploymentId); WfFormVo formVo = formMapper.selectFormByDeployId(deploymentId);
if (Objects.nonNull(sysForm)) { if (Objects.nonNull(formVo)) {
vo.setFormId(sysForm.getFormId()); vo.setFormId(formVo.getFormId());
vo.setFormName(sysForm.getFormName()); vo.setFormName(formVo.getFormName());
} }
// 流程定义时间 // 流程定义时间
vo.setCategoryCode(deployment.getCategory()); vo.setCategoryCode(deployment.getCategory());

View File

@@ -18,7 +18,6 @@ import com.ruoyi.flowable.factory.FlowServiceFactory;
import com.ruoyi.flowable.flow.CustomProcessDiagramGenerator; import com.ruoyi.flowable.flow.CustomProcessDiagramGenerator;
import com.ruoyi.flowable.flow.FindNextNodeUtil; import com.ruoyi.flowable.flow.FindNextNodeUtil;
import com.ruoyi.flowable.flow.FlowableUtils; import com.ruoyi.flowable.flow.FlowableUtils;
import com.ruoyi.system.domain.SysForm;
import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.workflow.domain.dto.FlowCommentDto; import com.ruoyi.workflow.domain.dto.FlowCommentDto;
@@ -26,8 +25,9 @@ import com.ruoyi.workflow.domain.dto.FlowNextDto;
import com.ruoyi.workflow.domain.dto.FlowTaskDto; import com.ruoyi.workflow.domain.dto.FlowTaskDto;
import com.ruoyi.workflow.domain.vo.FlowTaskVo; import com.ruoyi.workflow.domain.vo.FlowTaskVo;
import com.ruoyi.workflow.domain.vo.FlowViewerVo; import com.ruoyi.workflow.domain.vo.FlowViewerVo;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.service.IFlowTaskService; import com.ruoyi.workflow.service.IFlowTaskService;
import com.ruoyi.workflow.service.ISysDeployFormService; import com.ruoyi.workflow.service.IWfDeployFormService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -77,7 +77,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
private final ISysRoleService sysRoleService; private final ISysRoleService sysRoleService;
private final ISysDeployFormService sysInstanceFormService; private final IWfDeployFormService deployFormService;
/** /**
* 完成任务 * 完成任务
@@ -736,11 +736,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
// 第一次申请获取初始化表单 // 第一次申请获取初始化表单
if (StringUtils.isNotBlank(deployId)) { if (StringUtils.isNotBlank(deployId)) {
SysForm sysForm = sysInstanceFormService.selectSysDeployFormByDeployId(deployId); WfFormVo formVo = deployFormService.selectSysDeployFormByDeployId(deployId);
if (Objects.isNull(sysForm)) { if (Objects.isNull(formVo)) {
throw new ServiceException("请先配置流程表单"); throw new ServiceException("请先配置流程表单");
} }
map.put("formData", JsonUtils.parseObject(sysForm.getFormContent(), Map.class)); map.put("formData", JsonUtils.parseObject(formVo.getContent(), Map.class));
} }
return map; return map;
} }

View File

@@ -1,106 +0,0 @@
package com.ruoyi.workflow.service.impl;
import com.ruoyi.system.domain.SysDeployForm;
import com.ruoyi.system.domain.SysForm;
import com.ruoyi.system.mapper.SysDeployFormMapper;
import com.ruoyi.workflow.service.ISysDeployFormService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
* 流程实例关联表单Service业务层处理
*
* @author XuanXuan Xuan
* @date 2021-04-03
*/
@RequiredArgsConstructor
@Service
public class SysDeployFormServiceImpl implements ISysDeployFormService {
private final SysDeployFormMapper sysDeployFormMapper;
/**
* 查询流程实例关联表单
*
* @param id 流程实例关联表单ID
* @return 流程实例关联表单
*/
@Override
public SysDeployForm selectSysDeployFormById(Long id) {
return sysDeployFormMapper.selectSysDeployFormById(id);
}
/**
* 查询流程实例关联表单列表
*
* @param sysDeployForm 流程实例关联表单
* @return 流程实例关联表单
*/
@Override
public List<SysDeployForm> selectSysDeployFormList(SysDeployForm sysDeployForm) {
return sysDeployFormMapper.selectSysDeployFormList(sysDeployForm);
}
/**
* 新增流程实例关联表单
*
* @param sysDeployForm 流程实例关联表单
* @return 结果
*/
@Override
public int insertSysDeployForm(SysDeployForm sysDeployForm) {
SysForm sysForm = sysDeployFormMapper.selectSysDeployFormByDeployId(sysDeployForm.getDeployId());
if (Objects.isNull(sysForm)) {
return sysDeployFormMapper.insertSysDeployForm(sysDeployForm);
} else {
return 1;
}
}
/**
* 修改流程实例关联表单
*
* @param sysDeployForm 流程实例关联表单
* @return 结果
*/
@Override
public int updateSysDeployForm(SysDeployForm sysDeployForm) {
return sysDeployFormMapper.updateSysDeployForm(sysDeployForm);
}
/**
* 批量删除流程实例关联表单
*
* @param ids 需要删除的流程实例关联表单ID
* @return 结果
*/
@Override
public int deleteSysDeployFormByIds(Long[] ids) {
return sysDeployFormMapper.deleteSysDeployFormByIds(ids);
}
/**
* 删除流程实例关联表单信息
*
* @param id 流程实例关联表单ID
* @return 结果
*/
@Override
public int deleteSysDeployFormById(Long id) {
return sysDeployFormMapper.deleteSysDeployFormById(id);
}
/**
* 查询流程挂着的表单
*
* @param deployId
* @return
*/
@Override
public SysForm selectSysDeployFormByDeployId(String deployId) {
return sysDeployFormMapper.selectSysDeployFormByDeployId(deployId);
}
}

View File

@@ -1,104 +0,0 @@
package com.ruoyi.workflow.service.impl;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.SysForm;
import com.ruoyi.system.mapper.SysFormMapper;
import com.ruoyi.workflow.service.ISysFormService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 流程表单Service业务层处理
*
* @author XuanXuan Xuan
* @date 2021-04-03
*/
@RequiredArgsConstructor
@Service
public class SysFormServiceImpl implements ISysFormService {
private final SysFormMapper sysFormMapper;
/**
* 查询流程表单
*
* @param formId 流程表单ID
* @return 流程表单
*/
@Override
public SysForm selectSysFormById(Long formId) {
return sysFormMapper.selectSysFormById(formId);
}
/**
* 查询流程表单列表
*
* @param sysForm 流程表单
* @return 流程表单
*/
@Override
public TableDataInfo<SysForm> selectSysFormPage(SysForm sysForm, PageQuery pageQuery) {
return TableDataInfo.build(sysFormMapper.selectSysFormPage(pageQuery.build(), sysForm));
}
/**
* 查询流程表单列表
*
* @param sysForm 流程表单
* @return 流程表单
*/
@Override
public List<SysForm> selectSysFormList(SysForm sysForm) {
return sysFormMapper.selectSysFormList(sysForm);
}
/**
* 新增流程表单
*
* @param sysForm 流程表单
* @return 结果
*/
@Override
public int insertSysForm(SysForm sysForm) {
sysForm.setCreateTime(DateUtils.getNowDate());
return sysFormMapper.insertSysForm(sysForm);
}
/**
* 修改流程表单
*
* @param sysForm 流程表单
* @return 结果
*/
@Override
public int updateSysForm(SysForm sysForm) {
sysForm.setUpdateTime(DateUtils.getNowDate());
return sysFormMapper.updateSysForm(sysForm);
}
/**
* 批量删除流程表单
*
* @param formIds 需要删除的流程表单ID
* @return 结果
*/
@Override
public int deleteSysFormByIds(Long[] formIds) {
return sysFormMapper.deleteSysFormByIds(formIds);
}
/**
* 删除流程表单信息
*
* @param formId 流程表单ID
* @return 结果
*/
@Override
public int deleteSysFormById(Long formId) {
return sysFormMapper.deleteSysFormById(formId);
}
}

View File

@@ -1,88 +0,0 @@
package com.ruoyi.workflow.service.impl;
import com.ruoyi.workflow.service.ISysTaskFormService;
import com.ruoyi.system.domain.SysTaskForm;
import com.ruoyi.system.mapper.SysTaskFormMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 流程任务关联单Service业务层处理
*
* @author XuanXuan Xuan
* @date 2021-04-03
*/
@Service
public class SysTaskFormServiceImpl implements ISysTaskFormService {
@Autowired
private SysTaskFormMapper sysTaskFormMapper;
/**
* 查询流程任务关联单
*
* @param id 流程任务关联单ID
* @return 流程任务关联单
*/
@Override
public SysTaskForm selectSysTaskFormById(Long id) {
return sysTaskFormMapper.selectSysTaskFormById(id);
}
/**
* 查询流程任务关联单列表
*
* @param sysTaskForm 流程任务关联单
* @return 流程任务关联单
*/
@Override
public List<SysTaskForm> selectSysTaskFormList(SysTaskForm sysTaskForm) {
return sysTaskFormMapper.selectSysTaskFormList(sysTaskForm);
}
/**
* 新增流程任务关联单
*
* @param sysTaskForm 流程任务关联单
* @return 结果
*/
@Override
public int insertSysTaskForm(SysTaskForm sysTaskForm) {
return sysTaskFormMapper.insertSysTaskForm(sysTaskForm);
}
/**
* 修改流程任务关联单
*
* @param sysTaskForm 流程任务关联单
* @return 结果
*/
@Override
public int updateSysTaskForm(SysTaskForm sysTaskForm) {
return sysTaskFormMapper.updateSysTaskForm(sysTaskForm);
}
/**
* 批量删除流程任务关联单
*
* @param ids 需要删除的流程任务关联单ID
* @return 结果
*/
@Override
public int deleteSysTaskFormByIds(Long[] ids) {
return sysTaskFormMapper.deleteSysTaskFormByIds(ids);
}
/**
* 删除流程任务关联单信息
*
* @param id 流程任务关联单ID
* @return 结果
*/
@Override
public int deleteSysTaskFormById(Long id) {
return sysTaskFormMapper.deleteSysTaskFormById(id);
}
}

View File

@@ -0,0 +1,52 @@
package com.ruoyi.workflow.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.workflow.domain.WfDeployForm;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.mapper.WfDeployFormMapper;
import com.ruoyi.workflow.mapper.WfFormMapper;
import com.ruoyi.workflow.service.IWfDeployFormService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* 流程实例关联表单Service业务层处理
*
* @author KonBAI
* @createTime 2022/3/7 22:07
*/
@RequiredArgsConstructor
@Service
public class WfDeployFormServiceImpl implements IWfDeployFormService {
private final WfDeployFormMapper baseMapper;
private final WfFormMapper formMapper;
/**
* 新增流程实例关联表单
*
* @param deployForm 流程实例关联表单
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int insertWfDeployForm(WfDeployForm deployForm) {
// 删除部署流程和表单的关联关系
baseMapper.delete(new LambdaQueryWrapper<WfDeployForm>().eq(WfDeployForm::getDeployId, deployForm.getDeployId()));
// 新增部署流程和表单关系
return baseMapper.insert(deployForm);
}
/**
* 查询流程挂着的表单
*
* @param deployId
* @return
*/
@Override
public WfFormVo selectSysDeployFormByDeployId(String deployId) {
return formMapper.selectFormByDeployId(deployId);
}
}

View File

@@ -0,0 +1,118 @@
package com.ruoyi.workflow.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.workflow.domain.WfForm;
import com.ruoyi.workflow.domain.bo.WfFormBo;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.mapper.WfFormMapper;
import com.ruoyi.workflow.service.IWfFormService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 流程表单Service业务层处理
*
* @author KonBAI
* @createTime 2022/3/7 22:07
*/
@RequiredArgsConstructor
@Service
public class WfFormServiceImpl implements IWfFormService {
private final WfFormMapper baseMapper;
/**
* 查询流程表单
*
* @param formId 流程表单ID
* @return 流程表单
*/
@Override
public WfFormVo queryById(Long formId) {
return baseMapper.selectVoById(formId);
}
/**
* 查询流程表单列表
*
* @param bo 流程表单
* @return 流程表单
*/
@Override
public TableDataInfo<WfFormVo> queryPageList(WfFormBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WfForm> lqw = buildQueryWrapper(bo);
Page<WfFormVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询流程表单列表
*
* @param bo 流程表单
* @return 流程表单
*/
@Override
public List<WfFormVo> queryList(WfFormBo bo) {
LambdaQueryWrapper<WfForm> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
/**
* 新增流程表单
*
* @param bo 流程表单
* @return 结果
*/
@Override
public int insertForm(WfFormBo bo) {
WfForm wfForm = new WfForm();
wfForm.setFormName(bo.getFormName());
wfForm.setContent(bo.getContent());
wfForm.setRemark(bo.getRemark());
return baseMapper.insert(wfForm);
}
/**
* 修改流程表单
*
* @param bo 流程表单
* @return 结果
*/
@Override
public int updateForm(WfFormBo bo) {
return baseMapper.update(new WfForm(), new LambdaUpdateWrapper<WfForm>()
.set(StrUtil.isNotBlank(bo.getFormName()), WfForm::getFormName, bo.getFormName())
.set(StrUtil.isNotBlank(bo.getContent()), WfForm::getContent, bo.getContent())
.set(StrUtil.isNotBlank(bo.getRemark()), WfForm::getRemark, bo.getRemark())
.eq(WfForm::getFormId, bo.getFormId()));
}
/**
* 批量删除流程表单
*
* @param ids 需要删除的流程表单ID
* @return 结果
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
private LambdaQueryWrapper<WfForm> buildQueryWrapper(WfFormBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WfForm> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getFormName()), WfForm::getFormName, bo.getFormName());
return lqw;
}
}

View File

@@ -1,71 +0,0 @@
<?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="com.ruoyi.system.mapper.SysDeployFormMapper">
<resultMap type="com.ruoyi.system.domain.SysDeployForm" id="SysDeployFormResult">
<result property="id" column="id"/>
<result property="formId" column="form_id"/>
<result property="deployId" column="deploy_id"/>
</resultMap>
<sql id="selectSysDeployFormVo">
select id, form_id, deploy_id
from sys_deploy_form
</sql>
<select id="selectSysDeployFormList" parameterType="SysDeployForm" resultMap="SysDeployFormResult">
<include refid="selectSysDeployFormVo"/>
<where>
<if test="formId != null ">and form_id = #{formId}</if>
<if test="deployId != null and deployId != ''">and deploy_id = #{deployId}</if>
</where>
</select>
<select id="selectSysDeployFormById" parameterType="Long" resultMap="SysDeployFormResult">
<include refid="selectSysDeployFormVo"/>
where id = #{id}
</select>
<select id="selectSysDeployFormByDeployId" resultType="com.ruoyi.system.domain.SysForm">
select t1.form_content as formContent, t1.form_name as formName, t1.form_id as formId
from sys_form t1
left join sys_deploy_form t2 on t1.form_id = t2.form_id
where t2.deploy_id = #{deployId} limit 1
</select>
<insert id="insertSysDeployForm" parameterType="SysDeployForm" useGeneratedKeys="true" keyProperty="id">
insert into sys_deploy_form
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="formId != null">form_id,</if>
<if test="deployId != null">deploy_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="formId != null">#{formId},</if>
<if test="deployId != null">#{deployId},</if>
</trim>
</insert>
<update id="updateSysDeployForm" parameterType="SysDeployForm">
update sys_deploy_form
<trim prefix="SET" suffixOverrides=",">
<if test="formId != null">form_id = #{formId},</if>
<if test="deployId != null">deploy_id = #{deployId},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteSysDeployFormById" parameterType="Long">
delete
from sys_deploy_form
where id = #{id}
</delete>
<delete id="deleteSysDeployFormByIds" parameterType="String">
delete from sys_deploy_form where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@@ -1,103 +0,0 @@
<?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="com.ruoyi.system.mapper.SysFormMapper">
<resultMap type="com.ruoyi.system.domain.SysForm" id="SysFormResult">
<result property="formId" column="form_id"/>
<result property="formName" column="form_name"/>
<result property="formContent" column="form_content"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="remark" column="remark"/>
</resultMap>
<sql id="selectSysFormVo">
select form_id,
form_name,
form_content,
create_time,
update_time,
create_by,
update_by,
remark
from sys_form
</sql>
<select id="selectSysFormPage" resultMap="SysFormResult">
<include refid="selectSysFormVo"/>
<where>
<if test="from.formName != null and from.formName != ''">
and form_name like concat('%', #{from.formName}, '%')
</if>
<if test="from.formContent != null and from.formContent != ''">
and form_content = #{from.formContent}
</if>
</where>
</select>
<select id="selectSysFormList" resultMap="SysFormResult">
<include refid="selectSysFormVo"/>
<where>
<if test="formName != null and formName != ''">and form_name like concat('%', #{formName}, '%')</if>
<if test="formContent != null and formContent != ''">and form_content = #{formContent}</if>
</where>
</select>
<select id="selectSysFormById" parameterType="Long" resultMap="SysFormResult">
<include refid="selectSysFormVo"/>
where form_id = #{formId}
</select>
<insert id="insertSysForm" useGeneratedKeys="true" keyProperty="formId">
insert into sys_form
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="formName != null">form_name,</if>
<if test="formContent != null">form_content,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateBy != null">update_by,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="formName != null">#{formName},</if>
<if test="formContent != null">#{formContent},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateSysForm">
update sys_form
<trim prefix="SET" suffixOverrides=",">
<if test="formName != null">form_name = #{formName},</if>
<if test="formContent != null">form_content = #{formContent},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where form_id = #{formId}
</update>
<delete id="deleteSysFormById" parameterType="Long">
delete
from sys_form
where form_id = #{formId}
</delete>
<delete id="deleteSysFormByIds" parameterType="String">
delete from sys_form where form_id in
<foreach item="formId" collection="array" open="(" separator="," close=")">
#{formId}
</foreach>
</delete>
</mapper>

View File

@@ -1,64 +0,0 @@
<?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="com.ruoyi.system.mapper.SysTaskFormMapper">
<resultMap type="com.ruoyi.system.domain.SysTaskForm" id="SysTaskFormResult">
<result property="id" column="id"/>
<result property="formId" column="form_id"/>
<result property="taskId" column="task_id"/>
</resultMap>
<sql id="selectSysTaskFormVo">
select id, form_id, task_id
from sys_task_form
</sql>
<select id="selectSysTaskFormList" parameterType="SysTaskForm" resultMap="SysTaskFormResult">
<include refid="selectSysTaskFormVo"/>
<where>
<if test="formId != null ">and form_id = #{formId}</if>
<if test="taskId != null and taskId != ''">and task_id = #{taskId}</if>
</where>
</select>
<select id="selectSysTaskFormById" parameterType="Long" resultMap="SysTaskFormResult">
<include refid="selectSysTaskFormVo"/>
where id = #{id}
</select>
<insert id="insertSysTaskForm" parameterType="SysTaskForm" useGeneratedKeys="true" keyProperty="id">
insert into sys_task_form
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="formId != null">form_id,</if>
<if test="taskId != null">task_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="formId != null">#{formId},</if>
<if test="taskId != null">#{taskId},</if>
</trim>
</insert>
<update id="updateSysTaskForm" parameterType="SysTaskForm">
update sys_task_form
<trim prefix="SET" suffixOverrides=",">
<if test="formId != null">form_id = #{formId},</if>
<if test="taskId != null">task_id = #{taskId},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteSysTaskFormById" parameterType="Long">
delete
from sys_task_form
where id = #{id}
</delete>
<delete id="deleteSysTaskFormByIds" parameterType="String">
delete from sys_task_form where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,12 @@
<?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="com.ruoyi.workflow.mapper.WfDeployFormMapper">
<resultMap type="com.ruoyi.workflow.domain.WfDeployForm" id="WfDeployFormResult">
<result property="formId" column="form_id"/>
<result property="deployId" column="deploy_id"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,27 @@
<?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="com.ruoyi.workflow.mapper.WfFormMapper">
<resultMap type="com.ruoyi.workflow.domain.WfForm" id="WfFormResult">
<result property="formId" column="form_id"/>
<result property="formName" column="form_name"/>
<result property="content" column="content"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="remark" column="remark"/>
</resultMap>
<select id="selectFormByDeployId" resultType="com.ruoyi.workflow.domain.vo.WfFormVo">
SELECT
t1.form_id AS formId,
t1.form_name AS formName,
t1.content AS content
FROM wf_form t1
LEFT JOIN wf_deploy_form t2 ON t1.form_id = t2.form_id
WHERE t2.deploy_id = #{deployId} limit 1
</select>
</mapper>

View File

@@ -215,7 +215,7 @@ export default {
form: { form: {
formId: null, formId: null,
formName: null, formName: null,
formContent: null, content: null,
remark: null remark: null
}, },
// 表单校验 // 表单校验
@@ -277,11 +277,11 @@ export default {
const formId = that.$route.query && that.$route.query.formId; const formId = that.$route.query && that.$route.query.formId;
if (formId) { if (formId) {
getForm(formId).then(res =>{ getForm(formId).then(res =>{
that.formConf = JSON.parse(res.data.formContent); that.formConf = JSON.parse(res.data.content);
that.drawingList = that.formConf.fields; that.drawingList = that.formConf.fields;
that.form = res.data; that.form = res.data;
}) })
}else { } else {
if (formConfInDB) { if (formConfInDB) {
that.formConf = formConfInDB that.formConf = formConfInDB
} }
@@ -505,7 +505,7 @@ export default {
fields: deepClone(this.drawingList), fields: deepClone(this.drawingList),
...this.formConf ...this.formConf
} }
this.form.formContent = JSON.stringify(this.formData); this.form.content = JSON.stringify(this.formData);
this.formOpen = true; this.formOpen = true;
this.formTitle = "添加表单"; this.formTitle = "添加表单";
}, },
@@ -514,7 +514,7 @@ export default {
this.form = { this.form = {
formId: null, formId: null,
formName: null, formName: null,
formContent: null, content: null,
remark: null remark: null
}; };
this.resetForm("form"); this.resetForm("form");

View File

@@ -502,7 +502,7 @@ export default {
getForm(formId).then(res =>{ getForm(formId).then(res =>{
this.formTitle = "表单详情"; this.formTitle = "表单详情";
this.formConfOpen = true; this.formConfOpen = true;
this.formConf = JSON.parse(res.data.formContent) this.formConf = JSON.parse(res.data.content)
}) })
}, },
/** 启动流程 */ /** 启动流程 */
@@ -559,7 +559,7 @@ export default {
}, },
handleCurrentChange(data) { handleCurrentChange(data) {
if (data) { if (data) {
this.currentRow = JSON.parse(data.formContent); this.currentRow = JSON.parse(data.content);
} }
}, },
/** 挂起/激活流程 */ /** 挂起/激活流程 */

View File

@@ -108,7 +108,7 @@
<el-input v-model="form.formName" placeholder="请输入表单名称" /> <el-input v-model="form.formName" placeholder="请输入表单名称" />
</el-form-item> </el-form-item>
<el-form-item label="表单内容"> <el-form-item label="表单内容">
<editor v-model="form.formContent" :min-height="192"/> <editor v-model="form.content" :min-height="192"/>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" /> <el-input v-model="form.remark" placeholder="请输入备注" />
@@ -167,7 +167,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
formName: null, formName: null,
formContent: null, content: null,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
@@ -199,7 +199,7 @@ export default {
this.form = { this.form = {
formId: null, formId: null,
formName: null, formName: null,
formContent: null, content: null,
createTime: null, createTime: null,
updateTime: null, updateTime: null,
createBy: null, createBy: null,
@@ -228,7 +228,7 @@ export default {
handleDetail(row){ handleDetail(row){
this.formConfOpen = true; this.formConfOpen = true;
this.formTitle = "流程表单配置详细"; this.formTitle = "流程表单配置详细";
this.formConf = JSON.parse(row.formContent) this.formConf = JSON.parse(row.content)
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {

View File

@@ -738,37 +738,38 @@ insert into sys_oss_config values (3, 'aliyun', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXX
insert into sys_oss_config values (4, 'qcloud', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi-1250000000', '', 'http://cos.ap-beijing.myqcloud.com', 'N', 'ap-beijing', '1', '', 'admin', sysdate(), 'admin', sysdate(), NULL); insert into sys_oss_config values (4, 'qcloud', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi-1250000000', '', 'http://cos.ap-beijing.myqcloud.com', 'N', 'ap-beijing', '1', '', 'admin', sysdate(), 'admin', sysdate(), NULL);
-- ---------------------------- -- ----------------------------
-- sys_deploy_form流程实例关联 -- wf_form流程表单信息
-- ---------------------------- -- ----------------------------
drop table if exists `sys_deploy_form`; drop table if exists `wf_form`;
create table `sys_deploy_form` ( create table `wf_form` (
id bigint(20) not null auto_increment comment '主键', form_id bigint(20) not null auto_increment comment '表单主键',
form_id bigint(20) default null comment '表单主键', form_name varchar(64) default '' comment '表单名称',
deploy_id varchar(50) default '' comment '流程实例主键', content longtext default null comment '表单内容',
primary key (`id`) create_by varchar(64) default '' comment '创建者',
create_time datetime default null comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime default null comment '更新时间',
remark varchar(255) default null comment '备注',
del_flag char(1) default '0' comment '删除标志0代表存在 2代表删除',
primary key (form_id)
) engine = innodb comment = '流程表单信息表';
-- ----------------------------
-- wf_deploy_form流程实例关联表
-- ----------------------------
drop table if exists `wf_deploy_form`;
create table `wf_deploy_form` (
deploy_id varchar(64) not null comment '流程实例主键',
form_id bigint(20) not null comment '表单主键',
primary key (deploy_id, form_id)
) engine = innodb comment = '流程实例关联表单'; ) engine = innodb comment = '流程实例关联表单';
-- ---------------------------- -- ----------------------------
-- sys_form流程表单信息 -- wf_category流程分类
-- ---------------------------- -- ----------------------------
drop table if exists `sys_form`; drop table if exists `wf_category`;
create table `sys_form` ( create table `wf_category` (
form_id bigint(20) not null auto_increment comment '表单主键',
form_name varchar(50) default '' comment '表单名称',
form_content longtext default null comment '表单内容',
create_by varchar(64) default '' comment '创建者',
create_time datetime default null comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime default null comment '更新时间',
remark varchar(255) default null comment '备注',
primary key (`form_id`)
) engine = innodb comment = '流程表单信息表';
-- ----------------------------
-- workflow_category流程分类表
-- ----------------------------
drop table if exists `workflow_category`;
create table `workflow_category` (
category_id bigint not null auto_increment comment '流程分类id', category_id bigint not null auto_increment comment '流程分类id',
category_name varchar(64) default '' comment '流程分类名称', category_name varchar(64) default '' comment '流程分类名称',
code varchar(64) default '' comment '分类编码', code varchar(64) default '' comment '分类编码',
@@ -778,5 +779,5 @@ create table `workflow_category` (
update_by varchar(64) default '' comment '更新者', update_by varchar(64) default '' comment '更新者',
update_time datetime default null comment '更新时间', update_time datetime default null comment '更新时间',
del_flag char(1) default '0' comment '删除标志0代表存在 2代表删除', del_flag char(1) default '0' comment '删除标志0代表存在 2代表删除',
primary key (`category_id`) primary key (category_id)
) engine=innodb comment = '流程分类表'; ) engine=innodb comment = '流程分类表';

View File

@@ -0,0 +1,12 @@
RENAME TABLE workflow_category TO wf_category;
RENAME TABLE sys_form TO wf_form;
RENAME TABLE sys_deploy_form TO wf_deploy_form;
ALTER TABLE `wf_deploy_form`
DROP COLUMN `id`,
MODIFY COLUMN `deploy_id` varchar(64) NOT NULL DEFAULT '' COMMENT '流程实例主键' FIRST,
MODIFY COLUMN `form_id` bigint(20) NOT NULL COMMENT '表单主键' AFTER `deploy_id`,
ADD PRIMARY KEY (`deploy_id`, `form_id`) USING BTREE;
ALTER TABLE `wf_form`
CHANGE COLUMN `form_content` `content` longtext NULL COMMENT '表单内容' AFTER `form_name`;