diff --git a/backend/ruoyi-admin/pom.xml b/backend/ruoyi-admin/pom.xml index 3817f9f5..982b4ac9 100644 --- a/backend/ruoyi-admin/pom.xml +++ b/backend/ruoyi-admin/pom.xml @@ -136,11 +136,11 @@ - + org.dromara diff --git a/backend/ruoyi-modules/pom.xml b/backend/ruoyi-modules/pom.xml index 2983d764..f403571a 100644 --- a/backend/ruoyi-modules/pom.xml +++ b/backend/ruoyi-modules/pom.xml @@ -23,6 +23,7 @@ ruoyi-rs ruoyi-xljk ruoyi-jcbt + ruoyi-xskh diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhDisciplineTypeController.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhDisciplineTypeController.java new file mode 100644 index 00000000..4a345895 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhDisciplineTypeController.java @@ -0,0 +1,105 @@ +package org.dromara.xskh.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.xskh.domain.vo.XskhDisciplineTypeVo; +import org.dromara.xskh.domain.bo.XskhDisciplineTypeBo; +import org.dromara.xskh.service.IXskhDisciplineTypeService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 学生违纪处分类型 + * + * @author zlwu + * @date 2025-08-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/disciplineType/disciplineType") +public class XskhDisciplineTypeController extends BaseController { + + private final IXskhDisciplineTypeService xskhDisciplineTypeService; + + /** + * 查询学生违纪处分类型列表 + */ + @SaCheckPermission("disciplineType:disciplineType:list") + @GetMapping("/list") + public TableDataInfo list(XskhDisciplineTypeBo bo, PageQuery pageQuery) { + return xskhDisciplineTypeService.queryPageList(bo, pageQuery); + } + + /** + * 导出学生违纪处分类型列表 + */ + @SaCheckPermission("disciplineType:disciplineType:export") + @Log(title = "学生违纪处分类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(XskhDisciplineTypeBo bo, HttpServletResponse response) { + List list = xskhDisciplineTypeService.queryList(bo); + ExcelUtil.exportExcel(list, "学生违纪处分类型", XskhDisciplineTypeVo.class, response); + } + + /** + * 获取学生违纪处分类型详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("disciplineType:disciplineType:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(xskhDisciplineTypeService.queryById(id)); + } + + /** + * 新增学生违纪处分类型 + */ + @SaCheckPermission("disciplineType:disciplineType:add") + @Log(title = "学生违纪处分类型", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody XskhDisciplineTypeBo bo) { + return toAjax(xskhDisciplineTypeService.insertByBo(bo)); + } + + /** + * 修改学生违纪处分类型 + */ + @SaCheckPermission("disciplineType:disciplineType:edit") + @Log(title = "学生违纪处分类型", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody XskhDisciplineTypeBo bo) { + return toAjax(xskhDisciplineTypeService.updateByBo(bo)); + } + + /** + * 删除学生违纪处分类型 + * + * @param ids 主键串 + */ + @SaCheckPermission("disciplineType:disciplineType:remove") + @Log(title = "学生违纪处分类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(xskhDisciplineTypeService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhRewardTypeController.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhRewardTypeController.java new file mode 100644 index 00000000..0a74a6a1 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/controller/XskhRewardTypeController.java @@ -0,0 +1,105 @@ +package org.dromara.xskh.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.xskh.domain.vo.XskhRewardTypeVo; +import org.dromara.xskh.domain.bo.XskhRewardTypeBo; +import org.dromara.xskh.service.IXskhRewardTypeService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 学生奖励类型 + * + * @author Lion Li + * @date 2025-08-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/rewardType/rewardType") +public class XskhRewardTypeController extends BaseController { + + private final IXskhRewardTypeService xskhRewardTypeService; + + /** + * 查询学生奖励类型列表 + */ + @SaCheckPermission("rewardType:rewardType:list") + @GetMapping("/list") + public TableDataInfo list(XskhRewardTypeBo bo, PageQuery pageQuery) { + return xskhRewardTypeService.queryPageList(bo, pageQuery); + } + + /** + * 导出学生奖励类型列表 + */ + @SaCheckPermission("rewardType:rewardType:export") + @Log(title = "学生奖励类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(XskhRewardTypeBo bo, HttpServletResponse response) { + List list = xskhRewardTypeService.queryList(bo); + ExcelUtil.exportExcel(list, "学生奖励类型", XskhRewardTypeVo.class, response); + } + + /** + * 获取学生奖励类型详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("rewardType:rewardType:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(xskhRewardTypeService.queryById(id)); + } + + /** + * 新增学生奖励类型 + */ + @SaCheckPermission("rewardType:rewardType:add") + @Log(title = "学生奖励类型", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody XskhRewardTypeBo bo) { + return toAjax(xskhRewardTypeService.insertByBo(bo)); + } + + /** + * 修改学生奖励类型 + */ + @SaCheckPermission("rewardType:rewardType:edit") + @Log(title = "学生奖励类型", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody XskhRewardTypeBo bo) { + return toAjax(xskhRewardTypeService.updateByBo(bo)); + } + + /** + * 删除学生奖励类型 + * + * @param ids 主键串 + */ + @SaCheckPermission("rewardType:rewardType:remove") + @Log(title = "学生奖励类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(xskhRewardTypeService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/XskhDisciplineType.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/XskhDisciplineType.java new file mode 100644 index 00000000..62342129 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/XskhDisciplineType.java @@ -0,0 +1,67 @@ +package org.dromara.xskh.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 学生违纪处分类型对象 xskh_discipline_type + * + * @author zlwu + * @date 2025-08-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("xskh_discipline_type") +public class XskhDisciplineType extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 类型编码 + */ + private String typeCode; + + /** + * 类型名称 + */ + private String typeName; + + /** + * 类型分类(1-违纪类型 2-处分类型) + */ + private String typeCategory; + + /** + * 类型说明 + */ + private String remark; + + /** + * 状态(0-正常 1-停用) + */ + private String status; + + /** + * 排序号 + */ + private Long sortOrder; + + /** + * 删除标志(0-未删除 1-已删除) + */ + @TableLogic(value = "0", delval = "1") + private Long deleted; + + +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/XskhRewardType.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/XskhRewardType.java new file mode 100644 index 00000000..b9086710 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/XskhRewardType.java @@ -0,0 +1,62 @@ +package org.dromara.xskh.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 学生奖励类型对象 xskh_reward_type + * + * @author Lion Li + * @date 2025-08-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("xskh_reward_type") +public class XskhRewardType extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 类型编码 + */ + private String typeCode; + + /** + * 类型名称 + */ + private String typeName; + + /** + * 类型说明 + */ + private String description; + + /** + * 状态(0-正常 1-停用) + */ + private String status; + + /** + * 排序号 + */ + private Long sortOrder; + + /** + * 删除标志(0-未删除 1-已删除) + */ + @TableLogic(value = "0", delval = "1") + private Long deleted; + + +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/bo/XskhDisciplineTypeBo.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/bo/XskhDisciplineTypeBo.java new file mode 100644 index 00000000..5071a839 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/bo/XskhDisciplineTypeBo.java @@ -0,0 +1,68 @@ +package org.dromara.xskh.domain.bo; + +import org.dromara.xskh.domain.XskhDisciplineType; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 学生违纪处分类型业务对象 xskh_discipline_type + * + * @author zlwu + * @date 2025-08-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XskhDisciplineType.class, reverseConvertGenerate = false) +public class XskhDisciplineTypeBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 类型编码 + */ + @NotBlank(message = "类型编码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String typeCode; + + /** + * 类型名称 + */ + @NotBlank(message = "类型名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String typeName; + + /** + * 类型分类(1-违纪类型 2-处分类型) + */ + @NotBlank(message = "类型分类(1-违纪类型 2-处分类型)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String typeCategory; + + /** + * 类型说明 + */ + private String remark; + + /** + * 状态(0-正常 1-停用) + */ + private String status; + + /** + * 排序号 + */ + private Long sortOrder; + + /** + * 删除标志(0-未删除 1-已删除) + */ + private Long deleted; + + +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/bo/XskhRewardTypeBo.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/bo/XskhRewardTypeBo.java new file mode 100644 index 00000000..e4c557e3 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/bo/XskhRewardTypeBo.java @@ -0,0 +1,62 @@ +package org.dromara.xskh.domain.bo; + +import org.dromara.xskh.domain.XskhRewardType; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; + +/** + * 学生奖励类型业务对象 xskh_reward_type + * + * @author Lion Li + * @date 2025-08-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XskhRewardType.class, reverseConvertGenerate = false) +public class XskhRewardTypeBo extends BaseEntity { + + /** + * 主键ID + */ + @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 类型编码 + */ + @NotBlank(message = "类型编码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String typeCode; + + /** + * 类型名称 + */ + @NotBlank(message = "类型名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String typeName; + + /** + * 类型说明 + */ + private String description; + + /** + * 状态(0-正常 1-停用) + */ + private String status; + + /** + * 排序号 + */ + private Long sortOrder; + + /** + * 删除标志(0-未删除 1-已删除) + */ + private Long deleted; + + +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/vo/XskhDisciplineTypeVo.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/vo/XskhDisciplineTypeVo.java new file mode 100644 index 00000000..426425f9 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/vo/XskhDisciplineTypeVo.java @@ -0,0 +1,82 @@ +package org.dromara.xskh.domain.vo; + +import org.dromara.xskh.domain.XskhDisciplineType; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 学生违纪处分类型视图对象 xskh_discipline_type + * + * @author zlwu + * @date 2025-08-18 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XskhDisciplineType.class) +public class XskhDisciplineTypeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 类型编码 + */ + @ExcelProperty(value = "类型编码") + private String typeCode; + + /** + * 类型名称 + */ + @ExcelProperty(value = "类型名称") + private String typeName; + + /** + * 类型分类(1-违纪类型 2-处分类型) + */ + @ExcelProperty(value = "类型分类(1-违纪类型 2-处分类型)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "student_discipline_category") + private String typeCategory; + + /** + * 类型说明 + */ + @ExcelProperty(value = "类型说明") + private String remark; + + /** + * 状态(0-正常 1-停用) + */ + @ExcelProperty(value = "状态(0-正常 1-停用)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_msg_status") + private String status; + + /** + * 排序号 + */ + @ExcelProperty(value = "排序号") + private Long sortOrder; + + /** + * 删除标志(0-未删除 1-已删除) + */ + @ExcelProperty(value = "删除标志(0-未删除 1-已删除)") + private Long deleted; + + +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/vo/XskhRewardTypeVo.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/vo/XskhRewardTypeVo.java new file mode 100644 index 00000000..fd17fdbd --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/domain/vo/XskhRewardTypeVo.java @@ -0,0 +1,75 @@ +package org.dromara.xskh.domain.vo; + +import org.dromara.xskh.domain.XskhRewardType; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 学生奖励类型视图对象 xskh_reward_type + * + * @author Lion Li + * @date 2025-08-18 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XskhRewardType.class) +public class XskhRewardTypeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long id; + + /** + * 类型编码 + */ + @ExcelProperty(value = "类型编码") + private String typeCode; + + /** + * 类型名称 + */ + @ExcelProperty(value = "类型名称") + private String typeName; + + /** + * 类型说明 + */ + @ExcelProperty(value = "类型说明") + private String description; + + /** + * 状态(0-正常 1-停用) + */ + @ExcelProperty(value = "状态(0-正常 1-停用)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_msg_status") + private String status; + + /** + * 排序号 + */ + @ExcelProperty(value = "排序号") + private Long sortOrder; + + /** + * 删除标志(0-未删除 1-已删除) + */ + @ExcelProperty(value = "删除标志(0-未删除 1-已删除)") + private Long deleted; + + +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhDisciplineTypeMapper.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhDisciplineTypeMapper.java new file mode 100644 index 00000000..c3d3893f --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhDisciplineTypeMapper.java @@ -0,0 +1,15 @@ +package org.dromara.xskh.mapper; + +import org.dromara.xskh.domain.XskhDisciplineType; +import org.dromara.xskh.domain.vo.XskhDisciplineTypeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 学生违纪处分类型Mapper接口 + * + * @author zlwu + * @date 2025-08-18 + */ +public interface XskhDisciplineTypeMapper extends BaseMapperPlus { + +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhRewardTypeMapper.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhRewardTypeMapper.java new file mode 100644 index 00000000..7b264901 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/mapper/XskhRewardTypeMapper.java @@ -0,0 +1,15 @@ +package org.dromara.xskh.mapper; + +import org.dromara.xskh.domain.XskhRewardType; +import org.dromara.xskh.domain.vo.XskhRewardTypeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 学生奖励类型Mapper接口 + * + * @author Lion Li + * @date 2025-08-18 + */ +public interface XskhRewardTypeMapper extends BaseMapperPlus { + +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/IXskhDisciplineTypeService.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/IXskhDisciplineTypeService.java new file mode 100644 index 00000000..c3f5af26 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/IXskhDisciplineTypeService.java @@ -0,0 +1,68 @@ +package org.dromara.xskh.service; + +import org.dromara.xskh.domain.vo.XskhDisciplineTypeVo; +import org.dromara.xskh.domain.bo.XskhDisciplineTypeBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 学生违纪处分类型Service接口 + * + * @author zlwu + * @date 2025-08-18 + */ +public interface IXskhDisciplineTypeService { + + /** + * 查询学生违纪处分类型 + * + * @param id 主键 + * @return 学生违纪处分类型 + */ + XskhDisciplineTypeVo queryById(Long id); + + /** + * 分页查询学生违纪处分类型列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 学生违纪处分类型分页列表 + */ + TableDataInfo queryPageList(XskhDisciplineTypeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的学生违纪处分类型列表 + * + * @param bo 查询条件 + * @return 学生违纪处分类型列表 + */ + List queryList(XskhDisciplineTypeBo bo); + + /** + * 新增学生违纪处分类型 + * + * @param bo 学生违纪处分类型 + * @return 是否新增成功 + */ + Boolean insertByBo(XskhDisciplineTypeBo bo); + + /** + * 修改学生违纪处分类型 + * + * @param bo 学生违纪处分类型 + * @return 是否修改成功 + */ + Boolean updateByBo(XskhDisciplineTypeBo bo); + + /** + * 校验并批量删除学生违纪处分类型信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/IXskhRewardTypeService.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/IXskhRewardTypeService.java new file mode 100644 index 00000000..917eaf11 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/IXskhRewardTypeService.java @@ -0,0 +1,68 @@ +package org.dromara.xskh.service; + +import org.dromara.xskh.domain.vo.XskhRewardTypeVo; +import org.dromara.xskh.domain.bo.XskhRewardTypeBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 学生奖励类型Service接口 + * + * @author Lion Li + * @date 2025-08-18 + */ +public interface IXskhRewardTypeService { + + /** + * 查询学生奖励类型 + * + * @param id 主键 + * @return 学生奖励类型 + */ + XskhRewardTypeVo queryById(Long id); + + /** + * 分页查询学生奖励类型列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 学生奖励类型分页列表 + */ + TableDataInfo queryPageList(XskhRewardTypeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的学生奖励类型列表 + * + * @param bo 查询条件 + * @return 学生奖励类型列表 + */ + List queryList(XskhRewardTypeBo bo); + + /** + * 新增学生奖励类型 + * + * @param bo 学生奖励类型 + * @return 是否新增成功 + */ + Boolean insertByBo(XskhRewardTypeBo bo); + + /** + * 修改学生奖励类型 + * + * @param bo 学生奖励类型 + * @return 是否修改成功 + */ + Boolean updateByBo(XskhRewardTypeBo bo); + + /** + * 校验并批量删除学生奖励类型信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhDisciplineTypeServiceImpl.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhDisciplineTypeServiceImpl.java new file mode 100644 index 00000000..fa2bf457 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhDisciplineTypeServiceImpl.java @@ -0,0 +1,137 @@ +package org.dromara.xskh.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.dromara.xskh.domain.bo.XskhDisciplineTypeBo; +import org.dromara.xskh.domain.vo.XskhDisciplineTypeVo; +import org.dromara.xskh.domain.XskhDisciplineType; +import org.dromara.xskh.mapper.XskhDisciplineTypeMapper; +import org.dromara.xskh.service.IXskhDisciplineTypeService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 学生违纪处分类型Service业务层处理 + * + * @author zlwu + * @date 2025-08-18 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class XskhDisciplineTypeServiceImpl implements IXskhDisciplineTypeService { + + private final XskhDisciplineTypeMapper baseMapper; + + /** + * 查询学生违纪处分类型 + * + * @param id 主键 + * @return 学生违纪处分类型 + */ + @Override + public XskhDisciplineTypeVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询学生违纪处分类型列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 学生违纪处分类型分页列表 + */ + @Override + public TableDataInfo queryPageList(XskhDisciplineTypeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的学生违纪处分类型列表 + * + * @param bo 查询条件 + * @return 学生违纪处分类型列表 + */ + @Override + public List queryList(XskhDisciplineTypeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XskhDisciplineTypeBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(XskhDisciplineType::getId); + lqw.eq(StringUtils.isNotBlank(bo.getTypeCode()), XskhDisciplineType::getTypeCode, bo.getTypeCode()); + lqw.like(StringUtils.isNotBlank(bo.getTypeName()), XskhDisciplineType::getTypeName, bo.getTypeName()); + lqw.eq(StringUtils.isNotBlank(bo.getTypeCategory()), XskhDisciplineType::getTypeCategory, bo.getTypeCategory()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), XskhDisciplineType::getStatus, bo.getStatus()); + lqw.eq(bo.getSortOrder() != null, XskhDisciplineType::getSortOrder, bo.getSortOrder()); + lqw.eq(bo.getDeleted() != null, XskhDisciplineType::getDeleted, bo.getDeleted()); + return lqw; + } + + /** + * 新增学生违纪处分类型 + * + * @param bo 学生违纪处分类型 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(XskhDisciplineTypeBo bo) { + XskhDisciplineType add = MapstructUtils.convert(bo, XskhDisciplineType.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改学生违纪处分类型 + * + * @param bo 学生违纪处分类型 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(XskhDisciplineTypeBo bo) { + XskhDisciplineType update = MapstructUtils.convert(bo, XskhDisciplineType.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XskhDisciplineType entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除学生违纪处分类型信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhRewardTypeServiceImpl.java b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhRewardTypeServiceImpl.java new file mode 100644 index 00000000..cb0ea0eb --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/java/org/dromara/xskh/service/impl/XskhRewardTypeServiceImpl.java @@ -0,0 +1,137 @@ +package org.dromara.xskh.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.dromara.xskh.domain.bo.XskhRewardTypeBo; +import org.dromara.xskh.domain.vo.XskhRewardTypeVo; +import org.dromara.xskh.domain.XskhRewardType; +import org.dromara.xskh.mapper.XskhRewardTypeMapper; +import org.dromara.xskh.service.IXskhRewardTypeService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 学生奖励类型Service业务层处理 + * + * @author Lion Li + * @date 2025-08-18 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class XskhRewardTypeServiceImpl implements IXskhRewardTypeService { + + private final XskhRewardTypeMapper baseMapper; + + /** + * 查询学生奖励类型 + * + * @param id 主键 + * @return 学生奖励类型 + */ + @Override + public XskhRewardTypeVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询学生奖励类型列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 学生奖励类型分页列表 + */ + @Override + public TableDataInfo queryPageList(XskhRewardTypeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的学生奖励类型列表 + * + * @param bo 查询条件 + * @return 学生奖励类型列表 + */ + @Override + public List queryList(XskhRewardTypeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XskhRewardTypeBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(XskhRewardType::getId); + lqw.eq(StringUtils.isNotBlank(bo.getTypeCode()), XskhRewardType::getTypeCode, bo.getTypeCode()); + lqw.like(StringUtils.isNotBlank(bo.getTypeName()), XskhRewardType::getTypeName, bo.getTypeName()); + lqw.like(StringUtils.isNotBlank(bo.getDescription()), XskhRewardType::getDescription, bo.getDescription()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), XskhRewardType::getStatus, bo.getStatus()); + lqw.eq(bo.getSortOrder() != null, XskhRewardType::getSortOrder, bo.getSortOrder()); + lqw.eq(bo.getDeleted() != null, XskhRewardType::getDeleted, bo.getDeleted()); + return lqw; + } + + /** + * 新增学生奖励类型 + * + * @param bo 学生奖励类型 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(XskhRewardTypeBo bo) { + XskhRewardType add = MapstructUtils.convert(bo, XskhRewardType.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改学生奖励类型 + * + * @param bo 学生奖励类型 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(XskhRewardTypeBo bo) { + XskhRewardType update = MapstructUtils.convert(bo, XskhRewardType.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XskhRewardType entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除学生奖励类型信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/disciplineType/XskhDisciplineTypeMapper.xml b/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/disciplineType/XskhDisciplineTypeMapper.xml new file mode 100644 index 00000000..e0155dd7 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/disciplineType/XskhDisciplineTypeMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/rewardType/XskhRewardTypeMapper.xml b/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/rewardType/XskhRewardTypeMapper.xml new file mode 100644 index 00000000..e3747ed3 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xskh/src/main/resources/mapper/rewardType/XskhRewardTypeMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/docs/设计文档/database/学生考核管理/学生考核管理字典数据.sql b/docs/设计文档/database/学生考核管理/学生考核管理字典数据.sql index abe7b352..6a26b7fc 100644 --- a/docs/设计文档/database/学生考核管理/学生考核管理字典数据.sql +++ b/docs/设计文档/database/学生考核管理/学生考核管理字典数据.sql @@ -18,8 +18,7 @@ INSERT INTO `sys_dict_type` (`id`, `dict_name`, `dict_type`, `status`, `create_b INSERT INTO `sys_dict_data` (`id`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10003, 1, '生效', '1', 'student_discipline_status', '', 'success', 'Y', '0', 1, NOW(), NULL, NULL, '违纪处分记录生效'), -(10004, 2, '撤销申请中', '2', 'student_discipline_status', '', 'warning', 'N', '0', 1, NOW(), NULL, NULL, '撤销申请审核中'), -(10005, 3, '已撤销', '3', 'student_discipline_status', '', 'info', 'N', '0', 1, NOW(), NULL, NULL, '违纪处分记录已撤销'); +(10005, 2, '已撤销', '2', 'student_discipline_status', '', 'info', 'N', '0', 1, NOW(), NULL, NULL, '违纪处分记录已撤销'); -- 3. 撤销申请状态字典 INSERT INTO `sys_dict_type` (`id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES @@ -30,17 +29,6 @@ INSERT INTO `sys_dict_data` (`id`, `dict_sort`, `dict_label`, `dict_value`, `dic (10007, 2, '审核通过', '2', 'student_revoke_status', '', 'success', 'N', '0', 1, NOW(), NULL, NULL, '撤销申请审核通过'), (10008, 3, '审核拒绝', '3', 'student_revoke_status', '', 'danger', 'N', '0', 1, NOW(), NULL, NULL, '撤销申请审核拒绝'); --- 4. 考核指标类型字典 -INSERT INTO `sys_dict_type` (`id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES -(1004, '考核指标类型', 'student_indicator_type', '0', 1, NOW(), NULL, NULL, '学生考核指标类型'); - -INSERT INTO `sys_dict_data` (`id`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES -(10009, 1, '德育', '1', 'student_indicator_type', '', 'primary', 'Y', '0', 1, NOW(), NULL, NULL, '德育指标'), -(10010, 2, '智育', '2', 'student_indicator_type', '', 'success', 'N', '0', 1, NOW(), NULL, NULL, '智育指标'), -(10011, 3, '体育', '3', 'student_indicator_type', '', 'warning', 'N', '0', 1, NOW(), NULL, NULL, '体育指标'), -(10012, 4, '美育', '4', 'student_indicator_type', '', 'info', 'N', '0', 1, NOW(), NULL, NULL, '美育指标'), -(10013, 5, '劳动', '5', 'student_indicator_type', '', 'danger', 'N', '0', 1, NOW(), NULL, NULL, '劳动指标'); - -- 5. 考核计划状态字典 INSERT INTO `sys_dict_type` (`id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1005, '考核计划状态', 'student_schedule_status', '0', 1, NOW(), NULL, NULL, '学生考核计划状态'); @@ -58,8 +46,6 @@ INSERT INTO `sys_dict_data` (`id`, `dict_sort`, `dict_label`, `dict_value`, `dic (10017, 1, '草稿', '1', 'student_assessment_status', '', 'info', 'Y', '0', 1, NOW(), NULL, NULL, '考核申请草稿'), (10018, 2, '已提交', '2', 'student_assessment_status', '', 'primary', 'N', '0', 1, NOW(), NULL, NULL, '考核申请已提交'), (10019, 3, '班主任审核', '3', 'student_assessment_status', '', 'warning', 'N', '0', 1, NOW(), NULL, NULL, '班主任审核中'), -(10020, 4, '学院审核', '4', 'student_assessment_status', '', 'warning', 'N', '0', 1, NOW(), NULL, NULL, '学院审核中'), -(10021, 5, '学校审核', '5', 'student_assessment_status', '', 'warning', 'N', '0', 1, NOW(), NULL, NULL, '学校审核中'), (10022, 6, '已完成', '6', 'student_assessment_status', '', 'success', 'N', '0', 1, NOW(), NULL, NULL, '考核申请已完成'); -- 7. 附加分审核状态字典 @@ -81,8 +67,8 @@ INSERT INTO `sys_dict_data` (`id`, `dict_sort`, `dict_label`, `dict_value`, `dic -- 9. 通用状态字典(启用/禁用) INSERT INTO `sys_dict_type` (`id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES -(1009, '通用状态', 'common_status', '0', 1, NOW(), NULL, NULL, '通用启用禁用状态'); +(1009, '通用状态', 'sys_msg_status', '0', 1, NOW(), NULL, NULL, '通用启用禁用状态'); INSERT INTO `sys_dict_data` (`id`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES -(10028, 1, '启用', '0', 'common_status', '', 'success', 'Y', '0', 1, NOW(), NULL, NULL, '启用状态'), -(10029, 2, '禁用', '1', 'common_status', '', 'danger', 'N', '0', 1, NOW(), NULL, NULL, '禁用状态'); \ No newline at end of file +(10028, 1, '启用', '0', 'sys_msg_status', '', 'success', 'Y', '0', 1, NOW(), NULL, NULL, '启用状态'), +(10029, 2, '禁用', '1', 'sys_msg_status', '', 'danger', 'N', '0', 1, NOW(), NULL, NULL, '禁用状态'); \ No newline at end of file diff --git a/web/src/api/xskh/disciplineType/disciplineType/index.ts b/web/src/api/xskh/disciplineType/disciplineType/index.ts new file mode 100644 index 00000000..33c1cbaa --- /dev/null +++ b/web/src/api/xskh/disciplineType/disciplineType/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { DisciplineTypeVO, DisciplineTypeForm, DisciplineTypeQuery } from '@/api/xskh/disciplineType/disciplineType/types'; + +/** + * 查询学生违纪处分类型列表 + * @param query + * @returns {*} + */ + +export const listDisciplineType = (query?: DisciplineTypeQuery): AxiosPromise => { + return request({ + url: '/disciplineType/disciplineType/list', + method: 'get', + params: query + }); +}; + +/** + * 查询学生违纪处分类型详细 + * @param id + */ +export const getDisciplineType = (id: string | number): AxiosPromise => { + return request({ + url: '/disciplineType/disciplineType/' + id, + method: 'get' + }); +}; + +/** + * 新增学生违纪处分类型 + * @param data + */ +export const addDisciplineType = (data: DisciplineTypeForm) => { + return request({ + url: '/disciplineType/disciplineType', + method: 'post', + data: data + }); +}; + +/** + * 修改学生违纪处分类型 + * @param data + */ +export const updateDisciplineType = (data: DisciplineTypeForm) => { + return request({ + url: '/disciplineType/disciplineType', + method: 'put', + data: data + }); +}; + +/** + * 删除学生违纪处分类型 + * @param id + */ +export const delDisciplineType = (id: string | number | Array) => { + return request({ + url: '/disciplineType/disciplineType/' + id, + method: 'delete' + }); +}; diff --git a/web/src/api/xskh/disciplineType/disciplineType/types.ts b/web/src/api/xskh/disciplineType/disciplineType/types.ts new file mode 100644 index 00000000..802b922b --- /dev/null +++ b/web/src/api/xskh/disciplineType/disciplineType/types.ts @@ -0,0 +1,126 @@ +export interface DisciplineTypeVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 类型编码 + */ + typeCode: string; + + /** + * 类型名称 + */ + typeName: string; + + /** + * 类型分类(1-违纪类型 2-处分类型) + */ + typeCategory: string; + + /** + * 类型说明 + */ + remark: string; + + /** + * 状态(0-正常 1-停用) + */ + status: string; + + /** + * 排序号 + */ + sortOrder: number; + + /** + * 删除标志(0-未删除 1-已删除) + */ + deleted: number; + +} + +export interface DisciplineTypeForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 类型编码 + */ + typeCode?: string; + + /** + * 类型名称 + */ + typeName?: string; + + /** + * 类型分类(1-违纪类型 2-处分类型) + */ + typeCategory?: string; + + /** + * 类型说明 + */ + remark?: string; + + /** + * 状态(0-正常 1-停用) + */ + status?: string; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 删除标志(0-未删除 1-已删除) + */ + deleted?: number; + +} + +export interface DisciplineTypeQuery extends PageQuery { + + /** + * 类型编码 + */ + typeCode?: string; + + /** + * 类型名称 + */ + typeName?: string; + + /** + * 类型分类(1-违纪类型 2-处分类型) + */ + typeCategory?: string; + + /** + * 状态(0-正常 1-停用) + */ + status?: string; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 删除标志(0-未删除 1-已删除) + */ + deleted?: number; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/web/src/api/xskh/rewardType/rewardType/index.ts b/web/src/api/xskh/rewardType/rewardType/index.ts new file mode 100644 index 00000000..cb281476 --- /dev/null +++ b/web/src/api/xskh/rewardType/rewardType/index.ts @@ -0,0 +1,63 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { RewardTypeVO, RewardTypeForm, RewardTypeQuery } from '@/api/xskh/rewardType/rewardType/types'; + +/** + * 查询学生奖励类型列表 + * @param query + * @returns {*} + */ + +export const listRewardType = (query?: RewardTypeQuery): AxiosPromise => { + return request({ + url: '/rewardType/rewardType/list', + method: 'get', + params: query + }); +}; + +/** + * 查询学生奖励类型详细 + * @param id + */ +export const getRewardType = (id: string | number): AxiosPromise => { + return request({ + url: '/rewardType/rewardType/' + id, + method: 'get' + }); +}; + +/** + * 新增学生奖励类型 + * @param data + */ +export const addRewardType = (data: RewardTypeForm) => { + return request({ + url: '/rewardType/rewardType', + method: 'post', + data: data + }); +}; + +/** + * 修改学生奖励类型 + * @param data + */ +export const updateRewardType = (data: RewardTypeForm) => { + return request({ + url: '/rewardType/rewardType', + method: 'put', + data: data + }); +}; + +/** + * 删除学生奖励类型 + * @param id + */ +export const delRewardType = (id: string | number | Array) => { + return request({ + url: '/rewardType/rewardType/' + id, + method: 'delete' + }); +}; diff --git a/web/src/api/xskh/rewardType/rewardType/types.ts b/web/src/api/xskh/rewardType/rewardType/types.ts new file mode 100644 index 00000000..1fdff1d8 --- /dev/null +++ b/web/src/api/xskh/rewardType/rewardType/types.ts @@ -0,0 +1,116 @@ +export interface RewardTypeVO { + /** + * 主键ID + */ + id: string | number; + + /** + * 类型编码 + */ + typeCode: string; + + /** + * 类型名称 + */ + typeName: string; + + /** + * 类型说明 + */ + description: string; + + /** + * 状态(0-正常 1-停用) + */ + status: string; + + /** + * 排序号 + */ + sortOrder: number; + + /** + * 删除标志(0-未删除 1-已删除) + */ + deleted: number; + +} + +export interface RewardTypeForm extends BaseEntity { + /** + * 主键ID + */ + id?: string | number; + + /** + * 类型编码 + */ + typeCode?: string; + + /** + * 类型名称 + */ + typeName?: string; + + /** + * 类型说明 + */ + description?: string; + + /** + * 状态(0-正常 1-停用) + */ + status?: string; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 删除标志(0-未删除 1-已删除) + */ + deleted?: number; + +} + +export interface RewardTypeQuery extends PageQuery { + + /** + * 类型编码 + */ + typeCode?: string; + + /** + * 类型名称 + */ + typeName?: string; + + /** + * 类型说明 + */ + description?: string; + + /** + * 状态(0-正常 1-停用) + */ + status?: string; + + /** + * 排序号 + */ + sortOrder?: number; + + /** + * 删除标志(0-未删除 1-已删除) + */ + deleted?: number; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/web/src/views/xskh/disciplineType/index.vue b/web/src/views/xskh/disciplineType/index.vue new file mode 100644 index 00000000..214d48fe --- /dev/null +++ b/web/src/views/xskh/disciplineType/index.vue @@ -0,0 +1,343 @@ + + + + diff --git a/web/src/views/xskh/rewardType/index.vue b/web/src/views/xskh/rewardType/index.vue new file mode 100644 index 00000000..01c01fff --- /dev/null +++ b/web/src/views/xskh/rewardType/index.vue @@ -0,0 +1,272 @@ + + +