浏览代码

feat:流程节点脚本接口

xuezizhuo 1 年之前
父节点
当前提交
1c137dc91c

+ 113 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysBpmNodeScriptController.java

@@ -0,0 +1,113 @@
+package com.ruoyi.web.controller.system;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.SysBpmNodeScript;
+import com.ruoyi.system.service.ISysBpmNodeScriptService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 流程节点脚本Controller
+ *
+ * @author ruoyi
+ * @date 2023-10-26
+ */
+@RestController
+@RequestMapping("/system/script")
+@Api(value = "/system/script")
+public class SysBpmNodeScriptController extends BaseController
+{
+    @Autowired
+    private ISysBpmNodeScriptService sysBpmNodeScriptService;
+
+    /**
+     * 查询流程节点脚本列表
+     */
+//    @PreAuthorize("@ss.hasPermi('system:script:list')")
+    @GetMapping("/list")
+    @ApiOperation(value = "查询流程节点脚本列表")
+    public TableDataInfo list(SysBpmNodeScript sysBpmNodeScript)
+    {
+        startPage();
+        List<SysBpmNodeScript> list = sysBpmNodeScriptService.selectSysBpmNodeScriptList(sysBpmNodeScript);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出流程节点脚本列表
+     */
+//    @PreAuthorize("@ss.hasPermi('system:script:export')")
+    @Log(title = "流程节点脚本", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ApiOperation(value = "导出流程节点脚本列表")
+    public void export(HttpServletResponse response, SysBpmNodeScript sysBpmNodeScript)
+    {
+        List<SysBpmNodeScript> list = sysBpmNodeScriptService.selectSysBpmNodeScriptList(sysBpmNodeScript);
+        ExcelUtil<SysBpmNodeScript> util = new ExcelUtil<SysBpmNodeScript>(SysBpmNodeScript.class);
+        util.exportExcel(response, list, "流程节点脚本数据");
+    }
+
+    /**
+     * 获取流程节点脚本详细信息
+     */
+//    @PreAuthorize("@ss.hasPermi('system:script:query')")
+    @GetMapping(value = "/{id}")
+    @ApiOperation(value = "获取流程节点脚本详细信息")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(sysBpmNodeScriptService.selectSysBpmNodeScriptById(id));
+    }
+
+    /**
+     * 新增流程节点脚本
+     */
+//    @PreAuthorize("@ss.hasPermi('system:script:add')")
+    @Log(title = "流程节点脚本", businessType = BusinessType.INSERT)
+    @PostMapping
+    @ApiOperation(value = "新增流程节点脚本")
+    public AjaxResult add(@RequestBody SysBpmNodeScript sysBpmNodeScript)
+    {
+        return toAjax(sysBpmNodeScriptService.insertSysBpmNodeScript(sysBpmNodeScript));
+    }
+
+    /**
+     * 修改流程节点脚本
+     */
+//    @PreAuthorize("@ss.hasPermi('system:script:edit')")
+    @Log(title = "流程节点脚本", businessType = BusinessType.UPDATE)
+    @PutMapping
+    @ApiOperation(value = "修改流程节点脚本")
+    public AjaxResult edit(@RequestBody SysBpmNodeScript sysBpmNodeScript)
+    {
+        return toAjax(sysBpmNodeScriptService.updateSysBpmNodeScript(sysBpmNodeScript));
+    }
+
+    /**
+     * 删除流程节点脚本
+     */
+//    @PreAuthorize("@ss.hasPermi('system:script:remove')")
+    @Log(title = "流程节点脚本", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    @ApiOperation(value = "删除流程节点脚本")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(sysBpmNodeScriptService.deleteSysBpmNodeScriptByIds(ids));
+    }
+}

+ 132 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysBpmNodeScript.java

@@ -0,0 +1,132 @@
+package com.ruoyi.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 流程节点脚本对象 sys_bpm_node_script
+ * 
+ * @author ruoyi
+ * @date 2023-10-26
+ */
+public class SysBpmNodeScript extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 脚本编码 */
+    private String scriptKey;
+
+    /** 脚本方法名称 */
+    private String scriptFunctionName;
+
+    /** 脚本名称 */
+    private String scriptName;
+
+    /** 脚本方法体 */
+    private String scriptFunctionCode;
+
+    /** 脚本类型 */
+    private Long scriptType;
+
+    /** 脚本描述 */
+    private String scriptDescription;
+
+    /** 删除标志(0:否;1:是) */
+    private String delFlag;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setScriptKey(String scriptKey) 
+    {
+        this.scriptKey = scriptKey;
+    }
+
+    public String getScriptKey() 
+    {
+        return scriptKey;
+    }
+    public void setScriptFunctionName(String scriptFunctionName) 
+    {
+        this.scriptFunctionName = scriptFunctionName;
+    }
+
+    public String getScriptFunctionName() 
+    {
+        return scriptFunctionName;
+    }
+    public void setScriptName(String scriptName) 
+    {
+        this.scriptName = scriptName;
+    }
+
+    public String getScriptName() 
+    {
+        return scriptName;
+    }
+    public void setScriptFunctionCode(String scriptFunctionCode) 
+    {
+        this.scriptFunctionCode = scriptFunctionCode;
+    }
+
+    public String getScriptFunctionCode() 
+    {
+        return scriptFunctionCode;
+    }
+    public void setScriptType(Long scriptType) 
+    {
+        this.scriptType = scriptType;
+    }
+
+    public Long getScriptType() 
+    {
+        return scriptType;
+    }
+    public void setScriptDescription(String scriptDescription) 
+    {
+        this.scriptDescription = scriptDescription;
+    }
+
+    public String getScriptDescription() 
+    {
+        return scriptDescription;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("scriptKey", getScriptKey())
+            .append("scriptFunctionName", getScriptFunctionName())
+            .append("scriptName", getScriptName())
+            .append("scriptFunctionCode", getScriptFunctionCode())
+            .append("scriptType", getScriptType())
+            .append("scriptDescription", getScriptDescription())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysBpmNodeScriptMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysBpmNodeScript;
+
+/**
+ * 流程节点脚本Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-26
+ */
+public interface SysBpmNodeScriptMapper 
+{
+    /**
+     * 查询流程节点脚本
+     * 
+     * @param id 流程节点脚本主键
+     * @return 流程节点脚本
+     */
+    SysBpmNodeScript selectSysBpmNodeScriptById(Long id);
+
+    /**
+     * 查询流程节点脚本列表
+     * 
+     * @param sysBpmNodeScript 流程节点脚本
+     * @return 流程节点脚本集合
+     */
+    List<SysBpmNodeScript> selectSysBpmNodeScriptList(SysBpmNodeScript sysBpmNodeScript);
+
+    /**
+     * 新增流程节点脚本
+     * 
+     * @param sysBpmNodeScript 流程节点脚本
+     * @return 结果
+     */
+    int insertSysBpmNodeScript(SysBpmNodeScript sysBpmNodeScript);
+
+    /**
+     * 修改流程节点脚本
+     * 
+     * @param sysBpmNodeScript 流程节点脚本
+     * @return 结果
+     */
+    int updateSysBpmNodeScript(SysBpmNodeScript sysBpmNodeScript);
+
+    /**
+     * 删除流程节点脚本
+     * 
+     * @param id 流程节点脚本主键
+     * @return 结果
+     */
+    int deleteSysBpmNodeScriptById(Long id);
+
+    /**
+     * 批量删除流程节点脚本
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteSysBpmNodeScriptByIds(Long[] ids);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysBpmNodeScriptService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.SysBpmNodeScript;
+
+/**
+ * 流程节点脚本Service接口
+ * 
+ * @author ruoyi
+ * @date 2023-10-26
+ */
+public interface ISysBpmNodeScriptService 
+{
+    /**
+     * 查询流程节点脚本
+     * 
+     * @param id 流程节点脚本主键
+     * @return 流程节点脚本
+     */
+    SysBpmNodeScript selectSysBpmNodeScriptById(Long id);
+
+    /**
+     * 查询流程节点脚本列表
+     * 
+     * @param sysBpmNodeScript 流程节点脚本
+     * @return 流程节点脚本集合
+     */
+    List<SysBpmNodeScript> selectSysBpmNodeScriptList(SysBpmNodeScript sysBpmNodeScript);
+
+    /**
+     * 新增流程节点脚本
+     * 
+     * @param sysBpmNodeScript 流程节点脚本
+     * @return 结果
+     */
+    int insertSysBpmNodeScript(SysBpmNodeScript sysBpmNodeScript);
+
+    /**
+     * 修改流程节点脚本
+     * 
+     * @param sysBpmNodeScript 流程节点脚本
+     * @return 结果
+     */
+    int updateSysBpmNodeScript(SysBpmNodeScript sysBpmNodeScript);
+
+    /**
+     * 批量删除流程节点脚本
+     * 
+     * @param ids 需要删除的流程节点脚本主键集合
+     * @return 结果
+     */
+    int deleteSysBpmNodeScriptByIds(Long[] ids);
+
+    /**
+     * 删除流程节点脚本信息
+     * 
+     * @param id 流程节点脚本主键
+     * @return 结果
+     */
+    int deleteSysBpmNodeScriptById(Long id);
+}

+ 101 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysBpmNodeScriptServiceImpl.java

@@ -0,0 +1,101 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.SysBpmNodeScriptMapper;
+import com.ruoyi.system.domain.SysBpmNodeScript;
+import com.ruoyi.system.service.ISysBpmNodeScriptService;
+
+import javax.annotation.Resource;
+
+/**
+ * 流程节点脚本Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2023-10-26
+ */
+@Service
+public class SysBpmNodeScriptServiceImpl implements ISysBpmNodeScriptService 
+{
+    @Resource
+    private SysBpmNodeScriptMapper sysBpmNodeScriptMapper;
+
+    /**
+     * 查询流程节点脚本
+     * 
+     * @param id 流程节点脚本主键
+     * @return 流程节点脚本
+     */
+    @Override
+    public SysBpmNodeScript selectSysBpmNodeScriptById(Long id)
+    {
+        return sysBpmNodeScriptMapper.selectSysBpmNodeScriptById(id);
+    }
+
+    /**
+     * 查询流程节点脚本列表
+     * 
+     * @param sysBpmNodeScript 流程节点脚本
+     * @return 流程节点脚本
+     */
+    @Override
+    public List<SysBpmNodeScript> selectSysBpmNodeScriptList(SysBpmNodeScript sysBpmNodeScript)
+    {
+        return sysBpmNodeScriptMapper.selectSysBpmNodeScriptList(sysBpmNodeScript);
+    }
+
+    /**
+     * 新增流程节点脚本
+     * 
+     * @param sysBpmNodeScript 流程节点脚本
+     * @return 结果
+     */
+    @Override
+    public int insertSysBpmNodeScript(SysBpmNodeScript sysBpmNodeScript)
+    {
+        sysBpmNodeScript.setCreateTime(DateUtils.getNowDate());
+        sysBpmNodeScript.setCreateBy(SecurityUtils.getUserId().toString());
+        return sysBpmNodeScriptMapper.insertSysBpmNodeScript(sysBpmNodeScript);
+    }
+
+    /**
+     * 修改流程节点脚本
+     * 
+     * @param sysBpmNodeScript 流程节点脚本
+     * @return 结果
+     */
+    @Override
+    public int updateSysBpmNodeScript(SysBpmNodeScript sysBpmNodeScript)
+    {
+        sysBpmNodeScript.setUpdateTime(DateUtils.getNowDate());
+        sysBpmNodeScript.setUpdateBy(SecurityUtils.getUserId().toString());
+        return sysBpmNodeScriptMapper.updateSysBpmNodeScript(sysBpmNodeScript);
+    }
+
+    /**
+     * 批量删除流程节点脚本
+     * 
+     * @param ids 需要删除的流程节点脚本主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSysBpmNodeScriptByIds(Long[] ids)
+    {
+        return sysBpmNodeScriptMapper.deleteSysBpmNodeScriptByIds(ids);
+    }
+
+    /**
+     * 删除流程节点脚本信息
+     * 
+     * @param id 流程节点脚本主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSysBpmNodeScriptById(Long id)
+    {
+        return sysBpmNodeScriptMapper.deleteSysBpmNodeScriptById(id);
+    }
+}

+ 95 - 0
ruoyi-system/src/main/resources/mapper/system/SysBpmNodeScriptMapper.xml

@@ -0,0 +1,95 @@
+<?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.SysBpmNodeScriptMapper">
+    
+    <resultMap type="SysBpmNodeScript" id="SysBpmNodeScriptResult">
+        <result property="id"    column="id"    />
+        <result property="scriptKey"    column="script_key"    />
+        <result property="scriptFunctionName"    column="script_function_name"    />
+        <result property="scriptName"    column="script_name"    />
+        <result property="scriptFunctionCode"    column="script_function_code"    />
+        <result property="scriptType"    column="script_type"    />
+        <result property="scriptDescription"    column="script_description"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectSysBpmNodeScriptVo">
+        select id, script_key, script_function_name, script_name, script_function_code, script_type, script_description, del_flag, create_by, create_time, update_by, update_time from sys_bpm_node_script
+    </sql>
+
+    <select id="selectSysBpmNodeScriptList" parameterType="SysBpmNodeScript" resultMap="SysBpmNodeScriptResult">
+        <include refid="selectSysBpmNodeScriptVo"/>
+        where del_flag = '0'
+            <if test="scriptKey != null  and scriptKey != ''"> and script_key = #{scriptKey}</if>
+            <if test="scriptFunctionName != null  and scriptFunctionName != ''"> and script_function_name like concat('%', #{scriptFunctionName}, '%')</if>
+            <if test="scriptName != null  and scriptName != ''"> and script_name like concat('%', #{scriptName}, '%')</if>
+            <if test="scriptFunctionCode != null  and scriptFunctionCode != ''"> and script_function_code = #{scriptFunctionCode}</if>
+            <if test="scriptType != null "> and script_type = #{scriptType}</if>
+            <if test="scriptDescription != null  and scriptDescription != ''"> and script_description = #{scriptDescription}</if>
+    </select>
+    
+    <select id="selectSysBpmNodeScriptById" parameterType="Long" resultMap="SysBpmNodeScriptResult">
+        <include refid="selectSysBpmNodeScriptVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSysBpmNodeScript" parameterType="SysBpmNodeScript" useGeneratedKeys="true" keyProperty="id">
+        insert into sys_bpm_node_script
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="scriptKey != null">script_key,</if>
+            <if test="scriptFunctionName != null">script_function_name,</if>
+            <if test="scriptName != null">script_name,</if>
+            <if test="scriptFunctionCode != null">script_function_code,</if>
+            <if test="scriptType != null">script_type,</if>
+            <if test="scriptDescription != null">script_description,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            del_flag
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="scriptKey != null">#{scriptKey},</if>
+            <if test="scriptFunctionName != null">#{scriptFunctionName},</if>
+            <if test="scriptName != null">#{scriptName},</if>
+            <if test="scriptFunctionCode != null">#{scriptFunctionCode},</if>
+            <if test="scriptType != null">#{scriptType},</if>
+            <if test="scriptDescription != null">#{scriptDescription},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            '0'
+         </trim>
+    </insert>
+
+    <update id="updateSysBpmNodeScript" parameterType="SysBpmNodeScript">
+        update sys_bpm_node_script
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="scriptKey != null">script_key = #{scriptKey},</if>
+            <if test="scriptFunctionName != null">script_function_name = #{scriptFunctionName},</if>
+            <if test="scriptName != null">script_name = #{scriptName},</if>
+            <if test="scriptFunctionCode != null">script_function_code = #{scriptFunctionCode},</if>
+            <if test="scriptType != null">script_type = #{scriptType},</if>
+            <if test="scriptDescription != null">script_description = #{scriptDescription},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteSysBpmNodeScriptById" parameterType="Long">
+        update sys_bpm_node_script set del_flag = '2' where id = #{id}
+    </update>
+
+    <update id="deleteSysBpmNodeScriptByIds" parameterType="String">
+        update sys_bpm_node_script set del_flag = '2' where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+</mapper>