diff --git a/pom.xml b/pom.xml index c633bb9b5..2e7cd52fb 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 5.3.1 - 3.4.4 + 3.4.5 UTF-8 UTF-8 17 diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/package-info.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/package-info.java deleted file mode 100644 index 13320face..000000000 --- a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package org.dromara.lx.domain; diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/controller/LxMaterialSealController.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/controller/LxMaterialSealController.java new file mode 100644 index 000000000..d0f4083d7 --- /dev/null +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/controller/LxMaterialSealController.java @@ -0,0 +1,116 @@ +package org.dromara.lx.operate.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +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.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.lx.operate.domain.bo.LxMaterialSealBo; +import org.dromara.lx.operate.domain.vo.LxMaterialSealVo; +import org.dromara.lx.operate.service.ILxMaterialSealService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 公章管理 + * + * @author Lion Li + * @date 2025-05-12 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/operate/materialSeal") +public class LxMaterialSealController extends BaseController { + + private final ILxMaterialSealService lxMaterialSealService; + + /** + * 查询公章管理列表 + */ + @SaCheckPermission("operate:materialSeal:list") + @GetMapping("/list") + public TableDataInfo list(LxMaterialSealBo bo, PageQuery pageQuery) { + return lxMaterialSealService.queryPageList(bo, pageQuery); + } + + /** + * 导出公章管理列表 + */ + @SaCheckPermission("operate:materialSeal:export") + @Log(title = "公章管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(LxMaterialSealBo bo, HttpServletResponse response) { + List list = lxMaterialSealService.queryList(bo); + ExcelUtil.exportExcel(list, "公章管理", LxMaterialSealVo.class, response); + } + + /** + * 获取公章管理详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("operate:materialSeal:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(lxMaterialSealService.queryById(id)); + } + + /** + * 新增公章管理 + */ + @SaCheckPermission("operate:materialSeal:add") + @Log(title = "公章管理", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody LxMaterialSealBo bo) { + return toAjax(lxMaterialSealService.insertByBo(bo)); + } + + /** + * 修改公章管理 + */ + @SaCheckPermission("operate:materialSeal:edit") + @Log(title = "公章管理", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody LxMaterialSealBo bo) { + return toAjax(lxMaterialSealService.updateByBo(bo)); + } + + /** + * 删除公章管理 + * + * @param ids 主键串 + */ + @SaCheckPermission("operate:materialSeal:remove") + @Log(title = "公章管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(lxMaterialSealService.deleteWithValidByIds(List.of(ids), true)); + } + + /** + * 状态修改 + */ + @SaCheckPermission("operate:materialSeal:edit") + @Log(title = "公章管理", businessType = BusinessType.UPDATE) + @PutMapping("/changeStatus") + public R changeStatus(@RequestBody LxMaterialSealBo sealBo) { + return toAjax(lxMaterialSealService.updateRoleStatus(sealBo.getId(), sealBo.getSealStatus())); + } +} diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/controller/OperateTreeController.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/controller/OperateTreeController.java similarity index 92% rename from ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/controller/OperateTreeController.java rename to ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/controller/OperateTreeController.java index 1b1c6ee6a..1134cc6d6 100644 --- a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/controller/OperateTreeController.java +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/controller/OperateTreeController.java @@ -1,25 +1,25 @@ -package org.dromara.lx.controller; +package org.dromara.lx.operate.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; 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.core.validate.QueryGroup; -import org.dromara.common.web.core.BaseController; import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; -import org.dromara.lx.domain.bo.LxTreeBo; -import org.dromara.lx.domain.vo.LxTreeVo; -import org.dromara.lx.service.ILxTreeTableService; -import lombok.RequiredArgsConstructor; +import org.dromara.common.web.core.BaseController; +import org.dromara.lx.operate.domain.bo.LxTreeBo; +import org.dromara.lx.operate.domain.vo.LxTreeVo; +import org.dromara.lx.operate.service.ILxTreeTableService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; import java.util.Arrays; import java.util.List; @@ -66,7 +66,7 @@ public class OperateTreeController extends BaseController { @SaCheckPermission("operate:tree:query") @GetMapping("/{id}") public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable("id") Long id) { + @PathVariable("id") Long id) { return R.ok(lxTreeTableService.queryById(id)); } diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/LxMaterialSeal.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/LxMaterialSeal.java new file mode 100644 index 000000000..04a377082 --- /dev/null +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/LxMaterialSeal.java @@ -0,0 +1,59 @@ +package org.dromara.lx.operate.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; + +/** + * 公章管理对象 lx_material_seal + * + * @author Lion Li + * @date 2025-05-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("lx_material_seal") +public class LxMaterialSeal extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(value = "id") + private Long id; + + /** + * 印章类型 + */ + private Long sealType; + + /** + * 公章名称 + */ + private String sealName; + + /** + * 公章管理员 + */ + private Long sealAdminId; + + /** + * 启用状态 + */ + private Long sealStatus; + + /** + * 删除标志 + */ + @TableLogic + private Long delFlag; + + +} diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/LxTreeTable.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/LxTreeTable.java similarity index 96% rename from ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/LxTreeTable.java rename to ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/LxTreeTable.java index 96a31536d..9331cbc0f 100644 --- a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/LxTreeTable.java +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/LxTreeTable.java @@ -1,12 +1,12 @@ -package org.dromara.lx.domain; +package org.dromara.lx.operate.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.Version; -import org.dromara.common.tenant.core.TenantEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import org.dromara.common.tenant.core.TenantEntity; import java.io.Serial; diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/bo/LxMaterialSealBo.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/bo/LxMaterialSealBo.java new file mode 100644 index 000000000..72843417e --- /dev/null +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/bo/LxMaterialSealBo.java @@ -0,0 +1,49 @@ +package org.dromara.lx.operate.domain.bo; + +import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.lx.operate.domain.LxMaterialSeal; + +/** + * 公章管理业务对象 lx_material_seal + * + * @author Lion Li + * @date 2025-05-12 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = LxMaterialSeal.class, reverseConvertGenerate = false) +public class LxMaterialSealBo extends BaseEntity { + + /** + * id + */ + @NotNull(message = "id不能为空", groups = {EditGroup.class}) + private Long id; + + /** + * 公章类型 + */ + private Long sealType; + + /** + * 公章名称 + */ + private String sealName; + + /** + * 公章管理员 + */ + private Long sealAdminId; + + /** + * 启用状态 + */ + private Long sealStatus; + + +} diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/bo/LxTreeBo.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/bo/LxTreeBo.java similarity index 94% rename from ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/bo/LxTreeBo.java rename to ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/bo/LxTreeBo.java index 9f62584c0..04f0819e7 100644 --- a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/bo/LxTreeBo.java +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/bo/LxTreeBo.java @@ -1,4 +1,4 @@ -package org.dromara.lx.domain.bo; +package org.dromara.lx.operate.domain.bo; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotBlank; @@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.lx.domain.LxTreeTable; +import org.dromara.lx.operate.domain.LxTreeTable; /** * 测试树表业务对象 test_tree diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/package-info.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/package-info.java new file mode 100644 index 000000000..b97dee890 --- /dev/null +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/package-info.java @@ -0,0 +1 @@ +package org.dromara.lx.operate.domain; diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/vo/LxMaterialSealVo.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/vo/LxMaterialSealVo.java new file mode 100644 index 000000000..a832807b3 --- /dev/null +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/vo/LxMaterialSealVo.java @@ -0,0 +1,58 @@ +package org.dromara.lx.operate.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.lx.operate.domain.LxMaterialSeal; + +import java.io.Serial; +import java.io.Serializable; + + +/** + * 公章管理视图对象 lx_material_seal + * + * @author Lion Li + * @date 2025-05-12 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = LxMaterialSeal.class) +public class LxMaterialSealVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 创建人 + */ + @ExcelProperty(value = "创建人") + private Long id; + + /** + * 印章类型 + */ + @ExcelProperty(value = "印章类型") + private Long sealType; + + /** + * 印章名称 + */ + @ExcelProperty(value = "印章名称") + private String sealName; + + /** + * 印章管理员 + */ + @ExcelProperty(value = "印章管理员") + private Long sealAdminId; + + /** + * 启用状态 + */ + @ExcelProperty(value = "启用状态") + private Long sealStatus; + + +} diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/vo/LxTreeVo.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/vo/LxTreeVo.java similarity index 92% rename from ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/vo/LxTreeVo.java rename to ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/vo/LxTreeVo.java index eb9c6a867..0bf551e84 100644 --- a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/domain/vo/LxTreeVo.java +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/domain/vo/LxTreeVo.java @@ -1,10 +1,10 @@ -package org.dromara.lx.domain.vo; +package org.dromara.lx.operate.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import org.dromara.lx.domain.LxTreeTable; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.lx.operate.domain.LxTreeTable; import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/mapper/LxMaterialSealMapper.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/mapper/LxMaterialSealMapper.java new file mode 100644 index 000000000..9dc9d0cb6 --- /dev/null +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/mapper/LxMaterialSealMapper.java @@ -0,0 +1,15 @@ +package org.dromara.lx.operate.mapper; + +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.lx.operate.domain.LxMaterialSeal; +import org.dromara.lx.operate.domain.vo.LxMaterialSealVo; + +/** + * 公章管理Mapper接口 + * + * @author Lion Li + * @date 2025-05-12 + */ +public interface LxMaterialSealMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/mapper/IxTreeTableMapper.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/mapper/LxTreeTableMapper.java similarity index 66% rename from ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/mapper/IxTreeTableMapper.java rename to ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/mapper/LxTreeTableMapper.java index 0f02d18e2..c05cacd58 100644 --- a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/mapper/IxTreeTableMapper.java +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/mapper/LxTreeTableMapper.java @@ -1,10 +1,10 @@ -package org.dromara.lx.mapper; +package org.dromara.lx.operate.mapper; import org.dromara.common.mybatis.annotation.DataColumn; import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.lx.domain.LxTreeTable; -import org.dromara.lx.domain.vo.LxTreeVo; +import org.dromara.lx.operate.domain.LxTreeTable; +import org.dromara.lx.operate.domain.vo.LxTreeVo; /** * 测试树表Mapper接口 @@ -16,6 +16,6 @@ import org.dromara.lx.domain.vo.LxTreeVo; @DataColumn(key = "deptName", value = "dept_id"), @DataColumn(key = "userName", value = "user_id") }) -public interface IxTreeTableMapper extends BaseMapperPlus { +public interface LxTreeTableMapper extends BaseMapperPlus { } diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/mapper/package-info.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/mapper/package-info.java similarity index 100% rename from ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/mapper/package-info.java rename to ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/mapper/package-info.java diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/ILxMaterialSealService.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/ILxMaterialSealService.java new file mode 100644 index 000000000..344878c84 --- /dev/null +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/ILxMaterialSealService.java @@ -0,0 +1,77 @@ +package org.dromara.lx.operate.service; + +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.lx.operate.domain.bo.LxMaterialSealBo; +import org.dromara.lx.operate.domain.vo.LxMaterialSealVo; + +import java.util.Collection; +import java.util.List; + +/** + * 公章管理Service接口 + * + * @author Lion Li + * @date 2025-05-12 + */ +public interface ILxMaterialSealService { + + /** + * 查询公章管理 + * + * @param id 主键 + * @return 公章管理 + */ + LxMaterialSealVo queryById(Long id); + + /** + * 分页查询公章管理列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 公章管理分页列表 + */ + TableDataInfo queryPageList(LxMaterialSealBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的公章管理列表 + * + * @param bo 查询条件 + * @return 公章管理列表 + */ + List queryList(LxMaterialSealBo bo); + + /** + * 新增公章管理 + * + * @param bo 公章管理 + * @return 是否新增成功 + */ + Boolean insertByBo(LxMaterialSealBo bo); + + /** + * 修改公章管理 + * + * @param bo 公章管理 + * @return 是否修改成功 + */ + Boolean updateByBo(LxMaterialSealBo bo); + + /** + * 校验并批量删除公章管理信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 修改公章状态 + * + * @param id 公章ID + * @param sealStatus 公章状态 + * @return 结果 + */ + Integer updateRoleStatus(Long id, Long sealStatus); +} diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/service/ILxTreeTableService.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/ILxTreeTableService.java similarity index 87% rename from ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/service/ILxTreeTableService.java rename to ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/ILxTreeTableService.java index 3c63baa57..d842ef738 100644 --- a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/service/ILxTreeTableService.java +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/ILxTreeTableService.java @@ -1,7 +1,7 @@ -package org.dromara.lx.service; +package org.dromara.lx.operate.service; -import org.dromara.lx.domain.bo.LxTreeBo; -import org.dromara.lx.domain.vo.LxTreeVo; +import org.dromara.lx.operate.domain.bo.LxTreeBo; +import org.dromara.lx.operate.domain.vo.LxTreeVo; import java.util.Collection; import java.util.List; diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/impl/LxMaterialSealServiceImpl.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/impl/LxMaterialSealServiceImpl.java new file mode 100644 index 000000000..9f829e9cc --- /dev/null +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/impl/LxMaterialSealServiceImpl.java @@ -0,0 +1,138 @@ +package org.dromara.lx.operate.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.lx.operate.domain.LxMaterialSeal; +import org.dromara.lx.operate.domain.bo.LxMaterialSealBo; +import org.dromara.lx.operate.domain.vo.LxMaterialSealVo; +import org.dromara.lx.operate.mapper.LxMaterialSealMapper; +import org.dromara.lx.operate.service.ILxMaterialSealService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 公章管理Service业务层处理 + * + * @author Lion Li + * @date 2025-05-12 + */ +@RequiredArgsConstructor +@Service +public class LxMaterialSealServiceImpl implements ILxMaterialSealService { + + private final LxMaterialSealMapper baseMapper; + + /** + * 查询公章管理 + * + * @param id 主键 + * @return 公章管理 + */ + @Override + public LxMaterialSealVo queryById(Long id) { + return baseMapper.selectVoById(id); + } + + /** + * 分页查询公章管理列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 公章管理分页列表 + */ + @Override + public TableDataInfo queryPageList(LxMaterialSealBo 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(LxMaterialSealBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(LxMaterialSealBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(LxMaterialSeal::getId); + lqw.eq(bo.getSealType() != null, LxMaterialSeal::getSealType, bo.getSealType()); + lqw.like(StringUtils.isNotBlank(bo.getSealName()), LxMaterialSeal::getSealName, bo.getSealName()); + lqw.eq(bo.getSealAdminId() != null, LxMaterialSeal::getSealAdminId, bo.getSealAdminId()); + lqw.eq(bo.getSealStatus() != null, LxMaterialSeal::getSealStatus, bo.getSealStatus()); + return lqw; + } + + /** + * 新增公章管理 + * + * @param bo 公章管理 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(LxMaterialSealBo bo) { + LxMaterialSeal add = MapstructUtils.convert(bo, LxMaterialSeal.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改公章管理 + * + * @param bo 公章管理 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(LxMaterialSealBo bo) { + LxMaterialSeal update = MapstructUtils.convert(bo, LxMaterialSeal.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(LxMaterialSeal entity) { + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除公章管理信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } + + @Override + public Integer updateRoleStatus(Long id, Long sealStatus) { + return null; + } +} diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/service/impl/LxTreeTableServiceImpl.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/impl/LxTreeTableServiceImpl.java similarity index 88% rename from ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/service/impl/LxTreeTableServiceImpl.java rename to ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/impl/LxTreeTableServiceImpl.java index a66548612..7c9b772da 100644 --- a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/service/impl/LxTreeTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/impl/LxTreeTableServiceImpl.java @@ -1,15 +1,15 @@ -package org.dromara.lx.service.impl; +package org.dromara.lx.operate.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; -import org.dromara.lx.domain.LxTreeTable; -import org.dromara.lx.domain.bo.LxTreeBo; -import org.dromara.lx.domain.vo.LxTreeVo; -import org.dromara.lx.mapper.IxTreeTableMapper; -import org.dromara.lx.service.ILxTreeTableService; -import lombok.RequiredArgsConstructor; +import org.dromara.lx.operate.domain.LxTreeTable; +import org.dromara.lx.operate.domain.bo.LxTreeBo; +import org.dromara.lx.operate.domain.vo.LxTreeVo; +import org.dromara.lx.operate.mapper.LxTreeTableMapper; +import org.dromara.lx.operate.service.ILxTreeTableService; import org.springframework.stereotype.Service; import java.util.Collection; @@ -27,7 +27,7 @@ import java.util.Map; @Service public class LxTreeTableServiceImpl implements ILxTreeTableService { - private final IxTreeTableMapper baseMapper; + private final LxTreeTableMapper baseMapper; @Override public LxTreeVo queryById(Long id) { diff --git a/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/service/package-info.java b/ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/package-info.java similarity index 100% rename from ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/service/package-info.java rename to ruoyi-modules/ruoyi-lx/src/main/java/org/dromara/lx/operate/service/package-info.java diff --git a/ruoyi-modules/ruoyi-lx/src/main/resources/mapper/lx/LxTreeMapper.xml b/ruoyi-modules/ruoyi-lx/src/main/resources/mapper/operate/LxMaterialSealMapper.xml similarity index 70% rename from ruoyi-modules/ruoyi-lx/src/main/resources/mapper/lx/LxTreeMapper.xml rename to ruoyi-modules/ruoyi-lx/src/main/resources/mapper/operate/LxMaterialSealMapper.xml index 27ae7195a..7c0473cf8 100644 --- a/ruoyi-modules/ruoyi-lx/src/main/resources/mapper/lx/LxTreeMapper.xml +++ b/ruoyi-modules/ruoyi-lx/src/main/resources/mapper/operate/LxMaterialSealMapper.xml @@ -2,6 +2,6 @@ - + diff --git a/ruoyi-modules/ruoyi-lx/src/main/resources/mapper/operate/LxTreeTableMapper.xml b/ruoyi-modules/ruoyi-lx/src/main/resources/mapper/operate/LxTreeTableMapper.xml new file mode 100644 index 000000000..d4cef169b --- /dev/null +++ b/ruoyi-modules/ruoyi-lx/src/main/resources/mapper/operate/LxTreeTableMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/OABusinessTripController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/OABusinessTripController.java new file mode 100644 index 000000000..421205768 --- /dev/null +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/OABusinessTripController.java @@ -0,0 +1,108 @@ +package org.dromara.workflow.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +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.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.workflow.common.ConditionalOnEnable; +import org.dromara.workflow.domain.bo.TestLeaveBo; +import org.dromara.workflow.domain.vo.TestLeaveVo; +import org.dromara.workflow.service.ITestLeaveService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 出差 + * + * @author may + * @date 2023-07-21 + */ +@ConditionalOnEnable +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/workflow/businessTrip") +public class OABusinessTripController extends BaseController { + + private final ITestLeaveService testLeaveService; + + /** + * 查询出差列表 + */ + @SaCheckPermission("workflow:leave:list") + @GetMapping("/list") + public TableDataInfo list(TestLeaveBo bo, PageQuery pageQuery) { + return testLeaveService.queryPageList(bo, pageQuery); + } + + /** + * 导出请假列表 + */ + @SaCheckPermission("workflow:leave:export") + @Log(title = "请假", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(TestLeaveBo bo, HttpServletResponse response) { + List list = testLeaveService.queryList(bo); + ExcelUtil.exportExcel(list, "请假", TestLeaveVo.class, response); + } + + /** + * 获取请假详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("workflow:leave:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(testLeaveService.queryById(id)); + } + + /** + * 新增请假 + */ + @SaCheckPermission("workflow:leave:add") + @Log(title = "请假", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody TestLeaveBo bo) { + return R.ok(testLeaveService.insertByBo(bo)); + } + + /** + * 修改请假 + */ + @SaCheckPermission("workflow:leave:edit") + @Log(title = "请假", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody TestLeaveBo bo) { + return R.ok(testLeaveService.updateByBo(bo)); + } + + /** + * 删除请假 + * + * @param ids 主键串 + */ + @SaCheckPermission("workflow:leave:remove") + @Log(title = "请假", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(testLeaveService.deleteWithValidByIds(List.of(ids))); + } +} diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/OALeaveController.java similarity index 98% rename from ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java rename to ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/OALeaveController.java index 98825d92d..8d798e16f 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/OALeaveController.java @@ -35,7 +35,7 @@ import java.util.List; @RequiredArgsConstructor @RestController @RequestMapping("/workflow/leave") -public class TestLeaveController extends BaseController { +public class OALeaveController extends BaseController { private final ITestLeaveService testLeaveService;