37个文件已修改
1个文件已删除
19个文件已添加
| | |
| | | |
| | | |
| | | // 防止误生成 |
| | | private static final String BASE_PACKAGE = "com.financial"; |
| | | private static final String BASE_PACKAGE = "com.ruoyi"; |
| | | |
| | | @Test |
| | | public void contextLoads() { |
| | |
| | | .setServiceName("%sService") |
| | | .setServiceImplName("%sServiceImpl") |
| | | .setControllerName("%sController") |
| | | .setOpen(false)//当代码生成完成之后是否打开代码所在的文件夹 |
| | | .setOpen(true)//当代码生成完成之后是否打开代码所在的文件夹 |
| | | .setSwagger2(true) //实体属性 Swagger2 注解 |
| | | .setFileOverride(true)//是否覆盖 |
| | | //.setActiveRecord(true) |
| | |
| | | // strategy.setTablePrefix(pc.getModuleName() + ""); |
| | | // strategy.setLikeTable(new LikeTable("room")); |
| | | //strategy.setLikeTable(new LikeTable("member")); |
| | | strategy.setLikeTable(new LikeTable("tb_"));// 生成表名 |
| | | strategy.setLikeTable(new LikeTable("tb_basic_data_config"));// 生成表名 |
| | | // strategy.setLikeTable(new LikeTable("t_hotel"));// 生成表名 |
| | | // strategy.setLikeTable(new LikeTable("t_scan_message"));// 生成表名 |
| | | // strategy.setNotLikeTable(new LikeTable("tb_dept"));// 不生成表名 |
| | |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.core.env.Environment; |
| | | import org.springframework.http.client.SimpleClientHttpRequestFactory; |
| | | import org.springframework.scheduling.annotation.EnableAsync; |
| | | import org.springframework.scheduling.annotation.EnableScheduling; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | |
| | | * @author ruoyi |
| | | */ |
| | | @Slf4j |
| | | @EnableAsync |
| | | @EnableScheduling//开启定时任务 |
| | | @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) |
| | | public class RuoYiManageApplication |
| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.system.domain.TbBasicDataCategory; |
| | | import com.ruoyi.system.dto.BasicDataCategoryDTO; |
| | | import com.ruoyi.system.dto.ShowHideDTO; |
| | | import com.ruoyi.system.dto.update.BasicDataCategoryUpdateDTO; |
| | | import com.ruoyi.system.query.BasicDataCategoryQuery; |
| | | import com.ruoyi.system.service.TbBasicDataCategoryService; |
| | | import com.ruoyi.system.vo.BasicDataCategoryVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @author mitao |
| | | * @since 2024-03-13 |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/tb-basic-data-category") |
| | | @RequiredArgsConstructor |
| | | @Api(tags = {"基础数据分类相关接口"}) |
| | | @RequestMapping("/basic-data-category") |
| | | public class TbBasicDataCategoryController { |
| | | |
| | | private final TbBasicDataCategoryService tbBasicDataCategoryService; |
| | | |
| | | /** |
| | | * 添加 |
| | | * @param dto 基础数据分类传输对象 |
| | | * @return R<Void> |
| | | */ |
| | | @PostMapping("/add") |
| | | @ApiOperation("添加") |
| | | public R<Void> add(@RequestBody @Validated BasicDataCategoryDTO dto) { |
| | | tbBasicDataCategoryService.add(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 编辑 |
| | | * @param dto 基础数据分类更新传输对象 |
| | | * @return R<Void> |
| | | */ |
| | | @PostMapping("/edit") |
| | | @ApiOperation("编辑") |
| | | public R<Void> add(@RequestBody @Validated BasicDataCategoryUpdateDTO dto) { |
| | | tbBasicDataCategoryService.update(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | * @param id id |
| | | * @return R<Void> |
| | | */ |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation("删除") |
| | | public R<Void> delete(@RequestParam(value = "id") Integer id){ |
| | | tbBasicDataCategoryService.removeById(id); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 根据id获取详情 |
| | | * @param id id |
| | | * @return R<BasicDataCategoryVO> |
| | | */ |
| | | @GetMapping("/get-details") |
| | | @ApiOperation("根据id获取详情") |
| | | public R<BasicDataCategoryVO> getDetails(@RequestParam(value = "id") Integer id){ |
| | | TbBasicDataCategory basicDataCategory = tbBasicDataCategoryService.getById(id); |
| | | BasicDataCategoryVO vo = BeanUtils.copyBean(basicDataCategory, BasicDataCategoryVO.class); |
| | | return R.ok(vo); |
| | | } |
| | | |
| | | /** |
| | | * 隐藏显示操作 |
| | | * @param dto 显示隐藏操作数据传输对象 |
| | | * @return R<Void> |
| | | */ |
| | | @PostMapping("/show-hide") |
| | | @ApiOperation("隐藏显示操作") |
| | | public R<Void> showHide(@RequestBody ShowHideDTO dto) { |
| | | TbBasicDataCategory basicDataCategory = tbBasicDataCategoryService.getById(dto.getId()); |
| | | if (Objects.isNull(basicDataCategory)) { |
| | | throw new RuntimeException("非法参数"); |
| | | } |
| | | tbBasicDataCategoryService.lambdaUpdate().set( TbBasicDataCategory::getStatus, dto.getStatus()).eq(TbBasicDataCategory::getId, dto.getId()).update(); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 分页条件查询 |
| | | * @param query 基础数据分类条件查询对象 |
| | | * @return R<PageDTO<BasicDataCategoryVO>> |
| | | */ |
| | | @PostMapping("/page") |
| | | @ApiOperation("分页条件查询") |
| | | public R<PageDTO<BasicDataCategoryVO>> page(@RequestBody BasicDataCategoryQuery query) { |
| | | return R.ok(tbBasicDataCategoryService.queryPage(query)); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.system.domain.TbBasicDataCategory; |
| | | import com.ruoyi.system.dto.BasicDataConfigDTO; |
| | | import com.ruoyi.system.dto.ShowHideDTO; |
| | | import com.ruoyi.system.dto.update.BasicDataConfigUpdateDTO; |
| | | import com.ruoyi.system.query.BasicDataConfigQuery; |
| | | import com.ruoyi.system.service.TbBasicDataCategoryService; |
| | | import com.ruoyi.system.service.TbBasicDataConfigService; |
| | | import com.ruoyi.system.vo.BasicDataCategoryVO; |
| | | import com.ruoyi.system.vo.BasicDataConfigDetailVO; |
| | | import com.ruoyi.system.vo.BasicDataConfigVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-13 |
| | | * @since 2024-03-18 |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/tb-basic-data-config") |
| | | @RequiredArgsConstructor |
| | | @Api(tags = {"基础数据分类相关接口"}) |
| | | @RequestMapping("/basic-data-config") |
| | | public class TbBasicDataConfigController { |
| | | |
| | | private final TbBasicDataConfigService tbBasicDataConfigService; |
| | | private final TbBasicDataCategoryService tbBasicDataCategoryService; |
| | | |
| | | /** |
| | | * 获取分类列表 |
| | | * @return R<List<BasicDataCategoryVO>> |
| | | */ |
| | | @GetMapping("/categories") |
| | | @ApiOperation(value = "获取分类列表") |
| | | public R<List<BasicDataCategoryVO>> queryBasicDataCategories() { |
| | | List<TbBasicDataCategory> list = tbBasicDataCategoryService.lambdaQuery().eq(TbBasicDataCategory::getStatus, ShowStatusEnum.SHOW).list(); |
| | | return R.ok(BeanUtils.copyList(list, BasicDataCategoryVO.class)); |
| | | } |
| | | |
| | | /** |
| | | * 添加 |
| | | * @param dto 基础数据配置数据传输对象 |
| | | * @return R<Void> |
| | | */ |
| | | @PostMapping("/add") |
| | | @ApiOperation("添加") |
| | | public R<Void> add(@RequestBody @Validated BasicDataConfigDTO dto) { |
| | | tbBasicDataConfigService.add(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 编辑 |
| | | * @param dto 基础数据配置数据传输对象 |
| | | * @return R<Void> |
| | | */ |
| | | @PostMapping("/edit") |
| | | @ApiOperation("编辑") |
| | | public R<Void> edit(@RequestBody @Validated BasicDataConfigUpdateDTO dto) { |
| | | tbBasicDataConfigService.edit(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 获取详情 |
| | | * @param id id |
| | | * @return R<BasicDataConfigDetailVO> |
| | | */ |
| | | @GetMapping("/get-details") |
| | | @ApiOperation("获取详情") |
| | | public R<BasicDataConfigDetailVO> getDetails(Integer id) { |
| | | return R.ok(tbBasicDataConfigService.getDetails(id)); |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | * @param id id |
| | | * @return R<Void> |
| | | */ |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation("删除") |
| | | public R<Void> delete(Integer id) { |
| | | tbBasicDataConfigService.delete(id); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 隐藏显示操作 |
| | | * @param dto 显示隐藏操作数据传输对象 |
| | | * @return R<Void> |
| | | */ |
| | | @PostMapping("show-hide") |
| | | @ApiOperation("隐藏显示操作") |
| | | public R<Void> showHide(@RequestBody ShowHideDTO dto) { |
| | | tbBasicDataConfigService.showHide(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 分页条件查询 |
| | | * @param query 基础数据条件查询对象 |
| | | * @return R<PageDTO<BasicDataConfigVO>> |
| | | */ |
| | | @PostMapping("/page") |
| | | @ApiOperation("分页条件查询") |
| | | public R<PageDTO<BasicDataConfigVO>> page(@RequestBody BasicDataConfigQuery query) { |
| | | return R.ok(tbBasicDataConfigService.queryPage(query)); |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 基础数据配置详情表(存储文本和百分比的配置) 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-18 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/tb-basic-data-config-detail") |
| | | public class TbBasicDataConfigDetailController { |
| | | |
| | | } |
| | | |
| | |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.exception.GlobalException; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.common.utils.ExcelUtil; |
| | | import com.ruoyi.common.utils.bean.BeanUtils; |
| | | import com.ruoyi.system.domain.TbDept; |
| | | import com.ruoyi.system.dto.update.DeptFocusDTO; |
| | | import com.ruoyi.system.dto.update.DeptUpdateDTO; |
| | |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @param id 部门id |
| | | * @return DeptVO |
| | | */ |
| | | @GetMapping("/getById") |
| | | @GetMapping("/get-details") |
| | | @ApiOperation("根据id查询部门详情") |
| | | public R<DeptVO> getById(@RequestParam Integer id) { |
| | | public R<DeptVO> getDetails(@RequestParam Integer id) { |
| | | TbDept dept = tbDeptService.getById(id); |
| | | DeptVO deptVO = new DeptVO(); |
| | | BeanUtils.copyBeanProp(deptVO, dept); |
| | | return R.ok(deptVO); |
| | | return R.ok(BeanUtils.copyBean(dept,DeptVO.class)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @PostMapping("/edit") |
| | | @ApiOperation("编辑") |
| | | public R<Object> edit(@RequestBody DeptUpdateDTO dto){ |
| | | TbDept tbDept = new TbDept(); |
| | | BeanUtils.copyBeanProp(tbDept,dto); |
| | | TbDept tbDept = BeanUtils.copyBean(dto, TbDept.class); |
| | | tbDeptService.updateById(tbDept); |
| | | return R.ok(); |
| | | } |
| | |
| | | @PostMapping("/focus") |
| | | @ApiOperation("重点关注") |
| | | public R<Object> focus(@RequestBody DeptFocusDTO dto){ |
| | | TbDept tbDept = new TbDept(); |
| | | BeanUtils.copyBeanProp(tbDept,dto); |
| | | TbDept dept = tbDeptService.getById(dto.getId()); |
| | | if (Objects.isNull(dept)) { |
| | | throw new RuntimeException("非法参数"); |
| | | } |
| | | tbDeptService.lambdaUpdate() |
| | | .eq(TbDept::getId, dto.getId()) |
| | | .set(TbDept::getFocussed, dto.getFocussed()) |
| | |
| | | @PostMapping("/add") |
| | | @ApiOperation("添加") |
| | | public R<Object> add(@RequestBody @Validated FieldCategoryDTO dto) { |
| | | try { |
| | | tbFieldCategoryService.add(dto); |
| | | } catch (Exception e) { |
| | | log.error("添加分类异常", e); |
| | | throw new RuntimeException("操作失败"); |
| | | } |
| | | tbFieldCategoryService.add(dto); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | * @param id 字段分类id |
| | | * @return R |
| | | */ |
| | | @GetMapping("/getById") |
| | | @GetMapping("/get-details") |
| | | @ApiOperation("根据id获取字段分类详情") |
| | | public R<FieldCategoryDetailVO> getById(@RequestParam(value = "id") Integer id) { |
| | | TbFieldCategory oneCategory = tbFieldCategoryService.getById(id); |
| | |
| | | * @param dto 显示隐藏操作数据传输对象 |
| | | * @return R |
| | | */ |
| | | @PutMapping("/show-hide") |
| | | @PostMapping("/show-hide") |
| | | @ApiOperation("隐藏显示操作") |
| | | public R<Object> showHide(@RequestBody ShowHideDTO dto) { |
| | | public R<Void> showHide(@RequestBody ShowHideDTO dto) { |
| | | tbFieldCategoryService.showHide(dto); |
| | | return R.ok(); |
| | | } |
| | |
| | | @DeleteMapping("/delete-children") |
| | | @ApiOperation("编辑页面删除子字段分类") |
| | | public R<Object> deleteChildren(@RequestParam(value = "id") Integer id){ |
| | | try { |
| | | tbFieldCategoryService.deleteChildren(id); |
| | | } catch (Exception e) { |
| | | log.error("编辑页面删除子字段分类失败",e); |
| | | throw new RuntimeException("操作失败"); |
| | | } |
| | | tbFieldCategoryService.deleteChildren(id); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | * @param id id |
| | | * @return FieldVO |
| | | */ |
| | | @GetMapping("/getById") |
| | | @GetMapping("/get-details") |
| | | @ApiOperation("获取详情") |
| | | public R<FieldVO> getById(@RequestParam Integer id){ |
| | | public R<FieldVO> getDetails(@RequestParam Integer id){ |
| | | TbField field = tbFieldService.getById(id); |
| | | return R.ok(BeanUtils.copyBean(field, FieldVO.class)); |
| | | } |
| | |
| | | max-wait: -1ms |
| | | jackson: |
| | | default-property-inclusion: non_null |
| | | deserialization: |
| | | read-unknown-enum-values-as-null: true |
| | | |
| | | # token配置 |
| | | token: |
| | |
| | | <setting name="logImpl" value="SLF4J" /> |
| | | <!-- 使用驼峰命名法转换字段 --> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/> |
| | | <!--开启枚举类自动转换--> |
| | | <setting name="defaultEnumTypeHandler" value="org.apache.ibatis.type.EnumOrdinalTypeHandler"/> |
| | | </settings> |
| | | |
| | | </configuration> |
| | |
| | | <groupId>cn.hutool</groupId> |
| | | <artifactId>hutool-all</artifactId> |
| | | </dependency> |
| | | |
| | | <!--jexl3--> |
| | | <dependency> |
| | | <groupId>org.apache.commons</groupId> |
| | | <artifactId>commons-jexl3</artifactId> |
| | | <version>3.3</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | </project> |
New file |
| | |
| | | package com.ruoyi.common.enums; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.EnumValue; |
| | | import com.fasterxml.jackson.annotation.JsonValue; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Getter; |
| | | |
| | | @Getter |
| | | @AllArgsConstructor |
| | | public enum CalculateTypeEnum { |
| | | NUMBER(1, "数字计算"), |
| | | TEXT(2, "文本统计"), |
| | | PERCENTAGE(3, "百分比统计"); |
| | | @EnumValue |
| | | private final Integer code; |
| | | @JsonValue |
| | | private final String desc; |
| | | |
| | | public static CalculateTypeEnum getEnumByCode(Integer code) { |
| | | for (CalculateTypeEnum e : CalculateTypeEnum.values()) { |
| | | if (e.code.equals(code)) { |
| | | return e; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | |
| | | package com.ruoyi.common.enums; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.EnumValue; |
| | | import com.fasterxml.jackson.annotation.JsonValue; |
| | | import lombok.Getter; |
| | | |
| | | /** |
| | |
| | | YES(1, "是"); |
| | | |
| | | @Getter |
| | | @JsonValue |
| | | private String desc; |
| | | |
| | | |
| | | @Getter |
| | | @EnumValue |
| | | private int code; |
| | | |
| | | |
| | |
| | | package com.ruoyi.common.enums; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.EnumValue; |
| | | import com.fasterxml.jackson.annotation.JsonValue; |
| | | import lombok.Getter; |
| | | import lombok.AllArgsConstructor; |
| | | @Getter |
| | |
| | | NUMBER(1, "数字"), |
| | | TEXT(2, "文本"), |
| | | PERCENTAGE(3, "百分比"); |
| | | |
| | | @EnumValue |
| | | private final Integer code; |
| | | @JsonValue |
| | | private final String desc; |
| | | |
| | | public static FieldTypeEnum getEnumByCode(Integer code) { |
New file |
| | |
| | | package com.ruoyi.common.enums; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.EnumValue; |
| | | import com.fasterxml.jackson.annotation.JsonValue; |
| | | import lombok.Getter; |
| | | import lombok.AllArgsConstructor; |
| | | @Getter |
| | | @AllArgsConstructor |
| | | public enum ShowStatusEnum { |
| | | SHOW(0, "展示中"), |
| | | HIDE(1, "已隐藏"); |
| | | |
| | | @EnumValue |
| | | private final Integer code; |
| | | @JsonValue |
| | | private final String desc; |
| | | |
| | | public static ShowStatusEnum getEnumByCode(Integer code) { |
| | | for (ShowStatusEnum e : ShowStatusEnum.values()) { |
| | | if (e.code.equals(code)) { |
| | | return e; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | |
| | | package com.ruoyi.system.domain; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | private String basicDataCategoryName; |
| | | |
| | | @ApiModelProperty(value = "隐藏状态(0=展示中 1=已隐藏)") |
| | | @TableField("hidden") |
| | | private Integer hidden; |
| | | @TableField("status") |
| | | private ShowStatusEnum status; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableField("del_flag") |
| | |
| | | package com.ruoyi.system.domain; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.ruoyi.common.enums.CalculateTypeEnum; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-13 |
| | | * @since 2024-03-18 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "基础数据配置id") |
| | | @TableId("id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "基础数据分类id") |
| | |
| | | |
| | | @ApiModelProperty(value = "计算类型(1=数字计算 2=文本统计 3=百分比统计)") |
| | | @TableField("calculate_type") |
| | | private Integer calculateType; |
| | | private CalculateTypeEnum calculateType; |
| | | |
| | | @ApiModelProperty(value = "字段id") |
| | | @TableField("field_id") |
| | | private Integer fieldId; |
| | | @ApiModelProperty(value = "数字计算公式") |
| | | @TableField("number_calculate_formula") |
| | | private String numberCalculateFormula; |
| | | |
| | | @ApiModelProperty(value = "计算公式") |
| | | @TableField("calculate_formula") |
| | | private String calculateFormula; |
| | | @ApiModelProperty(value = "字段id (多个id使用 ',' 拼接)") |
| | | @TableField("field_id_str") |
| | | private String fieldIdStr; |
| | | |
| | | @ApiModelProperty(value = "隐藏状态(0=展示中 1=已隐藏)") |
| | | @ApiModelProperty(value = "状态(0=展示 1=隐藏)") |
| | | @TableField("status") |
| | | private Integer status; |
| | | private ShowStatusEnum status; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableField("del_flag") |
New file |
| | |
| | | package com.ruoyi.system.domain; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 基础数据配置详情表(存储文本和百分比的配置) |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-18 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @TableName("tb_basic_data_config_detail") |
| | | @ApiModel(value="TbBasicDataConfigDetail对象", description="基础数据配置详情表(存储文本和百分比的配置)") |
| | | public class TbBasicDataConfigDetail implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "基础数据配置id") |
| | | @TableField("basic_data_config_id") |
| | | private Integer basicDataConfigId; |
| | | |
| | | @ApiModelProperty(value = "键") |
| | | @TableField("key") |
| | | private String key; |
| | | |
| | | @ApiModelProperty(value = "值") |
| | | @TableField("value") |
| | | private String value; |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | import cn.afterturn.easypoi.excel.annotation.Excel; |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | @ApiModelProperty(value = "县级标志(不包含直辖市的区 0:否 1:是)") |
| | | @TableField("county_flag") |
| | | @Excel(name = "县级标志 是/否",replace = {"是_1","否_2"}) |
| | | private Integer countyFlag; |
| | | private ShowStatusEnum countyFlag; |
| | | |
| | | @ApiModelProperty(value = "负责人") |
| | | @TableField("person_in_charge") |
| | |
| | | package com.ruoyi.system.domain; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | |
| | | @ApiModelProperty(value = "隐藏状态(0=展示中 1=已隐藏)") |
| | | @TableField("status") |
| | | private Integer status; |
| | | private ShowStatusEnum status; |
| | | |
| | | @ApiModelProperty(value = "数字最小值") |
| | | @TableField("num_min") |
| | |
| | | package com.ruoyi.system.domain; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | |
| | | @ApiModelProperty(value = "状态(0=展示 1=隐藏)") |
| | | @TableField("status") |
| | | private Integer status; |
| | | private ShowStatusEnum status; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableField("del_flag") |
New file |
| | |
| | | package com.ruoyi.system.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/3/18 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "基础数据分类数据传输对象") |
| | | public class BasicDataCategoryDTO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -5360339554664959680L; |
| | | |
| | | @ApiModelProperty(value = "分类名称") |
| | | @NotBlank(message = "分类名称不能为空") |
| | | private String basicDataCategoryName; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.dto; |
| | | |
| | | import com.ruoyi.common.enums.CalculateTypeEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.util.List; |
| | | import java.util.regex.Matcher; |
| | | import java.util.regex.Pattern; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/3/18 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "基础数据配置数据传输对象") |
| | | public class BasicDataConfigDTO { |
| | | |
| | | @ApiModelProperty(value = "类型名称") |
| | | @NotBlank(message = "类型名称不能为空") |
| | | private String typeName; |
| | | |
| | | @ApiModelProperty(value = "基础数据分类id") |
| | | @NotNull(message = "基础数据分类id不能为空") |
| | | private Integer basicDataCategoryId; |
| | | |
| | | @ApiModelProperty(value = "字段说明") |
| | | @NotBlank(message = "字段说明不能为空") |
| | | private String fieldDescription; |
| | | |
| | | @ApiModelProperty(value = "计算类型(数字计算 文本统计 百分比统计)") |
| | | @NotNull(message = "计算类型不能为空") |
| | | private CalculateTypeEnum calculateType; |
| | | |
| | | @ApiModelProperty(value = "字段id (多个id使用 ',' 拼接)") |
| | | @NotBlank(message = "字段id不能为空") |
| | | private String fieldIdStr; |
| | | |
| | | @ApiModelProperty(value = "计算公式",notes = "计算类型为数字计算,配置内容使用该字段接收;公式中字段的格式为:field_字段id,e.g:field_1,field_2等。") |
| | | private String numberCalculateFormula; |
| | | |
| | | @ApiModelProperty(value = "文本和百分比配置信息",notes = "当计算方式为 文本统计/百分比统计 " + |
| | | "配置内容使用这个字段接收;key为键,value为得分;百分比统计 将百分比区间使用'_'拼接作为key,e.g: 10_20,20_30") |
| | | private List<CalculateDTO> dtoList; |
| | | |
| | | public static void main(String[] args) { |
| | | String rule = "(field1_13+field2_50) × 5 ÷field3_63×10"; |
| | | |
| | | // 正则表达式模式,匹配形如 "fieldName:value" 的字符串 |
| | | Pattern pattern = Pattern.compile("\\b(\\w+)_(\\d+)\\b"); |
| | | Matcher matcher = pattern.matcher(rule); |
| | | |
| | | // 循环匹配并输出字段名和值 |
| | | while (matcher.find()) { |
| | | String fieldName = matcher.group(1); |
| | | int value = Integer.parseInt(matcher.group(2)); |
| | | System.out.println("Field: " + fieldName + ", Value: " + value); |
| | | } |
| | | |
| | | /* // 假设用户上传的字段值 |
| | | int field1 = 500; |
| | | int field2 = 30; |
| | | int field3 = 1000; |
| | | |
| | | // 计算表达式 |
| | | String expression = "(field1_13 + field2_50) * 5 / field3_63 * 10"; |
| | | |
| | | // 创建 JEXL 引擎 |
| | | JexlEngine jexl = new JexlBuilder().create(); |
| | | |
| | | // 创建表达式对象 |
| | | JexlExpression exp = jexl.createExpression(expression); |
| | | |
| | | // 创建上下文 |
| | | JexlContext context = new MapContext(); |
| | | context.set("field1_13", field1); |
| | | context.set("field2_50", field2); |
| | | context.set("field3_63", field3); |
| | | |
| | | // 执行计算 |
| | | Object result = exp.evaluate(context); |
| | | |
| | | // 输出结果 |
| | | System.out.println("Result: " + result);*/ |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | @Data |
| | | @ApiModel(value = "基础数据配置配置数据传输对象") |
| | | public class CalculateDTO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 4241732957573127850L; |
| | | |
| | | @ApiModelProperty(value = "键") |
| | | private String key; |
| | | |
| | | @ApiModelProperty(value = "值") |
| | | private String value; |
| | | } |
| | |
| | | @ApiModel(value = "首页统计DTO") |
| | | public class DataScreeningDTO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 2753409356329000955L; |
| | | |
| | | @ApiModelProperty(value = "区县id") |
| | | private Integer districtId; |
| | | |
| | |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * @author mitao |
| | |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "字段数据传输对象") |
| | | public class FieldDTO { |
| | | public class FieldDTO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 3437479376027913296L; |
| | | |
| | | @ApiModelProperty(value = "字段名") |
| | | @NotBlank(message="字段名不能为空") |
| | |
| | | package com.ruoyi.system.dto; |
| | | |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * @author mitao |
| | |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "显示隐藏操作数据传输对象") |
| | | public class ShowHideDTO { |
| | | public class ShowHideDTO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -309339051829606307L; |
| | | |
| | | @ApiModelProperty(value = "分类id") |
| | | @NotNull(message = "id不能为空") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "状态(0=展示 1=隐藏)") |
| | | @ApiModelProperty(value = "状态 (直接传 展示中 或 已隐藏)") |
| | | @NotNull(message = "status不能为空") |
| | | private Integer status; |
| | | private ShowStatusEnum status; |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.dto.update; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/3/18 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "基础数据分类更新传输对象") |
| | | public class BasicDataCategoryUpdateDTO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = -5360339554664959680L; |
| | | |
| | | @ApiModelProperty(value = "id") |
| | | @NotNull(message = "id不能为空") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "分类名称") |
| | | @NotBlank(message = "分类名称不能为空") |
| | | private String basicDataCategoryName; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.dto.update; |
| | | |
| | | import com.ruoyi.common.enums.CalculateTypeEnum; |
| | | import com.ruoyi.system.dto.CalculateDTO; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @ApiModel(value = "基础数据配置数据传输对象") |
| | | public class BasicDataConfigUpdateDTO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 5918207914709497977L; |
| | | |
| | | @ApiModelProperty(value = "id") |
| | | @NotNull(message = "id不能为空") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "类型名称") |
| | | @NotBlank(message = "类型名称不能为空") |
| | | private String typeName; |
| | | |
| | | @ApiModelProperty(value = "基础数据分类id") |
| | | @NotNull(message = "基础数据分类id不能为空") |
| | | private Integer basicDataCategoryId; |
| | | |
| | | @ApiModelProperty(value = "字段说明") |
| | | @NotBlank(message = "字段说明不能为空") |
| | | private String fieldDescription; |
| | | |
| | | @ApiModelProperty(value = "计算类型(数字计算 文本统计 百分比统计)") |
| | | @NotNull(message = "计算类型不能为空") |
| | | private CalculateTypeEnum calculateType; |
| | | |
| | | @ApiModelProperty(value = "字段id (多个id使用 ',' 拼接)") |
| | | @NotBlank(message = "字段id不能为空") |
| | | private String fieldIdStr; |
| | | |
| | | @ApiModelProperty(value = "计算公式",notes = "计算类型为数字计算,配置内容使用该字段接收;公式中字段的格式为:field_字段id,e.g:field_1,field_2等。") |
| | | private String numberCalculateFormula; |
| | | |
| | | @ApiModelProperty(value = "文本和百分比配置信息",notes = "当计算方式为 文本统计/百分比统计 " + |
| | | "配置内容使用这个字段接收;key为键,value为得分;百分比统计 将百分比区间使用'_'拼接作为key,e.g: 10_20,20_30") |
| | | private List<CalculateDTO> dtoList; |
| | | |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | |
| | | private static final long serialVersionUID = -7322348219193526224L; |
| | | |
| | | @ApiModelProperty(value = "部门id") |
| | | @NotNull(message = "id不能为空") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "是否重点关注(0:否 1:是)") |
| | | @NotNull(message = "是否重点关注不能为空") |
| | | private Integer focussed; |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | |
| | | private static final long serialVersionUID = -4377907033147587467L; |
| | | |
| | | @ApiModelProperty(value = "部门id") |
| | | @NotNull(message = "id不能为空") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "别名") |
| | | @NotBlank(message = "别名不能为空") |
| | | private String areaAlias; |
| | | |
| | | @ApiModelProperty(value = "负责人") |
| | | @NotBlank(message = "负责人不能为空") |
| | | private String personInCharge; |
| | | |
| | | @ApiModelProperty(value = "联系电话") |
| | | @NotBlank(message = "联系电话不能为空") |
| | | private String phone; |
| | | |
| | | @ApiModelProperty(value = "登录账号") |
| | | @NotBlank(message = "登录账号不能为空") |
| | | private String account; |
| | | |
| | | @ApiModelProperty(value = "登录密码") |
| | | @NotBlank(message = "登录密码不能为空") |
| | | private String password; |
| | | } |
| | |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | private static final long serialVersionUID = -1625725857401976832L; |
| | | |
| | | @ApiModelProperty(value = "id") |
| | | @NotBlank(message = "id不能为空") |
| | | @NotNull(message = "id不能为空") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "一级分类名称") |
| | |
| | | public class FieldUpdateDTO { |
| | | |
| | | @ApiModelProperty(value = "id") |
| | | @NotBlank(message = "id不能为空") |
| | | @NotNull(message = "id不能为空") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "字段名") |
New file |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.system.domain.TbBasicDataConfigDetail; |
| | | |
| | | /** |
| | | * <p> |
| | | * 基础数据配置详情表(存储文本和百分比的配置) Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-18 |
| | | */ |
| | | public interface TbBasicDataConfigDetailMapper extends BaseMapper<TbBasicDataConfigDetail> { |
| | | |
| | | } |
| | |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-13 |
| | | * @since 2024-03-18 |
| | | */ |
| | | public interface TbBasicDataConfigMapper extends BaseMapper<TbBasicDataConfig> { |
| | | |
New file |
| | |
| | | package com.ruoyi.system.query; |
| | | |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/3/18 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ApiModel("基础数据分类条件查询对象") |
| | | public class BasicDataCategoryQuery extends BasePage { |
| | | |
| | | private static final long serialVersionUID = -836451250541139775L; |
| | | |
| | | @ApiModelProperty(value = "分类名称") |
| | | private String basicDataCategoryName; |
| | | |
| | | @ApiModelProperty(value = "状态") |
| | | private ShowStatusEnum status; |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.query; |
| | | |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import com.ruoyi.common.enums.FieldTypeEnum; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/3/18 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = true) |
| | | @ApiModel("基础数据条件查询对象") |
| | | public class BasicDataConfigQuery extends BasePage { |
| | | |
| | | private static final long serialVersionUID = -6505569126273148383L; |
| | | |
| | | @ApiModelProperty(value = "类型名称") |
| | | private String basicDataConfigName; |
| | | |
| | | @ApiModelProperty(value = "状态") |
| | | private ShowStatusEnum status; |
| | | |
| | | @ApiModelProperty(value = "计算类型(数字计算 文本统计 百分比统计)") |
| | | private FieldTypeEnum calculateType; |
| | | } |
| | |
| | | package com.ruoyi.system.query; |
| | | |
| | | import com.ruoyi.common.core.domain.BasePage; |
| | | import com.ruoyi.common.enums.FieldTypeEnum; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | @ApiModelProperty(value = "字段名") |
| | | private String fieldName; |
| | | |
| | | @ApiModelProperty(value = "字段类型(1=数字 2=文本 3=百分比)") |
| | | private Integer fieldType; |
| | | @ApiModelProperty(value = "字段类型(数字 文本 百分比)") |
| | | private FieldTypeEnum fieldType; |
| | | |
| | | @ApiModelProperty(value = "所属分类") |
| | | private String levelOneCategory; |
| | |
| | | @ApiModelProperty(value = "三级分类") |
| | | private String levelThreeCategory; |
| | | |
| | | @ApiModelProperty(value = "状态 0=展示 1=隐藏") |
| | | private Integer status; |
| | | @ApiModelProperty(value = "状态 展示 隐藏") |
| | | private ShowStatusEnum status; |
| | | } |
| | |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.system.domain.TbBasicDataCategory; |
| | | import com.ruoyi.system.dto.BasicDataCategoryDTO; |
| | | import com.ruoyi.system.dto.update.BasicDataCategoryUpdateDTO; |
| | | import com.ruoyi.system.query.BasicDataCategoryQuery; |
| | | import com.ruoyi.system.vo.BasicDataCategoryVO; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface TbBasicDataCategoryService extends IService<TbBasicDataCategory> { |
| | | |
| | | void add(BasicDataCategoryDTO dto); |
| | | |
| | | void update(BasicDataCategoryUpdateDTO dto); |
| | | |
| | | PageDTO<BasicDataCategoryVO> queryPage(BasicDataCategoryQuery query); |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.system.domain.TbBasicDataConfigDetail; |
| | | |
| | | /** |
| | | * <p> |
| | | * 基础数据配置详情表(存储文本和百分比的配置) 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-18 |
| | | */ |
| | | public interface TbBasicDataConfigDetailService extends IService<TbBasicDataConfigDetail> { |
| | | |
| | | } |
| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.system.domain.TbBasicDataConfig; |
| | | import com.ruoyi.system.dto.BasicDataConfigDTO; |
| | | import com.ruoyi.system.dto.ShowHideDTO; |
| | | import com.ruoyi.system.dto.update.BasicDataConfigUpdateDTO; |
| | | import com.ruoyi.system.query.BasicDataConfigQuery; |
| | | import com.ruoyi.system.vo.BasicDataConfigDetailVO; |
| | | import com.ruoyi.system.vo.BasicDataConfigVO; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-13 |
| | | * @since 2024-03-18 |
| | | */ |
| | | public interface TbBasicDataConfigService extends IService<TbBasicDataConfig> { |
| | | |
| | | void add(BasicDataConfigDTO dto); |
| | | |
| | | void edit(BasicDataConfigUpdateDTO dto); |
| | | |
| | | BasicDataConfigDetailVO getDetails(Integer id); |
| | | |
| | | void delete(Integer id); |
| | | |
| | | PageDTO<BasicDataConfigVO> queryPage(BasicDataConfigQuery query); |
| | | |
| | | void showHide(ShowHideDTO dto); |
| | | } |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.system.domain.TbBasicDataCategory; |
| | | import com.ruoyi.system.dto.BasicDataCategoryDTO; |
| | | import com.ruoyi.system.dto.update.BasicDataCategoryUpdateDTO; |
| | | import com.ruoyi.system.mapper.TbBasicDataCategoryMapper; |
| | | import com.ruoyi.system.query.BasicDataCategoryQuery; |
| | | import com.ruoyi.system.service.TbBasicDataCategoryService; |
| | | import com.ruoyi.system.vo.BasicDataCategoryVO; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class TbBasicDataCategoryServiceImpl extends ServiceImpl<TbBasicDataCategoryMapper, TbBasicDataCategory> implements TbBasicDataCategoryService { |
| | | |
| | | @Override |
| | | public void add(BasicDataCategoryDTO dto) { |
| | | TbBasicDataCategory tbBasicDataCategory = BeanUtils.copyBean(dto, TbBasicDataCategory.class); |
| | | this.save(tbBasicDataCategory); |
| | | } |
| | | |
| | | @Override |
| | | public void update(BasicDataCategoryUpdateDTO dto) { |
| | | TbBasicDataCategory tbBasicDataCategory = BeanUtils.copyBean(dto, TbBasicDataCategory.class); |
| | | this.updateById(tbBasicDataCategory); |
| | | } |
| | | |
| | | @Override |
| | | public PageDTO<BasicDataCategoryVO> queryPage(BasicDataCategoryQuery query) { |
| | | Page<TbBasicDataCategory> page = this.lambdaQuery() |
| | | .like(StringUtils.isNotEmpty(query.getBasicDataCategoryName()), TbBasicDataCategory::getBasicDataCategoryName, query.getBasicDataCategoryName()) |
| | | .eq(Objects.nonNull(query.getStatus()), TbBasicDataCategory::getStatus, query.getStatus()) |
| | | .page(new Page<>(query.getPageNum(), query.getPageSize())); |
| | | return PageDTO.of(page,BasicDataCategoryVO.class); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.domain.TbBasicDataConfigDetail; |
| | | import com.ruoyi.system.mapper.TbBasicDataConfigDetailMapper; |
| | | import com.ruoyi.system.service.TbBasicDataConfigDetailService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 基础数据配置详情表(存储文本和百分比的配置) 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-18 |
| | | */ |
| | | @Service |
| | | public class TbBasicDataConfigDetailServiceImpl extends ServiceImpl<TbBasicDataConfigDetailMapper, TbBasicDataConfigDetail> implements TbBasicDataConfigDetailService { |
| | | |
| | | } |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.enums.CalculateTypeEnum; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.common.utils.CollUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.system.domain.TbBasicDataConfig; |
| | | import com.ruoyi.system.domain.TbBasicDataConfigDetail; |
| | | import com.ruoyi.system.domain.TbField; |
| | | import com.ruoyi.system.dto.BasicDataConfigDTO; |
| | | import com.ruoyi.system.dto.CalculateDTO; |
| | | import com.ruoyi.system.dto.ShowHideDTO; |
| | | import com.ruoyi.system.dto.update.BasicDataConfigUpdateDTO; |
| | | import com.ruoyi.system.mapper.TbBasicDataConfigMapper; |
| | | import com.ruoyi.system.mapper.TbFieldMapper; |
| | | import com.ruoyi.system.query.BasicDataConfigQuery; |
| | | import com.ruoyi.system.service.TbBasicDataConfigDetailService; |
| | | import com.ruoyi.system.service.TbBasicDataConfigService; |
| | | import com.ruoyi.system.vo.BasicDataConfigDetailVO; |
| | | import com.ruoyi.system.vo.BasicDataConfigVO; |
| | | import com.ruoyi.system.vo.CalculateVO; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-03-13 |
| | | * @since 2024-03-18 |
| | | */ |
| | | @Service |
| | | @RequiredArgsConstructor |
| | | public class TbBasicDataConfigServiceImpl extends ServiceImpl<TbBasicDataConfigMapper, TbBasicDataConfig> implements TbBasicDataConfigService { |
| | | |
| | | private final TbBasicDataConfigDetailService tbBasicDataConfigDetailService; |
| | | private final TbFieldMapper fieldMapper; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void add(BasicDataConfigDTO dto) { |
| | | TbBasicDataConfig tbBasicDataConfig = BeanUtils.copyBean(dto, TbBasicDataConfig.class); |
| | | //参数校验 |
| | | Integer calculateType = tbBasicDataConfig.getCalculateType().getCode(); |
| | | List<CalculateDTO> dtoList = dto.getDtoList(); |
| | | if (CalculateTypeEnum.NUMBER.getCode().equals(calculateType) && StringUtils.isBlank(dto.getNumberCalculateFormula())) { |
| | | throw new RuntimeException("计算公式不能为空"); |
| | | } |
| | | if ((CalculateTypeEnum.TEXT.getCode().equals(calculateType) || CalculateTypeEnum.PERCENTAGE.getCode().equals(calculateType)) |
| | | && CollUtils.isEmpty(dtoList)) { |
| | | throw new RuntimeException("计算公式不能为空"); |
| | | } |
| | | this.save(tbBasicDataConfig); |
| | | if ((CalculateTypeEnum.TEXT.getCode().equals(calculateType) || CalculateTypeEnum.PERCENTAGE.getCode().equals(calculateType))) { |
| | | List<TbBasicDataConfigDetail> details = BeanUtils.copyList(dtoList, TbBasicDataConfigDetail.class); |
| | | List<TbBasicDataConfigDetail> collect = details.stream().peek(item -> item.setBasicDataConfigId(tbBasicDataConfig.getId())).collect(Collectors.toList()); |
| | | tbBasicDataConfigDetailService.saveBatch(collect); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void edit(BasicDataConfigUpdateDTO dto) { |
| | | TbBasicDataConfig tbBasicDataConfig = BeanUtils.copyBean(dto, TbBasicDataConfig.class); |
| | | //参数校验 |
| | | Integer calculateType = tbBasicDataConfig.getCalculateType().getCode(); |
| | | List<CalculateDTO> dtoList = dto.getDtoList(); |
| | | if (CalculateTypeEnum.NUMBER.getCode().equals(calculateType) && StringUtils.isBlank(dto.getNumberCalculateFormula())) { |
| | | throw new RuntimeException("计算公式不能为空"); |
| | | } |
| | | if ((CalculateTypeEnum.TEXT.getCode().equals(calculateType) || CalculateTypeEnum.PERCENTAGE.getCode().equals(calculateType)) |
| | | && CollUtils.isEmpty(dtoList)) { |
| | | throw new RuntimeException("计算公式不能为空"); |
| | | } |
| | | this.updateById(tbBasicDataConfig); |
| | | if ((CalculateTypeEnum.TEXT.getCode().equals(calculateType) || CalculateTypeEnum.PERCENTAGE.getCode().equals(calculateType))) { |
| | | //删除原来的配置信息,重新添加新的 |
| | | tbBasicDataConfigDetailService.lambdaUpdate().eq(TbBasicDataConfigDetail::getBasicDataConfigId, tbBasicDataConfig.getId()).remove(); |
| | | List<TbBasicDataConfigDetail> details = BeanUtils.copyList(dtoList, TbBasicDataConfigDetail.class); |
| | | List<TbBasicDataConfigDetail> collect = details.stream().peek(item -> item.setBasicDataConfigId(tbBasicDataConfig.getId())).collect(Collectors.toList()); |
| | | tbBasicDataConfigDetailService.saveBatch(collect); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public BasicDataConfigDetailVO getDetails(Integer id) { |
| | | TbBasicDataConfig config = this.getById(id); |
| | | if (Objects.isNull(config)) { |
| | | throw new RuntimeException("非法参数"); |
| | | } |
| | | BasicDataConfigDetailVO vo = BeanUtils.copyBean(config, BasicDataConfigDetailVO.class); |
| | | Integer code = vo.getCalculateType().getCode(); |
| | | if ((CalculateTypeEnum.TEXT.getCode().equals(code) || CalculateTypeEnum.PERCENTAGE.getCode().equals(code))) { |
| | | List<TbBasicDataConfigDetail> list = tbBasicDataConfigDetailService.lambdaQuery().eq(TbBasicDataConfigDetail::getBasicDataConfigId, config.getId()).list(); |
| | | List<CalculateVO> calculateVOS = BeanUtils.copyList(list, CalculateVO.class); |
| | | vo.setDtoList(calculateVOS); |
| | | } |
| | | return vo; |
| | | } |
| | | |
| | | @Override |
| | | public void delete(Integer id) { |
| | | TbBasicDataConfig config = this.getById(id); |
| | | if (Objects.isNull(config)) { |
| | | throw new RuntimeException("非法参数"); |
| | | } |
| | | this.removeById(id); |
| | | } |
| | | |
| | | @Override |
| | | public PageDTO<BasicDataConfigVO> queryPage(BasicDataConfigQuery query) { |
| | | Page<TbBasicDataConfig> page = this.lambdaQuery() |
| | | .like(StringUtils.isNotBlank(query.getBasicDataConfigName()), TbBasicDataConfig::getTypeName, query.getBasicDataConfigName()) |
| | | .eq(Objects.nonNull(query.getCalculateType()), TbBasicDataConfig::getCalculateType, query.getCalculateType()) |
| | | .eq(Objects.nonNull(query.getStatus()), TbBasicDataConfig::getStatus, query.getStatus()).page(new Page<>(query.getPageNum(), query.getPageSize())); |
| | | return PageDTO.of(page, BasicDataConfigVO.class); |
| | | } |
| | | |
| | | @Override |
| | | public void showHide(ShowHideDTO dto) { |
| | | TbBasicDataConfig config = this.getById(dto.getId()); |
| | | if (Objects.isNull(config)) { |
| | | throw new RuntimeException("非法参数"); |
| | | } |
| | | if (ShowStatusEnum.SHOW.equals(dto.getStatus())) { |
| | | //查询改配置所使用字段状态 |
| | | String fieldIdStr = config.getFieldIdStr(); |
| | | String[] split = fieldIdStr.split(","); |
| | | List<TbField> list = fieldMapper.selectList(Wrappers.<TbField>lambdaQuery().in(TbField::getId, Arrays.asList(split)).eq(TbField::getStatus, ShowStatusEnum.HIDE)); |
| | | if (CollUtils.isNotEmpty(list)) { |
| | | String fieldNames = list.stream().map(TbField::getFieldName).collect(Collectors.joining(",")); |
| | | throw new RuntimeException(String.format("字段“%s”已被隐藏,请重新配置后再次操作!", fieldNames)); |
| | | } |
| | | } |
| | | this.lambdaUpdate().set( TbBasicDataConfig::getStatus, dto.getStatus()).eq(TbBasicDataConfig::getId, dto.getId()).update(); |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.enums.ShowStatus; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.common.utils.CollUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | |
| | | updateCategoryAndChildren(dto.getId(), dto.getStatus()); |
| | | } |
| | | |
| | | private void updateCategoryAndChildren(Integer id, Integer status) { |
| | | private void updateCategoryAndChildren(Integer id, ShowStatusEnum status) { |
| | | TbFieldCategory category = this.getById(id); |
| | | if (Objects.isNull(category)) { |
| | | throw new RuntimeException("非法id"); |
| | |
| | | List<TbFieldCategory> list = this.lambdaQuery() |
| | | .select(TbFieldCategory::getId,TbFieldCategory::getFieldCategoryName) |
| | | .eq(TbFieldCategory::getParentId, id) |
| | | .eq(TbFieldCategory::getStatus, ShowStatus.SHOW) |
| | | .eq(TbFieldCategory::getStatus, ShowStatusEnum.SHOW) |
| | | .list(); |
| | | return BeanUtils.copyList(list, FieldCategoryVO.class); |
| | | } |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import cn.hutool.json.JSONArray; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.basic.PageDTO; |
| | | import com.ruoyi.common.enums.FieldInputTypeEnum; |
| | | import com.ruoyi.common.enums.FieldTypeEnum; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import com.ruoyi.common.utils.BeanUtils; |
| | | import com.ruoyi.common.utils.CollUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | |
| | | import com.ruoyi.system.service.TbFieldCategoryService; |
| | | import com.ruoyi.system.service.TbFieldService; |
| | | import com.ruoyi.system.vo.FieldVO; |
| | | import lombok.Data; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.concurrent.CompletableFuture; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | |
| | | @Override |
| | | public void showHide(ShowHideDTO dto) { |
| | | log.info("======主线程执行showHide{}",Thread.currentThread().getName() ); |
| | | TbField field = this.getById(dto.getId()); |
| | | if (StringUtils.isNull(field)) { |
| | | throw new RuntimeException("非法参数"); |
| | | } |
| | | //隐藏字段 |
| | | this.lambdaUpdate().set(TbField::getStatus, dto.getStatus()).eq(TbField::getId, dto.getId()).update(); |
| | | //隐藏基础数据 TODO |
| | | tbBasicDataConfigService.lambdaUpdate().eq(TbBasicDataConfig::getFieldId, dto.getId()).set(TbBasicDataConfig::getStatus, dto.getStatus()).update(); |
| | | //异步隐藏基础数据配置 |
| | | CompletableFuture.runAsync(() -> handleDataConfig(dto, field)); |
| | | } |
| | | private void handleDataConfig(ShowHideDTO dto, TbField field) { |
| | | log.info("======子线程执行handleDataConfig{}",Thread.currentThread().getName() ); |
| | | List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().eq(TbBasicDataConfig::getStatus, ShowStatusEnum.SHOW.getCode()).list(); |
| | | if (CollUtils.isNotEmpty(list)) { |
| | | List<Integer> ids = list.stream().map(config -> { |
| | | String fieldIdStr = config.getFieldIdStr(); |
| | | String[] split = fieldIdStr.split(","); |
| | | //字符串数组转为List |
| | | List<String> idList = new ArrayList<>(Arrays.asList(split)); |
| | | if (idList.contains(field.getId().toString())) { |
| | | return config.getId(); |
| | | } |
| | | return null; |
| | | }).collect(Collectors.toList()); |
| | | tbBasicDataConfigService.lambdaUpdate().set(TbBasicDataConfig::getStatus, dto.getStatus()).in(TbBasicDataConfig::getId, ids).update(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | public List<String> influencedData(Integer id) { |
| | | List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().eq(TbBasicDataConfig::getFieldId, id).list(); |
| | | //List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().like(TbBasicDataConfig::getFieldIdStr, id).list(); |
| | | List<TbBasicDataConfig> list = tbBasicDataConfigService.lambdaQuery().eq(TbBasicDataConfig::getStatus, ShowStatusEnum.SHOW.getCode()).list(); |
| | | if (CollUtils.isEmpty(list)) { |
| | | return CollUtils.emptyList(); |
| | | } |
| | | return list.stream().map(TbBasicDataConfig::getTypeName).collect(Collectors.toList()); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | String string = "蓝色_10,红色_20,绿色_30"; |
| | | String[] split = string.split(","); |
| | | for (String s : split) { |
| | | String[] split1 = s.split("_"); |
| | | System.out.println(split1[1]); |
| | | List<String> collect = list.stream().map(config -> { |
| | | String fieldIdStr = config.getFieldIdStr(); |
| | | String[] split = fieldIdStr.split(","); |
| | | //字符串数组转为List |
| | | List<String> idList = new ArrayList<>(Arrays.asList(split)); |
| | | if (idList.contains(id.toString())) { |
| | | return config.getTypeName(); |
| | | } |
| | | return null; |
| | | }).collect(Collectors.toList()); |
| | | if (CollUtils.isEmpty(collect)) { |
| | | return CollUtils.emptyList(); |
| | | } |
| | | //百分比1_百分比2:得分 |
| | | String string1 = "10_20:50,20_30:50,30_40:60"; |
| | | CalculateDTO calculateDTO = new CalculateDTO(); |
| | | calculateDTO.setKey("10_20"); |
| | | calculateDTO.setValue("20"); |
| | | CalculateDTO calculateDTO1 = new CalculateDTO(); |
| | | calculateDTO1.setKey("20_30"); |
| | | calculateDTO1.setValue("30"); |
| | | List<CalculateDTO> list = new ArrayList<>(); |
| | | list.add(calculateDTO); |
| | | list.add(calculateDTO1); |
| | | JSONArray objects = new JSONArray(list); |
| | | String jsonString = objects.toJSONString(2); |
| | | System.err.println(jsonString); |
| | | return collect; |
| | | } |
| | | } |
| | | @Data |
| | | class CalculateDTO{ |
| | | private String key; |
| | | private String value; |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/3/18 |
| | | */ |
| | | @Data |
| | | @ApiModel(value="基础数据分类视图对象") |
| | | public class BasicDataCategoryVO { |
| | | |
| | | @ApiModelProperty(value = "基础数据分类id") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "基础数据分类名称") |
| | | private String basicDataCategoryName; |
| | | |
| | | @ApiModelProperty(value = "隐藏状态") |
| | | private ShowStatusEnum status; |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.common.enums.CalculateTypeEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.NotNull; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/3/18 |
| | | */ |
| | | @Data |
| | | @ApiModel(value="基础数据配置详情视图对象") |
| | | public class BasicDataConfigDetailVO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 8789005070048058207L; |
| | | |
| | | @ApiModelProperty(value = "id") |
| | | @NotNull(message = "id不能为空") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "类型名称") |
| | | @NotBlank(message = "类型名称不能为空") |
| | | private String typeName; |
| | | |
| | | @ApiModelProperty(value = "基础数据分类id") |
| | | @NotNull(message = "基础数据分类id不能为空") |
| | | private Integer basicDataCategoryId; |
| | | |
| | | @ApiModelProperty(value = "字段说明") |
| | | @NotBlank(message = "字段说明不能为空") |
| | | private String fieldDescription; |
| | | |
| | | @ApiModelProperty(value = "计算类型(数字计算 文本统计 百分比统计)") |
| | | @NotNull(message = "计算类型不能为空") |
| | | private CalculateTypeEnum calculateType; |
| | | |
| | | @ApiModelProperty(value = "字段id (多个id使用 ',' 拼接)") |
| | | @NotBlank(message = "字段id不能为空") |
| | | private String fieldIdStr; |
| | | |
| | | @ApiModelProperty(value = "计算公式",notes = "计算类型为数字计算,配置内容使用该字段接收;公式中字段的格式为:field_字段id,e.g:field_1,field_2等。") |
| | | private String numberCalculateFormula; |
| | | |
| | | @ApiModelProperty(value = "文本和百分比配置信息", notes = "当计算方式为 文本统计/百分比统计 " + |
| | | "配置内容使用这个字段接收;key为键,value为得分;百分比统计 将百分比区间使用'_'拼接作为key,e.g: 10_20,20_30") |
| | | private List<CalculateVO> dtoList; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.common.enums.CalculateTypeEnum; |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author mitao |
| | | * @date 2024/3/18 |
| | | */ |
| | | @Data |
| | | @ApiModel(value="基础数据视图对象") |
| | | public class BasicDataConfigVO { |
| | | |
| | | @ApiModelProperty(value = "基础数据配置id") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "类型名称") |
| | | private String typeName; |
| | | |
| | | @ApiModelProperty(value = "基础数据所属分类") |
| | | private String basicDataCategory; |
| | | |
| | | @ApiModelProperty(value = "计算类型(数字计算 文本统计 百分比统计)") |
| | | private CalculateTypeEnum calculateType; |
| | | |
| | | @ApiModelProperty(value = "隐藏状态") |
| | | private ShowStatusEnum status; |
| | | } |
New file |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | @Data |
| | | @ApiModel(value = "基础数据配置配置视图对象") |
| | | public class CalculateVO implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 4439552435460575151L; |
| | | |
| | | @ApiModelProperty(value = "id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | |
| | | private Integer id; |
| | | @ApiModelProperty(value = "键") |
| | | private String key; |
| | | |
| | | @ApiModelProperty(value = "值") |
| | | private String value; |
| | | } |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.common.enums.DisabledEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | private String areaLevel; |
| | | |
| | | @ApiModelProperty(value = "县级标志(不包含直辖市的区 0:否 1:是)") |
| | | private Boolean countyFlag; |
| | | private DisabledEnum countyFlag; |
| | | |
| | | @ApiModelProperty(value = "负责人") |
| | | private String personInCharge; |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "状态(0=展示 1=隐藏)") |
| | | private Integer status; |
| | | private ShowStatusEnum status; |
| | | |
| | | @ApiModelProperty(value = "分类名称") |
| | | private String fieldCategoryName; |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.common.enums.ShowStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | private String levelThreeCategory; |
| | | |
| | | @ApiModelProperty(value = "隐藏状态(0=展示中 1=已隐藏)") |
| | | private Integer status; |
| | | private ShowStatusEnum status; |
| | | |
| | | @ApiModelProperty(value = "数字最小值") |
| | | private Integer numMin; |
| | |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.system.domain.TbBasicDataCategory"> |
| | | <id column="id" property="id" /> |
| | | <result column="basic_data_category_name" property="basicDataCategoryName" /> |
| | | <result column="hidden" property="hidden" /> |
| | | <result column="status" property="status" /> |
| | | <result column="del_flag" property="delFlag" /> |
| | | <result column="create_by" property="createBy" /> |
| | | <result column="create_time" property="createTime" /> |
New file |
| | |
| | | <?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.TbBasicDataConfigDetailMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.system.domain.TbBasicDataConfigDetail"> |
| | | <id column="id" property="id" /> |
| | | <result column="basic_data_config_id" property="basicDataConfigId" /> |
| | | <result column="key" property="key" /> |
| | | <result column="value" property="value" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, basic_data_config_id, key, value |
| | | </sql> |
| | | |
| | | </mapper> |
| | |
| | | <result column="type_name" property="typeName" /> |
| | | <result column="field_description" property="fieldDescription" /> |
| | | <result column="calculate_type" property="calculateType" /> |
| | | <result column="calculate_formula" property="calculateFormula" /> |
| | | <result column="number_calculate_formula" property="numberCalculateFormula" /> |
| | | <result column="field_id_str" property="fieldIdStr" /> |
| | | <result column="status" property="status" /> |
| | | <result column="field_id" property="fieldId" /> |
| | | <result column="del_flag" property="delFlag" /> |
| | | <result column="create_by" property="createBy" /> |
| | | <result column="create_time" property="createTime" /> |
| | |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, basic_data_category_id, type_name, field_description, caculate_type, caculate_formula, del_flag, create_by, create_time, update_by, update_time |
| | | id, basic_data_category_id, type_name, field_description, calculate_type, number_calculate_formula, field_id_str, status, del_flag, create_by, create_time, update_by, update_time |
| | | </sql> |
| | | |
| | | </mapper> |