| doc/宁夏-中盛建材.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/controller/BaseParamController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/dto/BaseParamDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/mapper/BaseParamMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/pojo/BaseParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/service/BaseParamService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/service/impl/BaseParamServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/basic/BaseParamMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
doc/ÄþÏÄ-ÖÐÊ¢½¨²Ä.sql
@@ -175,4 +175,25 @@ ALTER TABLE `product-inventory-management-zsjc`.`production_plan` DROP COLUMN `data_sync_type`, MODIFY COLUMN `data_source_type` tinyint NULL DEFAULT 1 COMMENT 'æ°æ®æ¥æºç±»åï¼1=éé忥 2=æå¨æ°å¢' AFTER `form_modified_time`; MODIFY COLUMN `data_source_type` tinyint NULL DEFAULT 1 COMMENT 'æ°æ®æ¥æºç±»åï¼1=éé忥 2=æå¨æ°å¢' AFTER `form_modified_time`; DROP TABLE IF EXISTS `base_param`; CREATE TABLE `base_param` ( id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主é®ID', param_key VARCHAR(100) NOT NULL COMMENT 'åæ°å¯ä¸æ è¯', param_name VARCHAR(100) NOT NULL COMMENT 'åæ°åç§°', param_type TINYINT NOT NULL COMMENT 'åæ°ç±»å(1æ°å 2ææ¬)', value_mode TINYINT DEFAULT 1 COMMENT '弿¨¡å¼(1åå¼ 2åºé´)', unit VARCHAR(50) COMMENT 'åä½', default_value VARCHAR(200) COMMENT 'é»è®¤å¼(åå¼åæ°)', default_min DECIMAL(10, 2) COMMENT 'é»è®¤æå°å¼(åºé´åæ°)', default_max DECIMAL(10, 2) COMMENT 'é»è®¤æå¤§å¼(åºé´åæ°)', is_required TINYINT DEFAULT 0 COMMENT 'æ¯å¦å¿ å¡«(0å¦ 1æ¯)', remark VARCHAR(255) COMMENT '夿³¨', create_user VARCHAR(64) COMMENT 'å建人', create_time DATETIME COMMENT 'å建æ¶é´', update_user VARCHAR(64) COMMENT 'ä¿®æ¹äºº', update_time DATETIME COMMENT 'ä¿®æ¹æ¶é´', tenant_id BIGINT NOT NULL COMMENT 'ç§æ·ID' ) COMMENT = 'åºç¡åæ°å®ä¹è¡¨'; src/main/java/com/ruoyi/basic/controller/BaseParamController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,60 @@ package com.ruoyi.basic.controller; import com.ruoyi.basic.pojo.BaseParam; import com.ruoyi.basic.service.BaseParamService; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * <br> * åºç¡åæ°å®ä¹æ§å¶å± * </br> * * @author deslrey * @version 1.0 * @since 2026/03/13 16:42 */ @RestController @RequestMapping("/baseParam") public class BaseParamController extends BaseController { @Autowired private BaseParamService baseParamService; @GetMapping("list") @Log(title = "åºç¡åæ°æ°æ®éå", businessType = BusinessType.OTHER) @ApiOperation("åºç¡åæ°æ°æ®éå") public AjaxResult baseParamList(BaseParam baseParam) { List<BaseParam> list = baseParamService.baseParamList(baseParam); return AjaxResult.success(list); } @PostMapping("/add") @Log(title = "æ°å¢åºç¡åæ°", businessType = BusinessType.INSERT) @ApiOperation("æ°å¢åºç¡åæ°") public AjaxResult baseParamAdd(@RequestBody BaseParam baseParam) { return toAjax(baseParamService.addBaseParam(baseParam)); } @PutMapping("/edit") @Log(title = "ä¿®æ¹åºç¡åæ°", businessType = BusinessType.UPDATE) @ApiOperation("ä¿®æ¹åºç¡åæ°") public AjaxResult baseParamEdit(@RequestBody BaseParam baseParam) { return toAjax(baseParamService.updateBaseParam(baseParam)); } @DeleteMapping("/remove/{ids}") @Log(title = "å é¤åºç¡åæ°", businessType = BusinessType.DELETE) @ApiOperation("å é¤åºç¡åæ°") public AjaxResult baseParamRemove(@PathVariable Long[] ids) { return toAjax(baseParamService.deleteBaseParamByIds(ids)); } } src/main/java/com/ruoyi/basic/dto/BaseParamDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,79 @@ package com.ruoyi.basic.dto; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDateTime; /** * <br> * åºç¡åæ°å®ä¹Dto * </br> * * @author deslrey * @version 1.0 * @since 2026/03/13 17:40 */ @Data @Api("åºç¡åæ°å®ä¹Dto") public class BaseParamDto { @ApiModelProperty("主é®ID") private Long id; @ApiModelProperty("åæ°å¯ä¸æ è¯") private String paramKey; @ApiModelProperty("åæ°åç§°") private String paramName; @ApiModelProperty("åæ°ç±»å(1æ°å 2ææ¬)") private Integer paramType; @ApiModelProperty("弿¨¡å¼(1åå¼ 2åºé´)") private Integer valueMode; @ApiModelProperty("åä½") private String unit; @ApiModelProperty("é»è®¤å¼(åå¼åæ°)") private String defaultValue; @ApiModelProperty("é»è®¤æå°å¼(åºé´åæ°)") private BigDecimal defaultMin; @ApiModelProperty("é»è®¤æå¤§å¼(åºé´åæ°)") private BigDecimal defaultMax; @ApiModelProperty("æ¯å¦å¿ å¡«(0å¦ 1æ¯)") private Integer isRequired; @ApiModelProperty("产åç±»å表IDåç§°") private String baseProductTypeName; @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("å建人") private String createUser; @ApiModelProperty("å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty("ä¿®æ¹äºº") private String updateUser; @ApiModelProperty("ä¿®æ¹æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; } src/main/java/com/ruoyi/basic/mapper/BaseParamMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.basic.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.basic.pojo.BaseParam; /** * <br> * åºç¡åæ°å®ä¹Mapper * </br> * * @author deslrey * @version 1.0 * @since 2026/03/13 16:39 */ public interface BaseParamMapper extends BaseMapper<BaseParam> { } src/main/java/com/ruoyi/basic/pojo/BaseParam.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,81 @@ package com.ruoyi.basic.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDateTime; /** * <br> * åºç¡åæ°å®ä¹è¡¨ * </br> * * @author deslrey * @version 1.0 * @since 2026/03/13 16:33 */ @Data @TableName("base_param") @Api("åºç¡åæ°å®ä¹") public class BaseParam { @TableId(type = IdType.AUTO) @ApiModelProperty("主é®ID") private Long id; @ApiModelProperty("åæ°å¯ä¸æ è¯") private String paramKey; @ApiModelProperty("åæ°åç§°") private String paramName; @ApiModelProperty("åæ°ç±»å(1æ°å 2ææ¬)") private Integer paramType; @ApiModelProperty("弿¨¡å¼(1åå¼ 2åºé´)") private Integer valueMode; @ApiModelProperty("åä½") private String unit; @ApiModelProperty("é»è®¤å¼(åå¼åæ°)") private String defaultValue; @ApiModelProperty("é»è®¤æå°å¼(åºé´åæ°)") private BigDecimal defaultMin; @ApiModelProperty("é»è®¤æå¤§å¼(åºé´åæ°)") private BigDecimal defaultMax; @ApiModelProperty("æ¯å¦å¿ å¡«(0å¦ 1æ¯)") private Integer isRequired; @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("å建人") private String createUser; @ApiModelProperty("å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty("ä¿®æ¹äºº") private String updateUser; @ApiModelProperty("ä¿®æ¹æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; @ApiModelProperty("ç§æ·ID") private Long tenantId; } src/main/java/com/ruoyi/basic/service/BaseParamService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.ruoyi.basic.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.basic.pojo.BaseParam; import java.util.List; /** * <br> * åºç¡åæ°å®ä¹æ¥å£ * </br> * * @author deslrey * @version 1.0 * @since 2026/03/13 16:40 */ public interface BaseParamService extends IService<BaseParam> { List<BaseParam> baseParamList(BaseParam baseParam); int addBaseParam(BaseParam baseParam); int updateBaseParam(BaseParam baseParam); int deleteBaseParamByIds(Long[] ids); } src/main/java/com/ruoyi/basic/service/impl/BaseParamServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,157 @@ package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.mapper.BaseParamMapper; import com.ruoyi.basic.pojo.BaseParam; import com.ruoyi.basic.service.BaseParamService; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * <br> * åºç¡åæ°å®ä¹æ¥å£å®ç°ç±» * </br> * * @author deslrey * @version 1.0 * @since 2026/03/13 16:41 */ @Slf4j @Service @Api("åºç¡åæ°å®ä¹æ¥å£å®ç°ç±»") public class BaseParamServiceImpl extends ServiceImpl<BaseParamMapper, BaseParam> implements BaseParamService { @Override public List<BaseParam> baseParamList(BaseParam baseParam) { LambdaQueryWrapper<BaseParam> queryWrapper = new LambdaQueryWrapper<>(); if (StringUtils.isNotEmpty(baseParam.getParamName())) { queryWrapper.like(BaseParam::getParamName, baseParam.getParamName()); } List<BaseParam> list = list(queryWrapper); if (list == null || list.isEmpty()) { return new ArrayList<>(0); } return list; } @Override public int addBaseParam(BaseParam baseParam) { if (baseParam == null) { throw new RuntimeException("æ°å¢åæ°ä¸è½ä¸ºç©º"); } // åæ°æ ¡éª checkBaseParam(baseParam, false); // èªå¨çæparamKey baseParam.setParamKey(generateParamKey()); baseParam.setCreateUser(SecurityUtils.getUsername()); baseParam.setCreateTime(LocalDateTime.now()); return baseMapper.insert(baseParam); } @Override public int updateBaseParam(BaseParam baseParam) { if (baseParam == null || baseParam.getId() == null) { throw new RuntimeException("ä¿®æ¹åæ°IDä¸è½ä¸ºç©º"); } // åæ°æ ¡éª checkBaseParam(baseParam, true); baseParam.setUpdateUser(SecurityUtils.getUsername()); baseParam.setUpdateTime(LocalDateTime.now()); return baseMapper.updateById(baseParam); } /** * çæåæ°å¯ä¸key */ private String generateParamKey() { String prefix = "PARAM_"; // æ¥è¯¢å½åæå¤§key LambdaQueryWrapper<BaseParam> wrapper = new LambdaQueryWrapper<>(); wrapper.select(BaseParam::getParamKey) .likeRight(BaseParam::getParamKey, prefix) .orderByDesc(BaseParam::getParamKey) .last("limit 1"); BaseParam last = baseMapper.selectOne(wrapper); int nextNum = 1; if (last != null) { String lastKey = last.getParamKey(); String numStr = lastKey.replace(prefix, ""); nextNum = Integer.parseInt(numStr) + 1; } return prefix + String.format("%04d", nextNum); } /** * åæ°åæ³æ§æ ¡éª */ private void checkBaseParam(BaseParam baseParam, boolean isUpdate) { if (baseParam == null) { throw new RuntimeException("åæ°å¯¹è±¡ä¸è½ä¸ºç©º"); } if (StringUtils.isEmpty(baseParam.getParamName())) { throw new RuntimeException("åæ°åç§°ä¸è½ä¸ºç©º"); } if (baseParam.getParamType() == null || !(baseParam.getParamType() == 1 || baseParam.getParamType() == 2)) { throw new RuntimeException("åæ°ç±»åå¿ é¡»ä¸º1(æ°å)æ2(ææ¬)"); } if (baseParam.getValueMode() == null || !(baseParam.getValueMode() == 1 || baseParam.getValueMode() == 2)) { throw new RuntimeException("弿¨¡å¼å¿ 须为1(åå¼)æ2(åºé´)"); } // å弿¨¡å¼ if (baseParam.getValueMode() == 1) { if (StringUtils.isEmpty(baseParam.getDefaultValue())) { throw new RuntimeException("åå¼åæ°é»è®¤å¼ä¸è½ä¸ºç©º"); } if (baseParam.getParamType() == 1) { try { new BigDecimal(baseParam.getDefaultValue()); } catch (Exception e) { throw new RuntimeException("é»è®¤å¼å¿ 须为æ°å"); } } baseParam.setDefaultMin(null); baseParam.setDefaultMax(null); } // åºé´æ¨¡å¼ if (baseParam.getValueMode() == 2) { if (baseParam.getParamType() != 1) { throw new RuntimeException("åªææ°åç±»åæè½ä½¿ç¨åºé´æ¨¡å¼"); } if (baseParam.getDefaultMin() == null || baseParam.getDefaultMax() == null) { throw new RuntimeException("åºé´åæ°æå°å¼åæå¤§å¼ä¸è½ä¸ºç©º"); } if (baseParam.getDefaultMin().compareTo(baseParam.getDefaultMax()) > 0) { throw new RuntimeException("æå°å¼ä¸è½å¤§äºæå¤§å¼"); } baseParam.setDefaultValue(null); } } @Override public int deleteBaseParamByIds(Long[] ids) { if (ids == null || ids.length == 0) { throw new RuntimeException("å é¤IDä¸è½ä¸ºç©º"); } return baseMapper.deleteBatchIds(Arrays.asList(ids)); } } src/main/resources/mapper/basic/BaseParamMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ <?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.basic.mapper.BaseParamMapper"> <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.BaseParam"> <id column="id" property="id"/> <result column="param_key" property="paramKey"/> <result column="param_name" property="paramName"/> <result column="param_type" property="paramType"/> <result column="value_mode" property="valueMode"/> <result column="unit" property="unit"/> <result column="default_value" property="defaultValue"/> <result column="default_min" property="defaultMin"/> <result column="default_max" property="defaultMax"/> <result column="is_required" property="isRequired"/> <result column="remark" property="remark"/> <result column="create_user" property="createUser"/> <result column="create_time" property="createTime"/> <result column="update_user" property="updateUser"/> <result column="update_time" property="updateTime"/> <result column="tenant_id" property="tenantId"/> </resultMap> </mapper>