feat(system): 添加编码规则管理功能基础CRUD
- 创建编码规则实体类SysCodeRule,定义规则编码、名称、前缀等字段 - 实现编码规则的增删改查功能,包括列表查询、详情查看、新增修改等操作 - 添加编码规则的启用状态、重置周期等配置选项 - 创建数据库映射文件和对应的SQL语句 - 实现编码规则的导出功能 - 添加权限控制和数据验证机制main
parent
d508a056ac
commit
c57944a8c6
@ -0,0 +1,140 @@
|
||||
package com.ruoyi.web.controller.system;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.system.domain.SysCodeRule;
|
||||
import com.ruoyi.system.service.ISysCodeRuleService;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 编码规则Controller
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-06-08
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/system/rule")
|
||||
public class SysCodeRuleController extends BaseController
|
||||
{
|
||||
private String prefix = "system/rule";
|
||||
|
||||
@Autowired
|
||||
private ISysCodeRuleService sysCodeRuleService;
|
||||
|
||||
@RequiresPermissions("system:rule:view")
|
||||
@GetMapping()
|
||||
public String rule()
|
||||
{
|
||||
return prefix + "/rule";
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询编码规则列表
|
||||
*/
|
||||
@RequiresPermissions("system:rule:list")
|
||||
@PostMapping("/list")
|
||||
@ResponseBody
|
||||
public TableDataInfo list(SysCodeRule sysCodeRule)
|
||||
{
|
||||
startPage();
|
||||
List<SysCodeRule> list = sysCodeRuleService.selectSysCodeRuleList(sysCodeRule);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出编码规则列表
|
||||
*/
|
||||
@RequiresPermissions("system:rule:export")
|
||||
@Log(title = "编码规则", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
@ResponseBody
|
||||
public AjaxResult export(SysCodeRule sysCodeRule)
|
||||
{
|
||||
List<SysCodeRule> list = sysCodeRuleService.selectSysCodeRuleList(sysCodeRule);
|
||||
ExcelUtil<SysCodeRule> util = new ExcelUtil<SysCodeRule>(SysCodeRule.class);
|
||||
return util.exportExcel(list, "编码规则数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看编码规则详情
|
||||
*/
|
||||
@RequiresPermissions("system:rule:view")
|
||||
@GetMapping("/view/{ruleId}")
|
||||
public String view(@PathVariable("ruleId") Long ruleId, ModelMap mmap)
|
||||
{
|
||||
SysCodeRule sysCodeRule = sysCodeRuleService.selectSysCodeRuleByRuleId(ruleId);
|
||||
mmap.put("sysCodeRule", sysCodeRule);
|
||||
return prefix + "/view";
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增编码规则
|
||||
*/
|
||||
@RequiresPermissions("system:rule:add")
|
||||
@GetMapping("/add")
|
||||
public String add()
|
||||
{
|
||||
return prefix + "/add";
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增保存编码规则
|
||||
*/
|
||||
@RequiresPermissions("system:rule:add")
|
||||
@Log(title = "编码规则", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/add")
|
||||
@ResponseBody
|
||||
public AjaxResult addSave(SysCodeRule sysCodeRule)
|
||||
{
|
||||
return toAjax(sysCodeRuleService.insertSysCodeRule(sysCodeRule));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改编码规则
|
||||
*/
|
||||
@RequiresPermissions("system:rule:edit")
|
||||
@GetMapping("/edit/{ruleId}")
|
||||
public String edit(@PathVariable("ruleId") Long ruleId, ModelMap mmap)
|
||||
{
|
||||
SysCodeRule sysCodeRule = sysCodeRuleService.selectSysCodeRuleByRuleId(ruleId);
|
||||
mmap.put("sysCodeRule", sysCodeRule);
|
||||
return prefix + "/edit";
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改保存编码规则
|
||||
*/
|
||||
@RequiresPermissions("system:rule:edit")
|
||||
@Log(title = "编码规则", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/edit")
|
||||
@ResponseBody
|
||||
public AjaxResult editSave(SysCodeRule sysCodeRule)
|
||||
{
|
||||
return toAjax(sysCodeRuleService.updateSysCodeRule(sysCodeRule));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除编码规则
|
||||
*/
|
||||
@RequiresPermissions("system:rule:remove")
|
||||
@Log(title = "编码规则", businessType = BusinessType.DELETE)
|
||||
@PostMapping( "/remove")
|
||||
@ResponseBody
|
||||
public AjaxResult remove(String ids)
|
||||
{
|
||||
return toAjax(sysCodeRuleService.deleteSysCodeRuleByRuleIds(ids));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.system.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.system.domain.SysCodeRule;
|
||||
|
||||
/**
|
||||
* 编码规则Mapper接口
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-06-08
|
||||
*/
|
||||
public interface SysCodeRuleMapper
|
||||
{
|
||||
/**
|
||||
* 查询编码规则
|
||||
*
|
||||
* @param ruleId 编码规则主键
|
||||
* @return 编码规则
|
||||
*/
|
||||
public SysCodeRule selectSysCodeRuleByRuleId(Long ruleId);
|
||||
|
||||
/**
|
||||
* 查询编码规则列表
|
||||
*
|
||||
* @param sysCodeRule 编码规则
|
||||
* @return 编码规则集合
|
||||
*/
|
||||
public List<SysCodeRule> selectSysCodeRuleList(SysCodeRule sysCodeRule);
|
||||
|
||||
/**
|
||||
* 新增编码规则
|
||||
*
|
||||
* @param sysCodeRule 编码规则
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertSysCodeRule(SysCodeRule sysCodeRule);
|
||||
|
||||
/**
|
||||
* 修改编码规则
|
||||
*
|
||||
* @param sysCodeRule 编码规则
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateSysCodeRule(SysCodeRule sysCodeRule);
|
||||
|
||||
/**
|
||||
* 删除编码规则
|
||||
*
|
||||
* @param ruleId 编码规则主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSysCodeRuleByRuleId(Long ruleId);
|
||||
|
||||
/**
|
||||
* 批量删除编码规则
|
||||
*
|
||||
* @param ruleIds 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSysCodeRuleByRuleIds(String[] ruleIds);
|
||||
}
|
||||
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.system.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.system.domain.SysCodeRule;
|
||||
|
||||
/**
|
||||
* 编码规则Service接口
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-06-08
|
||||
*/
|
||||
public interface ISysCodeRuleService
|
||||
{
|
||||
/**
|
||||
* 查询编码规则
|
||||
*
|
||||
* @param ruleId 编码规则主键
|
||||
* @return 编码规则
|
||||
*/
|
||||
public SysCodeRule selectSysCodeRuleByRuleId(Long ruleId);
|
||||
|
||||
/**
|
||||
* 查询编码规则列表
|
||||
*
|
||||
* @param sysCodeRule 编码规则
|
||||
* @return 编码规则集合
|
||||
*/
|
||||
public List<SysCodeRule> selectSysCodeRuleList(SysCodeRule sysCodeRule);
|
||||
|
||||
/**
|
||||
* 新增编码规则
|
||||
*
|
||||
* @param sysCodeRule 编码规则
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertSysCodeRule(SysCodeRule sysCodeRule);
|
||||
|
||||
/**
|
||||
* 修改编码规则
|
||||
*
|
||||
* @param sysCodeRule 编码规则
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateSysCodeRule(SysCodeRule sysCodeRule);
|
||||
|
||||
/**
|
||||
* 批量删除编码规则
|
||||
*
|
||||
* @param ruleIds 需要删除的编码规则主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSysCodeRuleByRuleIds(String ruleIds);
|
||||
|
||||
/**
|
||||
* 删除编码规则信息
|
||||
*
|
||||
* @param ruleId 编码规则主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteSysCodeRuleByRuleId(Long ruleId);
|
||||
}
|
||||
@ -0,0 +1,97 @@
|
||||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.system.mapper.SysCodeRuleMapper;
|
||||
import com.ruoyi.system.domain.SysCodeRule;
|
||||
import com.ruoyi.system.service.ISysCodeRuleService;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
|
||||
/**
|
||||
* 编码规则Service业务层处理
|
||||
*
|
||||
* @author Yangk
|
||||
* @date 2026-06-08
|
||||
*/
|
||||
@Service
|
||||
public class SysCodeRuleServiceImpl implements ISysCodeRuleService
|
||||
{
|
||||
@Autowired
|
||||
private SysCodeRuleMapper sysCodeRuleMapper;
|
||||
|
||||
/**
|
||||
* 查询编码规则
|
||||
*
|
||||
* @param ruleId 编码规则主键
|
||||
* @return 编码规则
|
||||
*/
|
||||
@Override
|
||||
public SysCodeRule selectSysCodeRuleByRuleId(Long ruleId)
|
||||
{
|
||||
return sysCodeRuleMapper.selectSysCodeRuleByRuleId(ruleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询编码规则列表
|
||||
*
|
||||
* @param sysCodeRule 编码规则
|
||||
* @return 编码规则
|
||||
*/
|
||||
@Override
|
||||
public List<SysCodeRule> selectSysCodeRuleList(SysCodeRule sysCodeRule)
|
||||
{
|
||||
return sysCodeRuleMapper.selectSysCodeRuleList(sysCodeRule);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增编码规则
|
||||
*
|
||||
* @param sysCodeRule 编码规则
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertSysCodeRule(SysCodeRule sysCodeRule)
|
||||
{
|
||||
sysCodeRule.setCreateTime(DateUtils.getNowDate());
|
||||
return sysCodeRuleMapper.insertSysCodeRule(sysCodeRule);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改编码规则
|
||||
*
|
||||
* @param sysCodeRule 编码规则
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateSysCodeRule(SysCodeRule sysCodeRule)
|
||||
{
|
||||
sysCodeRule.setUpdateTime(DateUtils.getNowDate());
|
||||
return sysCodeRuleMapper.updateSysCodeRule(sysCodeRule);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除编码规则
|
||||
*
|
||||
* @param ruleIds 需要删除的编码规则主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteSysCodeRuleByRuleIds(String ruleIds)
|
||||
{
|
||||
return sysCodeRuleMapper.deleteSysCodeRuleByRuleIds(Convert.toStrArray(ruleIds));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除编码规则信息
|
||||
*
|
||||
* @param ruleId 编码规则主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteSysCodeRuleByRuleId(Long ruleId)
|
||||
{
|
||||
return sysCodeRuleMapper.deleteSysCodeRuleByRuleId(ruleId);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,121 @@
|
||||
<?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.SysCodeRuleMapper">
|
||||
|
||||
<resultMap type="SysCodeRule" id="SysCodeRuleResult">
|
||||
<result property="ruleId" column="rule_id" />
|
||||
<result property="ruleCode" column="rule_code" />
|
||||
<result property="ruleName" column="rule_name" />
|
||||
<result property="codePrefix" column="code_prefix" />
|
||||
<result property="dateFormat" column="date_format" />
|
||||
<result property="serialLength" column="serial_length" />
|
||||
<result property="currentSerial" column="current_serial" />
|
||||
<result property="resetCycle" column="reset_cycle" />
|
||||
<result property="lastSerialKey" column="last_serial_key" />
|
||||
<result property="enabled" column="enabled" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectSysCodeRuleVo">
|
||||
select rule_id, rule_code, rule_name, code_prefix, date_format, serial_length, current_serial, reset_cycle, last_serial_key, enabled, create_by, create_time, update_by, update_time, remark, del_flag from sys_code_rule
|
||||
</sql>
|
||||
|
||||
<select id="selectSysCodeRuleList" parameterType="SysCodeRule" resultMap="SysCodeRuleResult">
|
||||
<include refid="selectSysCodeRuleVo"/>
|
||||
<where>
|
||||
<if test="ruleCode != null and ruleCode != ''"> and rule_code = #{ruleCode}</if>
|
||||
<if test="ruleName != null and ruleName != ''"> and rule_name like concat('%', #{ruleName}, '%')</if>
|
||||
<if test="codePrefix != null and codePrefix != ''"> and code_prefix = #{codePrefix}</if>
|
||||
<if test="dateFormat != null and dateFormat != ''"> and date_format = #{dateFormat}</if>
|
||||
<if test="serialLength != null "> and serial_length = #{serialLength}</if>
|
||||
<if test="currentSerial != null "> and current_serial = #{currentSerial}</if>
|
||||
<if test="resetCycle != null and resetCycle != ''"> and reset_cycle = #{resetCycle}</if>
|
||||
<if test="lastSerialKey != null and lastSerialKey != ''"> and last_serial_key = #{lastSerialKey}</if>
|
||||
<if test="enabled != null and enabled != ''"> and enabled = #{enabled}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectSysCodeRuleByRuleId" parameterType="Long" resultMap="SysCodeRuleResult">
|
||||
<include refid="selectSysCodeRuleVo"/>
|
||||
where rule_id = #{ruleId}
|
||||
</select>
|
||||
|
||||
<insert id="insertSysCodeRule" parameterType="SysCodeRule" useGeneratedKeys="true" keyProperty="ruleId">
|
||||
insert into sys_code_rule
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="ruleCode != null and ruleCode != ''">rule_code,</if>
|
||||
<if test="ruleName != null and ruleName != ''">rule_name,</if>
|
||||
<if test="codePrefix != null and codePrefix != ''">code_prefix,</if>
|
||||
<if test="dateFormat != null and dateFormat != ''">date_format,</if>
|
||||
<if test="serialLength != null">serial_length,</if>
|
||||
<if test="currentSerial != null">current_serial,</if>
|
||||
<if test="resetCycle != null and resetCycle != ''">reset_cycle,</if>
|
||||
<if test="lastSerialKey != null">last_serial_key,</if>
|
||||
<if test="enabled != null and enabled != ''">enabled,</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>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="delFlag != null">del_flag,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="ruleCode != null and ruleCode != ''">#{ruleCode},</if>
|
||||
<if test="ruleName != null and ruleName != ''">#{ruleName},</if>
|
||||
<if test="codePrefix != null and codePrefix != ''">#{codePrefix},</if>
|
||||
<if test="dateFormat != null and dateFormat != ''">#{dateFormat},</if>
|
||||
<if test="serialLength != null">#{serialLength},</if>
|
||||
<if test="currentSerial != null">#{currentSerial},</if>
|
||||
<if test="resetCycle != null and resetCycle != ''">#{resetCycle},</if>
|
||||
<if test="lastSerialKey != null">#{lastSerialKey},</if>
|
||||
<if test="enabled != null and enabled != ''">#{enabled},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="delFlag != null">#{delFlag},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateSysCodeRule" parameterType="SysCodeRule">
|
||||
update sys_code_rule
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="ruleCode != null and ruleCode != ''">rule_code = #{ruleCode},</if>
|
||||
<if test="ruleName != null and ruleName != ''">rule_name = #{ruleName},</if>
|
||||
<if test="codePrefix != null and codePrefix != ''">code_prefix = #{codePrefix},</if>
|
||||
<if test="dateFormat != null and dateFormat != ''">date_format = #{dateFormat},</if>
|
||||
<if test="serialLength != null">serial_length = #{serialLength},</if>
|
||||
<if test="currentSerial != null">current_serial = #{currentSerial},</if>
|
||||
<if test="resetCycle != null and resetCycle != ''">reset_cycle = #{resetCycle},</if>
|
||||
<if test="lastSerialKey != null">last_serial_key = #{lastSerialKey},</if>
|
||||
<if test="enabled != null and enabled != ''">enabled = #{enabled},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||||
</trim>
|
||||
where rule_id = #{ruleId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteSysCodeRuleByRuleId" parameterType="Long">
|
||||
delete from sys_code_rule where rule_id = #{ruleId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteSysCodeRuleByRuleIds" parameterType="String">
|
||||
delete from sys_code_rule where rule_id in
|
||||
<foreach item="ruleId" collection="array" open="(" separator="," close=")">
|
||||
#{ruleId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue