From b5d73b6a217bb705625cae3f3d79e6f3216713b1 Mon Sep 17 00:00:00 2001 From: xiao-fajia <1665375861@qq.com> Date: Thu, 29 Aug 2024 14:43:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=A3=E6=A1=88=E7=AE=A1=E7=90=863?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/ArchivesController.java | 53 ++++++++++++++- .../module/archives/entity/Archives.java | 3 + .../archives/mapper/ArchivesMapper.java | 6 ++ .../archives/service/ArchivesService.java | 27 ++++++++ .../service/impl/ArchivesServiceImpl.java | 64 +++++++++++++++++++ .../module/archives/vo/ArchivesReqVO.java | 10 +++ .../mapper/archives/ArchivesMapper.xml | 32 ++++++++-- 7 files changed, 187 insertions(+), 8 deletions(-) diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/ArchivesController.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/ArchivesController.java index bf6ba83f..2753541b 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/ArchivesController.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/controller/admin/ArchivesController.java @@ -1,12 +1,18 @@ package cn.iocoder.yudao.module.archives.controller.admin; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.archives.entity.Archives; import cn.iocoder.yudao.module.archives.service.ArchivesService; +import cn.iocoder.yudao.module.archives.vo.ArchivesReqVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + /** * 档案表 控制层 * @author 小李 @@ -19,4 +25,47 @@ public class ArchivesController { @Resource private ArchivesService archivesService; + + /** + * 新增或修改 档案表 + * @author 小李 + * @date 10:42 2024/8/29 + * @param archivesReqVO 请求对象 + **/ + @PostMapping("/update") + @Operation(summary = "新增/修改企业管理-档案表") + public CommonResult updateArchives(@RequestBody ArchivesReqVO archivesReqVO){ + archivesService.updateArchives(archivesReqVO); + return CommonResult.ok(); + } + + /** + * 分页查询 档案表 + * @author 小李 + * @date 11:08 2024/8/29 + * @param archivesReqVO 查询条件 + * @param pageNo 页码 + * @param pageSize 条数 + **/ + @GetMapping("/list") + @Operation(summary = "分页查企业管理-档案表") + public CommonResult queryArchivesPage(ArchivesReqVO archivesReqVO, + @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize){ + Page page = new Page<>(pageNo, pageSize); + return success(archivesService.queryArchivesPage(archivesReqVO, page)); + } + + /** + * 删除 档案表 + * @author 小李 + * @date 14:14 2024/8/29 + * @param id 记录ID + **/ + @DeleteMapping("/remove/{id}") + @Operation(summary = "删除企业管理-档案表") + public CommonResult removeArchivesById(@PathVariable String id){ + archivesService.removeArchivesById(id); + return CommonResult.ok(); + } } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/Archives.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/Archives.java index cd8e0630..6cb696d7 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/Archives.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/entity/Archives.java @@ -74,4 +74,7 @@ public class Archives extends TenantBaseDO { * 部门id(system_dept表中的id) */ private Long deptId; + + /** 备注 */ + private String remark; } \ No newline at end of file diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/mapper/ArchivesMapper.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/mapper/ArchivesMapper.java index 429874a0..eaeb426f 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/mapper/ArchivesMapper.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/mapper/ArchivesMapper.java @@ -1,8 +1,12 @@ package cn.iocoder.yudao.module.archives.mapper; import cn.iocoder.yudao.module.archives.entity.Archives; +import cn.iocoder.yudao.module.archives.vo.ArchivesReqVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 针对表【company_archives(档案表)】的数据库操作Mapper @@ -11,4 +15,6 @@ import org.apache.ibatis.annotations.Mapper; **/ @Mapper public interface ArchivesMapper extends BaseMapper { + + IPage queryArchivesPage(@Param("map") ArchivesReqVO archivesReqVO, Page page); } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/ArchivesService.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/ArchivesService.java index 42359c58..27e3f6d5 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/ArchivesService.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/ArchivesService.java @@ -1,6 +1,9 @@ package cn.iocoder.yudao.module.archives.service; import cn.iocoder.yudao.module.archives.entity.Archives; +import cn.iocoder.yudao.module.archives.vo.ArchivesReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -9,4 +12,28 @@ import com.baomidou.mybatisplus.extension.service.IService; * @date 20:13 2024/8/28 **/ public interface ArchivesService extends IService { + + /** + * 新增或修改 档案表 + * @author 小李 + * @date 10:42 2024/8/29 + * @param archivesReqVO 请求对象 + **/ + void updateArchives(ArchivesReqVO archivesReqVO); + + /** + * 分页查询 档案表 + * @author 小李 + * @date 11:08 2024/8/29 + * @param archivesReqVO 查询条件 + **/ + IPage queryArchivesPage(ArchivesReqVO archivesReqVO, Page page); + + /** + * 删除 档案表 + * @author 小李 + * @date 14:14 2024/8/29 + * @param id 记录ID + **/ + void removeArchivesById(String id); } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/impl/ArchivesServiceImpl.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/impl/ArchivesServiceImpl.java index f8a68e00..9be6b109 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/impl/ArchivesServiceImpl.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/service/impl/ArchivesServiceImpl.java @@ -1,11 +1,21 @@ package cn.iocoder.yudao.module.archives.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.module.archives.entity.Archives; import cn.iocoder.yudao.module.archives.mapper.ArchivesMapper; import cn.iocoder.yudao.module.archives.service.ArchivesService; +import cn.iocoder.yudao.module.archives.vo.ArchivesReqVO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; + /** * 档案表 服务实现类 * @author 小李 @@ -13,4 +23,58 @@ import org.springframework.stereotype.Service; **/ @Service public class ArchivesServiceImpl extends ServiceImpl implements ArchivesService { + + /** + * 新增或修改 档案表 + * @author 小李 + * @date 10:42 2024/8/29 + * @param archivesReqVO 请求对象 + **/ + @Override + public void updateArchives(ArchivesReqVO archivesReqVO){ + // 新增 + if (ObjectUtil.isEmpty(archivesReqVO.getId())){ + // 判断档案名是否重复 + List archives = baseMapper.selectList(new LambdaQueryWrapper().eq(Archives::getArchivesCode, archivesReqVO.getArchivesCode())); + if (CollectionUtil.isNotEmpty(archives)){ + throw exception0(500, "档案名重复"); + } + baseMapper.insert(archivesReqVO); + return; + } + + // 修改 + // 判断档案名是否合法 + // 如果有,判断id是否一致,不一致就是重复,其他情况皆可执行 + List archives = baseMapper.selectList(new LambdaQueryWrapper().eq(Archives::getArchivesCode, archivesReqVO.getArchivesCode())); + // 用&&短路的特性去判断,少写点代码 + // get 0有些不合理,理论上讲是不会有多条的,概率小,改一下名字就行 + Boolean flag = CollectionUtil.isNotEmpty(archives) && !archives.get(0).getId().equals(archivesReqVO.getId()); + if (flag){ + throw exception0(500, "档案名重复"); + } + baseMapper.updateById(archivesReqVO); + } + + /** + * 分页查询 档案表 + * @author 小李 + * @date 11:08 2024/8/29 + * @param archivesReqVO 查询条件 + **/ + @Override + public IPage queryArchivesPage(ArchivesReqVO archivesReqVO, Page page){ + return baseMapper.queryArchivesPage(archivesReqVO, page); + } + + /** + * 删除 档案表 + * @author 小李 + * @date 14:14 2024/8/29 + * @param id 记录ID + **/ + @Override + public void removeArchivesById(String id){ + baseMapper.deleteById(id); + } } diff --git a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/vo/ArchivesReqVO.java b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/vo/ArchivesReqVO.java index 720ff13e..3686089b 100644 --- a/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/vo/ArchivesReqVO.java +++ b/dl-module-company/src/main/java/cn/iocoder/yudao/module/archives/vo/ArchivesReqVO.java @@ -1,7 +1,13 @@ package cn.iocoder.yudao.module.archives.vo; import cn.iocoder.yudao.module.archives.entity.Archives; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** * 档案表 请求VO @@ -10,4 +16,8 @@ import lombok.Data; **/ @Data public class ArchivesReqVO extends Archives { + + @Schema(description = "合同日期查询范围") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private Date[] queryDateArray; } diff --git a/dl-module-company/src/main/resources/mapper/archives/ArchivesMapper.xml b/dl-module-company/src/main/resources/mapper/archives/ArchivesMapper.xml index 9ade9950..25e295aa 100644 --- a/dl-module-company/src/main/resources/mapper/archives/ArchivesMapper.xml +++ b/dl-module-company/src/main/resources/mapper/archives/ArchivesMapper.xml @@ -15,14 +15,34 @@ + - id,data_id,archives_name, - archives_type,archives_physics_url,archives_urls, - archives_code,sign_time,expire_time, - dept_id,tenant_id,deleted, - creator,create_time,updater, - update_time + select id, + data_id, + archives_name, + archives_type, + archives_physics_url, + archives_urls, + archives_code, + sign_time, + expire_time, + dept_id, + remark + from company_archives ca + where deleted = '0' + + \ No newline at end of file